Video: Här går gränserna för hets mot folkgrupp - Nyhetsmorgon (TV4) 2024
Ratingdata har begränsningar i maskininlärning. För att rekommendera system för att fungera bra behöver de veta både dig och andra, både som du och annorlunda än dig. Att skaffa betygsuppgifter gör det möjligt för ett rekommenderingssystem att lära av erfarenheterna från flera kunder. Betygsuppgifter kan härledas från en dom (t.ex. att betygsätta en produkt med hjälp av stjärnor eller siffror) eller ett faktum (en binär 1/0 som helt enkelt säger att du köpte produkten, såg en film eller slutade bläddra på en viss webbsida.)
Oavsett datakälla eller typ, är betygsdata alltid om beteenden. För att betygsätta en film måste du bestämma dig för att se den, titta på den och värdera den utifrån din erfarenhet av att se filmen. Faktiska recommender-system lär dig av klassificeringsdata på olika sätt:
- Samarbetande filtrering: Matcher Raters baserat på film eller produkt likheter som används tidigare. Du kan få rekommendationer baserat på objekt gillade av människor som liknar dig eller på saker som liknar dem du gillar.
- Innehållsbaserad filtrering: Går utöver det faktum att du tittade på en film. Den undersöker funktionerna i förhållande till dig och filmen för att avgöra om det finns en matchning baserad på de större kategorierna som funktionerna representerar. Till exempel, om du är en kvinna som gillar actionfilmer, kommer recommender leta efter förslag som omfattar korsningen av dessa två kategorier.
- Kunskapsbaserade rekommendationer: Baserat på metadata, t.ex. preferenser uttryckta av användare och produktbeskrivningar. Den är beroende av maskininlärning och är effektiv när du inte har tillräckligt med beteendemata för att bestämma användar- eller produktegenskaper. Detta kallas en kallstart och representerar en av de svåraste rekommendationsuppgifterna eftersom du inte har tillgång till samarbetsfiltrering eller innehållsbaserad filtrering.
När du använder samarbetsfiltrering måste du beräkna likhet. Bortsett från Euclidean, Manhattan och Chebyshev avstånd, diskuterar resten av denna information cosinuslikhet. Cosinell likhet mäter vinkelkosinavståndet mellan två vektorer, vilket kan tyckas vara ett svårt begrepp att förstå men är bara ett sätt att mäta vinklar i datalager.
Föreställ dig ett utrymme av funktioner och med två punkter. Du kan mäta avståndet mellan punkterna. Till exempel kan du använda det euklidiska avståndet, vilket är ett perfekt val när du har få dimensioner, men som misslyckas elakt när du har flera dimensioner på grund av dimensionen.
Tanken bakom cosinusavståndet är att använda den vinkel som skapas av de två punkterna som är kopplade till rymdets ursprung (punkten där alla dimensioner är noll) istället. Om punkterna är nära är vinkeln smal, oavsett hur många dimensioner det finns. Om de är långt borta är vinkeln ganska stor.
Kosinisk likhet implementerar cosinusavståndet i procent och är ganska effektivt för att berätta om en användare liknar en annan eller huruvida en film kan associeras med en annan eftersom samma användare föredrar det. Följande exempel lokaliserar de filmer som är de mest liknande filmerna till film 50, Star Wars.
print (colnames (MovieLense [50]))
[1] "Star Wars (1977)"
liknande_movies <- likhet (MovieLense [50],
MovieLense [-50]
metod = "cosinus",
vilka = "objekt")
colnames (similar_movies) [vilket (similar_movies> 0. 70)]
[1] "Toy Story (1995)" < "Empire Strikes Back, The (1980)"
[3] "Raiders of the Lost Ark (1981)"
"Return of the Jedi (1983)"