tegenwoordig krijgt u aanbevelingen voor meer dingen die u kunt bekijken, leuk vinden of kopen, of u nu een video op YouTube, een film op Netflix of een product op Amazon bekijkt. U kunt de komst van machine learning algoritmen en recommender systemen bedanken voor deze ontwikkeling.
Recommender systemen zijn verregaand in omvang, dus we gaan een belangrijke benadering volgen genaamd collaborative filtering, die informatie filtert door gebruik te maken van de interacties en gegevens die door het systeem van andere gebruikers worden verzameld. Het is gebaseerd op het idee dat mensen die overeengekomen in hun evaluatie van bepaalde items zijn waarschijnlijk opnieuw eens in de toekomst.
A Quick Primer On Recommender Systems
een recommender systeem is een subklasse van informatiefiltering die probeert de “waardering” of “voorkeur” te voorspellen die een gebruiker een item zal geven, zoals een product, film, lied, enz.
aanbevelingssystemen bieden gepersonaliseerde informatie door de interesses van de gebruiker te leren door sporen van interactie met die gebruiker. Net als machine learning algoritmen, een recommender systeem maakt een voorspelling op basis van het verleden gedrag van een gebruiker. Specifiek, het is ontworpen om de voorkeur van de gebruiker te voorspellen voor een set van items op basis van ervaring.
wiskundig is een aanbevelingstaak ingesteld op::
- Set van gebruikers (U)
- Set van items (I) die moeten worden aanbevolen voor U
- Leer een functie op basis van de interactie-gegevens uit het verleden van de gebruiker die de waarschijnlijkheid voorspelt van item I tot U
aanbevelingssystemen worden grofweg ingedeeld in twee typen op basis van de gegevens die worden gebruikt om gevolgtrekkingen te maken:
- content-based filtering, waarbij item attributen worden gebruikt.
- Collaborative filtering, waarbij gebruik wordt gemaakt van gebruikersgedrag (interacties) naast attributen van items.
enkele belangrijke voorbeelden van aanbevelingssystemen op het werk zijn::
- productaanbevelingen op Amazon en andere shopping sites
- aanbevelingen voor films en TV-programma ‘ s op Netflix
- aanbevelingen voor artikelen op nieuwssites
Wat is collaboratieve Filtering?
Collaborative filtering filtert informatie door gebruik te maken van de interacties en gegevens die door het systeem van andere gebruikers worden verzameld. Het is gebaseerd op het idee dat mensen die overeengekomen in hun evaluatie van bepaalde items zijn waarschijnlijk opnieuw eens in de toekomst.
het concept is eenvoudig: als we een nieuwe film willen vinden om naar te kijken, vragen we onze vrienden vaak om aanbevelingen. Natuurlijk hebben we meer vertrouwen in de aanbevelingen van vrienden die smaken delen die vergelijkbaar zijn met de onze.
De meeste collaboratieve filtersystemen passen de zogenaamde similarity index-based technique toe. In de buurt-gebaseerde aanpak, een aantal gebruikers worden geselecteerd op basis van hun gelijkenis met de actieve gebruiker. Gevolgtrekking voor de actieve gebruiker wordt gemaakt door het berekenen van een gewogen gemiddelde van de ratings van de geselecteerde gebruikers.
Collaborative-filtering systemen richten zich op de relatie tussen gebruikers en items. De gelijkenis van items wordt bepaald door de gelijkenis van de ratings van die items door de gebruikers die beide items hebben beoordeeld.
Er zijn twee klassen van collaboratieve Filtering:
- Gebruikersgebaseerd, die de gelijkenis tussen doelgebruikers en andere gebruikers meet.
- Item-based, dat de gelijkenis meet tussen de items die gericht zijn op gebruikers die rate of interageren met en andere items.
collaboratieve filtering met Python
collaboratieve methoden worden meestal uitgewerkt met behulp van een utility matrix. De taak van het recommender model is om een functie te leren die het nut van pasvorm of gelijkenis voorspelt voor elke gebruiker. De utility matrix is meestal erg schaars, enorm en heeft waarden verwijderd.
in de volgende matrices vertegenwoordigt elke rij een gebruiker, terwijl de kolommen overeenkomen met verschillende films per Pixar. De cosinus gelijkenis is het eenvoudigste algoritme dat nodig is om de gelijkenis van de vectoren te vinden. De laatste, dat is de utility matrix na de eerste matrix, bevat slechts gedeeltelijke gegevens, die nodig zijn om de waarschijnlijkheid van de verwachte rating door de “root” die kan worden gegeven door de gebruiker te voorspellen.
in de volgende matrices vertegenwoordigt elke rij een gebruiker, terwijl de kolommen overeenkomen met verschillende films, behalve de laatste die de gelijkenis tussen die gebruiker en de doelgebruiker registreert. Elke cel vertegenwoordigt de waardering die de gebruiker aan die film geeft.
cosine_similarity ( p, q) = p.q
|p|.|q/
cosine_similarity(joe, beck) =
wanneer een nieuwe gebruiker toetreedt tot het platform, passen we het eenvoudigste algoritme toe dat cosinus of correlatie gelijkenis van rijen (gebruikers) of kolommen (films) berekent en aanbevolen items die k-dichtstbijzijnde buren zijn.
Dit zijn vele vergelijkingen die de kwestie van gelijkvormigheidsmaten kunnen behandelen, enkele omvatten:
- Pearson similarity
- Jaccard similarity
- Spearman rank correlatie
- gemiddelde kwadraatverschillen
- nabijheid-impact-Populariteit gelijkenis
Relatedlees meer over Data Science