Perché la non negatività è importante per i sistemi di filtro / raccomandazione collaborativi?


11

In tutti i moderni sistemi di raccomandazione che ho visto che si basano sulla fattorizzazione a matrice, viene eseguita una fattorizzazione a matrice non negativa sulla matrice di film utente. Riesco a capire perché la non negatività sia importante per l'interpretazione e / o se si desidera avere fattori sparsi. Ma se ti preoccupi solo delle prestazioni di previsione, come ad esempio nel concorso a premi netflix, perché imporre la restrizione di non negatività? Sembrerebbe essere peggio che consentire valori negativi anche nella tua fattorizzazione.

Questo documento è un esempio molto citato dell'uso della fattorizzazione a matrice non negativa nel filtraggio collaborativo.


1
Non ho molta familiarità con i sistemi di raccomandazione (forse potresti includere alcuni documenti di esempio nella tua domanda?). Se il modello di preferenza NNMF che inferisci è vero, allora la risposta più probabile è migliorare la generalizzabilità. In altre parole, può darsi che empiricamente una mancanza di "interpretabilità / scarsità" sia associata a un eccesso di adattamento . Tuttavia, per quanto ne so, la codifica sparsa (ovvero la regolarizzazione L1 / LASSO) può soddisfare questi requisiti. (Potrebbe essere NNMF ha una maggiore interpretabilità però.)
GeoMatt22

Risposte:


14

Non sono uno specialista dei sistemi di raccomandazione, ma per quanto ho capito, la premessa di questa domanda è sbagliata.

La non negatività non è così importante per il filtro collaborativo.

Il premio Netflix è stato vinto nel 2009 dal team BellKor. Ecco il documento che descrive il loro algoritmo: La soluzione BellKor 2008 al premio Netflix . Come è facile vedere, usano un approccio basato su SVD:

Le basi dei nostri progressi nel corso del 2008 sono illustrate nel documento KDD 2008 [4]. [...] Nel documento [4] diamo una descrizione dettagliata dei modelli a tre fattori. Il primo è un semplice SVD [...] Il secondo modello [...] ci riferiremo a questo modello come “Asymmetric-SVD”. Infine, il modello fattoriale più accurato, da denominare "SVD ++" [...]

Vedi anche questo più popolare articolo scritto dallo stesso team Tecniche di fattorizzazione a matrice per i sistemi di raccomandazione . Parlano molto di SVD ma non menzionano affatto NNMF.

Vedi anche questo popolare post sul blog Aggiornamento Netflix: prova questo a casa dal 2006, spiegando anche le idee SVD.

Naturalmente hai ragione e c'è del lavoro sull'uso di NNMF anche per il filtro collaborativo. Quindi cosa funziona meglio, SVD o NNMF? Non ne ho idea, ma ecco la conclusione di Uno studio comparato sugli algoritmi di filtro collaborativo del 2012:

I metodi basati sulla fattorizzazione a matrice hanno generalmente la massima precisione. In particolare, SVD, PMF e le sue variazioni regolarizzati hanno prestazioni migliori per quanto riguarda MAE e RMSE, tranne in situazioni molto rare, in cui NMF offre le prestazioni migliori.


2
In generale questa è una buona risposta. Ma solo per correggere alcuni fatti, la soluzione BellKor 2008 ha vinto il premio progress. L'algoritmo vincente complessivo era una miscela di oltre 100 predittori (Töscher et al. 2009). Anche NMF ne faceva parte.
dpelisek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.