în zilele noastre, fie că te uiți la un videoclip pe YouTube, la un film pe Netflix sau la un produs pe Amazon, vei primi recomandări pentru mai multe lucruri de vizionat, de apreciat sau de cumpărat. Puteți mulțumi apariției algoritmilor de învățare automată și a sistemelor de recomandare pentru această dezvoltare.
sistemele de recomandare sunt de anvergură în domeniu, așa că vom ajunge la zero într-o abordare importantă numită filtrare colaborativă, care filtrează informațiile utilizând interacțiunile și datele colectate de sistem de la alți utilizatori. Se bazează pe ideea că oamenii care au fost de acord în evaluarea lor de anumite elemente sunt susceptibile de a fi de acord din nou în viitor.
un Primer rapid pe sistemele de recomandare
un sistem de recomandare este o subclasă de filtrare a informațiilor care urmărește să prezică „evaluarea” sau „preferința” pe care un utilizator o va da unui articol, cum ar fi un produs, un film, o melodie etc.
sistemele de recomandare oferă informații personalizate prin învățarea intereselor utilizatorului prin urme de interacțiune cu acel utilizator. La fel ca algoritmii de învățare automată, un sistem de recomandare face o predicție bazată pe comportamentele anterioare ale unui utilizator. Mai exact, este conceput pentru a prezice preferința utilizatorului pentru un set de articole bazate pe experiență.
matematic, o sarcină de recomandare este setată să fie:
- set de utilizatori (U)
- Set de elemente (I) care urmează să fie recomandate pentru U
- aflați o funcție bazată pe datele de interacțiune anterioare ale utilizatorului care prezice probabilitatea elementului I la U
sistemele de recomandare sunt clasificate în general în două tipuri pe baza datelor utilizate pentru a face inferențe:
- filtrare bazată pe conținut, care utilizează atributele articolului.
- filtrare colaborativă, care utilizează comportamentul utilizatorului (interacțiuni) în plus față de atributele articolului.
câteva exemple cheie de sisteme de recomandare la locul de muncă includ:
- recomandări de produse pe Amazon și alte site-uri de cumpărături
- recomandări de filme și emisiuni TV pe Netflix
- recomandări de articole pe site-urile de știri
ce este filtrarea colaborativă?
filtrarea colaborativă filtrează informațiile utilizând interacțiunile și datele colectate de sistem de la alți utilizatori. Se bazează pe ideea că oamenii care au fost de acord în evaluarea lor de anumite elemente sunt susceptibile de a fi de acord din nou în viitor.
conceptul este simplu: atunci când vrem să găsim un film nou pentru a viziona vom cere de multe ori prietenii noștri pentru recomandări. Bineînțeles, avem mai multă încredere în recomandările prietenilor care împărtășesc gusturi similare cu ale noastre.
majoritatea sistemelor de filtrare colaborative aplică așa-numita tehnică bazată pe indici de similitudine. În abordarea bazată pe vecinătate, un număr de utilizatori sunt selectați pe baza asemănării lor cu utilizatorul activ. Inferența pentru utilizatorul activ se face prin calcularea unei medii ponderate a evaluărilor utilizatorilor selectați.
sistemele de filtrare colaborativă se concentrează pe relația dintre utilizatori și articole. Similitudinea elementelor este determinată de similitudinea ratingurilor acestor elemente de către utilizatorii care au evaluat ambele elemente.
există două clase de filtrare colaborativă:
- bazată pe utilizator, care măsoară asemănarea dintre utilizatorii țintă și alți utilizatori.
- Item-based, care măsoară similitudinea dintre elementele cu care utilizatorii țintă evaluează sau interacționează și alte elemente.
filtrarea colaborativă folosind Python
metodele colaborative sunt de obicei elaborate folosind o matrice de utilități. Sarcina modelului de recomandare este de a învăța o funcție care prezice utilitatea potrivirii sau asemănării cu fiecare utilizator. Matricea utilitară este de obicei foarte rară, uriașă și a eliminat valori.
în următoarele matrice, fiecare rând reprezintă un utilizator, în timp ce coloanele corespund diferitelor filme ale Pixar. Similitudinea cosinusului este cel mai simplu algoritm necesar pentru a găsi similitudinea vectorilor. Ultima, care este matricea de utilitate care urmează primei matrice, conține doar date parțiale, care sunt necesare pentru a prezice probabilitatea ratingului așteptat de „rădăcina” care ar putea fi dată de utilizator.
în următoarele matrice, fiecare rând reprezintă un utilizator, în timp ce coloanele corespund diferitelor filme, cu excepția ultimului care înregistrează asemănarea dintre acel utilizator și utilizatorul țintă. Fiecare celulă reprezintă ratingul pe care utilizatorul îl acordă filmului respectiv.
cosinus_similarity(p, q) = p.q
|p/.|q|
cosine_similarity(joe, beck) =
atunci când un utilizator nou se alătură platformei, aplicăm cel mai simplu algoritm care calculează cosinusul sau similitudinea de corelație a rândurilor (utilizatorilor) sau coloanelor (filmelor) și recomandă k-cei mai apropiați vecini.
acestea sunt multe ecuații care se pot ocupa de problema măsurilor de similitudine, câteva includ:
- similitudine Pearson
- similitudine Jaccard
- corelație rang Spearman
- diferențe pătrate medii
- proximitate-impact-Popularitate similitudine
Relatedciteste mai multe despre stiinta datelor