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. Pomocí této komponenty můžete vytvářet předpovědi pomocí natrénovaného modelu doporučení založeného na algoritmu SVD (Single Value Decomposition).

Doporučovací nástroj SVD může generovat 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ů:

  • Produkční 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, které uvidíte během trénování. Další informace najdete v technických poznámkách.

  • Režim vyhodnocení funguje na omezené skupině uživatelů nebo položek, které lze vyhodnotit. Obvykle se používá při operacích kanálu.

Další informace o algoritmu doporučení SVD najdete ve výzkumném dokumentu Techniky faktorizace matice pro doporučovací systémy.

Postup konfigurace doporučení skóre SVD

Tato komponenta podporuje dva typy předpovědí, z nichž každý má jiné 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, kterou chcete ohodnotit.

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

  2. V části Druh predikce doporučovače vyberte Predikce hodnocení. Nejsou vyžadovány žádné další parametry.

  3. Přidejte data, pro která chcete předpovědět, a připojte je k datové sadě a skóre.

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

    Datová sada může obsahovat volitelný třetí sloupec hodnocení pro dvojici uživatel-položka 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 předpovědi hodnocení

Výstupní datová sada obsahuje tři sloupce: uživatelé, položky a předpokládané 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, které by pro každého uživatele pravděpodobně byly zajímavé. 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 potřebná k vygenerování doporučení.

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

  2. Pokud chcete doporučit položky pro seznam uživatelů, nastavte Druh predikce doporučovače na Položku Doporučení.

  3. V části Doporučený výběr položky určete, jestli používáte bodovací komponentu v produkčním prostředí nebo k 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 vytváří doporučení ze všech položek, které se zobrazí 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í jenom z těch položek ve vstupní datové sadě, které byly hodnoceny.

    • Z nehodnocených položek (pokud chcete uživatelům navrhovat nové položky): Tuto možnost vyberte, pokud chcete, aby komponenta doporučovala jenom ty položky v trénovací datové sadě, které nebyly hodnoceny.

  4. Přidejte datovou sadu, pro kterou chcete předpovědět, a připojte ji k datové sadě, abyste získali skóre.

    • V části 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í vytvářet doporučení.

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

    • V části Z hodnocených položek (pro vyhodnocení modelu) by se vstupní datová sada měla skládat z párů uživatel-položka. 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í položek uživatele, ale tento sloupec se ignoruje.

    • U položky Z nehodnocených položek (pro navrhování nových položek uživatelům) by se vstupní datová sada měla skládat z párů uživatel-položka. 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í položek uživatele, ale tento sloupec se ignoruje.

  5. Maximální počet položek, které se mají 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í se vyžaduje. 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 jenom v případě, že bodujete v režimu vyhodnocení. Tato možnost není dostupná, pokud vyberete Možnost Ze všech položek nebo Z nehodnocených položek (pokud chcete uživatelům navrhovat nové položky).

  7. V části Z nehodnocených položek (pokud chcete uživatelům navrhnout nové položky) použijte třetí vstupní port s názvem Trénovací data a odeberte položky, které už byly hodnoceny, z výsledků predikce.

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

  8. Odešlete kanál.

Výsledky doporučení položky

Datová sada s skóre 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živatelů.
  • Vygeneruje se několik dalších sloupců v závislosti na hodnotě, kterou nastavíte pro Maximální počet položek, které se mají uživateli doporučit. Každý sloupec obsahuje doporučenou položku (podle identifikátoru). Doporučení jsou seřazená podle spřažení položky 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 přesunete model do produkčního prostředí, mějte na paměti, že existují klíčové rozdíly mezi použitím doporučovače v režimu vyhodnocení a jeho použitím v produkčním režimu.

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

Když model zprovozníte, obvykle změníte režim předpovědi tak, aby se doporučení na základě všech možných položek, 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

Projděte si sadu komponent dostupných pro Azure Machine Learning.