Factorizarea matricei

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Factorizarea matricială (MF), sau factorizarea matricială , este o clasă de algoritmi de filtrare colaborativă utilizată în sistemele de recomandare . Algoritmii de factorizare a matricei operează prin descompunerea matricei interacțiunilor utilizator-articol în produsul a două matrice dreptunghiulare cu dimensiuni inferioare. [1] Această familie de metode a devenit cunoscută în timpul provocării Premiului Netflix, datorită eficacității sale demonstrată de Simon Funk într-o postare pe blogul său din 2006. [2]

Tehnici

Ideea din spatele factorizării matriciale este de a reprezenta utilizatorii și obiectele într-un spațiu latent de dimensionalitate mai mică. De la propunerea inițială a lui Simon Funk care datează din 2006, au fost propuse o multitudine de variante. Unele dintre cele mai cunoscute și mai simple sunt tratate în următoarele secțiuni.

SVD funk

Algoritmul original propus de Simon Funk în postarea sa de pe blog a luat în calcul matricea de evaluare a articolelor utilizator ca produsul a două matrice dreptunghiulare cu dimensiuni inferioare, prima având un rând pentru fiecare utilizator în timp ce al doilea o coloană pentru fiecare articol. Se spune că rândul asociat cu un anumit utilizator și coloana asociată cu un anumit element conțin factorii săi latenți . [3] Rețineți că, în ciuda numelui, FunkSVD nu folosește descompunerea valorii singular SVD. Evaluările prevăzute pot fi calculate ca , unde este este matricea interacțiunilor utilizator-articol, conține factorii latenți ai utilizatorului e factorii latenți ai articolului.

Mai exact, predicția evaluării pe care utilizatorul u o va acorda articolului i se calculează astfel:

Este posibil să variați puterea expresivă a modelului prin schimbarea numărului de factori latenți. S-a arătat [4] că o factorizare matricială cu un singur factor latent este echivalentă cu un algoritm cel mai popular sau cel mai popular (de exemplu, recomand cele mai populare articole, fără nicio personalizare). Creșterea numărului de factori latenți permite îmbunătățirea personalizării, deci a calității recomandărilor, până când numărul acestora devine prea mare și modelul va suporta supradaptare . O strategie comună pentru a evita supraadaptarea este de a adăuga termeni de regularizare funcției obiective. FunkSVD a fost dezvoltat pentru predicția evaluării, prin urmare reprezintă interacțiunile utilizator-articol ca valori numerice.

În general, FunkSVD minimizează următoarea funcție obiectivă:

Unde este este norma frobenius, în timp ce celelalte norme pot fi frobenius sau nu în funcție de ceea ce funcționează cel mai bine pentru acel context specific. [5]

SVD ++

În timp ce FunkSVD reușește să ofere recomandări de bună calitate, abilitatea sa de a gestiona doar interacțiunile numerice explicite utilizator-articol este o limitare. Sistemele de recomandare utilizate astăzi trebuie să fie capabile să exploateze toate tipurile de interacțiuni, atât explicite (de exemplu, evaluări numerice), cât și implicite (de exemplu, aprecieri, achiziții, favorite). SVD ++ a fost dezvoltat pentru a lua în considerare și interacțiunile implicite. [6] [7] Mai mult decât atât, comparativ cu FunkSVD, SVD ++ ia în considerare și părtinirea articolului și a utilizatorului.

În mod specific, predicția evaluării pe care utilizatorul u o va acorda articolului i se calculează astfel:

SVD ++ are unele dezavantaje, cu toate acestea, principalul este că nu este bazat pe model , ceea ce înseamnă că, dacă un utilizator nou se înscrie, algoritmul nu poate recomanda nimic decât dacă întregul model este recalificat. Deși este posibil ca sistemul să fi colectat unele interacțiuni pentru acel utilizator, factorii săi latenți încă nu sunt disponibili și, prin urmare, nu pot fi calculate recomandări. Acesta este un exemplu de pornire la rece , adică sistemul de recomandare nu reușește să gestioneze în mod eficient noi articole sau utilizatori, de aceea sunt necesare măsuri ad-hoc. [8]

O posibilitate de a face față pornirii la rece este modificarea SVD ++ astfel încât să devină bazată pe model , astfel încât să poată gestiona mai ușor elemente noi sau utilizatori.

După cum sa menționat mai devreme în SVD ++, nu există factori latenți disponibili pentru utilizatorii noi, deci trebuie să fie reprezentați diferit. Factorii latenți ai utilizatorului reprezintă preferința sa pentru factorii latenți corespunzători ai articolului, prin urmare, factorii latenți ai utilizatorului pot fi evaluați pe baza interacțiunilor sale anterioare. Dacă sistemul este capabil să colecteze interacțiuni, atunci este posibil să se estimeze factorii latenți ai acestuia. Rețineți că acest lucru nu rezolvă complet problema pornirii la rece , deoarece sistemul de recomandare necesită totuși interacțiuni pentru noii utilizatori, dar cel puțin nu mai este necesar să vă reîncărcați întregul model de fiecare dată. S-a arătat că această formulare este aproape echivalentă cu un model de tip SLIM [9] , adică un model articol-articol recomandat bazat pe.

În această formulare, recomandătorul corespunzător articol-articol recomandator ar fi . Prin urmare, matricea de similaritate S este simetrică.

SVD asimetric

SVD asimetric încearcă să păstreze avantajele SVD ++ în timp ce este bazat pe model, prin urmare capabil să gestioneze noi utilizatori, atâta timp cât au cel puțin o anumită interacțiune. În comparație cu versiunea bazată pe model a SVD ++, matricea factorului latent H este înlocuită cu Q, deoarece preferința utilizatorului în funcție de evaluările sale este diferită de ceea ce se dorește să reprezinte. [10]

Mai exact, predicția evaluării pe care utilizatorul u o va acorda articolului i se calculează astfel:

În această formulare, recomandătorul corespunzător articol-articol recomandator este . Deoarece matricile Q și W sunt diferite, matricea de similaritate S va fi asimetrică, de unde și numele modelului.

Factorizarea matricei hibride

Recent, au fost dezvoltate multe alte modele de factorizare pentru a profita de volumul și varietatea tot mai mari de interacțiuni și cazuri de utilizare. Algoritmii de factorizare a matricei hibride sunt capabili să îmbine interacțiuni implicite și explicite [11] sau informații de colaborare și de conținut [12] [13] [14]

Factorizarea matricei de învățare profundă

În ultimii ani, s-au propus un număr mare de algoritmi de învățare neuronală sau profundă, dintre care unii generalizează problema tradițională de factorizare a matricei printr-o arhitectură neuronală neliniară [15] . Deși învățarea profundă a fost aplicată în mai multe scenarii: conștient de context, conștient de secvență, etichetare pe rețelele sociale etc. eficacitatea sa reală atunci când este aplicată unei simple probleme de filtrare colaborativă a fost pusă la îndoială. O analiză sistematică a publicațiilor care propun noi algoritmi de învățare profundă sau neuronale aplicate unei probleme de recomandare de top, publicată în conferințe la nivel înalt (SIGIR, KDD, WWW, RecSys), a arătat că, în medie, mai puțin de 40% din articole au rezultate reproductibile, cu doar 14% în unele conferințe. În general, studiul identifică 18 articole, dintre care doar 7 au rezultate reproductibile și până la 6 dintre acești algoritmi pot fi depășiți prin tehnici mult mai simple și mai vechi, atunci când sunt optimizați corespunzător. Articolul subliniază mai multe probleme potențiale din cercetările științifice actuale în domeniul sistemelor de recomandare și solicită consolidarea practicilor experimentale utilizate. [16] Observații similare au fost prezentate și în cazul sistemelor de recomandare bazate pe secvențe. [17]

Notă

  1. ^ Yehuda Koren, Robert Bell și Chris Volinsky, Matrix Factorization Techniques for Recommender Systems , în Computer , vol. 42, n. 8, august 2009, pp. 30–37, DOI : 10.1109 / MC.2009.263 .
  2. ^ Simon Funk, propunere FunkSVD , la sifter.org .
  3. ^ Deepak Agarwal și Bee-Chung Chen, modele de factor latent bazate pe regresie , ACM, 28 iunie 2009, pp. 19–28, DOI : 10.1145 / 1557019.1557029 .
  4. ^ (EN) Dietmar Jannach, Lukas Lerche, Fatih Gedikli și Geoffray Bonnin, Ce recomandă recomandatorii - O analiză a acurateței, popularității și efectelor diversității vânzărilor în modelarea, adaptarea și personalizarea utilizatorilor, Springer Berlin Heidelberg, 2013, pp. 25–37, DOI : 10.1007 / 978-3-642-38844-6_3 .
  5. ^ Arkadiusz Paterek, Îmbunătățirea descompunerii valorii singularizate regularizate pentru filtrarea colaborativă ( PDF ), în Proceedings of KDD cup and workshop , 2007.
  6. ^ (EN) Jian Cao, Hengkui Hu, Tianyan Luo, Jia Wang, May Huang, Karl Wang Zhonghai Wu și Xing Zhang, Proiectarea distribuită și implementarea algoritmului SVD ++ pentru sistemul de recomandare personalizată pentru comerțul electronic în comunicații în informatică și știința informației , Springer Singapore, 2015, pp. 30–44, DOI : 10.1007 / 978-981-10-0421-6_4 .
  7. ^ Yancheng Jia, preferința mărcilor utilizatorilor pe baza SVD ++ în sistemele de recomandare , în 2014 IEEE Workshop on Advanced Research and Technology in Industry Applications (WARTIA) , IEEE, septembrie 2014, DOI : 10.1109 / wartia.2014.6976489 .
  8. ^ Daniel Kluver și Joseph A. Konstan, Evaluarea comportamentului recomandatorilor pentru noii utilizatori , ACM, 6 octombrie 2014, pp. 121–128, DOI : 10.1145 / 2645710.2645742 .
  9. ^ Yong Zheng, Bamshad Mobasher și Robin Burke, CSLIM: algoritmi contextuali de recomandare SLIM , ACM, 6 octombrie 2014, pp. 301-304, DOI : 10.1145 / 2645710.2645756 .
  10. ^ Li Pu și Boi Faltings, Înțelegerea și îmbunătățirea factorizării matriciale relaționale în sistemele de recomandare , ACM, 12 octombrie 2013, pp. 41–48, DOI : 10.1145 / 2507157.2507178 .
  11. ^ Changwei Zhao, Suhuan Sun, Linqian Han și Qinke Peng, FACTORIZAREA MATRICEI HIBRICE PENTRU SISTEME DE RECOMANDARE ÎN REȚELELE SOCIALE , în Neural Network World , vol. 26, n. 6, 2016, pp. 559–569, DOI : 10.14311 / NNW.2016.26.032 .
  12. ^ Tinghui Zhou, Hanhuai Shan, Arindam Banerjee și Guillermo Sapiro, Kernelized Probabilistic Matrix Factorization: Exploiting Graphs and Side Information , în Proceedings of the 2012 SIAM International Conference on Data Mining , Society for Industrial and Applied Mathematics, 26 aprilie 2012, pp. 403-414, DOI : 10.1137 / 1.9781611972825.35 .
  13. ^ Ryan Prescott Adams, George E. Dahl și Iain Murray, Incorporarea informațiilor laterale în factorizarea matricii probabilistice cu procese gaussiene , în arXiv: 1003.4944 [cs, stat] , 25 martie 2010.
  14. ^ Yi Fang și Luo Si, co-factorizare Matrix pentru recomandare cu informații laterale bogate și feedback implicit , ACM, 27 octombrie 2011, pp. 65–69, DOI : 10.1145 / 2039320.2039330 .
  15. ^ Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu și Tat-Seng Chua, Neural Collaborative Filtering , în Proceedings of the 26th International Conference on World Wide Web , International World Wide Web Conferences Steering Committee, 2017, pp. 173–182, DOI : 10.1145 / 3038912.3052569 . Adus la 16 octombrie 2019 .
  16. ^ Maurizio Ferrari Dacrema, Paolo Cremonesi și Dietmar Jannach, Realizăm cu adevărat progrese? O analiză îngrijorătoare a abordărilor recente de recomandare neuronală , în Proceedings of the 13th ACM Conference on Recommender Systems , ACM, 2019, pp. 101-109, DOI : 10.1145 / 3298689.3347058 . Adus la 16 octombrie 2019 .
  17. ^ Malte Ludewig, Noemi Mauro, Sara Latifi și Dietmar Jannach, Comparația performanței abordărilor neuronale și non-neuronale ale recomandării bazate pe sesiune , în Proceedings of the 13th ACM Conference on Recommender Systems , ACM, 2019, pp. 462–466, DOI : 10.1145 / 3298689.3347041 . Adus la 16 octombrie 2019 .

Elemente conexe