sisteme de recomandare 2
DESCRIPTION
Sisteme de recomandare 2. Razvan Stoenescu, Alexandru Marinescu, Ioana Mihaela Mihalache, Marin Ilinca, Marius Airinei ,. k-Nearest Neighbor Marius Airinei. Pattern recognition simplitate in implementare utilizat cu succes in sistemele de recomandare. Etapele algoritmul kNN. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/1.jpg)
Sisteme de recomandare 2
Razvan Stoenescu,Alexandru Marinescu,
Ioana Mihaela Mihalache,Marin Ilinca,
Marius Airinei,
![Page 2: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/2.jpg)
![Page 3: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/3.jpg)
![Page 4: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/4.jpg)
k-Nearest NeighborMarius Airinei
• Pattern recognition• simplitate in implementare• utilizat cu succes in sistemele de recomandare
![Page 5: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/5.jpg)
Etapele algoritmul kNN
1.determinarea parametrului K– calcularea dinstantelor intre item-ul cautat si celelalte
elemente– sortarea distantelor si alegerea primelor K elemente– adunarea valorilor din elementele selectate– atribuirea itemului valoarea medie a sumei elementelor
selectate
![Page 6: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/6.jpg)
Utilizare kNN
![Page 7: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/7.jpg)
Optimizari
• metode pentru gasirea distantelor intre elemente• introducerea de parametri care evidentiaza
cantitatea de informatie adusa de un element• metode de a selecta parametrul K
![Page 8: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/8.jpg)
Algoritmi utilizati inmotoarele de cautare
1. PageRank 2. SimRank 3. HITS 4. Linkuri catre alti algoritmi
![Page 9: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/9.jpg)
Algoritmul PageRank
1. Se stabileste setul de pagini2. Se acorda PR egal tuturorpaginilor3. Se calculeaza PR dupa una dinformulele:
unde d este un indice ce se presupune a avea valoarea 0.85,N este numarul de pagini din set,iar L(X) reprezinta numarul de linkuri externe ale paginii X.
![Page 10: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/10.jpg)
Algoritm PageRank (2)Exemplu versiune simplificata: Fie 4 pagini A, B, C si D.Initializam valorile: PR(A) = PR(B) = PR(C) = PR(D) =0.25 --adica 1/n (1/4) Fie ca paginile B, C si D sa aibalink catre A. Atunci:PR(A) = PR(B) + PR(C) + PR(D) =0.75. Fie ca pagina B sa aiba link catre C, iar D catre toate celelalte 3. Atunci am avea:PR(A) = PR(B)/2 + PR(C)/1 + PR(D)/3 = 0.125 + 0.25 + 0.083 = 0.458
![Page 11: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/11.jpg)
Algoritmul SimRank
SimRank este un algoritm folosit pentru a desemna documente/obiecte asemanatoare. Spre exemplu, atunci cand se incearca o cautare pentru un document asemanator. Acest algoritm poate conduce spre posibilitatea de a clusterizaobiectele. Un exemplu este Yahoo! Search, unde avem in bara din stanga rezultatele cautarii organizate pe categorii.
![Page 12: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/12.jpg)
Algoritmul SimRank (2) Notatii: I(a) - numar linkuri catre pagina a O(b) - numar linkuri dinspre pagina b (external links)s(a, b) - valoarea ce denota similaritatea dintre paginile a si b
Apar probleme cand I(a) = 0, deoarece s(a, X) va fi 0, oricare X.Rezolvare:
![Page 13: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/13.jpg)
HITS (Hubs and authorities)
HITS este un algoritm de analiza a linkurilor care evalueaza paginile Web prin doua valori: • authority value (estimeaza valoarea continutului efectiv al
paginii) • hub value (pentru a estima „greutatea” linkurilor catre alte
pagini)
![Page 14: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/14.jpg)
HITS (2) - Algoritmul• Fiecare nod va avea
authority value si hub value egale cu 1.
• Ruleaza regula de update pt authority value
• Ruleaza regula de update pt hub value
• Normalizeaza valorile impartind fiecare hub value prin suma tuturor patratelor tuturor valorilor hub
• Normalizeaza analog si valorile authority
• Repeta de la etapa a II-a daca este necesar
G := set of pagesfor each page p in G do p.auth = 1 // authority value p.hub = 1 // hub valuefunction HubsAndAuthorities(G) for pas from 1 to k do for each page p in G do for each page q in p.inLink do p.auth += q.hub for each page p in G do for each page r in p.outLink do p.hub += r.auth
![Page 15: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/15.jpg)
Linkuri utile:
1. http://en.wikipedia.org/wiki/PageRank2. http://en.wikipedia.org/wiki/SimRank3. http://en.wikipedia.org/wiki/HITS_algorithm4. http://en.wikipedia.org/wiki/Hilltop_algorithm5. http://en.wikipedia.org/wiki/TrustRank6. http://en.wikipedia.org/wiki/Topic-Sensitive_PageRank7. http://en.wikipedia.org/wiki/EigenTrust
![Page 16: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/16.jpg)
Filtrare colaborativa vs. Comportament real-time
Filtrarea colaborativa (Collaborative filtering) este procesul de filtrare de informatii folosind tehnici care implica o colaborare între mai multi factori : - agenti - puncte de vedere - surse de date, etc.
![Page 17: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/17.jpg)
Filtrare colaborativa (1)
Sistemele ce folosesc filtrarea colaborativa, de regula, au doua etape : 1. Cauta utilizatori a caror evaluari seamana cu evaluarea utilizatorului curent. 2. Utilizeaza ratingul de la utilizatorii identificati la punctul 1 pentru a calcula o predictie pentru utilizatorul activ.
![Page 18: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/18.jpg)
Filtrare colaborativa (2)
O alternative la aceasta metoda a fost propusa si promovata de Amazon : filtrarea bazata pe obiect. 1. Inregistreaza aseamanarile dintre fiecare doua obiecte. 2. Foloseste relatiile dintre obiecte si preferintele utilizatorului current pentru a face predictiile.
![Page 19: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/19.jpg)
Baytone - real-time behavior
Sistemul de recomandare real-time acorda o pondere mult mai mica istoricului unui utilizator, paginilor vizitate si produselor cumparate in trecut de acesta. Actiunile urmarite includ : - pagini de start, - interogari, - miscarea mouse-ului, - timpul petrecut pe o pagina, - comportamentul comunitatii
![Page 20: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/20.jpg)
Influenţa în sistemele de recomandare
• măsură a efectului unui utilizator în ceea ce
priveşte recomandările• tool puternic pentru înţelegerea funcţionării unui
sistem de recomandare• modalităţi de măsurare propuse bazate pe
algoritmi• mai multe tipuri de metrici
![Page 21: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/21.jpg)
Metrica influenţei
• bazată pe conexiunile dintre utilizatori• se urmăreşte comportamentul vecinilor• se selectează primii k vecini care au dat
rating itemului m
![Page 22: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/22.jpg)
Observarea influenţei unui utilizator(1)
• se exclude din reţeaua socială utilizatorul respectiv
• se calculează modificările care au loc in predicţie datorită excluderii utilizatorului
• se calculează NPD ui(Number of Prediction Differences)
• NPD ui spune de câte ori se va schimba predicţia datorită eliminării
![Page 23: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/23.jpg)
Observarea influenţei unui utilizator (2)
• NPD ui reprezintă nivelul infleunţei unui utilizator• costisitoare din punct de vedere al timpului• soluţie alternativă : NUPD ui• NUPD ui: numărul de utilizatori unici a căror
predicţie se schimbă cu cel puţin pragul atins în momentul eliminării
![Page 24: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/24.jpg)
Concluzii
• influenţa poate varia de la un utilizator la altul chiar dacă au dat acelaşi număr de ratinguri
• numărul de opinii - componentă importantă a influenţei
• metrica propusă - NUPD - independentă de algoritmi
![Page 25: Sisteme de recomandare 2](https://reader030.vdocuments.pub/reader030/viewer/2022013105/568144f7550346895db1c549/html5/thumbnails/25.jpg)
Va multumim pentru atentie!
întrebari ?