De Netflix-uitdaging van $ 1 miljoen

Eerder deze week kondigde Netflix, de online filmverhuurservice, aan dat het zal belonen $ 1 miljoen voor iedereen die een algoritme kan bedenken dat de nauwkeurigheid van zijn filmaanbevelingsservice verbetert.





Het sterrenclassificatiesysteem van Netflix helpt bij het bepalen van gepersonaliseerde filmaanbevelingen. Nu is het bedrijf op zoek naar externe ontwikkelaars om die aanbevelingen te verbeteren.

Daarbij doet het bedrijf een oproep aan onderzoekers die gespecialiseerd zijn in machine learning, het type kunstmatige intelligentie dat wordt gebruikt om systemen te bouwen die muziek, boeken en films aanbevelen. De deelnemer die de nauwkeurigheid van het Netflix-aanbevelingssysteem, Cinematch genaamd, in 2011 met 10 procent kan verhogen, wint de prijs.

Aanbevelingssystemen zoals die worden gebruikt door Netflix, Amazon en andere webwinkels zijn gebaseerd op het principe dat als twee mensen van hetzelfde product genieten, ze waarschijnlijk ook andere favorieten gemeen hebben.



Maar achter dit eenvoudige uitgangspunt gaat een complex algoritme schuil dat miljoenen gebruikersbeoordelingen, tienduizenden items en steeds veranderende relaties tussen gebruikersvoorkeuren omvat.

Om met deze complexiteit om te gaan, worden algoritmen voor aanbevelingssystemen getraind op enorme datasets. Eén dataset die in het Netflix-systeem wordt gebruikt, bevat de sterbeoordelingen - één tot vijf - die Netflix-klanten aan films toewijzen. Met behulp van deze eerste informatie kunnen goede algoritmen toekomstige beoordelingen voorspellen en daarom andere films voorstellen die een persoon misschien leuk vindt.

Omdat toegang tot een dergelijke dataset van cruciaal belang is voor het verbeteren van de kwaliteit van zijn aanbevelingssystemen, heeft het bedrijf ook 100 miljoen aanbevelingen uitgebracht, ontdaan van persoonlijke identificatiegegevens, volgens Jim Bennett, vice-president van aanbevelingssystemen bij Netflix.



We hebben deze week met Bennett gesproken over hoe aanbevelingssystemen werken - en de uitdagingen om een ​​betere te bouwen.

Technologie beoordeling: Voordat u een beter aanbevelingssysteem bouwt, zou het nuttig zijn om uw huidige aanpak te begrijpen. Hoe werkt Cinematch?

Jim Bennett: Eerst verzamel je 100 miljoen gebruikersbeoordelingen voor ongeveer 18.000 films. Neem twee willekeurige films en zoek de mensen die ze allebei hebben beoordeeld. Kijk dan of de mensen die een van de films beoordelen de andere hoog waarderen, of ze de ene wel leuk vonden en de andere niet, of dat ze geen van beide films leuk vonden. Op basis van hun beoordelingen kijkt Cinematch of er een verband is tussen die mensen. Doe dit nu voor alle mogelijke paren van 65.000 films.



TR: Dus Cinematch zou me films aanbevelen op basis van de beoordelingen van mensen die films net zo beoordeelden als ik. Werkt die methode voor alle films op Netflix?

JB: Veel van de echt obscure schijven, bijvoorbeeld de How to Mow a Lawn-dvd's, hebben niet veel beoordelingen en deze methode werkt niet zo goed. Voor films met een groot aantal beoordelingen doe je het substantieel goed. Maar om het te laten werken, moet er veel data-tuning zijn, omdat mensen soms interessante beoordelingspatronen kunnen hebben.

TR: Zoals?



JB: Er zijn bijvoorbeeld veel mensen die een film beoordelen met slechts één ster of vijf sterren. En er zijn mensen die alles gewoon met drie sterren beoordelen. Waar je naar op zoek bent, is een interessante spreiding van meningen omdat je correlaties probeert vast te leggen. Dat is de kern van de motor.

TR: Hoe meet u de nauwkeurigheid van uw systeem kwantitatief?

JB: We trainden Cinematch op 100 miljoen kijkcijfers en vroegen het te voorspellen wat de andere 3 miljoen zouden zijn. We vergeleken de onze met de daadwerkelijke antwoorden. Dat doen we elke dag. We krijgen ongeveer 2 miljoen beoordelingen per dag en we volgen de dagelijkse schommelingen van het systeem. We verwachten de inzendingen voor de wedstrijd [op dezelfde manier] te meten. De werkelijke prijzenset is 103 miljoen beoordelingen, maar we hebben er slechts 100 miljoen vrijgegeven.

TR: Om de prijs van $ 1 miljoen te winnen, moet een nieuw algoritme de nauwkeurigheid van aanbevelingen met 10 procent verbeteren ten opzichte van Cinematch. Je beloont ook elk jaar een voortgangsprijs van $ 50.000 voor het algoritme dat de meeste verbetering laat zien ten opzichte van het beste algoritme van het voorgaande jaar, met ten minste 1 procent. Wat betekenen deze procentuele verbeteringen voor een Netflix-klant?

JB: Als u naar de website gaat en 100 films voor ons beoordeelt, worden de rode sterren onder elke film voor u gepersonaliseerd. We gebruiken deze beoordelingen om de voorspelling naar uw smaak af te wijken van de gemiddelde aanbeveling. Een verschil van drie procent kan bijvoorbeeld een kwart ster uitmaken. We hebben miljoenen mensen die miljoenen dvd's beoordelen, en dat verschil van een kwart ster helpt ons de lijst te sorteren. De individuele filmaanbeveling wordt misschien niet zo veel beter, maar over het algemeen is de reeks aanbevolen films heel anders. Verplaats een slagschip een beetje, en het maakt een enorm verschil.

TR: Waarom zijn aanbevelingssystemen zo moeilijk te verbeteren?

JB: Een van de redenen is dat er geen datasets zijn. Veel van de machine-learning-applicaties vereisen vrij substantiële datasets die gemakkelijk miljoenen datapunten bevatten. Er zijn veel verschillende benaderingen om het probleem op te lossen, maar ze hebben allemaal grote datasets nodig. En zoals met veel datasets, als we de technieken eenmaal op die datasets hebben toegepast, is er geen plaats meer om naartoe te gaan.

TR: Dus je zoekt een algoritme dat het probleem op een heel andere manier aanpakt dan Cinematch?

JB: Correct. Voor zover we weten, zijn er veel goede ideeën in het veld. We kunnen ze gewoon niet allemaal testen. We weten dat er mensen zijn die echt op de hoogte zijn van de literatuur die de ins en outs van [aanbevelingssystemen] kennen en we zouden heel graag willen weten welke beter zouden zijn.

TR: Wat zijn enkele benaderingen, besproken in de literatuur, die zouden kunnen werken, maar die nog niet zijn getest met filmaanbevelingen?

JB: Het is moeilijk te zeggen. Er was een artikel in Wetenschap een paar maanden geleden [28 juli 2006] die een interessante combinatie gebruikte van twee soorten neurale netwerken [een computermethode die gegevens sorteert die vergelijkbaar is met die van het menselijk brein]. Het ene neuraal netwerk houdt toezicht op het machine learning en het andere stuurt dat leren aan. Bij Netflix kijken we naar correlaties tussen beoordelingen, en dat is een lineair model. Niet alle kennis kan worden weergegeven door een lineaire combinatie van kenmerken. Dit specifieke model in Wetenschap maakt gebruik van een niet-lineaire benadering. Ik denk dat die techniek best goed kan zijn.

TR: Zijn er nog andere dringende technische uitdagingen bij Netflix die kunnen worden opgelost door een prijs uit te loven?

JB: Ik zou niet willen speculeren over meer wedstrijden. Zijn er andere technische uitdagingen? Absoluut. Naast de systeemuitdaging om de aanbevelingsengines draaiende te houden met een groeiend klantenbestand, hebben we ook een groot aantal uitdagingen binnen het bedrijf, zoals het proberen om twee miljoen schijven per dag naar mensen te verzenden. En er liggen interessante uitdagingen in het verschiet als we ons voorbereiden op de downloadwereld [waar mensen films kunnen downloaden via internet]. Het bedrijf zit vol met enorme uitdagingen.

zich verstoppen