Sisteme de recomandare 2 Razvan Stoenescu Alexandru Marinescu

  • Slides: 25
Download presentation
Sisteme de recomandare 2 Razvan Stoenescu, Alexandru Marinescu, Ioana Mihaela Mihalache, Marin Ilinca, Marius

Sisteme de recomandare 2 Razvan Stoenescu, Alexandru Marinescu, Ioana Mihaela Mihalache, Marin Ilinca, Marius Airinei,

k-Nearest Neighbor Marius Airinei a. Pattern recognition • simplitate in implementare • utilizat cu

k-Nearest Neighbor Marius Airinei a. Pattern recognition • simplitate in implementare • utilizat cu succes in sistemele de recomandare

Etapele algoritmul k. NN 1. determinarea parametrului K – calcularea dinstantelor intre item-ul cautat

Etapele algoritmul k. NN 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

Utilizare k. NN

Utilizare k. NN

Optimizari a. metode pentru gasirea distantelor intre elemente • introducerea de parametri care evidentiaza

Optimizari a. 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. Page. Rank 2. Sim. Rank 3. HITS

Algoritmi utilizati in motoarele de cautare 1. Page. Rank 2. Sim. Rank 3. HITS 4. Linkuri catre alti algoritmi

Algoritmul Page. Rank 1. Se stabileste setul de pagini 2. Se acorda PR egal

Algoritmul Page. Rank 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 Page. Rank (2) Exemplu versiune simplificata: Fie 4 pagini A, B, C si

Algoritm Page. Rank (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. 083 = 0. 458

Algoritmul Sim. Rank este un algoritm folosit pentru a desemna documente/obiecte asemanatoare. Spre exemplu,

Algoritmul Sim. Rank 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 Sim. Rank (2) Notatii: I(a) - numar linkuri catre pagina a O(b) -

Algoritmul Sim. Rank (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

HITS (Hubs and authorities) HITS este un algoritm de analiza a linkurilor care evalueaza paginile Web prin doua valori: a. authority value (estimeaza valoarea continutului efectiv al paginii) a. hub value (pentru a estima „greutatea” linkurilor catre alte pagini)

 HITS (2) - Algoritmul a. Fiecare nod va avea authority value si hub

HITS (2) - Algoritmul a. Fiecare nod va avea authority value si hub value egale cu 1. b. Ruleaza regula de update pt authority value c. Ruleaza regula de update pt hub value d. Normalizeaza valorile impartind fiecare hub value prin suma tuturor patratelor tuturor valorilor hub e. Normalizeaza analog si valorile authority f. Repeta de la etapa a II-a daca este necesar G : = set of pages for each page p in G do p. auth = 1 // authority value p. hub = 1 // hub value function Hubs. And. Authorities(G) for pas from 1 to k do for each page p in G do for each page q in p. in. Link do p. auth += q. hub for each page p in G do for each page r in p. out. Link do p. hub += r. auth

Linkuri utile: 1. http: //en. wikipedia. org/wiki/Page. Rank 2. http: //en. wikipedia. org/wiki/Sim. Rank

Linkuri utile: 1. http: //en. wikipedia. org/wiki/Page. Rank 2. http: //en. wikipedia. org/wiki/Sim. Rank 3. http: //en. wikipedia. org/wiki/HITS_algorithm 4. http: //en. wikipedia. org/wiki/Hilltop_algorithm 5. http: //en. wikipedia. org/wiki/Trust. Rank 6. http: //en. wikipedia. org/wiki/Topic-Sensitive_Page. Rank 7. http: //en. wikipedia. org/wiki/Eigen. Trust

Filtrare colaborativa vs. Comportament real-time Filtrarea colaborativa (Collaborative filtering) este procesul de filtrare de

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 :

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

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

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

 Influenţa în sistemele de recomandare a. măsură a efectului unui utilizator în ceea

Influenţa în sistemele de recomandare a. 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

Metrica influenţei a. bazată pe conexiunile dintre utilizatori b. se urmăreşte comportamentul vecinilor c.

Metrica influenţei a. bazată pe conexiunile dintre utilizatori b. se urmăreşte comportamentul vecinilor c. se selectează primii k vecini care au dat rating itemului m

Observarea influenţei unui utilizator(1) a. se exclude din reţeaua socială utilizatorul respectiv b. se

Observarea influenţei unui utilizator(1) a. se exclude din reţeaua socială utilizatorul respectiv b. se calculează modificările care au loc in predicţie datorită excluderii utilizatorului c. se calculează NPD ui(Number of Prediction Differences) d. NPD ui spune de câte ori se va schimba predicţia datorită eliminării

Observarea influenţei unui utilizator (2) a. NPD ui reprezintă nivelul infleunţei unui utilizator b.

Observarea influenţei unui utilizator (2) a. NPD ui reprezintă nivelul infleunţei unui utilizator b. costisitoare din punct de vedere al timpului c. soluţie alternativă : NUPD ui d. NUPD ui: numărul de utilizatori unici a căror predicţie se schimbă cu cel puţin pragul atins în momentul eliminării

Concluzii a. influenţa poate varia de la un utilizator la altul chiar dacă au

Concluzii a. influenţa poate varia de la un utilizator la altul chiar dacă au dat acelaşi număr de ratinguri b. numărul de opinii - componentă importantă a influenţei c. metrica propusă - NUPD - independentă de algoritmi

Va multumim pentru atentie! întrebari ?

Va multumim pentru atentie! întrebari ?