Неотрицательное матричное разложение
Иногда одна матрица допускает два равно точных разложения: в одном все значения положительны, в другом некоторые значения отрицательны.
Матрица M была разложена двумя разными способами. Изучите пары матриц-множителей L и U, а также W и H, чтобы увидеть разницу. Затем вычислите их произведения и убедитесь, что результаты практически совпадают.
Это упражнение является частью курса
Построение рекомендательных систем с помощью PySpark
Инструкции к упражнению
- Используйте
print(), чтобы просмотреть матрицыLиU. Обратите внимание: некоторые значения в матрицахLиUотрицательны. - Используйте
print(), чтобы просмотреть матрицыWиH. Обратите внимание: все значения в этих двух матрицах положительны. - Матрицы
LиU, а такжеWиHуже перемножены — получены матрицыLUиWHсоответственно. ИспользуйтеgetRMSE(product_matrix, original_matrix), чтобы сравнить, насколькоLUблизка кMи насколькоWHблизка кM. Похожи ли результаты?
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# View the L, U, W, and H matrices.
print("Matrices L and U:")
print(____)
print(____)
print("Matrices W and H:")
print(____)
print(____)
# Calculate RMSE between LU and M
print("RMSE of LU: ", getRMSE(____, ____))
# Calculate RMSE between WH and M
print("RMSE of WH: ", getRMSE(____, ____))