Előző bejegyzésünkben az ajánlórendszerek elvi osztályozásáról volt szó, most azonban konkrét algoritmusok kerülnek bemutatásra. Az ajánlórendszerek kényelmet és gyorsaságot kínálnak, mellyel több eladást generálnak a felhasználójuk számára. Egy ajánló rendszer feladata az egyéni igényeknek legmegfelelőbb termék ajánlása. Gyakorlatilag azt a feladatot látja el, mint egy hús-vér eladó, amikor személyes beszélgetést folytat a vásárlóval, hogy felmérje annak igényeit és megismerje a vásárló személyét, majd ez alapján javaslatot tesz kínálatából számára.
MÁTRIX FAKTORIZÁCIÓ:
Matematikai modell: Memórián alapuló megoldás, mint a felhasználó alapú vagy az elem alapú (kollaboratív szűrés)
Kezdeti állapot
Értékelés Táblázat
A cél a hiányzó értékelések megbecslése modell paraméterekkel, melyek a felhasználókhoz tartozó embedding reprezentációs mátrix (F) és az elemekhez tartozó embedding reprezentációs mátrix (T). Ezen paramétermátrixok (F, T) meghatározásához gépi tanulás szükséges: veszteség függvény minimalizálása, például gradient descent eljárással, (vagy evolúciós algoritmussal). Szorzatuk tartalmazza az összes elem becslőjét (É), tehát a korábban látott táblázatot teljesen kitöltve. Megfigyelhetjük, hogy a mátrixok közös dimenziója azonos nagyságú, amely reprezentálja a tulajdonság teret, és amely szintén paramétere a modellnek, ezen paraméterek látens tulajdonságokat alkotnak, melyek nem meghatározott, számunkra jól ismert (műfaj, szerző, stb…) tulajdonságok.
Reprezentációk Mátrixszorzata
Error: 3-2 | 5-13 | ….
RMSE
Gradient descent-el iteratívan az optimalizáló algoritmus állítgatja a reprezentációk értékét
Shallow learning-gel betanult reprezentációk
Mi alapján döntjük el mekkora legyenek a reprezentációs vektorok? … here comes the black magic, alkalmazási terület válogatja, hogy mekkora az ideális reprezentációs vektor méret.
MÉLY AJÁNLÓK:
A felhasználók, illetve a termékek közötti kapcsolat sokszor nem lineáris, amelyet a hagyományos lineáris algebrán alapuló megoldásokkal csak kényelmetlenül lehet modellezni. A neurális háló kiváló függvény becslő, így ezt a problémát kiküszöböli. A mély ajánlórendszer esetén a feladat ugyan az. A meghatározott személy, illetve a meghatározott elem között a tetszés mértékét kifejezni a múltbéli (saját + idegen) értékelések alapján. Ehhez azonban
minimális információveszteséggel szükséges reprezentálni a felhasználót, illetve a terméket, azaz az adatokat embedding módszerrel kompatibilissá kell tenni a bemenettel, hogy a hálózat fogadni tudja azt. Erre többféle megoldás létezik:
One Hot Encoding
N darab elem esetén a k-adik elem one hot reprezentációja: [ 0 0 0 . . . 1 . . 0]
Egy one hot reprezentáció ugyan már neurális háló bemenet kompatibilis, de nem tartalmazza veszteség nélkül az eredeti elemben meglévő információt. Ugyanis a hasonló elemek is ugyan olyan távol vannak egymástól (Euklidészi n dimenziós térben), mint a teljesen különböző elemek.
Learned Embedding
Az embedding egy jelentés térbeli leágyazás, amelyet egy neurális háló architektúra végez. Feladata a fontos, de nem expliciten kifejezhető befolyásoló tényezőket modellezni, azáltal, hogy a one hot–ban szereplő egy értéket egy elosztott formában (embedding vektorban) tárolja. Egy elem különböző jellemzői külön-külön beágyazhatók. Egybefűzve a beágyazásokat nagyságrendekkel több információt reprezentál a bemeneti vektor az elemről, mint a one hot beágyazás esetében.
Ezen réteg kimenete meghatározható méretű vektor, legyen b.
- Ez a vektor kezdetekben random értékeket tartalmaz, melyhez tartozó entitás a tanulás folyamán elfoglalja helyét a b dimenziós térben. Értelemszerűen minden egyes elemet egy pont reprezentál. Az embedding képes magasabb rendű kapcsolatok tárolására, gyakorlatilag a pontok helyzete ezen b dimenziós térben magában tartalmazza az elem jelentés vagy hasonlóság térbeli hova tartozását.
Az embedding leágyazást végző neurális háló állhat a mély ajánlórendszertől külön, vagy képezheti annak szerves részét is (on-the-fly). A korszerű architektúrák esetén a leágyazást nem egy külön tanított neurális háló végzi, hanem az ajánlórendszerrel együtt tanul. Innen ered az On-the-fly kifejezés.
A megfelelően reprezentált elemekre és felhasználókra (és akár tartalmi tulajdonságokra) kapcsolt teljesen összekapcsolt neurális háló (FC) egy end-to-end, state-of-the-art mély ajánló rendszer táblázat kitöltő becslőjét alkotja.
Biztosak vagyunk abban, hogy az Ön vállalkozásában is vannak mesterséges intelligenciával automatizálható munkafolyamatok: amennyiben szeretné élvezni a mesterséges intelligencia használatával járó előnyöket, úgy jelentkezzen ingyenes, személyes konzultációnkra elérhetőségeink valamelyikén.