Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Dùng print() để xem các ma trận L và U. Lưu ý rằng một số giá trị trong L và U là số âm.
  • Dùng print() để xem các ma trận W và 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 L và U, cũng như W và H, đã được nhân với nhau để tạo ra lần lượt các ma trận LU và WH. Dùng getRMSE(product_matrix, original_matrix) để xem LU gần với M đến mức nào so với WH gần với M. 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(____, ____))
Chỉnh sửa và Chạy Mã