Trenowanie modułu poleceń SVD

W tym artykule opisano sposób używania składnika Train SVD Recommender w projektancie usługi Azure Machine Learning. Ten składnik służy do trenowania modelu rekomendacji na podstawie algorytmu dekompozycji pojedynczej wartości (SVD).

Składnik Train SVD Recommender odczytuje zestaw danych triples user-item-rating. Zwraca wyszkolony moduł polecający SVD. Następnie możesz użyć wytrenowanego modelu do przewidywania ocen lub generowania zaleceń, łącząc składnik Score SVD Recommender .

Więcej informacji o modelach rekomendacji i rekomendatorze SVD

Głównym celem systemu rekomendacji jest zalecenie co najmniej jednego elementuużytkownikom systemu. Przykładem elementu może być film, restauracja, książka lub piosenka. Użytkownik może być osobą, grupą osób lub inną jednostką z preferencjami elementów.

Istnieją dwa główne podejścia do systemów rekomendacji:

  • Podejście oparte na zawartości korzysta z funkcji zarówno dla użytkowników, jak i elementów. Użytkownicy mogą być opisywani przez właściwości, takie jak wiek i płeć. Elementy mogą być opisywane przez właściwości, takie jak autor i producent. Typowe przykłady systemów rekomendacji opartych na zawartości można znaleźć w witrynach tworzenia dopasowań społecznościowych.
  • Filtrowanie współpracy używa tylko identyfikatorów użytkowników i elementów. Pobiera ona niejawne informacje o tych jednostkach z macierzy klasyfikacji (rozrzedłowionego) podanej przez użytkowników do elementów. Możemy dowiedzieć się więcej o użytkowniku z elementów, które ocenili, oraz od innych użytkowników, którzy ocenili te same elementy.

Moduł polecający SVD używa identyfikatorów użytkowników i elementów oraz macierz klasyfikacji nadanych przez użytkowników do elementów. Jest to wspólny moduł polecający.

Aby uzyskać więcej informacji na temat modułu polecającego SVD, zobacz odpowiedni dokument badawczy: Techniki faktoryzacji macierzy dla systemów polecania.

How to configure Train SVD Recommender

Przygotowywanie danych

Przed użyciem składnika dane wejściowe muszą być w formacie oczekiwanym przez model rekomendacji. Wymagany jest zestaw danych szkoleniowych triples user-item-rating triples.

  • Pierwsza kolumna zawiera identyfikatory użytkowników.
  • Druga kolumna zawiera identyfikatory elementów.
  • Trzecia kolumna zawiera ocenę dla pary user-item. Wartości klasyfikacji muszą być typem liczbowym.

Zestaw danych Oceny filmów w projektancie usługi Azure Machine Learning (wybierz pozycję Zestawy danych , a następnie przykłady) pokazuje oczekiwany format:

Oceny filmów

W tym przykładzie widać, że jeden użytkownik ocenił kilka filmów.

Trenowanie modelu

  1. Dodaj składnik Train SVD Recommender do potoku w projektancie i połącz go z danymi trenowania.

  2. W polu Liczba czynników określ liczbę czynników do użycia z modułem polecania.

    Każdy czynnik mierzy, ile użytkownik odnosi się do elementu. Liczba czynników jest również wymiarowości przestrzeni współczynnika ukrytego. Wraz ze wzrostem liczby użytkowników i elementów lepiej jest ustawić większą liczbę czynników. Jeśli jednak liczba jest zbyt duża, wydajność może spaść.

  3. Liczba iteracji algorytmu rekomendacji wskazuje, ile razy algorytm powinien przetwarzać dane wejściowe. Im większa jest ta liczba, tym bardziej dokładne są przewidywania. Jednak większa liczba oznacza wolniejsze trenowanie. Wartość domyślna to 30.

  4. W polu Wskaźnik nauki wprowadź liczbę z zakresu od 0,0 do 2,0, która definiuje rozmiar kroku nauki.

    Wskaźnik nauki określa rozmiar kroku w każdej iteracji. Jeśli rozmiar kroku jest zbyt duży, możesz przesłonić optymalne rozwiązanie. Jeśli rozmiar kroku jest za mały, trenowanie trwa dłużej, aby znaleźć najlepsze rozwiązanie.

  5. Prześlij potok.

Wyniki

Po zakończeniu zadania potoku, aby użyć modelu do oceniania, połącz moduł train SVD Recommender z modułem score SVD Recommender, aby przewidzieć wartości dla nowych przykładów wejściowych.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.