Rekomendacja - zestaw przedmiotów przygotowany dla konkretnego użytkownika, na podstawie informacji o jego preferencjach, prezentowany zwykle w celu zachęcenia użytkownika do kupna.
Model rekomendacyjny - algorytm filtrowania umożliwiający utworzenie rekomendacji.
Bazujące na treści - content-based filtering - związane tylko z cechami przedmiotów.
Kolaboracyjne - colaborative filtering - biorące pod uwagę preferencje wielu użytkowników.
Systemy hybrydowe - hybrid recommender systems - korzystające z obu rodzajów filtrowania.
Bezpośrednie - explicit feedback - pochodzą z bezpośrednich deklaracji użytkownika (oceny, gwiazdki).
Niebezpośrednie - implicit feedback - wskazują na preferencje użytkownika, nie są jego deklaracjami (zakupy, oglądanie produktów).
Aproksymacja macierzy rzadkiej R o wymiarach m×n zawierającej oceny użytkowników u1...um wobec produktów i1...in dwoma macierzami P i Q o wymiarach odpowiednio m×k i k×n.
Problem optymalizacyjny, solvery: ALS, SGD, CCD, itd.
Biblioteki: Spark ML, sklearn, cuMF, NIMFA, LIBMF, itd.
zbiór znanych obserwacji
parametr regularyzacyjny
ocena użytkownika u wobec przedmiotu i
k - liczba ukrytych czynników - latent factors
Grafika: Koren, Bell, Volinsky Computer, 2009
Wartości rzeczywiste, możliwość stworzenia rankingu, nawet klasyfikacji binarnej.
Czego nie uwzględniamy:
Brak kontekstu.
Rozszerzona wersja SVM, gdzie interakcje między atrybutami macierzy X są modelowane za pomocą faktoryzacji.
Oceny są dostępne w niezależnym wektorze Y.
Grafika: Yahoo Research, 2015
Parametry: bias w0, wektor w, macierz V
bias
interakcja między dwoma zmiennymi
zależność liniowa
Parametry: wymiar k
film
Alice
Predykcja to wartość rzeczywista dla każdej pary użytkownik, produkt.
Można interpretować wprost jako zadanie regresji lub utworzyć ranking, klasyfikację binarną.
Trenowanie jak w problemie regresji:
Problem: Data leakage!
Podział na zbiór treningowy i testowy z uwzględnieniem czasu powstania obserwacji.
Usunięcie wszystkich dodatkowych informacji, które w standardowych warunkach nie byłyby znane.
Testowanie w warunkach jak najbardziej zbliżonych do produkcyjnych.
Zwiększenie stabilności wyników:
np. k - folds
Optymalizacja hiperparametryczna:
np. grid search, random search
Test alternatywnym modelem profilującym użytkownika.
Matrix Factorization Techniques For Recommender Systems: https://datajobs.com/data-science-repo/Recommender-Systems-%5BNetflix%5D.pdf
Collaborative Filtering for Implicit Feedback Datasets: http://yifanhu.net/PUB/cf.pdf
Factorization Machines: http://www.algo.uni-konstanz.de/members/rendle/pdf/Rendle2010FM.pdf
Random Search: http://www.jmlr.org/papers/volume13/bergstra12a/bergstra12a.pdf
Test FM alternatywnym modelem: https://yahooresearch.tumblr.com/post/133013312756/birds-apps-and-users-scalable-factorization