Thừa số ma trận

Hệ số ma trận là một mô hình nhúng đơn giản. Với ma trận phản hồi A \(\in R^{m \times n}\), trong đó \(m\) là số lượng người dùng (hoặc truy vấn) và \(n\) là số lượng mục, mô hình sẽ tìm hiểu:

  • Ma trận nhúng người dùng \(U \in \mathbb R^{m \times d}\), trong đó hàng i là nhúng cho người dùng i.
  • Một ma trận nhúng mục \(V \in \mathbb R^{n \times d}\), trong đó hàng j là nhúng cho mục j.

Hình minh họa về hệ số ma trận bằng ví dụ về phim định kỳ.

Các nội dung nhúng được tìm hiểu sao cho sản phẩm \(U V^T\) là một giá trị gần đúng nhất của ma trận phản hồi A. Hãy lưu ý rằng \((i, j)\) mục về \(U . V^T\) chỉ đơn giản là sản phẩm dấu chấm \(\langle U_i, V_j\rangle\) của những mục nhúng của người dùng \(i\) và mục \(j\)mà bạn muốn đặt gần \(A_{i, j}\).

Chọn hàm mục tiêu

Một hàm mục tiêu trực quan là khoảng cách bình phương. Để làm điều này, hãy giảm thiểu tổng số lỗi bình phương trên tất cả các cặp mục quan sát:

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2.\]

Trong hàm mục tiêu này, bạn chỉ tính tổng trên các cặp được quan sát (i, j), tức là trên các giá trị khác 0 trong ma trận phản hồi. Tuy nhiên, việc chỉ tổng hợp các giá trị của một giá trị không phải là một ý tưởng hay — đó là một ma trận của tất cả giá trị sẽ có tổn thất tối thiểu và tạo ra một mô hình không thể đưa ra các đề xuất hiệu quả và khái quát chung là kém.

Hình minh hoạ ba ma trận: Chỉ quan sát ma trận hoá, phân tích trọng số và Phân tích giá trị số.

Có thể bạn sẽ coi các giá trị không được quan sát là 0 và tính tổng tất cả các mục trong ma trận. Điều này tương ứng với việc giảm thiểu khoảng cách Frobenius bình phương giữa \(A\) và khoảng gần đúng \(U V^T\):

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \|A - U V^T\|_F^2.\]

Bạn có thể giải quyết vấn đề bậc hai này thông qua Phân tích giá trị số ít (SVD) của ma trận. Tuy nhiên, SVD không phải là một giải pháp tuyệt vời, vì trong các ứng dụng thực tế, ma trận \(A\) có thể rất thưa thớt. Ví dụ: hãy nghĩ về tất cả video trên YouTube so với tất cả video mà một người dùng cụ thể đã xem. Giải pháp \(UV^T\) (tương ứng với giá trị gần đúng của mô hình ma trận) có thể gần bằng 0, dẫn đến hiệu suất tổng quát thấp.

Ngược lại, yếu tố ma trận trọng số phân giải mục tiêu thành hai tổng sau:

  • Tổng số mục đã quan sát.
  • Tổng số mục nhập không quan sát được (được coi là số 0).

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2 + w_0 \sum_{(i, j) \not \in \text{obs}} (\langle U_i, V_j\rangle)^2.\]

Ở đây, \(w_0\) là một thông số siêu trọng số để xác định trọng số của 2 thuật ngữ nên mục tiêu không bị ưu tiên bằng nhau. Việc điều chỉnh siêu thông số này rất quan trọng.

\[\sum_{(i, j) \in \text{obs}} w_{i, j} (A_{i, j} - \langle U_i, V_j \rangle)^2 + w_0 \sum_{i, j \not \in \text{obs}} \langle U_i, V_j \rangle^2\]

trong đó \(w_{i, j}\) là hàm của tần suất của cụm từ tìm kiếm i và mục j.

Giảm thiểu hàm mục tiêu

Các thuật toán phổ biến giúp giảm thiểu hàm mục tiêu bao gồm:

  • Xuống độ dốc stochastic (SGD) là một phương thức chung để giảm thiểu các hàm mất dữ liệu.

  • Định dạng hình vuông thay thế có trọng số (WALS) dành riêng cho mục tiêu cụ thể này.

Mục tiêu đều có hai góc phần tư trên mỗi ma trận U và V. Tuy nhiên, xin lưu ý rằng bài toán này không tích lũy cả hai ma trận.) WALS hoạt động bằng cách khởi chạy tính năng nhúng một cách ngẫu nhiên, sau đó xen kẽ giữa:

  • Khắc phục \(U\) và giải quyết cho \(V\).
  • Khắc phục \(V\) và giải quyết cho \(U\).

Mỗi giai đoạn có thể được giải quyết chính xác (thông qua giải pháp của một hệ thống tuyến tính) và có thể được phân phối. Kỹ thuật này được đảm bảo để hội tụ vì mỗi bước được đảm bảo để giảm tổn thất.

SGD so với WALS

SGD và WALS có những ưu và nhược điểm. Hãy xem xét thông tin bên dưới để so sánh chúng:

SGD

Rất linh hoạt – có thể sử dụng các hàm mất dữ liệu khác.

Có thể tải song song.

Chậm hơn — không hội nghị nhanh.

Khó xử lý các mục nhập không quan sát được (cần sử dụng mẫu hoặc trọng tâm âm).

WALS

Chỉ dựa vào Tỷ lệ mất tác phẩm.

Có thể tải song song.

Hội nghị nhanh hơn SGD.

Xử lý các mục nhập không quan sát được một cách dễ dàng hơn.