SÅ BLIR DIN NETFLIX- UPPLEVELSE BÄTTRE. En litteraturstudie om Netflixs rekommendationssystem

Relevanta dokument
Rekommendationer på nätet

Effekten av varierande datamängd vid filmbetygsprediktion

Rekommendationssystem. med fördjupning på collaborative filtering

Personifierad Netflix

En praktisk implementation av ett rekommendationssystem

TiVo ett rekommendationssystem. TiVo ett rekommendationssystem

Colloborative filtering ett rekommendationssystem

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

LINKÖPINGS UNIVERSITET. Rekommendationssystem

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

STATISTISK ANALYS AV KOMPLEXA DATA

VILKET REKOMMENDATIONSSYTEM SKA EN INTERAKTIV MEDIETJÄNST VÄLJA?

Rättningstiden är i normalfall 15 arbetsdagar, annars är det detta datum som gäller:

Forskningsmetodik 2006 lektion 2

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

Hypotestestning och repetition

Institutionen för datavetenskap Department of Computer and Information Science

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

Statistiska samband: regression och korrelation

Korrelation kausalitet. ˆ Y =bx +a KAPITEL 6: LINEAR REGRESSION: PREDICTION

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Finns det över huvud taget anledning att förvänta sig något speciellt? Finns det en generell fördelning som beskriver en mätning?

Lågrangsapproximation exempel. Singulärvärden och tillämpningar

Tentamen består av 9 frågor, totalt 34 poäng. Det krävs minst 17 poäng för att få godkänt och minst 26 poäng för att få väl godkänt.

732G71 Statistik B. Föreläsning 8. Bertil Wegmann. IDA, Linköpings universitet. Bertil Wegmann (IDA, LiU) 732G71, Statistik B 1 / 23

Lösningsförslag till tentamen på. Statistik och kvantitativa undersökningar STA100, 15 hp. Fredagen den 13 e mars 2015

Rekommendationssystem med begränsad data

1 Mätdata och statistik

Regression med Genetiska Algoritmer

1. Lära sig plotta en beroende variabel mot en oberoende variabel. 2. Lära sig skatta en enkel linjär regressionsmodell

TENTAMEN PC1307 PC1546. Statistik (5 hp) Lördag den 24 april, Ansvarig lärare: Bengt Jansson ( , mobil: )

Säsongrensning i tidsserier.

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Stokastiska processer med diskret tid

Föreläsning 1. NDAB02 Statistik; teori och tillämpning i biologi

Laboration 2. i 5B1512, Grundkurs i matematisk statistik för ekonomer

2. Lära sig skatta en multipel linjär regressionsmodell samt plotta variablerna. 4. Lära sig skatta en linjär regressionsmodell med interaktionstermer

Föreläsning 7. NDAB01 Statistik; teori och tillämpning i biologi

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Regressions- och Tidsserieanalys - F8

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

Vad Betyder måtten MAPE, MAD och MSD?

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN

Tillämpad statistik (A5), HT15 Föreläsning 6: Några övriga urvalsmetoder

Övning 1(a) Vad du ska kunna efter denna övning. Problem, nivå A. Redogöra för begreppen diskret och kontinuerlig stokastisk variabel.

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

Experimentella metoder 2014, Räkneövning 1

Föreläsning G60 Statistiska metoder

Medelvärde, median och standardavvikelse

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 3: MULTIPEL REGRESSION.

x 23 + y 160 = 1, 2 23 = ,

Användning. Fixed & Random. Centrering. Multilevel Modeling (MLM) Var sak på sin nivå

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

Experimentella metoder 2014, Räkneövning 4

729G43 Artificiell intelligens (2016) Maskininlärning 1. Marco Kuhlmann Institutionen för datavetenskap

1/31 REGRESSIONSANALYS. Statistiska institutionen, Stockholms universitet

Pangea Matematiktävling FRÅGEKATALOG. Första omgång 2016 Årskurs 9

1/23 REGRESSIONSANALYS. Statistiska institutionen, Stockholms universitet

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

1.1 Diskret (Sannolikhets-)fördelning

OBS! Vi har nya rutiner.

FÖRELÄSNINGSMATERIAL. diff SE. SE x x. Grundläggande statistik 2: KORRELATION OCH HYPOTESTESTNING. Påbyggnadskurs T1. Odontologisk profylaktik

Vi har en ursprungspopulation/-fördelning med medelvärde µ.

Grundläggande matematisk statistik

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

DATORÖVNING 2: STATISTISK INFERENS.

Uppgift 1. Produktmomentkorrelationskoefficienten

Kapitel 12: TEST GÄLLANDE EN GRUPP KOEFFICIENTER - ANOVA

OBS! Vi har nya rutiner.

Föreläsning 4. NDAB01 Statistik; teori och tillämpning i biologi

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

ANOVA Mellangruppsdesign

Envägs variansanalys (ANOVA) för test av olika väntevärde i flera grupper

Kravspecifikation Fredrik Berntsson Version 1.3

MVE051/MSG Föreläsning 7

Målet för D3 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

Regressionsanalys. - en fråga om balans. Kimmo Sorjonen Sektionen för Psykologi Karolinska Institutet

Instruktion för laboration 1

MAJ 2015 TRÄNINGS BAROMETERN EN MÄTNING AV MEDLEMMARNAS NÖJDHET OCH LOJALITET. Anläggningens namn

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

Bibliometrisk samarbetsstudie av Bert Bolin Centre for Climate Research, åren 2010 och 2013

Visualisering av samverkan

7,5 högskolepoäng. Statistisk försöksplanering och kvalitetsstyrning. TentamensKod: Tentamensdatum: 28 oktober 2016 Tid: 9.

Mälardalens Högskola. Formelsamling. Statistik, grundkurs

Tentamen MVE301 Sannolikhet, statistik och risk

Laboration 0: Del 2. Benjamin Kjellson Introduktion till matriser, vektorer, och ekvationssystem

Tentamen i Dataanalys och statistik för I den 28 okt 2015

Del A: Schema för ifyllande av svar nns på sista sidan

Matematisk modellering fortsättningskurs Visuell variation

TENTAMEN PC1307 PC1546. Statistik (5 hp) Onsdag den 20 oktober, Ansvarig lärare: Bengt Jansson ( , mobil: )

Obligatorisk uppgift, del 1

Autokorrelation och Durbin-Watson testet. Patrik Zetterberg. 17 december 2012

EXEMPEL PÅ FRÅGESTÄLLNINGAR INOM STATISTIK- TEORIN (INFERENSTEORIN):

Konvergens för iterativa metoder

Föreläsning G60 Statistiska metoder

Lektionsanteckningar 11-12: Normalfördelningen

7.5 Experiment with a single factor having more than two levels

Transkript:

SÅ BLIR DIN NETFLIX- UPPLEVELSE BÄTTRE En litteraturstudie om Netflixs rekommendationssystem Sammanfattning Studien fokuserar på Latent Factor Model som var ett stort genomslag under Netflix Prize tävlingen Isabella Ågren @student.liu.se

Innehållsförteckning Inledning... 2 1. Netflix Prize... 2 1.2 Tidigare system Cinematch... 3 1.2 RMSE Root Mean Square Error... 3 1.3 Olika metoders RMSE-värde... 4 2. Kollaborativa system... 5 2.1 Användarbaserad filtrering... 5 2.2 Artikelbaserad filtrering... 6 2.3 Betygssättning... 6 2.4 Individanpassning med baseline predictors... 6 3. Latent Factor Model... 7 3.1 Matrismultiplikation... 8 3.2 Single Value Decomposition (SVD)... 8 3.2.1 SVD vid avsaknaden av värden... 10 3.2.2 Att beräkna SVD... 11 4. Diskussion... 13 Referenser... 14

Inledning På streaming-tjänsten, Netflix finns ett stort utbud filmer och serier. För att underlätta för användaren använder sig Netflix av rekommendationer för vilka artiklar de anser passa en viss användare. {Något om begränsat urval bra, teknisk psykologi}. Dessa rekommendationer sker med hjälp av algoritmer som ser över användarnas vanor på sidan. 2006 startade Netflix Netflix Prize som är en tävling där de erbjöd den som kunde förbättra deras dåvarande rekommendationssystem, Cinematch med 10%, en miljon US dollar (Netflix, 2012). En av de stora upptäckterna som sedan applicerades av Netflix var matris faktorisering, vilket ofta kallas för Singular Value Decomposition (SVD). En SVD modell kombinerar användare och rating av olika filmer för att placera in de i en matris (Stanford University, Youtube, 2016). SVD modellen baseras på kollaborativa metoder (Andreas & Jahrer, 2008). Denna rapport kommer fokusera berätta övergripande om tävlingen för att sedan diskutera hur man mäter vad som är ett bra rekommendationssystem. Sedan förklaras kollaborativa metoder och SVD för att presentera en del av den vinnande lösningen till Netflix Prize. 1. Netflix Prize När tävlingen Netflix Prize ägde rum hade Netflix haft över 1.9 miljarder betygsättningar och över 11.7 miljoner prenumeranter på över 85 000 titlar under tidsperioden oktober 1998- december 2005 (Bennett & Lanning, 2007). På den tiden kunde man hyra hem DVD-filmer

från Netflix och de levererade mer än 1.5 miljoner Dvd:er per dag (Bennett & Lanning, 2007). Prenumeranterna gav en film eller serie ett betyg på en skala mellan 1 till 5 stjärnor. I Netflix Prize tävlingen bestod datasetet av 100 miljoner betygsättningar av filmer samt information om vilket datum de hade gjorts från över 480 000 slumpmässigt utvalda anonyma prenumeranter (Bennett & Lanning, 2007). Datasetet var indelat i ett träningsset och ett kvalificeringsset (eng: qualifying set). Träningsetet bestod av 100,480,507 ratings som 480,189 användare hade gett till 17 700 filmer (Charu, 2016). Det innehöll ett del-set (eng: probe subset) av 1 408 395 ratings som deltagarna kunde använda offline för att jämföra sitt resultat mot Cinematch innan de skickade in sin kod (Bennett & Lanning, 2007). Detta del-set bestod av nyare ratings än resten av träningssetet och var statistiskt likt den delen av datasetet som bestod av dolda betygsättningar (Charu, 2016). Delen med dolda betygsättningar kallas kvalificeringssetet den innehöll 2 817 131 tripletter av Användare, Film och Betygsättningsdatum (Charu, 2016). Deltagarna skulle förutspå betygsättningar i kvalificeringssetet baserat på träningsdatasetet (Charu, 2016). Halva kvalificeringssetet var ett quiz del-set som prestationen beräknades direkt och automatiskt på. Resultatet från de uträkningarna publicerades på ledarhemsidan ifall det var tillräckligt bra (Bennett & Lanning, 2007). Andra halvan av kvalificeringssetet användes som ett testdel-set, resultatet för detta publicerades inte utan användes av Netflix för att identifiera en vinnare. Deltagarna skulle även publicera sina resultat så alla skulle få en förståelse och kunna använda sig av teknikerna (Bennett & Lanning, 2007). 1.2 Tidigare system Cinematch Netflix använde sig tidigare av rekommendationssystemet Cinematch som använde sig av Pearson s correlation för att förutsäga en lista av filmer som liknar den filmen som användaren hade sett (Bennett & Lanning, 2007). De använde sig av användarens tidigare betygsättningar för att förutspå vad användaren skulle ge för betyg till den specifika filmen (Bennett & Lanning, 2007). Ifall det saknades grund att göra denna uträkning, om användaren till exempel inte hade betygssatt tillräckligt många filmer användes istället det genomsnittliga betyget för filmen (Bennett & Lanning, 2007). Cinematch mättes med RMSE av systemets förutsägelse (eng: prediction) av betyget i förhållande till det faktiska betyget som användarna hade rapporterat (Bennett & Lanning, 2007). 1.2 RMSE Root Mean Square Error Rekommendationer kan ses som ett optimeringsproblem då man hitta metoden som ger de bästa förutsägelserna om användarens betygssättningar (Stanford University, Youtube, 2016).

Sedan används den metoden för att förhoppningsvis ge användaren de bästa rekommendationerna om filmer de ej ännu sett (Stanford University, Youtube, 2016). För att mäta hur bra ett rekommendationssystem var använde sig Netflix av Root Mean Square Error, RMSE. Ett lägre RMSE värde innebär enligt måttet, en bättre rekommendation (Stanford University, Youtube, 2016). Figur 1 visar en ekvation för att beräkna ett RMSE-värde. Figur 1. Bilden är också från Ekstrand et. al (2010) Summan av artiklar (item = i) från användare (user = u). P är det förutspådda värdet för användarens betygssättning av artikeln och detta subtraheras med det faktiska värdet för betygsättningen som användaren har gjorts. Denna summa kvadreras och divideras sedan på n som är antalet artiklar som har betygsatts. För att få fram RMSE-värdet tas sedan kvadratroten av hela summan. RMSE tenderar att straffa stora fel oproportionerligt mycket (Charu, 2016). Detta gör att den påverkas mer signifikant av felvärden och outliers än andra metoder. I ett 5-stjärning skala innebär det att algoritmen straffas mer för en betygssättning som är 2 stjärnor ifrån det faktiska värdet i en beräkning än vad den blir straffad av att vara ¼ stjärna fel åtta gånger (Ekstrand, Riedl, & Konstan, 2010). Detta gör metoden passande för att bedöma Netflix rekommendationsalgoritm. 1.3 Olika metoders RMSE-värde Cinematch hade ett RMSE-värde på 0,9525 och för att vinna priset var deltagarna tvungna att skapa ett rekommendationssystem med ett RMSE-värde som var 0,8572 eller lägre (Netflix, 2012). Nedan i figur 2 syns olika metoders värde.

Figur 2. Visar RMSE-värdet för olika metoder Med globala average räknades det globala medelbetyget ut för hela datasetet på Netflix (Stanford University, Youtube, 2016). Detta betyg användes sedan på alla användares inloggningar (Stanford University, Youtube, 2016)User average kollar på vilket betyg användaren brukar ge filmer och medelvärdet av dessa betyg förutspås vara det samma som användaren ger nästa film den kollar på (Stanford University, Youtube, 2016). Movie average undersöker vilka betyg en film brukar få och medelvärdet för det är vad som förutspås att användaren kommer ge filmen (Stanford University, Youtube, 2016). Kollaborativ filtrering hade RMSE-värdet 0,94. 2. Kollaborativa system Det finns flera kollaborativa metoder de två stora är minnesbaserade och modellbaserade metoder (Charu, 2016). Enligt Charu (2016) är fördelen med minnesbaserade tekniker är att de är enkla att implementera och det är oftast enkelt att motivera rekommendationerna. Minnesbaserade tekniker kan dock vara problematiska då användaren inte betygsatt många filmer då det kan leda till att rekommendationerna inte blir välgrundade (Charu, 2016). Varianterna användarbaserad filtrering och artikelbaserad filtrering beskrivs kort nedan. 2.1 Användarbaserad filtrering I användarbaserad filtrering används en grupp användare B som liknar användare A för att ge rekommendationer till användare A (Charu, 2016). Genom att titta vad gruppen B har betygsatt kan rekommendationer ges till användare A för filmer som A ännu inte själv betygsatt (Charu, 2016). Användarna i gruppens betygsättningar viktas efter hur lika de är

användare As betygsättningar (Ekstrand et al., 2010). Om Lisa har betygsatt tio filmer likadant som användare A och Berit endast betygsatt fem filmer likadant som användare A så kommer Lisas betygsättningar få en större inverkan när rekommendationer ska räknas ut till användare A. Medelvärde för varje användares betygsättningar räknas ut och sedan sker beräkningarna för rekommendationen på viktade medelvärden av hela gruppens betygsättningar (Charu, 2016). Likhetsfunktioner används för att undersöka raderna i matrisen för liknande användare (Charu, 2016). En betygssättningsmatris R och en likhetsfunktion s: U x U R beräknar likheten mellan två användare. Krävs också en metod för att använda likheterna och betygssättningar för att generera nya rekommendationer. (Ekstrand et al., 2010) För att göra detta räknar man först ut ett område (eng: neighborhood) N U av grannar till användare u. När N har räknats ut så kombinerar systemet betygsättningarna av användarna i N för att kunna skapa förutspå användare u:s betygsättning av artikel i (Ekstrand et al., 2010). 2.2 Artikelbaserad filtrering Artikelbaserad filtrering innebär att en användare kollar på ett set S filmer som liknar filmen B. Då undersöker algoritmen vilket betyg användaren har gett filmsetet S som liknar filmen B för att sedan uppskatta hur väl användaren skulle gilla filmen B. Likhetsfunktioner används för att undersöka kolumnerna i matrisen för liknande artiklar (Charu, 2016). 2.3 Betygssättning Oftast är en betygsättning intervallbaserad med en diskret uppsättning av ordnade nummer sam används för att användaren för att visa om den gillat eller inte gillat något (Charu, 2016). Netflix har en 5-stjärnig skala där 4e stjärnan visar verkligen gillat och den 3e stjärnan visar gillat (Charu, 2016). Det finns då tre steg för att uttrycka att användaren gillat något och endast två steg för att uttrycka att den ogillat något, vilket leder till en obalanserad skala (Charu, 2016). 2.4 Individanpassning med baseline predictors Vissa användare tenderar att ge högre betyg än andra (Andreas & Jahrer, 2008). Detta beskrivs som en effekt som inte beror på användar-artikelinteraktion. För att bli av med dessa biases använder sig Andreas och Jahrer (2008) av baseline predictors. bui =µ +bu +bi µ är medelsnittsbetyget. Baseline prediction för ett okänt betyg, rui skrivs som bui. Parametrarna bu och bi är observerade avvikelser av användare u och artikel ifrån

medelsnittsbetyget. bu fås genom att subtrahera medelbetyget som användaren brukar sätta med medelsnittsbetyget för alla användare (Stanford University, Youtube, 2016). bi fås genom att subtrahera medelbetyget för filmen med medelsnittsbetyget för alla filmer. Andreas och Jahrer (2008) använder sig av exemplet om baseline estimering för användaren Joes betygsättning av filmen Titanic. Om medelbetyget för alla filmer, µ, är 3,7 stjärnor och Titanic är bättre än en medelmåttig film, vilket innebär att den tenderar att få 0,5 stjärnor över medelvärdet. Joe är dock en kritisk användare som tenderar att betygsätta filmer 0,3 stjärnor under medelbetyget. Det innebär att baseline estimeringen för Joes betygsättning av Titanic skulle bli 3,9 stjärnor (3,7+0,5 0,3). 3. Latent Factor Model Latent Factor Model var en av de modellerna som fick störst genomslag i Netflix Prize tävlingen (Stanford University, Youtube, 2016). Genom att dölja värden på betyg som användaren redan gett och försöka förutspå dessa korrekt hoppas man kunna förutspå användarens betyg för filmer de inte sett (Stanford University, Youtube, 2016). I Latent Factor Model är varje användare och varje film en datapunkt i en rymd, R. Rymden mappas upp efter olika områden, koncept där till exempel filmpunkter som ligger nära en användare beräknas vara av intresse för den användaren. Man undersöker hur nära användar- och filmpunkterna är varandra för att kunna ge så bra rekommendationer som möjligt (Stanford University, Youtube, 2016). Detta görs genom beräkningar på matrisen Q, som är snittbetyget för olika filmer och matrisen P T som är användares snittbetyg. Om en betygssättning saknas betyder det att användaren ej har sett filmen än. Dock tolkas avsaknad av betyg på en film av systemet som att användaren gett filmen betyget 0. Detta blir fel och gör att SVD inte kan beräknas korrekt. I sådana lägen används speciella metoder för att hitta matriserna P och Q. Figur 3. Från (Stanford University, Youtube, 2016). R representerar matrisen bestående av användare (users) och filmer (items). Q är en matris av filmer där varje rad är en film. P T är en matris av användare där varje användare är en kolumn.

Matrisen R räknas ut genom ekvationen: R = Q P T 3.1 Matrismultiplikation För att göra en beräkning vad användare 5 tycker om film 2 så multiplicerar man dessa kolumner från originalmatriserna och man får då ett värde för vad den specifika användaren tycker om den utvalda filmen. Figur 4. Punkten som är rödmarkerad kommer beräknas genom matrismultiplikation av den rödmarkerade raden och kolumnen (Stanford University, Youtube, 2016). Nedan följer ett exempel för en förutsägelse, ^rxi, om vad användare 5 tycker om film 2 i Matrisen R. Som ses i Q-matrisen i figur 4 har filmen fått betygen -0,5, 0,6 och 0,5, dessa värden är qi. Vi kan även se i matris P T att användare 5 har givit andra filmer betygen 2, 0,3 och 2,4, dessa värden är p T x. Med kunskap om detta beräknas användare 5 ge film 2 2,4 poäng. Se uträkning nedan. qi = [-0,5 0,6 0,5] p x T = 2 0.3 2.4 ^rxi = [-0,5 * -2 + 0,6 * 0,3 + 0,5 * 2,4] = 2,38 2,4 3.2 Single Value Decomposition (SVD) För att utföra en matrismultiplikation i latent factor model används Single Value Decomposition (SVD). Single Value Decomposition, SVD används för att hitta olika koncept i vår data (Stanford University, Youtube, 2016). I Netflixs fall handlar dessa koncept om genre på filmer och som användare kan tycka om. En användare kan kategoriseras som att gilla romantiska filmer och en film kan också kategoriseras som romantisk (Stanford

University, Youtube, 2016). Detta sker när vi gör användare och filmer till datapunkter i rymden, se exempel från (Stanford University, Youtube, 2016) nedan. Figur 5. En tredimensionell rymd där varje film och användare representerar en datapunkt. Rymden är indelad i olika koncept som har hittats genom utförandet av SVD. Såhär ser funktionen ut för att räkna beräkna koncept och matcha användare och filmer till dessa: A = U Σ V A är en matris som är produkten av matriserna U, Σ och V. U är en matris som visar hur väl en användare gillar ett koncept, denna matris består av left singular vektorer (Stanford University, Youtube, 2016). Varje kolumn i U motsvarar ett koncept. V är en matris som visar hur väl en film matchar ett koncept, matrisen består av right singular vektorer (Stanford University, Youtube, 2016). Varje rad i V motsvarar ett koncept. U och V matriserna är kolumn ortonormala, vilket innebär att de har vektorlängden 1 och att summan av squared values i varje kolumn i de två matriserna blir 1 (Stanford University, Youtube, 2016). Σ är en diagonal matris som visar hur starka koncepten är (Stanford University, Youtube, 2016). Att den är diagonal innebär att den består enbart av nollor förutom på diagonalen där siffrorna visar hur starkt ett koncept är. Värdena i denna matris kallas singular values och de är positiva värden. Värdena sorteras i minskande ordning, så det största kommer först och sen fortsätter det med de mindre värdena (Stanford University, Youtube, 2016).

Figur 6. Visar de olika matriserna A, U, Σ och V. Bild inspirerad (Stanford University, Youtube, 2016) Σ-matrisen i figur 6 består av tre olika koncept. Första konceptet är SciFi-konceptet, som är ett starkt koncept, 12,4. Detta är markerat i matrisen U och finns även att hitta i första raden på matrisen V. Andra konceptet är romantik-konceptet, som också det är ett starkt koncept, 9,5. Det tredje värdet i Σ-matrisen, 1,3 är litet vilket innebär att det inte är ett starkt koncept (Stanford University, Youtube, 2016). Därmed kan den tredje kolumnen i matris U och tredje raden i matris V bortses ifrån (Stanford University, Youtube, 2016). Vi kan också se att den fjärde användaren gillar SciFi-genren då den har 0,68 på det konceptet, medan den inte gillar romantikgenren lika mycket då den endast har 0,11 där. Användare 4 gillar dock romantikgenren mer än användare fem som har -0,59 där. I matris V kan vi se hur starkt respektive film kopplas till de olika genrer, även här bortser vi från den tredje raden då det konceptet ej var starkt. 3.2.1 SVD vid avsaknaden av värden SVD är dock inte anpassat för avsaknaden av värden (Stanford University, Youtube, 2016). I den latenta rymd är de betygsättningarna som ska förutspås för användaren tomma värden. Därför måste en specialiserad metod användas för att hitta matriserna P och Q, se funktion nedan (Stanford University, Youtube, 2016)

Endast de ifyllda värdena i matris R undersöks, alltså ej de tomma värdena. Målet är att hitta matriserna P och Q som gör att summan av alla kända betygssättningar rxi subtraherat med våra förutspådda betygssättningar (q i p x T ) uppböjt i två är så liten som möjligt (Stanford University, Youtube, 2016). Genom att hitta matriserna P och Q som gör uttrycket så litet som möjligt, kan förutsägelserna av de kända betygsättningarna som vi dolt bli så lika de riktiga betygsättningarna som möjligt. Förhoppningsvis genom att hitta bästa möjliga P och Q kan även okända betygssättningar förutspås bra (Stanford University, Youtube, 2016). 3.2.2 Att beräkna SVD Vid beräkningen av SVD fås sum of squared errors, SSE vilket har ett monotoniskt förhållande till RMSE. Detta innebär att en lägre SSE även ger en lägre RMSE. Vid beräkningen av SVD på träningsdatat är målet därför att minimera SSE. För att uppnå detta måste minimivärdet för matriserna P och Q hittas. Metoden för att hitta minimivärdena är gradientsökning och derivering av funktionen. Det finns dock ett problem, så fort modellen blir för stark så försämras den genom att SSE-värdet på de okända värden i testdatat ökar (Stanford University, Youtube, 2016). Overfittingen sker då modellen anpassar sig för mycket till träningsdatan genom för många fria parametrar som anpassar sig till noise. Vilket leder till att modellen får problem att generalisera till testdatat. För att undvika detta använder vi oss av regularisering (Stanford University, Youtube, 2016). Se uppdaterad funktion nedan. Error är den av funktionen är det samma som den specialiserade SVD metoden som presenterades ovan. λ är regulariseringsparametern som är ett icke negativt värde och en avvägning mellan error och length i funktionen (Stanford University, Youtube, 2016). Length

visar avståndet till origo i rymden R, se figur 7. Figur 7. Från (Stanford University, Youtube, 2016) rosa pil visar användarens avstånd till origo baserat på length. Om det endast finns lite träningsdata för användaren, det vill säga att användaren inte fyllt i så många betyg, så har error-delen av funktionen endast ett fåtal värden i sin summering (Stanford University, Youtube, 2016). Det betyder att värdet av error-delen är relativt litet (Stanford University, Youtube, 2016). Därför görs även length litet, då inte ett fåtal filmer ska få så stort avgörande vart användaren hamnar i rymden. När detta görs hamnar användaren närmare origo och är inte lika tydligt definierat vilka koncept användaren gillar. Om det istället hade funnits mycket träningsdata för användaren bör den flyttas närmare origo (Stanford University, Youtube, 2016). Istället görs då rimliga rekommendationer baserat på de betyg som användaren har registrerat. Det är inte värdet av funktionen som man är ute efter utan det är matriserna som kan uppnå detta värde som man vill få fram (Stanford University, Youtube, 2016). Funktionen kan lösas genom gradientsökning av P och Q tills gradienten är nära noll (Stanford University, Youtube, 2016). Se funktion för P nedan, samma sak görs även för matris Q. P (t+1) P t η P η är en parameter som kallas learning rate. Värdet av matrisen hittas vid t+1. För att räkna ut matrisens gradient P deriveras den tidigare funktionen enligt nedan.

4. Diskussion För att uppnå en förbättring i RMSE på 10 % och vinna Netflix Prize användes 130 olika rekommendationssystem (Stanford University, Youtube, 2016). Netflix har dock inte applicerat vinnarbidraget på sitt dataset då de bedömde det som för kostsamt. Latent factor model som beskrivs ovan är något de har applicerat i sina algoritmer. Det har varit väldigt intressant att läsa om de olika rekommendationssystemen och tävlingen i stort.

Referenser Netflix, T. b. (den 6 April 2012). Medium. Hämtat från The Netflix Tech Blog: https://medium.com/netflix-techblog/netflix-recommendations-beyond-the-5-stars-part-1-55838468f429 Stanford University. (den 13 April 2016). Youtube. Hämtat från Latent Factor Models: https://www.youtube.com/watch?v=4- f77hjb_ci&list=pllsst5z_dsk9jdlct8t62vtzwyw9lnepv&index=54 Stanford University. (den 13 April 2016). Youtube. Hämtat från Dimensionality Reduction: Singular Value Decomposition: https://www.youtube.com/watch?v=p5mlg91as1c&index=47&list=pllsst5z_dsk9jdlct8t 62VtzwyW9LNepV Stanford University. (den 13 April 2016). Youtube. Hämtat från Artifical Intelligence - All in one: https://www.youtube.com/watch?v=e8amcwmqstg&list=pllsst5z_dsk9jdlct8t62vtzw yw9lnepv&index=55 Stanford University. (den 13 April 2016). Youtube. Hämtat från Extension to Include Global Effects (Advanced): https://www.youtube.com/watch?v=hy3csl52pfe&index=57&list=pllsst5z_dsk9jdlct8 T62VtzwyW9LNepV Stanford University. (den 13 April 2016). Youtube. Hämtat från Recommender Systems - Latent Factor Models: https://www.youtube.com/watch?v=4- f77hjb_ci&list=pllsst5z_dsk9jdlct8t62vtzwyw9lnepv&index=54 Andreas, T., & Jahrer, M. (2008). The BigChaos Solution to the Netflix Prize 2008, 1 17. Bennett, J., & Lanning, S. (2007). The Netflix Prize. Proceedings of KDD Cup and Workshop, 3 6. https://doi.org/10.1145/1562764.1562769 Charu, A. (2016). Recommender systems The Textbook. Communications of the ACM (Vol. 40). https://doi.org/10.1145/245108.245121 Ekstrand, D. M., Riedl, T. J., & Konstan, A. J. (2010). Collaborative Filtering Recommender Systems. Foundations and Trends in Human Computer Interaction, 4 No. 2, 81 173. https://doi.org/10.1561/1100000009