Maschinelles Lernen hat unseren Alltag ziemlich durchdrungen. Einige sind nicht mehr überrascht, wenn sie über neuronale Netze in ihren Smartphones informiert werden. Einer der großen Bereiche dieser Wissenschaft sind Empfehlungssysteme. Sie sind überall: wenn Sie Musik hören, Bücher lesen, Fernsehsendungen oder Videos ansehen. Die Entwicklung dieser Wissenschaft findet in riesigen Unternehmen wie YouTube , Spotify und Netfilx statt . Natürlich werden alle wissenschaftlichen Errungenschaften in diesem Bereich sowohl auf den berühmten NeurIPS- oder ICML-Konferenzen als auch auf den etwas weniger bekannten RecSys veröffentlichtzu diesem Thema geschärft. Und in diesem Artikel werden wir darüber sprechen, wie sich diese Wissenschaft entwickelt hat, welche Methoden damals und heute in Empfehlungen verwendet werden und welche Mathematik dahinter steckt.

Ich wurde inspiriert, diesen Artikel zu schreiben, indem ich im StatML- Labor von Skoltech über Empfehlungssysteme arbeitete.
Warum und für wen dieser Artikel
Warum kann das für jeden von uns wichtig sein? Schauen Sie sich die folgende Liste an:
- Videoempfehlungen : YouTube, Netlix, HBO, Amazon Prime, Disney +, Hulu, Okko
- Audioempfehlungen : Spotify, Yandex.Music, Yandex.Radio, Apple Music
- Produktempfehlungen: Amazon, Avito, Liter, MyBook
- Suchempfehlungen: Google, Yandex, Bing, Yahoo, Mail
- : Booking, Twitter, Instagram, ., , GitHub
, . , . , , YouTube.
( ), . , , . , ( ). -, . , -, , - . , . , , , , .
, , , , - . , (, , , ..). , .
, . : — . . , , , , . :
:
, 1 5 ( ) : 1 -1 ( / )
3 :
- Content-based (CB)
- Collaborative filtering (CF)
- Hybrid recommendations

. — , . : — , — , . . , : , ..
, . - , .
. , , , .
, , . . , , . .
Matrix Factorization

, . : . .
- :
- Singular Value Decomposition (SVD)
- Singular Value Decomposition with implicit feedback (SVD++)
- Collaborative Filtering with Temporal Dynamics (TimeSVD++)
- Weighted Matrix Factorization (WMF or ALS)
- Sparse Linear Methods (SLIM)
- Factorization Machines (FM)
- :
- Probabilistic Matrix Factorization (PMF)
- Bayesian Probabilistic Matrix Factorization (BPMF)
- Bayesian Factorization Machines (BFM)
- Gaussian Process Factorization Machines (GPFM)
Singular Value Decomposition (SVD)
— SVD. , , . , . SVD , : . , .
. :
:
, — - . . . :
c :
, , , , . . (GD) (ALS). Habr- , . , , .
( SVD, SVD). , , . . SVD . (bias):
— , — , — . :
SVD++
Factorization Meets the Neighborhood SVD . (explicit and implicit user feedback). , . . : — ( ) — ( ).
SVD++ :
:
, , .. . (item-item recommendation).
Asymmetric-SVD
SVD++ . . :
TimeSVD++
TimeSVD++. (MovieLens, Netflix) , . , . Collaborative Filtering with Temporal Dynamics SVD++ :
Lassen Sie uns genau herausfinden, wie sich die Zeit auf die einzelnen Begriffe auswirkt:
Item Bias: Wenn Sie das Zeitintervall, in dem Bewertungen vorgenommen wurden, in Segmente unterteilen (30 Teile werden in der Arbeit vorgeschlagen) und Ihre eigenen Parameter hinzufügen für jedes Produkt, die abhängig vom Intervall ausgewählt werden, in dem die Variable ::
User Bias: Bei der Analyse der Daten von Neflix haben wir festgestellt, dass jeder Benutzer durchschnittlich nur 40 Tage Zeit hat, um die Bewertungen abzugeben. Deshalb werden wir wie bei Waren handeln und unsere eigenen Parameter hinzufügenfür jeden Benutzer. Wir fügen eine lineare Abhängigkeit von der Zeit hinzu - wir führen einen zusätzlichen Begriff ein mit Abschreibungsquote:
.Es gibt andere Möglichkeiten, wie Sie Benutzern eine Zeitabhängigkeit hinzufügen können: Dies wird im ArtikelBenutzereinbettungen ausführlicher beschrieben : Wir werden für jede Komponente unserer latenten Darstellung einen ähnlichen Trick hinzufügen::
Gewichtete Matrixfaktorisierung (WMF) und alternierende kleinste Quadrate (ALS)
Eines der Hauptprobleme von SVD ist die Verwendung nur einer expliziten Antwort des Benutzers. Dieses Problem wurde teilweise in SVD ++ gelöst . Es gibt aber noch einen anderen Weg - die Weighted Matrix Factorization ( WMF ). In diesem Artikel wurde vorgeschlagen, das Modell fast nicht zu ändern () und ändern Sie den Lernprozess. Für Bewertungen zuweisendas wissen wir nicht (d. h. für Paare ) der Wert ist 0. Und dann für jedes Paar Geben Sie den Parameter ein , . , . - . YouTube , . , , , . , , , :
: . : . .
, (ALS) . WMF, ALS, .
Fast Alternating Least Squares
ALS , eALS . , . , . .
, ALS :
, .
Sparse Linear Methods (SLIM)
Sparse Linear Methods (SLIM) . , SVD . . SLIM :
. : . :
.
Factorization Machines (FM)
, Factorization Machines (FM). , ( 2- ). :
(SGD) ( ). , . . , — . — ( ). ( ).

, SVD, SVD++ — FM. SVD , :
— . .. . FM :
, : , . , , , , , , . .
Probabilistic Matrix Factorization (PMF)
, , , .
(PMF), . , SVD: — . , :
— , a — (). , , :
( ) , :
— . , SVD , .
Constrained PMF
PMF Constrained PMF. , SVD SVD++. , , :
— , .
Bayesian Probabilistic Matrix Factorization (BPMF)
PMF BPMF. PMF , , . :
- . , .
Bayesian Factorization Machines (BFM)
, Bayesian, . , , - . : . .
Gaussian Process Factorization Machines (GPFM)
GPFM . . , , :
, . , , . , , , .
.
: Bayesian Personalized Ranking (BPR)
BPR , "". , BPR — , , Bayesian Personalized Ranking. . , , . ((+) , (-) ). . . ( personalized ):
— , a — . (MLE), , :
(SGD):
, . , , . SVD:
:
BPR ( ) , . , . . , (pairwise approach) (pointwise approach). . , 5 , . , , . — BPR - , . , .
Show must go on
Dieses Mal haben wir viele Faktorisierungsmethoden in Empfehlungssystemen diskutiert , aber die Graphen- und Neuronalen Netze , die auch viele interessante Dinge enthalten , blieben unberührt .