Sdílet prostřednictvím


Určení skóre doporučovacího systému SVD

Tento článek popisuje, jak používat komponentu Score SVD Recommender v návrháři služby Azure Machine Learning. Tato komponenta slouží k vytváření predikcí pomocí vytrénovaného modelu doporučení na základě algoritmu SVD (Single Value Decomposition).

Doporučovač SVD může vygenerovat dva různé druhy předpovědí:

Při vytváření druhého typu předpovědí můžete pracovat v jednom z těchto režimů:

  • Provozní režim bere v úvahu všechny uživatele nebo položky. Obvykle se používá ve webové službě.

    Můžete vytvářet skóre pro nové uživatele, nejen pro uživatele, kteří se během trénování zobrazují. Další informace najdete v technických poznámkách.

  • Režim vyhodnocení funguje na omezené sadě uživatelů nebo položek, které je možné vyhodnotit. Obvykle se používá během operací kanálu.

Další informace o doporučovacím algoritmu SVD najdete ve výzkumném dokumentu Maticové faktorizační techniky pro doporučovací systémy.

Postup konfigurace doporučení SVD score

Tato komponenta podporuje dva typy predikcí, z nichž každá má různé požadavky.

Predikce hodnocení

Když předpovídáte hodnocení, model vypočítá, jak bude uživatel reagovat na konkrétní položku vzhledem k trénovacím datům. Vstupní data pro bodování musí poskytnout uživatele i položku, které se mají ohodnotit.

  1. Přidejte do kanálu natrénovaný model doporučení a připojte ho k natrénovanému doporučovacímu modulu SVD. Model musíte vytvořit pomocí komponenty Train SVD Recommender .

  2. V případě typu predikce doporučovače vyberte Možnost Predikce hodnocení. Nejsou vyžadovány žádné další parametry.

  3. Přidejte data, pro která chcete vytvářet předpovědi, a připojte je k datové sadě, abyste mohli skóre určit.

    Aby model předpověděl hodnocení, vstupní datová sada musí obsahovat páry položek uživatele.

    Datová sada může obsahovat volitelný třetí sloupec hodnocení páru položek uživatele v prvním a druhém sloupci. Třetí sloupec se ale během předpovědi ignoruje.

  4. Odešlete kanál.

Výsledky pro predikce hodnocení

Výstupní datová sada obsahuje tři sloupce: uživatelé, položky a predikované hodnocení každého vstupního uživatele a položky.

Doporučení pro uživatele

Pokud chcete uživatelům doporučit položky, zadejte jako vstup seznam uživatelů a položek. Z těchto dat model využívá své znalosti o existujících položkách a uživatelích k vygenerování seznamu položek s pravděpodobným odvoláním na každého uživatele. Počet vrácených doporučení můžete přizpůsobit. A můžete nastavit prahovou hodnotu pro počet předchozích doporučení, která jsou nutná k vygenerování doporučení.

  1. Přidejte do kanálu natrénovaný model doporučení a připojte ho k natrénovanému doporučovacímu modulu SVD. Model musíte vytvořit pomocí komponenty Train SVD Recommender .

  2. Pokud chcete doporučit položky pro seznam uživatelů, nastavte typ predikce Doporučovací modul na doporučení k položce.

  3. Pokud chcete vybrat doporučenou položku, určete, jestli používáte bodovací komponentu v produkčním prostředí nebo pro vyhodnocení modelu. Zvolte jednu z těchto hodnot:

    • Ze všech položek: Tuto možnost vyberte, pokud nastavujete kanál pro použití ve webové službě nebo v produkčním prostředí. Tato možnost povolí produkční režim. Komponenta poskytuje doporučení ze všech položek, které se zobrazují během trénování.

    • Z hodnocených položek (pro vyhodnocení modelu): Tuto možnost vyberte, pokud vyvíjíte nebo testujete model. Tato možnost povolí režim vyhodnocení. Komponenta poskytuje doporučení pouze z těchto položek ve vstupní datové sadě, které byly hodnoceny.

    • Z nehodnocených položek (pro návrhy nových položek pro uživatele): Tuto možnost vyberte, pokud chcete, aby komponenta zobrazovala doporučení pouze z těchto položek v trénovací datové sadě, které nebyly hodnoceny.

  4. Přidejte datovou sadu, pro kterou chcete vytvářet předpovědi, a připojte ji k datové sadě, abyste mohli skóre určit.

    • U položky Ze všech položek by se vstupní datová sada měla skládat z jednoho sloupce. Obsahuje identifikátory uživatelů, pro které se mají doporučení provádět.

      Datová sada může obsahovat další dva sloupce identifikátorů položek a hodnocení, ale tyto dva sloupce se ignorují.

    • U položek s hodnocením (pro vyhodnocení modelu) by se vstupní datová sada měla skládat z párů položek uživatele. První sloupec by měl obsahovat identifikátor uživatele. Druhý sloupec by měl obsahovat odpovídající identifikátory položek.

      Datová sada může obsahovat třetí sloupec hodnocení uživatelských položek, ale tento sloupec se ignoruje.

    • Vstupní datová sada by se měla skládat z párů položek uživatele (pokud chcete navrhovat nové položky uživatelům). První sloupec by měl obsahovat identifikátor uživatele. Druhý sloupec by měl obsahovat odpovídající identifikátory položek.

    Datová sada může obsahovat třetí sloupec hodnocení uživatelských položek, ale tento sloupec se ignoruje.

  5. Maximální počet položek, které chcete uživateli doporučit: Zadejte počet položek, které se mají vrátit pro každého uživatele. Ve výchozím nastavení komponenta doporučuje pět položek.

  6. Minimální velikost fondu doporučení na uživatele: Zadejte hodnotu, která určuje, kolik předchozích doporučení je potřeba. Ve výchozím nastavení je tento parametr nastaven na hodnotu 2, což znamená, že položku doporučili alespoň dva další uživatelé.

    Tuto možnost použijte pouze v případě, že bodujete v režimu vyhodnocení. Tato možnost není dostupná, pokud vyberete Ze všech položek nebo Od nehodnocených položek (chcete-li navrhnout nové položky uživatelům).

  7. V části Od nehodnocených položek (chcete-li navrhovat nové položky uživatelům) použijte třetí vstupní port s názvem Trénovací data k odebrání položek, které už byly hodnoceny z výsledků předpovědi.

    Pokud chcete tento filtr použít, připojte původní trénovací datovou sadu ke vstupnímu portu.

  8. Odešlete kanál.

Výsledky doporučení k položce

Výsledná datová sada vrácená nástrojem Score SVD Recommender obsahuje seznam doporučených položek pro každého uživatele:

  • První sloupec obsahuje identifikátory uživatele.
  • V závislosti na hodnotě nastavené maximálního počtu položek pro uživatele se vygeneruje počet dalších sloupců. Každý sloupec obsahuje doporučenou položku (podle identifikátoru). Doporučení jsou seřazená podle spřažení položek uživatele. Položka s nejvyšším spřažením se vloží do sloupce Položka 1.

Technické poznámky

Pokud máte kanál s doporučovačem SVD a model přesunete do produkčního prostředí, mějte na paměti, že existují klíčové rozdíly mezi používáním doporučovače v režimu vyhodnocení a jeho použitím v produkčním režimu.

Vyhodnocení podle definice vyžaduje předpovědi, které lze ověřit na základě základní pravdy v testovací sadě. Při vyhodnocování doporučovací funkce musí předpovědět pouze položky, které byly hodnoceny v testovací sadě. Tím se omezí možné hodnoty, které se predikují.

Při zprovoznění modelu obvykle změníte režim předpovědi tak, aby doporučení byla založena na všech možných položkách, abyste získali nejlepší předpovědi. Pro mnoho z těchto předpovědí neexistuje žádná odpovídající základní pravda. Přesnost doporučení se proto nedá ověřit stejným způsobem jako při operacích kanálu.

Další kroky

Podívejte se na sadu komponent dostupných pro Azure Machine Learning.