НачатьНачать бесплатно

Неотрицательное матричное разложение

Иногда одна матрица допускает два равно точных разложения: в одном все значения положительны, в другом некоторые значения отрицательны.

Матрица 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(____, ____))
Редактировать и запускать код