Matrisfaktorisering (rekommendationssystem)

Matrisfaktorisering är en klass av kollaborativa filtreringsalgoritmer som används i rekommendatorsystem . Matrisfaktoriseringsalgoritmer fungerar genom att dekomponera interaktionsmatrisen för användarobjekt till produkten av två rektangulära matriser med lägre dimensioner. Denna familj av metoder blev allmänt känd under Netflix- prisutmaningen på grund av dess effektivitet, vilket rapporterades av Simon Funk i hans blogginlägg 2006, där han delade sina resultat med forskarvärlden. Förutsägelseresultaten kan förbättras genom att tilldela olika regulariseringsvikter till de latenta faktorerna baserat på objektens popularitet och användarnas aktivitet.

Tekniker

Tanken bakom matrisfaktorisering är att representera användare och objekt i ett latent utrymme med lägre dimensioner . Sedan det första arbetet av Funk 2006 har en mängd matrisfaktoriseringsmetoder föreslagits för rekommendatorsystem. Några av de mest använda och enklare listas i följande avsnitt.

Funk MF

Den ursprungliga algoritmen som Simon Funk föreslog i sitt blogginlägg faktoriserade användarobjektets klassificeringsmatris som produkten av två lägre dimensionella matriser, den första har en rad för varje användare, medan den andra har en kolumn för varje objekt. Raden eller kolumnen som är kopplad till en specifik användare eller objekt kallas latenta faktorer . Observera att i Funk MF används ingen singularvärdesuppdelning , det är en SVD-liknande maskininlärningsmodell. De förutsagda betygen kan beräknas som , där är betygsmatrisen för användarobjekt, innehåller användarens latenta faktorer och objektets latenta faktorer.

Specifikt beräknas det förutspådda betyget som användaren kommer att ge till objekt i :

Det är möjligt att ställa in modellens uttryckskraft genom att ändra antalet latenta faktorer. Det har visat sig att en matrisfaktorisering med en latent faktor är likvärdig med en mest populär eller populäraste rekommendator (rekommenderar t.ex. objekten med flest interaktioner utan någon personalisering). Att öka antalet latenta faktorer kommer att förbättra personaliseringen, därför rekommendationskvaliteten, tills antalet faktorer blir för högt, då modellen börjar överanpassas och rekommendationskvaliteten kommer att minska. En vanlig strategi för att undvika överanpassning är att lägga till regulariseringstermer till den objektiva funktionen. Funk MF utvecklades som ett med förutsägelse av betyg , därför använder den explicita numeriska betyg som interaktioner mellan användarobjekt.

Sammantaget minimerar Funk MF följande objektiva funktion:

Var‖ definieras som frobenius-normen medan de andra normerna kan vara antingen frobenius eller en annan norm beroende på det specifika rekommenderade problemet.

SVD++

Även om Funk MF kan ge mycket god rekommendationskvalitet, utgör dess förmåga att endast använda explicita numeriska betyg som interaktioner mellan användarobjekt en begränsning. Dagens rekommendationssystem bör utnyttja alla tillgängliga interaktioner både explicita (t.ex. numeriska betyg) och implicita (t.ex. gilla-markeringar, köp, överhoppade, bokmärkta). För detta ändamål utformades SVD++ för att även ta hänsyn till implicita interaktioner. Jämfört med Funk MF tar SVD++ även hänsyn till användar- och objektbias.

Det förväntade betyget som användaren kommer att ge till objekt i beräknas som:

SVD++ har dock några nackdelar, med den största nackdelen är att denna metod inte är modellbaserad. Detta innebär att om en ny användare läggs till är algoritmen oförmögen att modellera den om inte hela modellen tränas om. Även om systemet kan ha samlat in några interaktioner för den nya användaren, är dess latenta faktorer inte tillgängliga och därför kan inga rekommendationer beräknas. Detta är ett exempel på ett kallstartsproblem , det vill säga att rekommenderaren inte kan hantera nya användare eller objekt effektivt och specifika strategier bör införas för att hantera denna nackdel.

Ett möjligt sätt att lösa detta kallstartsproblem är att modifiera SVD++ så att det blir en modellbaserad algoritm, vilket gör det enkelt att hantera nya objekt och nya användare.

Som tidigare nämnts i SVD++ har vi inte de latenta faktorerna för nya användare, därför är det nödvändigt att representera dem på ett annat sätt. Användarens latenta faktorer representerar den användarens preferens för motsvarande objekts latenta faktorer, därför kan användarens latenta faktorer uppskattas via tidigare användarinteraktioner. Om systemet kan samla in några interaktioner för den nya användaren är det möjligt att uppskatta dess latenta faktorer. Observera att detta inte helt löser kallstartsproblemet , eftersom rekommenderaren fortfarande kräver vissa pålitliga interaktioner för nya användare, men det finns åtminstone inget behov av att beräkna hela modellen varje gång. Det har visat sig att denna formulering nästan är likvärdig med en SLIM-modell, som är en produktbaserad rekommendator.

Med den här formuleringen skulle den ekvivalenta rekommendationen av föremål vara . Därför är likhetsmatrisen symmetrisk.

Asymmetrisk SVD

Asymmetrisk SVD syftar till att kombinera fördelarna med SVD++ samtidigt som den är en modellbaserad algoritm, och därför kunna överväga nya användare med ett fåtal betyg utan att behöva träna om hela modellen. I motsats till den modellbaserade SVD här ersätts användarens latenta faktormatris H av Q, som lär sig användarens preferenser som funktion av deras betyg.

Det förväntade betyget som användaren kommer att ge till objekt i beräknas som:

Med den här formuleringen skulle den ekvivalenta rekommendationen av föremål vara . Eftersom matriserna Q och W är olika är likhetsmatrisen asymmetrisk, därav namnet på modellen.

Gruppspecifik SVD

En gruppspecifik SVD kan vara ett effektivt tillvägagångssätt för kallstartsproblemet i många scenarier. Det kluster användare och objekt baserat på beroendeinformation och likheter i egenskaper. Sedan när en ny användare eller objekt anländer kan vi tilldela en gruppetikett till den, och approximerar dess latenta faktor med gruppeffekterna (för motsvarande grupp). Därför, även om betyg associerade med den nya användaren eller objektet inte nödvändigtvis är tillgängliga, ger gruppeffekterna omedelbara och effektiva förutsägelser.

Det förväntade betyget som användaren kommer att ge till objekt i beräknas som:

Här representerar och gruppetiketten för användaren u respektive objekt i , som är identiska för medlemmar från samma grupp. Och och är matriser för gruppeffekter. Till exempel, för en ny användare vars latenta faktor inte är tillgänglig, kan vi åtminstone identifiera deras gruppetikett och förutsäg deras betyg som:

Detta ger en bra uppskattning av de oobserverade betygen.

Hybrid MF

Under de senaste åren har många andra matrixfaktoriseringsmodeller utvecklats för att utnyttja den ständigt ökande mängden och variationen av tillgängliga interaktionsdata och användningsfall. Hybridmatrisfaktoriseringsalgoritmer kan slå samman explicita och implicita interaktioner eller både innehåll och samarbetsdata

Deep-Learning MF

Under de senaste åren har ett antal neurala och djupinlärningstekniker föreslagits, varav några generaliserar traditionella Matrix-faktoriseringsalgoritmer via en icke-linjär neural arkitektur. Även om djupinlärning har tillämpats på många olika scenarier: kontextmedveten, sekvensmedveten, social taggning etc. har dess verkliga effektivitet när den används i ett enkelt Collaborative-filtreringsscenario ifrågasatts. Systematisk analys av publikationer som tillämpar djupinlärning eller neurala metoder på top-k-rekommendationsproblemet, publicerade på toppkonferenser (SIGIR, KDD, WWW, RecSys, IJCAI), har visat att i genomsnitt mindre än 40 % av artiklarna är reproducerbara, med som lite som 14 % på vissa konferenser. Totalt identifierade studierna 26 artiklar, endast 12 av dem kunde reproduceras och 11 av dem kunde överträffas av mycket äldre och enklare korrekt inställda baslinjer. Artiklarna lyfter också fram ett antal potentiella problem i dagens forskningsstipendium och efterlyser förbättrad vetenskaplig praxis inom det området. Liknande problem har också upptäckts i sekvensmedvetna rekommendatorsystem.

Se även