Video: Grænseværdi 2025
Ratingdata har sine begrænsninger i maskinindlæring. For at recommender-systemer skal virke godt, skal de vide om dig såvel som andre mennesker, både som dig og adskiller sig fra dig. Ved at erhverve vurderingsdata kan et anbefalingssystem lære af erfaringerne fra flere kunder. Bedømmelsesdata kan hidrøre fra en bedømmelse (f.eks. vurdering af et produkt ved hjælp af stjerner eller tal) eller en kendsgerning (et binært 1/0, der simpelthen angiver, at du har købt produktet, så en film eller stoppet browsing på en bestemt webside).
Uanset datakilden eller typen er vurderingsdata altid om adfærd. Hvis du vil bedømme en film, skal du beslutte dig for at se den, se den og bedømme den ud fra din oplevelse af at se filmen. Faktiske anbefalingssystemer lærer af vurderingsdata på forskellige måder:
- Samarbejdsmæssig filtrering: Kampe ratere baseret på film eller produkt ligheder, der tidligere blev brugt. Du kan få anbefalinger baseret på elementer kan lide af folk, der ligner dig eller på ting, der ligner dem, du kan lide.
- Indholdsbaseret filtrering: Går ud over, at du har set en film. Den undersøger funktionerne i forhold til dig og filmen for at afgøre, om der findes en kamp baseret på de større kategorier, som funktionerne repræsenterer. For eksempel, hvis du er en kvinde, der kan lide actionfilm, vil anbefaleren søge efter forslag, der omfatter krydset mellem disse to kategorier.
- Videnbaserede anbefalinger: Baseret på metadata, f.eks. Præferencer udtrykt af brugere og produktbeskrivelser. Den er afhængig af maskinindlæring og er effektiv, når du ikke har nok adfærdsmæssige data til at bestemme bruger- eller produktegenskaber. Dette kaldes en koldstart og repræsenterer en af de sværeste anbefalingsopgaver, fordi du ikke har adgang til enten samarbejdsfiltrering eller indholdsbaseret filtrering.
Når du bruger samarbejdsfiltrering, skal du beregne lighed. Bortset fra euclidiske, Manhattan og Chebyshev afstande diskuterer resten af denne information cosinus lighed. Cosinel lighed måler vinkelkosinusafstanden mellem to vektorer, hvilket kan virke som et vanskeligt begreb at forstå, men er kun en måde at måle vinkler i datavelleme på.
Forestil dig et mellemrum af funktioner og have to punkter. Du kan måle afstanden mellem punkterne. For eksempel kan du bruge den euklidiske afstand, hvilket er et perfekt valg, når du har få dimensioner, men som fejler uheldig, når du har flere dimensioner på grund af forbandelsen af dimensionalitet.
Ideen bag cosinusafstanden er at bruge vinklen skabt af de to punkter, der er forbundet med mellemrummet (det punkt, hvor alle dimensioner er nul) i stedet. Hvis punkterne er nærme, er vinklen smal, uanset hvor mange dimensioner der er. Hvis de er langt væk, er vinklen ret stor.
Cosinel lighed implementerer cosinusafstanden som en procentdel og er ret effektiv til at fortælle om en bruger ligner hinanden eller om en film kan knyttes til en anden, fordi de samme brugere favoriserer det. Følgende eksempel lokaliserer de film, der er de mest lignende film til film 50, Star Wars.
print (colnames (MovieLense [50]))
[1] "Star Wars (1977)"
similar_movies <- lighed (MovieLense [50],
MovieLense [-50]
metode = "cosine",
hvilke = "elementer")
colnames (similar_movies) [hvilke (similar_movies> 0. 70)]
[1] "Toy Story (1995)" < "Empire Strikes Back, The (1980)"
[3] "Raiders of the Lost Ark (1981)"
"Retur af Jedi (1983)"