Gépi tanulás Ajánlórendszerekhez – 1. rész (algoritmusok, kiértékelés és hidegindítás)

Pavel Kord Enterprises
Pavel Kord ons

követés

jún 3 · 2018 * 7 perc olvasás

az ajánlórendszerek a gépi tanulási technológiák egyik legsikeresebb és legelterjedtebb alkalmazása az üzleti életben. Sokan voltak a várólistán, akik nem tudtak részt venni az MLMU beszélgetésünkön, ezért itt megosztom a diákat és a megjegyzéseket.

ajánló rendszereket alkalmazhat olyan esetekben, amikor sok felhasználó sok elemgel lép kapcsolatba.

megtalálható nagyszabású ajánló rendszerek kiskereskedelmi, video on demand, vagy zenei streaming. Az ilyen rendszerek fejlesztése és karbantartása érdekében a vállalatnak általában drága adattudósokból és mérnökökből álló csoportra van szüksége. Ez az oka annak, hogy még a nagyvállalatok, mint például a BBC, úgy döntöttek, hogy kiszervezik ajánlási szolgáltatásaikat.

cégünk, a Recombinee prágai székhelyű, és egy univerzális automatizált ajánlómotort fejleszt, amely több területen képes alkalmazkodni az üzleti igényekhez. A motor által használt több száz vállalkozások a világ minden tájáról.

meglepő módon a Média híreinek vagy videóinak ajánlása, a termékajánlás vagy az utazási és kiskereskedelmi Személyre szabás hasonló gépi tanulási algoritmusokkal kezelhető. Ezenkívül ezek az algoritmusok módosíthatók a speciális lekérdezési nyelv használatával minden ajánlási kérésben.

az ajánlórendszerek gépi tanulási algoritmusait általában két kategóriába sorolják — tartalom alapú és kollaboratív szűrési módszerek, bár a modern ajánlók mindkét megközelítést kombinálják. A tartalomalapú módszerek az Elemattribútumok hasonlóságán alapulnak, az együttműködési módszerek pedig az interakciók alapján számítják ki a hasonlóságot. Az alábbiakban többnyire együttműködési módszereket tárgyalunk, amelyek lehetővé teszik a felhasználók számára, hogy új, a múltban megtekintett elemektől eltérő tartalmat fedezzenek fel.

az együttműködési módszerek együttműködnek az interakciós mátrixszal, amelyet besorolási mátrixnak is nevezhetünk abban a ritka esetben, amikor a felhasználók kifejezetten értékelik az elemeket. A gépi tanulás feladata egy olyan funkció megtanulása, amely megjósolja az elemek hasznosságát minden felhasználó számára. A mátrix általában hatalmas, Nagyon ritka, és a legtöbb érték hiányzik.

a legegyszerűbb algoritmus kiszámítja a sorok (felhasználók) vagy oszlopok (elemek) koszinusz — vagy korrelációs hasonlóságát, és olyan elemeket ajánl, amelyeket a K-legközelebbi szomszédok élveztek.

a Mátrixfaktorizáción alapuló módszerek megkísérlik csökkenteni az interakciós mátrix dimenzionalitását, és közelíteni azt két vagy több kis mátrixmal, k látens komponensekkel.

a megfelelő sor és oszlop szorzásával megjósolhatja az elem besorolását felhasználó szerint. A képzési hiba a nem üres minősítések és az előre jelzett minősítések összehasonlításával érhető el. Az edzésveszteséget úgy is szabályozhatjuk, hogy egy büntetési kifejezést adunk hozzá, amely alacsonyan tartja a látens Vektorok értékeit.

a legnépszerűbb képzési algoritmus egy sztochasztikus gradiens Süllyedés, amely minimalizálja a veszteséget mind az oszlopok, mind a sorok gradiensfrissítéseivel p A q mátrixok.

Alternatív megoldásként használhatunk váltakozó legkisebb négyzetek módszert, amely iteratív módon optimalizálja a P és q mátrixot az Általános legkisebb négyzetek lépésével.

a Társulási szabályok ajánlásra is felhasználhatók. A gyakran együtt fogyasztott elemek a grafikon egyik élével vannak összekötve. Láthatjuk klaszterek bestseller (sűrűn összekapcsolt elemeket, hogy szinte mindenki kölcsönhatásba) és a kis elkülönített klaszterek niche tartalom.

az interakciós mátrixból bányászott szabályoknak legalább minimális támogatással és bizalommal kell rendelkezniük. A támogatás az előfordulás gyakoriságához kapcsolódik-a bestsellerek következményei nagy támogatást élveznek. A nagy bizalom azt jelenti, hogy a szabályokat gyakran nem sértik meg.

bányászati szabályok nem nagyon skálázható. Az APRIORI algoritmus feltárja a lehetséges gyakori elemkészletek állapottérét, és kiküszöböli a keresési tér nem gyakori ágait.

a gyakori elemkészleteket szabályok generálására használják, ezek a szabályok pedig ajánlásokat generálnak.

példaként bemutatjuk szabályok kivont banki tranzakciók a Cseh Köztársaságban. A csomópontok (interakciók) terminálok, az élek pedig gyakori tranzakciók. Ajánlhat olyan banki terminálokat, amelyek relevánsak a múltbeli kivonások / kifizetések alapján.

a népszerű termékek büntetése és a hosszú farok szabályainak alacsonyabb támogatással történő kivonása érdekes szabályokhoz vezet, amelyek diverzifikálják az ajánlásokat és segítenek új tartalmak felfedezésében.

a minősítési mátrixot egy neurális hálózat is tömörítheti. Az úgynevezett autoencoder nagyon hasonlít a mátrix faktorizációhoz. A több rejtett réteggel és nemlinearitással rendelkező mély autoencoderek erősebbek, de nehezebben edzhetők. A neurális háló felhasználható az Elemattribútumok előfeldolgozására is, így kombinálhatjuk a tartalom alapú és az együttműködő megközelítéseket.

felhasználó-KNN top n ajánlás pszeudokód fent megadott.

egyesületek szabályok bányásznak több különböző algoritmusok. Itt bemutatjuk a legjobb-szabály ajánlások pseudocode.

a mátrix faktorizáció pszeudokódját a fentiekben adjuk meg.

az együttműködésen alapuló mély tanulás során a mátrix faktorizálást egyidejűleg az autoencoder elem attribútumait tartalmazó autoencoderrel edzi. Természetesen több algoritmus is használható ajánlásra, és az előadás következő része bemutat néhány, a mély és megerősítő tanuláson alapuló módszert.

ajánlások értékelése

az ajánlók hasonlóan értékelhetők, mint a klasszikus gépi tanulási modellek a történelmi adatokon (offline értékelés).

a véletlenszerűen kiválasztott tesztelő felhasználók interakcióit keresztellenőrzik, hogy megbecsüljék az ajánló teljesítményét a láthatatlan értékeléseken.

a Root mean squared error (RMSE) még mindig széles körben használatos, annak ellenére, hogy számos tanulmány kimutatta, hogy az RMSE rossz becslés az online teljesítményre.

praktikusabb offline értékelési intézkedés a visszahívás vagy a helyesen ajánlott elemek százalékos arányának pontos értékelése (az ajánlott vagy releváns elemek közül). A DCG figyelembe veszi az álláspontot is, feltételezve, hogy az elemek relevanciája logaritmikusan csökken.

használhat további intézkedést, amely nem annyira érzékeny az offline adatok elfogultságára. A katalógus lefedettsége a visszahívással vagy a pontossággal együtt használható a multiobjektív optimalizáláshoz. Minden algoritmusba bevezettük a szabályozási paramétereket, amelyek lehetővé teszik a plaszticitásuk manipulálását és a népszerű elemek ajánlásának büntetését.

mind a visszahívást, mind a lefedettséget maximalizálni kell, így az ajánlókat pontos és változatos ajánlások felé tereljük, amelyek lehetővé teszik a felhasználók számára az új tartalmak felfedezését.

hidegindítás és tartalom alapú ajánlás

néha hiányoznak az interakciók. A hidegindítású termékek vagy a hidegindítású felhasználók nem rendelkeznek elegendő interakcióval az interakció hasonlóságának megbízható méréséhez, így az együttműködő szűrési módszerek nem generálnak ajánlásokat.

a hidegindítási probléma csökkenthető, ha figyelembe vesszük az attribútum hasonlóságát. Az attribútumokat bináris vektorba kódolhatja, és betáplálhatja az ajánlóhoz.

az interakciós hasonlóságuk és az attribútum hasonlóságuk alapján csoportosított elemek gyakran igazodnak egymáshoz.

használhatja a neurális hálózatot az interakció hasonlóságának előrejelzésére az attribútumok hasonlóságából és fordítva.

számos további megközelítés létezik, amelyek lehetővé teszik számunkra a hidegindítás problémájának csökkentését és az ajánlások minőségének javítását. Beszélgetésünk második részében foglalkozáson alapuló ajánlási technikákról, mély ajánlásokról, együttes algoritmusokról és AutoML-ről beszéltünk, amelyek lehetővé teszik számunkra, hogy több ezer különböző ajánlási algoritmust futtassunk és optimalizáljunk a gyártás során.

folytassa az előadás második részével, amely a mély ajánlás, A szekvencia-előrejelzés, az AutoML és a megerősítés tanulását tárgyalja az ajánlásban.

vagy nézze meg a Recombinee legújabb frissítéseit 2019-ben: új funkciók és fejlesztések.