Strojového Učení pro Recommender systémy – Část 1 (algoritmy, hodnocení a studený start)

Pavel Kordík
Pavel Kordík

Následovat

Jun 3, 2018 · 7 min číst

Doporučující systémy jsou jedním z nejvíce úspěšné a rozšířené použití strojového učení technologií v podnikání. Na čekací listině bylo mnoho lidí, kteří se nemohli zúčastnit našeho rozhovoru MLMU, takže zde sdílím snímky a komentáře.

můžete použít doporučující systémy v případech, kde mnoho uživatelů komunikovat s mnoha položek.

můžete najít rozsáhlé doporučující systémy v maloobchodu, video na vyžádání, nebo streamování hudby. Za účelem vývoje a údržby takových systémů společnost obvykle potřebuje skupinu drahých datových vědců a inženýrů. Proto se i velké společnosti, jako je BBC, rozhodly outsourcovat své doporučující služby.

Naše společnost Recombee se sídlem v Praze a rozvíjí univerzální automatické doporučení engine, schopný přizpůsobit se potřebám podniků ve více doménách. Náš motor používají stovky podniků po celém světě.

Překvapivě, doporučení zprávy nebo videa, pro média, doporučení výrobku či personalizace v cestování a maloobchodní mohou být řešeny tím, že podobné algoritmy strojového učení. Tyto algoritmy lze navíc upravit pomocí našeho speciálního dotazovacího jazyka v každé žádosti o doporučení.

algoritmů Strojového učení v doporučující systémy jsou obvykle klasifikovány do dvou kategorií — na základě obsahu a kolaborativního filtrování metody, i když moderní recommenders kombinovat oba přístupy. Metody založené na obsahu jsou založeny na podobnosti atributů položek a metody spolupráce vypočítávají podobnost z interakcí. Níže diskutujeme většinou metody spolupráce, které uživatelům umožňují objevovat nový obsah odlišný od položek zobrazených v minulosti.

Kolaborativní metody práce s interakcí matice, která může být také nazýván hodnocení matrix ve vzácném případě, když uživatelé poskytnout explicitní hodnocení položek. Úkolem strojového učení je naučit se funkci, která předpovídá užitečnost položek každému uživateli. Matice je obvykle Obrovská, velmi řídká a většina hodnot chybí.

nejjednodušší algoritmus vypočítá kosinus nebo korelace podobnosti řádků (uživatelé) nebo sloupce (položky) a doporučuje položky, které k — nejbližších sousedů líbilo.

Matrix faktorizace metody založené na snaze snížit dimenzionalitu interakce matrice a přibližné o dvě nebo více malých matice s k latentní komponenty.

vynásobením odpovídající řádek a sloupec předpovědět hodnocení produktu uživatelem. Chybu školení lze získat porovnáním neprázdných hodnocení s předpokládanými hodnoceními. Lze také regulovat ztrátu tréninku přidáním trestného termínu, který udržuje nízké hodnoty latentních vektorů.

nejpopulárnější školení algoritmus je stochastický gradientní sestup minimalizovat ztráty tím, že gradient aktualizace obou sloupců a řádků o p q matice.

Alternativně lze použít Střídavý nejmenších Čtverců metoda, která iterativně optimalizuje matice p a matice q do obecné nejmenších čtverců krok.

pro doporučení lze také použít asociační pravidla. Položky, které jsou často spotřebovány společně, jsou spojeny s hranou v grafu. Můžete vidět shluky bestsellerů (hustě propojené položky, se kterými téměř každý interagoval) a malé oddělené shluky obsahu výklenku.

Pravidla těží z interakce matrice by měla mít alespoň nějakou minimální podporu a důvěru. Podpora souvisí s četností výskytu-důsledky bestsellerů mají vysokou podporu. Vysoká důvěra znamená, že pravidla nejsou často porušována.

těžba pravidla není příliš škálovatelné. Algoritmus APRIORI zkoumá stavový prostor možných častých položek a eliminuje větve vyhledávacího prostoru, které nejsou časté.

Časté itemsets jsou použity pro generování pravidel a tato pravidla vytvářet doporučení.

Jako příklad můžeme ukázat pravidla extrahované z bankovních transakcí v české Republice. Uzly (interakce) jsou terminály a hrany jsou časté transakce. Můžete doporučit bankovní terminály, které jsou relevantní na základě minulých výběrů / plateb.

Penalizace oblíbené položky a extrahování dlouhý ocas pravidla s nižší podpora vede k zajímavé pravidla, která diverzifikovat doporučení a pomoci objevit nový obsah.

ratingová matice může být také komprimována neuronovou sítí. Takzvaný autoencoder je velmi podobný maticové faktorizaci. Hluboké autoencodery s více skrytými vrstvami a nelinearitami jsou silnější, ale těžší je trénovat. Neuronová síť může být také použita k předběžnému zpracování atributů položek, abychom mohli kombinovat přístupy založené na obsahu a spolupráci.

User-KNN top N doporučení pseudokód je uveden výše.

Sdružení pravidla mohou být těženy pomocí několika různých algoritmů. Zde uvádíme pseudokód doporučení nejlepších pravidel.

pseudokód matice faktorizace je uveden výše.

Ve spolupráci hluboké učení, vlak matice faktorizace současně s autoencoder obsahující atributy položky. Existuje samozřejmě mnoho dalších algoritmů, které lze použít pro doporučení a další část prezentace představí některé metody založené na hluboké a posílení učení.

Hodnocení recommenders

Recommenders může být hodnocen podobně jako klasický stroj modely učení na historických datech (offline hodnocení).

Interakce náhodně vybrané testovací uživatelé jsou cross validované pro odhad výkonu z doporučujícího na neviditelné hodnocení.

střední kvadratická chyba (RMSE) je stále široce používán, a to navzdory mnoha studií ukázaly, že RMSE je špatný odhad on-line výkon.

praktičtější offline hodnocení opatření recall nebo precision hodnotí procento správně doporučené předměty (z doporučené nebo příslušné položky). DCG bere také pozici v úvahu za předpokladu, že relevance položek logaritmicky klesá.

lze použít další opatření, které není tak citlivé na zkreslení v offline datech. Katalogové pokrytí spolu s odvoláním nebo přesností lze použít pro multiobjektivní optimalizaci. Do všech algoritmů jsme zavedli regularizační parametry umožňující manipulovat s jejich plasticitou a penalizovat doporučení oblíbených položek.

Obě odvolání a pokrytí by měla být co nejvyšší, takže jsme disk doporučující k přesné a různorodé doporučení umožňuje uživatelům objevovat nový obsah.

Studený start a obsahu na základě doporučení

Někdy interakce chybí. Studený start výrobků nebo studený start uživatelé nemají dostatek interakcí pro spolehlivé měření jejich interakce podobnosti takže kolaborativní filtrování metody selžou, jak generovat doporučení.

při zohlednění podobnosti atributů lze problém se studeným startem snížit. Atributy můžete zakódovat do binárního vektoru a předat je doporučiteli.

Položky seskupeny na základě jejich interakce podobnosti a atribut podobnosti jsou často vyrovnány.

můžete použít neuronové sítě k predikci interakce podobnost z atributy podobnosti a naopak.

Existuje mnoho dalších přístupů, které nám umožní snížit studeném startu problém a zlepšit kvalitu doporučení. V druhé části našeho rozhovoru jsme diskutovali zasedání na základě doporučení techniky, hluboké doporučení, ensembling algoritmy a AutoML, která nám umožňuje spouštět a optimalizovat tisíce různých doporučení algoritmů ve výrobě.

pokračujte do druhé části prezentace, kde se diskutuje o hlubokém doporučení, predikci sekvencí, AutoML a posilování učení v doporučení.

nebo se podívejte na naše nedávné aktualizace v Recombee v roce 2019: nové funkce a vylepšení.