Fattorizzazione matriciale

La fattorizzazione matrice è un modello di incorporamento semplice. Data la matrice di feedback A \(\in R^{m \times n}\), dove \(m\) è il numero di utenti (o query) e \(n\) è il numero di elementi, il modello apprende:

  • Una matrice di incorporamento dell'utente \(U \in \mathbb R^{m \times d}\), dove la riga i è l'incorporamento dell'utente i.
  • Una matrice di incorporamento dell'elemento \(V \in \mathbb R^{n \times d}\), dove la riga j è l'incorporamento dell'elemento j.

Illustrazione della fattorizzazione della matrice che utilizza l'esempio di film ricorrente.

Gli incorporamenti vengono appresi in modo tale che il prodotto \(U V^T\) sia una buona approssimazione della matrice di feedback A. Osserva che la\((i, j)\) voce \(U . V^T\) è semplicemente il prodotto a punti\(\langle U_i, V_j\rangle\) degli incorporamenti dell'utente \(i\)e dell'elemento \(j\), nei quali vuoi avere una vicinanza \(A_{i, j}\).

Scelta della funzione dell'obiettivo

Una funzione obiettivo intuitiva è la distanza al quadrato. Per farlo, riduci al minimo la somma degli errori al quadrato su tutte le coppie di voci osservate:

\[\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.\]

In questa funzione oggettiva, somma solo le coppie osservate (i, j), ovvero i valori non zero nella matrice dei feedback. Tuttavia, sommare i valori uno non è una buona idea: una matrice di tutti avrà una perdita minima e produrrà un modello che non può dare consigli efficaci, che generalizza male.

Illustrazione di tre matrici: osservata solo fattorizzazione a matrice, fattorizzazione ponderata e decomposizione del valore unico.

Potresti forse trattare i valori non osservati come zero e sommare tutte le voci nella matrice. Ciò significa ridurre al minimo la distanza al quadrato Frobenius tra \(A\) e la sua approssimazione \(U V^T\):

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

Puoi risolvere questo problema quadratico tramite la scomposizione del valore singolare (SVD) della matrice. Tuttavia, anche SVD non è una soluzione eccellente, perché nelle applicazioni reali, la matrice \(A\) potrebbe essere molto scarsa. Ad esempio, pensa a tutti i video su YouTube rispetto a tutti i video guardati da un determinato utente. La soluzione \(UV^T\) (che corrisponde all'approssimazione del modello della matrice di input) sarà probabilmente vicina a zero, con conseguenti prestazioni di generalizzazione scadenti.

Al contrario, Fattorizzazione a matrice ponderata scompone l'obiettivo nelle seguenti due somme:

  • La somma delle voci osservate.
  • La somma delle voci non osservate (calcolate come zeri).

\[\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.\]

In questo caso, \(w_0\) è un iperparametro che pondera i due termini, in modo che l'obiettivo non sia dominato dall'uno o dall'altro. L'ottimizzazione di questo iperparametro è molto importante.

\[\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\]

dove \(w_{i, j}\) è una funzione della frequenza delle query i e punto j.

Ridurre al minimo la funzione dell'obiettivo

Alcuni algoritmi comuni per ridurre al minimo la funzione dell'obiettivo includono:

L'obiettivo è quadratico in ciascuna delle due matrici U e V. Tieni presente, tuttavia, che il problema non è convesso congiuntamente. WALS funziona inizializzando gli incorporamenti in modo casuale e alternandoli tra:

  • Correzione \(U\) e risoluzione di \(V\).
  • Correzione \(V\) e risoluzione di \(U\).

Ogni fase può essere risolta esattamente (tramite una soluzione di un sistema lineare) e può essere distribuita. Con questa tecnica è necessario convergere perché ogni passaggio garantisce la riduzione della perdita.

Confronto tra SGD e WALS

SGD e WALS presentano vantaggi e svantaggi. Esamina le informazioni sottostanti per confrontarle:

SGD

Molto flessibile: utilizza altre funzioni di perdita.

Possibilità di caricamento in contemporanea.

Più lento: non converge così rapidamente.

È più difficile gestire le voci non osservate (è necessario utilizzare campionamento negativo o gravità).

GRANI

Affidarsi solo a Loss Squares.

Possibilità di caricamento in contemporanea.

Converge più velocemente di SGD.

Gestione semplificata delle voci non osservate.