Sdílet prostřednictvím


Trénování doporučovateče Matchboxu

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Trénuje bayesovské doporučovací zařízení pomocí algoritmu Matchbox.

Kategorie: Machine Learning / Train

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Train Matchbox Recommender v Machine Learning Studiu (klasickém) vytrénovat model doporučení.

Algoritmus doporučení v Machine Learning je založený na modelu Matchboxu, který vyvinul Microsoft Research. Pokud si chcete stáhnout dokument, který podrobně popisuje algoritmus, klikněte na tento odkaz na webu Microsoft Research.

Modul Train Matchbox Recommender čte datovou sadu tří trojů hodnocení uživatelských položek a volitelně i některé funkce uživatelů a položek. Vrátí trénovaný doporučovač Matchboxu. Natrénovaný model pak můžete použít k vygenerování doporučení, vyhledání souvisejících uživatelů nebo vyhledání souvisejících položek pomocí modulu Doporučovací modul Score Matchbox Recommender .

Tip

V tomto kurzu od vývojového týmu pro .NET se dozvíte vše, co potřebujete vědět o všech zkušenostech při vytváření systému doporučení. Zahrnuje ukázkový kód a diskuzi o tom, jak volat Machine Learning z aplikace.

Vytváření modulu doporučení pro aplikace .NET pomocí Machine Learning

Další informace o modelech doporučení a doporučovači Matchboxu

Hlavním cílem systému doporučení je doporučit uživatelům systému jednu nebo více položek. Příkladem položky může být film, restaurace, kniha nebo skladba. Uživatel může být osoba, skupina osob nebo jiná entita s předvolbou položky.

Existují dva hlavní přístupy k doporučovacím systémům.

  • Prvním je přístup založený na obsahu , který používá funkce pro uživatele i položky. Uživatele je možné popsat pomocí vlastností, jako je věk a pohlaví, a položky mohou být popsány vlastnostmi, jako je autor a výrobce. Typické příklady systémů doporučení založených na obsahu najdete na sociálních sítích.
  • Druhým přístupem je filtrování založené na spolupráci, které používá pouze identifikátory uživatelů a položek a získává implicitní informace o těchto entitách z (zhuštěné) matice hodnocení zadaných uživateli pro položky. O uživateli se můžeme dozvědět víc z položek, které hodnotí, a od jiných uživatelů, kteří stejné položky hodnotí.

Doporučovací systém Matchbox tyto přístupy kombinuje s použitím filtrování založeného na spolupráci s přístupem založeným na obsahu. Proto se považuje za doporučovač hybridního využití.

Jak to funguje: Pokud je uživatel v systému relativně nový, předpovědi se vylepšují použitím informací o funkci uživatele a řeší tak známý problém "studeného startu". Jakmile ale od konkrétního uživatele shromaždíte dostatečný počet hodnocení, je možné pro něj vytvořit plně přizpůsobené předpovědi na základě jejich konkrétních hodnocení, nikoli na základě jejich funkcí. Proto existuje hladký přechod od doporučení založených na obsahu k doporučením založeným na filtrování založeném na spolupráci. I v případě, že funkce uživatele nebo položky nejsou k dispozici, bude Matchbox stále fungovat v režimu filtrování založeném na spolupráci.

Další podrobnosti o doporučovači Matchboxu a souvisejícím pravděpodobnostním algoritmu najdete v relevantním výzkumném dokumentu Matchbox: Large Scale Bayesian Recommendations Recommendations. Kromě toho obsahuje Machine Learning blog s názvem Recommendations Everywhere, který poskytuje základní úvod do algoritmů doporučení.

Jak nakonfigurovat doporučovač trénování matchboxu

Příprava dat

Než se modul pokoušíte použít, je nezbytné, aby vaše data byla ve formátu očekávaném modelem doporučení. Vyžaduje se trénovací datová sada trojitých hodnot hodnocení položek uživatele, ale do samostatných datových sad můžete zahrnout také uživatelské funkce a funkce položek (pokud jsou k dispozici).

Pokud chcete zdrojová data rozdělit na trénovací a testovací datové sady, použijte možnost Recommender Split v modulu Rozdělit data.

Požadovaná datová sada hodnocení položky uživatele

Je velmi důležité, aby vstupní data použitá pro trénování obsahovala správný typ dat ve správném formátu:

  • První sloupec musí obsahovat identifikátory uživatelů.
  • Druhý sloupec musí obsahovat identifikátory položek.
  • Třetí sloupec obsahuje hodnocení páru uživatel-položka. Hodnoty hodnocení musí být číselné nebo kategorické.

Během trénování nemohou být všechny hodnoty hodnocení stejné. Kromě toho, pokud je číselný, musí být rozdíl mezi minimální a maximální hodnotou hodnocení menší než 100 a v ideálním případě nesmí být větší než 20.

Datová sada hodnocení restaurace v Machine Learning Studiu (klasická) (klikněte na Uložené datové sady a pak na Ukázky) ukazuje očekávaný formát:

ID uživatele ID místa rating
U1077 135085 2
U1077 135038 2

V této ukázce vidíte, že jeden uživatel hodnotí dvě samostatné restaurace.

Datová sada s funkcemi uživatelů (volitelné)

Datová sada uživatelských funkcí musí obsahovat identifikátory pro uživatele a používat stejné identifikátory, které byly uvedeny v prvním sloupci datové sady users-items-ratings. Zbývající sloupce mohou obsahovat libovolný počet funkcí, které uživatele popisují.

Příklad najdete v datové sadě zákazníka Restaurace v Machine Learning Studiu (klasickém). Typická sada uživatelských funkcí vypadá takhle:

ID uživatele Prostředí Dress_preference transport Kuřák
U1004 family Neformální Na stopách FALSE
U1005 Přátel Žádná předvolba Vlastník auta TRUE

Datová sada funkcí položek (volitelné)

Datová sada funkcí položek musí v prvním sloupci obsahovat identifikátory položek. Zbývající sloupce mohou obsahovat libovolný počet popisných vlastností položek.

Příklad najdete v datové sadě vlastností Restaurace, která je k dispozici v Machine Learning Studiu (klasickém) (klikněte na Uložené datové sady a pak na Ukázky). Typická sada vlastností položky (v tomto případě položka je restaurace) může vypadat takhle:

ID místa Alkoholu Smoking_area price Rambience
135106 Wine-Beer žádné Nízké family
132667 No_Alcohol_Served Povoleno střední Příležitostné

Trénování modelu

  1. Přidejte modul Train Matchbox Recommender (Trénovat doporučovací modul matchboxu) do experimentu v sadě Studio (classic) a připojte ho k trénovacím datům.

  2. Pokud máte samostatnou datovou sadu funkcí uživatelů nebo položek, připojte je k modulu Train Matchbox Recommender (Trénování doporučovací sady matchboxu ).

    • Datová sada uživatelských funkcí: Připojení datovou sadu, která popisuje uživatele na druhý vstup.

    • Datová sada funkcí položek: Připojení datovou sadu, která popisuje položky třetího vstupu.

  3. Do pole Počet trénovací dávky zadejte počet dávek pro rozdělení dat během trénování.

    Na základě této hodnoty je datová sada trojitých hodnot hodnocení uživatelských položek rozdělena do několika částí nebo dávek během trénování.

    Vzhledem k tomu, že Train Matchbox Recommender spouští dávky paralelně, doporučujeme nastavit počet trénovací dávky na počet dostupných jader, pokud se celá trénovací data vejde do paměti. V opačném případě by měl být počet trénovací dávky nastaven na nejnižší násobek počtu dostupných jader, pro která se trénovací data vejdou do paměti.

    Ve výchozím nastavení jsou trénovací data rozdělená do čtyř (4) dávek. Pouze datová sada trojitých hodnot hodnocení položek uživatele je rozdělená. Funkce uživatelů nebo položek nejsou rozdělené, protože funkce není nutné rozdělovat.

  4. Do pole Počet vlastností zadejte počet latentních vlastností, které se mají naučit pro každého uživatele a položku.

    Čím vyšší je počet vlastností, tím přesnější budou predikce obvykle být. Ale trénování bude pomalejší. Počet vlastností obvykle leží v rozsahu 2 až 20.

  5. V části Number of recommendation algorithm iterations (Počet iterací algoritmu doporučení) určete, kolikrát má algoritmus zpracovat vstupní data.

    Doporučovací funkce Matchboxu se trénuje pomocí algoritmu s předáváním zpráv, který může vícekrát iterovat nad vstupními daty. Čím vyšší je toto číslo, tím přesnější předpovědi. Ale trénování je pomalejší. Počet iterací je obvykle v rozsahu 1 až 10.

  6. Spusťte experiment nebo vyberte pouze modul Train Matchbox Recommender (Trénovat matchbox Recommender ) a vyberte Run selected (Spustit vybranou).

Příklady

Příklady použití modelů doporučení v Machine Learning najdete v těchto ukázkových experimentech v Azure AI Gallery:

Technické poznámky

Tato část obsahuje podrobnosti o implementaci, tipy a odpovědi na nejčastější dotazy.

Tipy k používání

  • Pokud ve sloupci funkce chybí hodnoty, použije se režim chybějících hodnot jako náhrada chybějících hodnot.

  • Všechny funkce uživatelů a položek se znovu škálují tak, aby jejich maximální absolutní hodnota byla 1. Na hodnoty funkcí se aplikuje žádný překlad, aby se zachovala jejich nesnáz.

Omezení

Online aktualizace (nebo průběžné trénování) modelu doporučení se v současné době v Machine Learning. Pokud chcete zaznamenat odpovědi uživatelů na doporučení a použít je ke zlepšení modelu, doporučujeme pravidelně celý model opakovaně natrénovat. Přírůstkové trénování není možné, ale můžete použít posuvné okno na trénovací data, abyste zajistili minimalizaci objemu dat při používání nejnovějších dat.

Odhad využití paměti doporučovací aplikace

V současné době je dolní mez využití paměti Matchboxu 16 * N\(4\T + 2\R) bajty, kde N odkazuje na počet trojitých hodnot hodnocení položek uživatele v trénovací datové sadě, T na počet latentních vlastností a R na rozdíl mezi minimálním a maximálním hodnocením (v trénovací datové sadě).

Velikost serializovaného doporučovaného modelu Matchbox 16 * T\(U\R + I + X + Y) je přibližně bajty, kde U odkazuje na počet uživatelů, I na počet položek, X na počet uživatelských funkcí a Y na počet funkcí položky.

Očekávané vstupy

Název Typ Description
Trénovací datová sada trojitých hodnot hodnocení uživatelských položek Tabulka dat Hodnocení položek podle uživatelů vyjádřená jako trojité (uživatel, položka, hodnocení)
Trénovací datová sada uživatelských funkcí Tabulka dat Datová sada obsahující funkce popisující uživatele (volitelné)
Trénovací datová sada funkcí položek Tabulka dat Datová sada obsahující funkce, které popisují položky (volitelné)

Parametry modulu

Name Rozsah Typ Výchozí Description
Počet vlastností >=0 Integer 10 Zadejte počet vlastností, které se mají s doporučovatérem použít (volitelné).
Počet iterací algoritmu doporučení >=1 Integer 5 Určení maximálního počtu iterací, které se při trénování modelu doporučení (volitelné)
Počet trénovací dávky >=1 Integer 4 Zadejte počet trénovací dávky, které se mají s doporučovacími nástroji použít (volitelné).

Výstupy

Název Typ Description
Trénovaný doporučovač Matchboxu ILearner – rozhraní Trénovaný doporučovač Matchboxu

Výjimky

Výjimka Description
Chyba 0022 K výjimce dojde, pokud se počet vybraných sloupců ve vstupní datové sadě nerovná očekávanému počtu.
Chyba 0036 K výjimce dochází v případě, že byl pro daného uživatele nebo položku poskytnuto více vektorů funkcí.
Chyba 0018 K výjimce dochází v případě, že vstupní datová sada není platná.
Chyba 0035 K výjimce dochází v případě, že pro daného uživatele nebo položku nebyly k dispozici žádné funkce.
Chyba 0034 K výjimce dojde, pokud pro daný pár uživatel-položka existuje více než jedno hodnocení.
Chyba 0053 K výjimce dojde v případě, že nejsou k dispozici žádné uživatelské funkce ani položky pro Matchbox doporučení.
Chyba 0003 K výjimce dojde v případě, že jeden nebo více vstupů má hodnotu null nebo je prázdné.

seznam chyb, které jsou specifické pro moduly studia (classic), najdete v článku kódy chyb Machine Learning.

seznam výjimek rozhraní API najdete v tématu Machine Learning REST API chybové kódy.

Viz také

Model křížového ověřování
Vyhodnocení doporučovacího systému
Trénování
Doporučení pro skóre Matchbox