Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


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 z potrójnymi ocenami elementów użytkownika. Zwraca wyszkolony moduł polecający SVD. Następnie możesz użyć wytrenowanego modelu do przewidywania klasyfikacji lub generowania rekomendacji, łą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 elementu uż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 wykorzystuje funkcje 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 można opisać za pomocą właściwości, takich 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 niejawne informacje o tych jednostkach z macierzy ocen (rozrzednych) nadanych 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ólna rekomendacja.

Aby uzyskać więcej informacji o rekomendatorze SVD, zobacz odpowiedni dokument badawczy: Techniki faktoryzacji macierzy dla systemów rekomendacji.

Jak skonfigurować trenowanie modułu polecającego SVD

Przygotowywanie danych

Przed użyciem składnika dane wejściowe muszą być w formacie oczekiwanym przez model rekomendacji. Wymagany jest zestaw danych treningowych potrójnych klasyfikacji elementów użytkownika.

  • Pierwsza kolumna zawiera identyfikatory użytkowników.
  • Druga kolumna zawiera identyfikatory elementów.
  • Trzecia kolumna zawiera klasyfikację 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) przedstawia oczekiwany format:

Oceny filmów

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

Szkolenie modelu

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

  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 ukrytej przestrzeni czynnikowej. 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 dokładniejsze 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 na potrzeby nauki.

    Szybkość 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 zbyt 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 train SVD Recommender z 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.