Trénování doporučovacího systému SVD

Tento článek popisuje, jak používat komponentu Train SVD Recommender v návrháři služby Azure Machine Learning. Tato komponenta slouží k trénování modelu doporučení založeného na algoritmu SVD (Single Value Decomposition).

Komponenta Train SVD Recommender přečte datovou sadu s trojitým hodnocením položek uživatele. Vrátí natrénovaný doporučovač SVD. Natrénovaný model pak můžete použít k predikci hodnocení nebo generování doporučení propojením komponenty Score SVD Recommender .

Další informace o modelech doporučení a nástroji pro doporučování SVD

Hlavním cílem systému doporučení je doporučit jednu nebo více položekuživatelům systému. 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ředvolbami položek.

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

  • Přístup založený na obsahu využívá funkce pro uživatele i položky. Uživatele je možné popsat pomocí vlastností, jako je věk a pohlaví. 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 webech pro vytváření shody.
  • Při filtrování pro spolupráci se používají pouze identifikátory uživatelů a položek. Získá implicitní informace o těchto entitách z (řídké) matice hodnocení zadaných uživateli k položkám. O uživateli se můžeme dozvědět z položek, které ohodnotili, a od ostatních uživatelů, kteří ohodnotili stejné položky.

Doporučovatel SVD používá identifikátory uživatelů a položek a matici hodnocení, kterou uživatelé zadali k položkám. Je to nástroj pro spolupráci.

Další informace o doporučovacím nástroji SVD najdete v příslušném výzkumném dokumentu: Techniky faktorizace matice pro doporučovací systémy.

Postup konfigurace nástroje Train SVD Recommender

Příprava dat

Před použitím komponenty musí být vstupní data ve formátu, který model doporučení očekává. Vyžaduje se trénovací datová sada s trojitým hodnocením položek uživatele.

  • První sloupec obsahuje identifikátory uživatelů.
  • Druhý sloupec obsahuje identifikátory položek.
  • Třetí sloupec obsahuje hodnocení pro dvojici uživatel-položka. Hodnoty hodnocení musí být číselného typu.

Datová sada Hodnocení filmů v návrháři Služby Azure Machine Learning (vyberte Datové sady a pak Ukázky) ukazuje očekávaný formát:

Hodnocení filmů

Z této ukázky vidíte, že jeden uživatel ohodnotil několik filmů.

Trénování modelu

  1. Přidejte komponentu Train SVD Recommender do kanálu v návrháři a připojte ji k trénovacím datům.

  2. V části Počet faktorů zadejte počet faktorů, které se mají použít s doporučovatelem.

    Každý faktor určuje, jak moc uživatel souvisí s položkou. Počet faktorů je také rozměrnost latentního faktorového prostoru. S rostoucím počtem uživatelů a položek je lepší nastavit větší počet faktorů. Pokud je ale číslo příliš velké, může dojít k poklesu výkonu.

  3. Počet iterací algoritmu doporučení označuje, kolikrát by měl algoritmus zpracovávat vstupní data. Čím vyšší je toto číslo, tím přesnější jsou předpovědi. Vyšší číslo ale znamená pomalejší trénování. Výchozí hodnota je 30.

  4. Do pole Rychlost učení zadejte číslo mezi 0,0 a 2,0, které definuje velikost kroku pro výuku.

    Rychlost učení určuje velikost kroku při každé iteraci. Pokud je velikost kroku příliš velká, můžete optimální řešení překroutit. Pokud je velikost kroku příliš malá, trénování trvá déle, než se najde nejlepší řešení.

  5. Odešlete kanál.

Výsledky

Pokud chcete po dokončení úlohy kanálu použít model pro bodování, připojte nástroj Train SVD Recommender ke službě Score SVD Recommender, aby předpověděl hodnoty pro nové vstupní příklady.

Další kroky

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