Sunteți pe pagina 1din 25

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

1.determinarea parametrului K 2.calcularea dinstantelor intre item-ul cautat si celelalte elemente 3.sortarea distantelor si alegerea primelor K elemente 4. adunarea valorilor din elementele selectate 5. atribuirea itemului valoarea medie a sumei elementelor selectate

Utilizare kNN

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

Algoritmi utilizati in motoarele de cautare


1. PageRank 2. SimRank 3. HITS 4. Linkuri catre alti algoritmi

Algoritmul PageRank
1. Se stabileste setul de pagini 2. Se acorda PR egal tuturor paginilor 3. Se calculeaza PR dupa una din formulele:

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.

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 aiba link 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

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 clusteriza obiectele. Un exemplu este Yahoo! Search, unde avem in bara din stanga rezultatele cautarii organizate pe categorii.

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:

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)

HITS (2) - Algoritmul


Fiecare nod va avea authority value si hub G := set of pages value egale cu 1. for each page p in G do Ruleaza regula de update pt authority value p.auth = 1 // authority value p.hub = 1 // hub value Ruleaza regula de function HubsAndAuthorities(G) update pt hub value for pas from 1 to k do Normalizeaza valorile for each page p in G do impartind fiecare hub for each page q in p.inLink do value prin suma tuturor p.auth += q.hub patratelor tuturor for each page p in G do valorilor hub for each page r in p.outLink do Normalizeaza analog si p.hub += r.auth valorile authority Repeta de la etapa a II-a daca este necesar

Linkuri utile:
1. http://en.wikipedia.org/wiki/PageRank 2. http://en.wikipedia.org/wiki/SimRank 3. http://en.wikipedia.org/wiki/HITS_algorithm 4. http://en.wikipedia.org/wiki/Hilltop_algorithm 5. http://en.wikipedia.org/wiki/TrustRank 6. http://en.wikipedia.org/wiki/Topic-Sensitive_PageRank 7. http://en.wikipedia.org/wiki/EigenTrust

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.

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.

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.

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

Influena n sistemele de recomandare


msur a efectului unui utilizator n ceea ce privete recomandrile tool puternic pentru nelegerea funcionrii unui sistem de recomandare modaliti de msurare propuse bazate pe algoritmi mai multe tipuri de metrici

Metrica influenei
bazat pe conexiunile dintre utilizatori se urmrete comportamentul vecinilor se selecteaz primii k vecini care au dat rating itemului m

Observarea influenei unui utilizator(1)


se exclude din reeaua social utilizatorul respectiv se calculeaz modificrile care au loc in predicie datorit excluderii utilizatorului se calculeaz NPD ui(Number of Prediction Differences) NPD ui spune de cte ori se va schimba predicia datorit eliminrii

Observarea influenei unui utilizator (2)


NPD ui reprezint nivelul infleunei unui utilizator costisitoare din punct de vedere al timpului soluie alternativ : NUPD ui NUPD ui: numrul de utilizatori unici a cror predicie se schimb cu cel puin pragul atins n momentul eliminrii

Concluzii
influena poate varia de la un utilizator la altul chiar dac au dat acelai numr de ratinguri numrul de opinii - component important a influenei metrica propus - NUPD - independent de algoritmi

Va multumim pentru atentie!


ntrebari ?

S-ar putea să vă placă și