Phân rã ma trận không âm
Một ma trận có thể có hai phép phân rã gần đúng như nhau, trong đó một phép phân rã có tất cả giá trị dương, còn phép kia có một số giá trị âm.
Ma trận M đã được phân rã hai lần bằng hai cách khác nhau. Hãy xem từng cặp ma trận nhân tố L và U, và W và H để thấy sự khác biệt. Sau đó nhân chúng lên để thấy rằng chúng tạo ra tích về cơ bản là giống nhau.
Bài tập này là một phần của khóa học
Xây dựng Recommendation Engine với PySpark
Hướng dẫn bài tập
- Dùng
print()để xem các ma trậnLvàU. Lưu ý rằng một số giá trị trongLvàUlà số âm. - Dùng
print()để xem các ma trậnWvàH. Lưu ý rằng tất cả giá trị trong hai ma trận này đều là số dương. - Các ma trận
LvàU, cũng nhưWvàH, đã được nhân với nhau để tạo ra lần lượt các ma trậnLUvàWH. DùnggetRMSE(product_matrix, original_matrix)để xemLUgần vớiMđến mức nào so vớiWHgần vớiM. Chúng có tương tự nhau không?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(____, ____))