Wide and Deep ajánló pontozása
Ez a cikk bemutatja, hogyan használható a Score Wide és a Deep Recommender összetevő az Azure Machine Learning Designerben, és hogyan hozhat létre előrejelzéseket egy betanított javaslati modell alapján, a Google széles és mély tanulása alapján.
A Széles és a Mély ajánló kétféle előrejelzést hozhat létre:
Az utóbbi típusú előrejelzések létrehozásakor éles vagy kiértékelési módban is működhet.
Az éles mód az összes felhasználót vagy elemet figyelembe veszi, és általában egy webszolgáltatásban használják. Pontszámokat hozhat létre az új felhasználók számára, nem csak a betanítás során látott felhasználók számára.
A kiértékelési mód a kiértékelhető felhasználók vagy elemek korlátozott halmazán működik, és általában a kísérletezés során használatos.
További részletek a Széles és mély ajánlóról és annak alapelméletéről a vonatkozó kutatási tanulmányban találhatók: Wide & Deep Learning for Recommender Systems.
A Score Wide és a Deep Recommender konfigurálása
Ez az összetevő különböző típusú javaslatokat támogat, amelyek mindegyike különböző követelményeket támaszt. Kattintson a rendelkezésére álló adatok és a létrehozni kívánt javaslat típusára mutató hivatkozásra.
Minősítések előrejelzése
Az értékelések előrejelzésekor a modell kiszámítja, hogy egy adott felhasználó hogyan reagál egy adott elemre a betanítási adatok alapján. Ezért a pontozás bemeneti adatainak a felhasználónak és az elemnek is meg kell adniuk a díjszabást.
Adjon hozzá egy betanított Széles és mély javaslatmodellt a kísérlethez, és csatlakoztassa a Betanított széles és a Mély javaslatmodellhez. A modellt a Train Wide és a Deep Recommender használatával kell létrehoznia.
Ajánló előrejelzés típusa: Válassza az Értékelés előrejelzése lehetőséget. Nincs szükség további paraméterekre.
Adja hozzá azokat az adatokat, amelyekhez előrejelzéseket szeretne készíteni, és csatlakoztassa az adatkészlethez a pontszám eléréséhez.
Az értékelések előrejelzéséhez a bemeneti adatkészletnek felhasználói elem párokat kell tartalmaznia.
Az adathalmaz az első és a második oszlopban a felhasználói-elem párhoz választható harmadik minősítési oszlopot is tartalmazhat, a harmadik oszlopot azonban figyelmen kívül hagyja az előrejelzés során.
(Nem kötelező). Ha rendelkezik felhasználói funkciók adatkészletével, csatlakoztassa a felhasználói funkciókhoz.
A felhasználói funkciók adatkészletének tartalmaznia kell a felhasználói azonosítót az első oszlopban. A többi oszlopnak olyan értékeket kell tartalmaznia, amelyek a felhasználókat jellemzik, például nemüket, preferenciáikat, helyüket stb.
Azoknak a felhasználóknak a funkcióit, akik a betanítási adathalmazban minősített elemeket tartalmaznak, a Score Wide és a Deep Recommender figyelmen kívül hagyja, mert már elsajátították őket a betanítás során. Ezért szűrje előre az adathalmazt, hogy csak hidegindítású felhasználókat vagy olyan felhasználókat tartalmazzon, akik nem értékeltek elemeket.
Figyelmeztetés
Ha a modell betanítása felhasználói funkciók használata nélkül történt, a pontozás során nem tud felhasználói funkciókat bevezetni.
Ha rendelkezik elemfunkciók adatkészletével, csatlakoztathatja az elemfunkciókhoz.
Az elemfunkciók adatkészletének tartalmaznia kell egy elemazonosítót az első oszlopban. A többi oszlopnak olyan értékeket kell tartalmaznia, amelyek az elemeket jellemzik.
A betanítási adathalmaz minősített elemeinek funkcióit a Score Wide és a Deep Recommender figyelmen kívül hagyja, mivel a betanítás során már elsajátították őket. Ezért korlátozza a pontozási adatkészletet hidegindítású elemekre vagy olyan elemekre, amelyeket nem minősítettek a felhasználók.
Figyelmeztetés
Ha a modell betanítása elemfunkciók használata nélkül történt, a pontozás során nem vezethető be elemfunkciók.
Futtassa a kísérletet.
Minősítési előrejelzések eredményei
A kimeneti adatkészlet három oszlopot tartalmaz, amelyek tartalmazzák a felhasználót, az elemet és az egyes bemeneti felhasználók és elemek előrejelzett minősítését.
Emellett a pontozás során a következő módosítások lesznek alkalmazva:
- Numerikus felhasználó vagy elem funkcióoszlop esetén a hiányzó értékek automatikusan lecserélődnek a nem hiányzó betanítási csoport értékeinek középértékére . Kategorikus funkció esetén a hiányzó értékek ugyanazon kategorikus értékre lesznek lecserélve, mint a funkció bármely lehetséges értékére.
- A rendszer nem alkalmaz fordítást a funkcióértékekre a ritkaság megőrzése érdekében.
Elemek ajánlása
Ha felhasználók számára szeretne elemeket javasolni, adja meg a felhasználók és elemek listáját bemenetként. Ezekből az adatokból a modell a meglévő elemekre és felhasználókra vonatkozó ismereteit felhasználva létrehoz egy listát az egyes felhasználók számára valószínűsíthetően vonzó elemekről. Testre szabhatja a visszaadott javaslatok számát, és beállíthat egy küszöbértéket a javaslatok létrehozásához szükséges korábbi javaslatok számára.
Vegyen fel egy betanított széles és mély javaslatmodellt a kísérletbe, és csatlakoztassa a betanított széles és mély javaslatmodellhez. A modellt a Train Wide és a Deep Recommender használatával kell létrehoznia.
Ha elemeket szeretne javasolni egy adott felhasználói listához, állítsa az Ajánló előrejelzési típusát elemjavaslatra.
Ajánlott elem kiválasztása: Adja meg, hogy éles környezetben vagy modellértékeléshez használja-e a pontozó összetevőt az alábbi értékek egyikének kiválasztásával:
- Minősített elemekből (modellértékeléshez): Válassza ezt a lehetőséget, ha egy modellt fejleszt vagy tesztel. Ez a beállítás lehetővé teszi a kiértékelési módot, és az összetevő csak a bemeneti adathalmaz azon elemeitől tesz javaslatot, amelyek minősítést kaptak.
- Minden elemnél: Válassza ezt a lehetőséget, ha webszolgáltatásban vagy éles környezetben való használatra állít be egy kísérletet. Ez a beállítás lehetővé teszi az éles üzemmódot, és az összetevő javaslatokat tesz a betanítás során látott összes elemtől.
- Nem minősített elemekből (új elemeket javasolhat a felhasználóknak): Válassza ezt a lehetőséget, ha azt szeretné, hogy az összetevő csak a betanítási adathalmaz azon elemeitől tegyen javaslatokat, amelyek nem lettek minősítve.
Adja hozzá azt az adatkészletet, amelyhez előrejelzéseket szeretne készíteni, és csatlakoztassa az Adathalmazhoz a pontszám eléréséhez.
Ha a "Minden elem" lehetőséget választja, a bemeneti adatkészletnek egy és csak egy oszlopból kell állnia, amely tartalmazza azon felhasználók azonosítóit, amelyekre javaslatot szeretne tenni.
Az adatkészlet további két oszlopot tartalmazhat az elemazonosítókból és az értékelésekből, de ezt a két oszlopot a rendszer figyelmen kívül hagyja.
Ha a Besorolású elemek (modell kiértékelése) lehetőséget választja, a bemeneti adatkészletnek felhasználói-elem párokból kell állnia. Az első oszlopnak tartalmaznia kell a felhasználói azonosítót. A második oszlopnak tartalmaznia kell a megfelelő elemazonosítókat .
Az adathalmaz tartalmazhat egy harmadik felhasználóielem-minősítési oszlopot, de ezt az oszlopot a rendszer figyelmen kívül hagyja.
A Nem minősített elemekből (új elemeket javasolhat a felhasználóknak) esetében a bemeneti adatkészletnek felhasználói-elem párokból kell állnia. Az első oszlopnak tartalmaznia kell a felhasználói azonosítót. A második oszlopnak tartalmaznia kell a megfelelő elemazonosítókat.
Az adathalmaz tartalmazhat egy harmadik felhasználóielem-minősítési oszlopot, de ezt az oszlopot a rendszer figyelmen kívül hagyja.
(Nem kötelező). Ha rendelkezik felhasználói funkciók adatkészletével, csatlakoztassa a felhasználói funkciókhoz.
A felhasználói funkciók adatkészletének első oszlopának tartalmaznia kell a felhasználói azonosítót. A fennmaradó oszlopoknak olyan értékeket kell tartalmazniuk, amelyek a felhasználót jellemzik, például nemüket, preferenciáikat, helyüket stb.
A minősített elemeket tartalmazó felhasználók funkcióit a Score Wide és a Deep Recommender figyelmen kívül hagyja, mivel ezeket a funkciókat már elsajátították a betanítás során. Ezért előre szűrheti az adathalmazt, hogy csak hidegindítású felhasználókat vagy olyan felhasználókat tartalmazzon, akik nem értékeltek elemeket.
Figyelmeztetés
Ha a modell betanítása felhasználói funkciók használata nélkül történt, a pontozás során nem használhatja a szolgáltatásokat.
(Nem kötelező) Ha rendelkezik elemfunkciók adatkészletével, csatlakoztathatja az elemfunkciókhoz.
Az elemfunkciók adatkészletének első oszlopának tartalmaznia kell az elemazonosítót. A többi oszlopnak olyan értékeket kell tartalmaznia, amelyek az elemeket jellemzik.
A minősített elemek funkcióit a Score Wide és a Deep Recommender figyelmen kívül hagyja, mivel ezeket a funkciókat már elsajátították a betanítás során. Ezért korlátozhatja a pontozási adatkészletet hidegindítású elemekre, vagy olyan elemekre, amelyeket nem értékelt egyetlen felhasználó sem.
Figyelmeztetés
Ha a modell betanítása elemfunkciók nélkül történt, ne használjon elemfunkciót a pontozás során.
A felhasználóknak ajánlott elemek maximális száma: Írja be az egyes felhasználók számára visszaadandó elemek számát. Alapértelmezés szerint 5 elem használata javasolt.
A javaslatkészlet minimális mérete felhasználónként: Írjon be egy értéket, amely jelzi, hogy hány korábbi javaslatra van szükség. Alapértelmezés szerint ez a paraméter 2 értékre van állítva, ami azt jelenti, hogy az elemet legalább két másik felhasználónak ajánlotta.
Ez a beállítás csak akkor használható, ha kiértékelési módban pontozást alkalmaz. Ez a beállítás nem érhető el, ha az Összes elem vagy a Nem minősített elemek lehetőséget választja (új elemeket javasol a felhasználóknak).
A Nem minősített elemekből (új elemeket javasolhat a felhasználóknak) esetén használja a harmadik bemeneti portot, a Betanítási adatok nevet, hogy eltávolítsa azokat az elemeket, amelyek már minősítést kaptak az előrejelzési eredményekből.
A szűrő alkalmazásához csatlakoztassa az eredeti betanítási adatkészletet a bemeneti porthoz.
Futtassa a kísérletet.
Az elemjavaslat eredményei
A Score Wide és a Deep Recommender által visszaadott pontozott adatkészlet felsorolja az egyes felhasználók számára ajánlott elemeket.
- Az első oszlop tartalmazza a felhasználói azonosítókat.
- A rendszer több további oszlopot hoz létre attól függően, hogy a felhasználónak ajánlott elemek maximális száma értékben van-e beállítva. Minden oszlop tartalmaz egy ajánlott elemet (azonosító szerint). A javaslatok a felhasználó-elem affinitás alapján vannak rendezve, a legnagyobb affinitással rendelkező elem pedig az 1. oszlopban van elhelyezve.
Technikai megjegyzések
Ez a szakasz válaszokat tartalmaz néhány gyakori kérdésre, amely a Wide > Deep recommender használatával kapcsolatos előrejelzések létrehozására vonatkozik.
Hidegindítású felhasználók és javaslatok
A javaslatok létrehozásához a Score Wide és a Deep Recommender összetevőnek ugyanazokat a bemeneteket kell megadnia, amelyeket a modell betanításakor használt, beleértve a felhasználói azonosítót is. Ennek az az oka, hogy az algoritmusnak tudnia kell, hogy tanult-e valamit erről a felhasználóról a betanítás során.
Új felhasználók esetén azonban előfordulhat, hogy nem rendelkezik felhasználói azonosítóval, csak bizonyos felhasználói funkciókkal, például az életkorsal, a nemekkel és így tovább.
Továbbra is létrehozhat javaslatokat a rendszer új felhasználói számára, ha hidegindítású felhasználóként kezeli őket. Az ilyen felhasználók esetében a javaslati algoritmus nem használ korábbi előzményeket vagy korábbi értékeléseket, csak felhasználói funkciókat.
Előrejelzés céljából a hidegindítású felhasználó olyan felhasználóként van definiálva, aki olyan azonosítóval rendelkezik, amelyet nem használtak betanításra. Annak érdekében, hogy az azonosítók ne egyeznek a betanításban használt azonosítókkal, létrehozhat új azonosítókat. Előfordulhat például, hogy véletlenszerű azonosítókat hoz létre egy megadott tartományon belül, vagy előre lefoglal egy sor azonosítót a hidegindítású felhasználók számára.
Ha azonban nem rendelkezik együttműködési szűrési adatokkal, például a felhasználói funkciók vektorával, akkor jobb, ha besorolást vagy regressziós tanulót használ.
A Széles és mély ajánló éles használata
Ha kísérletezett a Széles és mély ajánlóval, majd éles környezetbe helyezi át a modellt, vegye figyelembe ezeket a főbb különbségeket, amikor az ajánlót kiértékelési módban és éles módban használja:
A kiértékeléshez definíció szerint olyan előrejelzésekre van szükség, amelyek ellenőrizhetők a tesztkészlet alapigazságával szemben. Ezért az ajánló értékelésekor csak a tesztkészletben minősített elemeket kell előrejeleznie. Ez szükségszerűen korlátozza az előrejelzett lehetséges értékeket.
A modell üzembe helyezésekor azonban általában úgy módosítja az előrejelzési módot, hogy az összes lehetséges elem alapján javaslatokat tegyen, hogy a legjobb előrejelzéseket kapja. Sok ilyen előrejelzés esetében nincs megfelelő alapigazság, így a javaslat pontossága nem ellenőrizhető ugyanúgy, mint a kísérletezés során.
Ha nem ad meg felhasználói azonosítót az éles környezetben, és csak egy funkcióvektort ad meg, válaszként megkaphatja az összes lehetséges felhasználóra vonatkozó javaslatok listáját. Mindenképpen adjon meg egy felhasználói azonosítót.
A visszaadott javaslatok számának korlátozásához megadhatja a felhasználónként visszaadott elemek maximális számát is.
Következő lépések
Tekintse meg az Azure Machine Learning elérhető összetevőit.