Matchbox-ajánló betanítás
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- További információ a gépi tanulási projektek a ML Studióból a klasszikusból a Azure Machine Learning.
- További információ a Azure Machine Learning.
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Bayes-ajánló beoktat egy Matchbox-algoritmussal
Kategória: Machine Learning / Betanítás
Megjegyzés
A következőkre vonatkozik: Machine Learning Studio (klasszikus)
Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.
A modul áttekintése
Ez a cikk azt ismerteti, hogyan használható a Matchbox Recommender betanítás modul a Machine Learning Studio (klasszikus) modulja javaslatmodell betanítására.
A microsoftos Machine Learning a Microsoft Research által fejlesztett Matchbox-modellen alapul. Az algoritmust részletesen leíró tanulmány letöltéséhez kattintson erre a hivatkozásra a Microsoft Research webhelyén.
A Matchbox Ajánló betanítása modul három tripla felhasználó-elem minősítésű adatkészletet, és opcionálisan néhány felhasználó- és elem-jellemzőt olvas be. Visszaad egy betanított Matchbox-ajánló. Ezután a Betanított modell használatával javaslatokat hozhat létre, kapcsolódó felhasználókat vagy kapcsolódó elemeket találhat a Matchbox Ajánló pontozása modullal .
Tipp
Ebben az oktatóanyagban a .NET fejlesztői csapattól megtudhatja, mit kell tudni a javaslati rendszerek teljes fejlesztési élményével kapcsolatban. Mintakódot és az alkalmazásból Machine Learning hívásának a megbeszélését tartalmazza.
Javaslati motor kiépítése .NET-alkalmazásokhoz a Machine Learning
További információ a javaslati modellekről és a Matchbox ajánlóról
Az ajánlási rendszer fő célja egy vagy több elem ajánlása a rendszer felhasználói számára. Egy elem lehet például egy film, egy étterem, egy könyv vagy egy dal. A felhasználó lehet személy, személycsoport vagy más, elem preferenciával megadott entitás.
Az ajánló rendszereknek két fő megközelítése van.
- Az első a tartalomalapú megközelítés, amely a felhasználók és elemek funkcióit is használja. A felhasználókat olyan tulajdonságokkal lehet leírni, mint az életkor és a nem, az elemek pedig olyan tulajdonságokkal, mint a szerző és a gyártó. A tartalomalapú javaslati rendszerekre jellemző példák a közösségi oldalakon 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 elemeknek adott értékelések (ritka) mátrixában. A felhasználókat megismerheti a minősítésükből, valamint az olyan felhasználóktól, akik ugyanazt az elemet értékelték.
A Matchbox 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 számít.
Ennek működése: Ha egy felhasználó viszonylag új a rendszerben, az előrejelzések úgy javulnak, hogy a felhasználóra vonatkozó funkcióinformációkat használják, így megoldják a jól ismert "hideg indítás" problémáját. Ha azonban elegendő számú minősítést gyűjtött egy adott felhasználótól, akkor teljes mértékben személyre szabott előrejelzéseket is lehet tenni számukra az adott értékelések alapján, nem csak a jellemzőik alapján. Így zökkenőmentesen, együttműködésen alapuló szűrésen alapuló javaslatokra lehet áttűnni a tartalomalapú javaslatokról. A Matchbox akkor is működni fog az együttműködésen alapuló szűrési módban, ha a felhasználó vagy az elem funkciói nem érhetők el.
A Matchbox ajánlóját és mögöttes valószínűségi algoritmusát a Matchbox: Large Scale Bayes-Javaslatok Javaslatok. Emellett a Machine Learning Blog tartalmaz egy Javaslatok Everywhere című cikket, amely magas szintű bevezetést nyújt a javaslattitkos algoritmusokbe.
A Matchbox ajánló betanításának konfigurálása
Adatok előkészítése
A modul használata előtt fontos, hogy az adatok a javaslatmodell által várt formátumban legyen. Szükség van egy betanításos adathalmazra, amely felhasználóelem-minősítési triplát tartalmaz, de a felhasználói funkciókat és az elemszolgáltatásokat (ha elérhető) külön adatkészletekbe is foglalhatja.
Ha a forrásadatokat betanító és tesztelési adatkészletre osztja, használja az Adatok felosztása modul Ajánlófelosztása beállítását.
A felhasználói elemek minősítésének kötelező adatkészlete
Nagyon fontos, hogy a betanításhoz használt bemeneti adatok a megfelelő típusú adatokat tartalmazzák 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. Az értékelési értékeknek numerikusnak vagy kategorikusnak kell lennie.
A betanítás során az értékelés értéke nem lehet azonos. Továbbá numerikus érték esetén a minimális és a maximális értékelés közötti különbségnek 100-asnál kisebbnek kell lennie, és ideális esetben nem lehet nagyobb 20-ban.
A Machine Learning Studio (klasszikus) Restaurant ratings adatkészlete (kattintson a Mentett adatkészletek, majd a Minták elemre) mutatja a várt formátumot:
userID | placeID (helyazonosító) | rating |
---|---|---|
U1077 | 135085 | 2 |
U1077 | 135038 | 2 |
Ebből a mintából láthatja, hogy egyetlen felhasználó minősített két különböző éttermeket.
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 a users-items-ratings adatkészlet első oszlopában megadott azonosítókat kell használnia. A fennmaradó oszlopok a felhasználókat leíró bármilyen számú funkciót tartalmazhatnak.
Példaként tekintse meg a Restaurant customer (Éttermi ügyfelek) adatkészletet a Machine Learning Studióban (klasszikus). A felhasználói funkciók egy tipikus készlete a következő:
userID | Környezetben | Dress_preference | Közlekedési | Dohányos |
---|---|---|---|---|
U1004 | family | Informális | Élőben | HAMIS |
U1005 | barátok | Nincs preferencia | Autótulajdonos | IGAZ |
Elem funkcióinak adatkészlete (nem kötelező)
Az elem jellemzők adatkészletének az első oszlopában elemazonosítókat kell tartalmaznia. A fennmaradó oszlopok az elemek bármilyen számú leíró jellemzőt tartalmazhatnak.
Példaként tekintse meg a Machine Learning Studio (klasszikus) által biztosított Restaurant feature (Éttermi szolgáltatások) adatkészletet (kattintson a Saved Datasets (Mentett adatkészletek), majd a Samples (Minták) elemre). A jellemző elemjellemzők (ebben az esetben az elem egy étterem) a következőhöz hasonlók lehetnek:
placeID (helyazonosító) | Alkohol | Smoking_area | price | Rambience (Memória) |
---|---|---|---|---|
135106 | Wine-Beer | Nincs | Alacsony | family |
132667 | No_Alcohol_Served | Megengedett | közepes | Alkalmi |
A modell betanítása
Adja hozzá a Train Matchbox Recommender (Matchbox ajánló betanítása) modult a (klasszikus) Studióban található kísérlethez, és csatlakoztassa a betanítás adataihoz.
Ha a felhasználói funkciók és/vagy az elem funkcióinak külön adatkészlete van, csatlakoztassa őket a Matchbox Recommender betanítása modulhoz .
A felhasználó által funkciók adatkészlete: Csatlakozás második bemenetet a felhasználókat leíró adatkészletet.
Elem jellemzők adatkészlete: Csatlakozás a harmadik bemenethez elemeket leíró adatkészletet.
A Number of training batchs (Betanítás kötegek száma) mezőbe írja be az adatok betanítás során való osztásaként szükséges kötegek számát.
Ennek az értéknek az alapján a felhasználó által értékelt három pont adatkészlete több részre vagy kötegre van osztva a betanítás során.
Mivel a Matchbox Ajánló betanítása párhuzamosan futtat kötegeket, javasoljuk, hogy a betanító kötegek számát állítsa a rendelkezésre álló magok számára, ha a teljes betanításadat belefér a memóriába. Ellenkező esetben a betanító kötegek számát a rendelkezésre álló magok azon számának legalacsonyabb többszörösére kell beállítani, amelyekhez a betanítás adatai beleférnek a memóriába.
Alapértelmezés szerint a betanítás adatai négy (4) kötegre vannak felosztva. A rendszer csak a felhasználóelem-minősítések háromszoros adatkészletét osztja fel. A felhasználói vagy elemi funkciók nem oszthatóak fel, mert a funkciókat nem kell felosztani.
A Jellemzők száma mezőbe írja be az egyes felhasználókra és elemekre vonatkozó rejtett jellemzők számát.
Minél nagyobb a jellemzők száma, annál pontosabbak lesznek az előrejelzések; A betanítás azonban lassabb lesz. A jellemzők száma általában a 2 és 20 tartományba esik.
A Number of recommendation algorithm iterations (Javaslati algoritmus iterációk száma) mezőben adja meg, hogy az algoritmusnak hányszor kell feldolgoznia a bemeneti adatokat.
A Matchbox ajánló egy üzenetátmeneti algoritmussal van betanítva, amely többször is képes iterálni a bemeneti adatokon. Minél nagyobb ez a szám, annál pontosabbak az előrejelzések; A betanítás azonban lassabb. Az iterációk száma általában az 1 és 10 tartományba esik.
Futtassa a kísérletet, vagy válassza ki csak a Matchbox ajánló betanítás modulját, és válassza a Futtatás kiválasztva lehetőséget.
Példák
A javaslatok modelljeinek a Machine Learning a következő mintakísérleteket a Azure AI Gallery:
- Filmajátító minta: Bemutatja, hogyan lehet betanítni, kiértékelni és pontozást egy javaslati modellel.
Technikai megjegyzések
Ez a szakasz az implementáció részleteit, a tippeket és a gyakori kérdésekre adott válaszokat tartalmazza.
Használati tippek
Ha egy jellemzőoszlopból hiányoznak értékek, a hiányzó értékek helyett a rendszer a nem hiányzó értékek módját használja.
A rendszer minden felhasználói és elemi jellemzőt átméretez az egységhosszúság érdekében, hogy maximális abszolút értéke 1 legyen. A rendszer nem alkalmaz fordítást a jellemzőértékekre, hogy fenntartsa a ritkaságukat.
Korlátozások
A javaslati modell online frissítése (vagy folyamatos betanítás) jelenleg nem támogatott a Machine Learning. Ha rögzíteni szeretné a javaslatokra adott felhasználói válaszokat, és ezeket a modell javítására szeretné használni, javasoljuk, hogy rendszeresen képezheti újra a teljes modellt. Növekményes betanítás nem lehetséges, de csúszóablakot is alkalmazhat a betanítás adataira, hogy a legújabb adatok használata közben minimalizálja az adatmennyiséget.
Ajánló memóriahasználat becslése
Jelenleg a Matchbox 16 * N\(4\T + 2\R)
memóriaigényének alsó határa bájt, ahol N a betanítás adatkészletében lévő felhasználóelem-minősítési triplák számát, a T értéket a rejtett jellemzők számára, az R pedig a minimális és maximális értékelés közötti különbséget jelenti (a betanítás adatkészletében).
A szerializált Matchbox-ajánló 16 * T\(U\R + I + X + Y)
modell mérete körülbelül bájt, ahol az U a felhasználók számát, az I az elemek számát, az X a felhasználói funkciók számát, az Y pedig az elemi funkciók számát jelenti.
Várt bemenetek
Név | Típus | Description |
---|---|---|
A felhasználó-elem-értékelés háromszoros betanítás adatkészlete | Adattábla | Elemek értékelése felhasználók szerint, háromszorosan kifejezve (Felhasználó, Elem, Értékelés) |
A felhasználói funkciók betanítása | Adattábla | Felhasználókat leíró szolgáltatásokat tartalmazó adatkészlet (nem kötelező) |
Elem funkcióinak betanítása | Adattábla | Elemeket leíró funkciókat tartalmazó adatkészlet (nem kötelező) |
Modulparaméterek
Name | Tartomány | Típus | Alapértelmezett | Description |
---|---|---|---|---|
Jellemzők száma | >=0 | Egész szám | 10 | Adja meg az ajánlóval használni kívánt jellemzők számát (nem kötelező) |
Javaslati algoritmus iterációinak száma | >=1 | Egész szám | 5 | Adja meg a javaslatmodell betanítás során végrehajtani kívánt iterációk maximális számát (nem kötelező) |
Betanítás kötegek száma | >=1 | Egész szám | 4 | Adja meg az ajánlóval használni kívánt betanító kötegek számát (nem kötelező) |
Kimenetek
Név | Típus | Description |
---|---|---|
Betanított Matchbox-ajánló | ILearner interfész | Betanított Matchbox-ajánló |
Kivételek
Kivétel | Description |
---|---|
0022-es hiba | Kivétel akkor fordul elő, ha a bemeneti adatkészlet kiválasztott oszlopainak száma nem egyenlő a várt számmal. |
0036-os hiba | Kivétel akkor fordul elő, ha egy adott felhasználóhoz vagy elemhez több jellemzővektor is meg van adva. |
0018-as hiba | Kivétel akkor fordul elő, ha a bemeneti adatkészlet érvénytelen. |
0035-ös hiba | Kivétel akkor fordul elő, ha nem biztosítanak szolgáltatásokat egy adott felhasználóhoz vagy elemhez. |
0034-es hiba | Kivétel akkor fordul elő, ha egy adott felhasználó-elem párhoz több értékelés is létezik. |
0053-as hiba | Kivétel akkor fordul elő, ha nincsenek felhasználói funkciók vagy elemek a Matchbox-javaslatokhoz. |
0003-as hiba | Kivétel akkor fordul elő, ha egy vagy több bemenet null vagy üres. |
A Studio (klasszikus) moduljaival kapcsolatos hibák listájáért tekintse meg a Machine Learning hibakódokat.
Az API-kivételek listáját a hibakódok Machine Learning REST API.
Lásd még
Modell kereszt-ellenőrzése
Ajánló értékelése
Betanítás
Matchbox Ajánló pontozása