Széles és mély ajánló betanítása
Ez a cikk bemutatja, hogyan taníthat be javaslatmodellt az Azure Machine Tanulás tervezőjében a Széles és mély ajánló betanítása összetevővel. Ez az összetevő a Széles és mély tanuláson alapul, amelyet a Google javasol.
A Széles és mély ajánló betanítása összetevő beolvassa a felhasználó-elem minősítési háromszorosát, és opcionálisan néhány felhasználó- és elemfunkciót. Egy betanított Wide > Deep-ajánlót ad vissza. Ezután a betanított modell használatával minősítési előrejelzéseket vagy javaslatokat hozhat létre a Score Wide és a Deep Recommender összetevő használatával.
További információ a javaslatmodellekről és a Széles és mély ajánlóról
A javaslati rendszer fő célja egy vagy több elem ajánlása a rendszer felhasználóinak. Ilyen lehet például egy film, étterem, könyv vagy dal. A felhasználó lehet személy, személycsoport vagy más, elembeállításokkal rendelkező entitás.
A rendszerek ajánlásának két fő megközelítése van.
- Az első a tartalomalapú megközelítés, amely a felhasználók és az elemek funkcióit is használja. A felhasználókat olyan tulajdonságok írják le, mint az életkor és a nem, az elemeket pedig olyan tulajdonságok írják le, mint a szerző és a gyártó. A tartalomalapú javaslati rendszerek tipikus példái a közösségi egyeztetési webhelyeken találhatók.
- A második megközelítés az együttműködésen alapuló szűrés, amely csak a felhasználók és az elemek azonosítóit használja, és implicit információkat szerez be ezekről az entitásokról a felhasználók által az elemekre adott minősítések (ritka) mátrixából. A felhasználókat az általuk értékelt elemekből és más felhasználókból ismerhetjük meg, akik ugyanazokat az elemeket értékelték.
A Széles és mély ajánló ezeket a megközelítéseket kombinálja az együttműködésen alapuló szűrés és a tartalomalapú megközelítés használatával. Ezért hibrid ajánlónak minősül.
Hogyan működik ez: Ha egy felhasználó viszonylag új a rendszerben, az előrejelzések javulnak a felhasználóval kapcsolatos funkcióinformációk felhasználásával, így megoldva a jól ismert "hidegindítás" problémát. Ha azonban elegendő számú minősítést gyűjtött össze egy adott felhasználótól, teljes mértékben személyre szabott előrejelzéseket lehet készíteni számukra az adott értékelések alapján, nem pedig a saját szolgáltatásaik alapján. Ezért zökkenőmentes átmenetet biztosít a tartalomalapú javaslatokról az együttműködésen alapuló szűrésen alapuló javaslatokra. Még ha a felhasználói vagy elemfunkciók nem is érhetők el, a Wide > Deep recommender továbbra is működik az együttműködésen alapuló szűrési módban.
A Wide & Deep ajánlóról és a mögöttes valószínűségi algoritmusról a vonatkozó kutatási tanulmányban talál további részleteket: Wide &Tanulás for Recommender Systems.
A Train Wide és a Deep Recommender konfigurálása
Adatok előkészítése
Mielőtt megpróbálná használni az összetevőt, győződjön meg arról, hogy az adatok a javaslati modell elvárt formátumában lesznek. A felhasználó-elem minősítési háromszoros betanítási adatkészletre van szükség, de a felhasználói funkciókat és az elemek funkcióit (ha van ilyen) külön adathalmazokban is megadhatja.
Felhasználó-elem minősítések kötelező adathalmaza
A betanításhoz használt bemeneti adatoknak a megfelelő adattípust kell tartalmazniuk a megfelelő formátumban:
- Az első oszlopnak felhasználói azonosítókat kell tartalmaznia.
- A második oszlopnak elemazonosítókat kell tartalmaznia.
- A harmadik oszlop a felhasználó-elem pár minősítését tartalmazza. A minősítési értékeknek numerikus típusnak kell lenniük.
Például a felhasználói elemek minősítésének egy tipikus halmaza a következőképpen nézhet ki:
UserId | MovieId | Minősítés |
---|---|---|
1 | 68646 | 10 |
223 | 31381 | 10 |
Felhasználói funkciók adatkészlete (nem kötelező)
A felhasználói funkciók adatkészletének tartalmaznia kell a felhasználók azonosítóit, és ugyanazokat az azonosítókat kell használnia, mint amelyeket a user-items-ratings adatkészlet első oszlopában adtak meg. A fennmaradó oszlopok tetszőleges számú, a felhasználókat leíró funkciót tartalmazhatnak.
Például a felhasználói funkciók egy tipikus halmaza a következőképpen nézhet ki:
UserId | Kor | Nem | Érdeke | Hely |
---|---|---|---|---|
1 | 25 | male | Dráma | Európa |
223 | 40 | female | Romantika | Ázsia |
Elemfunkciók adatkészlete (nem kötelező)
Az elemfunkciók adathalmazának tartalmaznia kell az első oszlopban található elemazonosítókat. A fennmaradó oszlopok tetszőleges számú leíró funkciót tartalmazhatnak az elemekhez.
Például az elemfunkciók egy tipikus halmaza a következőképpen nézhet ki:
MovieId | Cím | Eredeti nyelv | Műfajok | Év |
---|---|---|---|---|
68646 | A keresztapa | Angol | Dráma | 1972 |
31381 | Elfújta a szél | Angol | Előzmények | 1939 |
A modell betanítása
Adja hozzá a Train Wide és Deep Recommender összetevőt a kísérlethez a tervezőben, és csatlakoztassa a betanítási adatkészlethez.
Ha külön adatkészlete van a felhasználói funkciókról és/vagy az elemfunkciókról, csatlakoztassa őket a Széles és a Mély ajánló összetevőhöz.
- Felhasználói funkciók adatkészlete: Csatlakozás a felhasználókat leíró adatkészletet a második bemenetre.
- Az elem jellemzőinek adathalmaza: Csatlakozás a harmadik bemenethez tartozó elemeket leíró adatkészletet.
Korszakok: azt jelzi, hogy az algoritmusnak hányszor kell feldolgoznia a teljes betanítási adatokat.
Minél magasabb ez a szám, annál megfelelőbb a képzés; azonban a betanítás több időbe kerül, és túlillesztést okozhat.
Kötegelt méret: írja be az egy betanítási lépésben használt betanítási példák számát.
Ez a hiperparaméter befolyásolhatja a betanítási sebességet. A nagyobb kötegméret kisebb időköltséget eredményez, de növelheti a konvergenciát. Ha a köteg túl nagy a GPU/CPU illesztéséhez, memóriahiba léphet fel.
Széles részoptimalizáló: válasszon ki egy optimalizálót, hogy színátmeneteket alkalmazzon a modell széles részére.
Széles körű optimalizáló tanulási sebesség: adjon meg egy 0,0 és 2,0 közötti számot, amely meghatározza a széles részoptimalizáló tanulási sebességét.
Ez a hiperparaméter határozza meg az egyes betanítási lépések lépésméretét, miközben a minimális veszteségfüggvény felé halad. A nagy tanulási arány miatt a tanulás átugorhat a minimumon, míg a túl alacsony tanulási arány konvergenciaproblémát okozhat.
Többfunkciós dimenzió: írja be a dimenziót a kívánt felhasználói azonosítók és elemazonosító-funkciók megadásával.
A Széles és mély ajánló alapértelmezés szerint termékközi átalakítást hajt végre a felhasználói azonosító és az elemazonosító funkciói felett. A keresztezés eredménye ennek a számnak megfelelően kivonatolt lesz a dimenzió biztosítása érdekében.
Mélyrész-optimalizáló: válasszon ki egy optimalizálót, hogy színátmeneteket alkalmazzon a modell mély részére.
Mélyoptimalizáló tanulási sebesség: adjon meg egy 0,0 és 2,0 közötti számot, amely meghatározza a mélyrész-optimalizáló tanulási sebességét.
Felhasználói beágyazási dimenzió: írjon be egy egész számot a felhasználói azonosító beágyazásának dimenziójának megadásához.
A Széles és mély ajánló létrehozza a megosztott felhasználói azonosító beágyazásokat és elemazonosító-beágyazásokat a széles és a mély részhez is.
Elembeágyazási dimenzió: írjon be egy egész számot az elemazonosító beágyazásának dimenziójának megadásához.
Kategorikus funkciók beágyazási dimenziója: adjon meg egy egész számot a kategorikus funkciók beágyazásának dimenzióinak megadásához.
A Wide > Deep recommender mély összetevőjében minden kategorikus funkcióhoz egy beágyazási vektort ismerünk meg. És ezek a beágyazási vektorok ugyanazzal a dimenzióval vannak elosztva.
Rejtett egységek: írja be a mély összetevő rejtett csomópontjainak számát. Az egyes rétegek csomópontszámát vesszők választják el egymástól. Például az "1000 500 100" típussal megadhatja, hogy a mély összetevő három rétegből áll, és az első réteg az utolsóhoz 1000 csomóponttal, 500 csomóponttal és 100 csomóponttal rendelkezik.
Aktiválási függvény: válassza ki az egyes rétegekre alkalmazott aktiválási függvényt, az alapértelmezett reLU.
Legördülő lista: Adjon meg egy 0,0 és 1,0 közötti számot annak megállapításához, hogy a kimenetek az egyes rétegekben a betanítás során el lesznek dobva.
A dropout egy olyan rendszeresítési módszer, amely megakadályozza a neurális hálózatok túlillesztését. Ennek az értéknek az egyik gyakori döntése a 0,5-ös érték, amely úgy tűnik, hogy a hálózatok és feladatok széles köréhez közel áll az optimálishoz.
Kötegelt normalizálás: válassza ezt a beállítást a kötegelt normalizálás használatához a mély összetevő minden rejtett rétege után.
A batch normalizálás a hálózati betanítás során a belső kovarianitális műszakokkal kapcsolatos problémák elleni küzdelem egyik technikája. Általánosságban elmondható, hogy segíthet a hálózatok sebességének, teljesítményének és stabilitásának javításában.
A folyamat futtatása.
Technikai megjegyzések
A Wide & Deep közösen edz széles lineáris modelleket és mély neurális hálózatokat a memorizálás és az általánosítás erősségeinek kombinálásához. A széles összetevő számos nyers funkciót és funkcióátalakítást fogad el a funkciók interakcióinak memorizálásához. A kevesebb funkciós tervezés mellett a mély összetevő általánosítja a funkciókombinációk kisdimenziós sűrű funkcióbeágyazásokon keresztül történő feloldását.
A Wide > Deep recommender implementációjában az összetevő egy alapértelmezett modellstruktúrát használ. A széles összetevő bemenetként kezeli a felhasználói beágyazásokat, az elemek beágyazását, valamint a felhasználói azonosítók és elemazonosítók termékközi átalakítását. A modell mély részében egy beágyazási vektort ismerünk meg minden kategorikus funkcióhoz. A többi numerikus jellemzővektorral együtt ezeket a vektorokat a rendszer betáplálja a mély előtolású neurális hálózatba. A széles és a mély részt kombinálja a végső kimeneti naplók esélyeinek összegzésével előrejelzésként, amely végül egy közös betanítási veszteségfüggvényre kerül.
További lépések
Tekintse meg az Azure Machine Tanulás elérhető összetevőit.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: