Train Matchbox Recommender

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Trenuje algorytm algorytmu Matchbox przy użyciu algorytmu Bayesa

Kategoria: Machine Learning / Trenuj

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano sposób trenowania modelu rekomendacji za pomocą modułu modułu rekomendacji train matchbox w programie Machine Learning Studio (wersja klasyczna).

Algorytm rekomendacji w Machine Learning jest oparty na modelu Matchbox opracowanym przez firmę Microsoft Research. Aby pobrać dokument ze szczegółowym opisem algorytmu, kliknij ten link w witrynie Microsoft Research.

Moduł Train Matchbox Recommender (Trenuj moduł rekomendacji pola dopasowania) odczytuje zestaw danych z trzema elementami klasyfikacji elementów użytkownika i, opcjonalnie, niektórymi funkcjami użytkownika i elementu. Zwraca wytrenowany polecacz matchbox. Następnie możesz użyć wytrenowany model, aby wygenerować rekomendacje, znaleźć powiązanych użytkowników lub znaleźć powiązane elementy, korzystając z modułu modułu polecania pola dopasowania.

Porada

W tym samouczku od zespołu programowego .NET dowiesz się wszystkiego, co musisz wiedzieć na temat budowania systemu rekomendacji. Zawiera przykładowy kod i omówienie sposobu Machine Learning z aplikacji.

Tworzenie aparatu rekomendacji dla aplikacji .NET przy użyciu Machine Learning

Więcej informacji na temat modeli rekomendacji i polecania pola dopasowania

Głównym celem systemu rekomendacji jest zalecenie użytkownikom jednego lub większej liczby elementów systemu. Przykładem elementu może być film, restauracji, książka lub utwór. Użytkownik może być osobą, grupą osób lub inną jednostką z preferencjami elementu.

Istnieją dwa podstawowe podejścia do systemów polecania.

  • Pierwszym z nich jest podejście oparte na zawartości, które 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ć, a elementy mogą być opisane 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 społecznościowych.
  • Drugie podejście to filtrowanie oparte na współpracy, które używa tylko identyfikatorów użytkowników i elementów oraz uzyskuje niejawne informacje o tych jednostkach z macierzy (rozrzednej) klasyfikacji nadanej elementom przez użytkowników. O użytkowniku możemy dowiedzieć się z elementów, które zostały ocenione, oraz od innych użytkowników, którzy ocenili te same elementy.

Program rekomendatora matchbox łączy te podejścia przy użyciu filtrowania opartego na współpracy z podejściem opartym na zawartości. W związku z tym jest ona uważana za hybrydową rekomendację.

Jak to działa: Gdy użytkownik jest stosunkowo nowym użytkownikiem systemu, przewidywania są ulepszane przez wykorzystanie informacji o funkcji użytkownika, co pozwala rozwiązać znany problem "zimnego startu". Jednak po zebrania wystarczającej liczby ocen od określonego użytkownika można samodzielnie spersonalizowane przewidywać je na podstawie ich konkretnych ocen, a nie tylko ich funkcji. W związku z tym istnieje bezproblemowe przejście z rekomendacji opartych na zawartości do zaleceń opartych na filtrowaniu opartym na współpracy. Nawet jeśli funkcje użytkownika lub elementu nie są dostępne, funkcja Matchbox nadal będzie działać w trybie filtrowania współpracy.

Więcej szczegółów na temat polecania pola dopasowania i jego podstawowego algorytmu probabilistycznego można znaleźć w odpowiednim dokumencie badawczym: Matchbox: Large Scale Bayesian Rekomendacje Rekomendacje (Pole dopasowania: algorytm bayesański na dużą skalę). Ponadto blog Machine Learning zawiera artykuł o Rekomendacje Everywhere, który zawiera wprowadzenie wysokiego poziomu do algorytmów rekomendacji.

How to configure Train Matchbox Recommender

Przygotowywanie danych

Przed podjęciem próby użycia modułu ważne jest, aby dane mieć format oczekiwany przez model rekomendacji. Wymagany jest zestaw danych treningowych z trzema elementami klasyfikacji użytkowników, ale można również uwzględnić funkcje użytkownika i funkcje elementów (jeśli są dostępne) w oddzielnych zestawach danych.

Aby podzielić dane źródłowe na szkoleniowe i testowe zestawy danych, użyj opcji Podział modułu polecania w module Split Data (Podział danych).

Wymagany zestaw danych klasyfikacji elementów użytkownika

Bardzo ważne jest, aby dane wejściowe używane do trenowania zawierały odpowiedni typ danych w poprawnym formacie:

  • Pierwsza kolumna musi zawierać identyfikatory użytkowników.
  • Druga kolumna musi zawierać identyfikatory elementów.
  • Trzecia kolumna zawiera klasyfikację pary użytkownik-element. Wartości klasyfikacji muszą być liczbowe lub podzielone na kategorii.

Podczas trenowania wartości klasyfikacji nie mogą być takie same. Ponadto, jeśli wartości liczbowe, różnica między minimalną i maksymalną wartością klasyfikacji musi być mniejsza niż 100, a najlepiej nie większa niż 20.

Zestaw danych klasyfikacji restauracji w programie Machine Learning Studio (wersja klasyczna) (kliknij pozycję Zapisane zestawy danych, a następnie pozycję Przykłady) pokazuje oczekiwany format:

userID placeID rating
U1077 135085 2
U1077 135038 2

W tym przykładzie widać, że jeden użytkownik ocenił dwie oddzielne restauracje.

Zestaw danych funkcji użytkownika (opcjonalnie)

Zestaw danych funkcji użytkownika musi zawierać identyfikatory użytkowników i używać tych samych identyfikatorów, które zostały podane w pierwszej kolumnie zestawu danych users-items-ratings. Pozostałe kolumny mogą zawierać dowolną liczbę funkcji opisujących użytkowników.

Aby uzyskać przykład, zobacz zestaw danych klienta restauracji w Machine Learning Studio (wersja klasyczna). Typowy zestaw funkcji użytkownika wygląda następująco:

userID Atmosferę Dress_preference transport Palacz
U1004 rodzina Nieformalne Stopka FALSE
U1005 Przyjaciele Brak preferencji Właściciel samochodu TRUE

Zestaw danych funkcji elementu (opcjonalnie)

Zestaw danych cech elementów musi zawierać identyfikatory elementów w pierwszej kolumnie. Pozostałe kolumny mogą zawierać dowolną liczbę opisowych cech elementów.

Aby uzyskać przykład, zobacz zestaw danych funkcji restauracji, który jest dostarczany w programie Machine Learning Studio (wersja klasyczna) (kliknij pozycję Zapisane zestawy danych, a następnie pozycję Przykłady). Typowy zestaw funkcji elementów (w tym przypadku element jest restauracji) może wyglądać tak:

placeID Alkoholu Smoking_area price Pamięć ramowa
135106 Wine-Beer brak Niskie rodzina
132667 No_Alcohol_Served Dozwolone średni Casual

Trenowanie modelu

  1. Dodaj moduł Modułu polecania train matchbox do eksperymentu w programie Studio (wersja klasyczna) i połącz go z danymi treningowym.

  2. Jeśli masz oddzielny zestaw danych z funkcjami użytkownika i/lub cechami elementów, połącz je z modułem Train Matchbox Recommender (Trenuj moduł rekomendacji matchbox).

    • Zestaw danych funkcji użytkownika: Połączenie zestaw danych, który opisuje użytkowników do drugich danych wejściowych.

    • Zestaw danych funkcji elementu: Połączenie zestaw danych, który opisuje elementy do trzeciego wejścia.

  3. W przypadku liczby partii trenowania wpisz liczbę partii do dzielenia danych podczas trenowania.

    Na podstawie tej wartości zestaw danych z triples klasyfikacji elementów użytkownika jest podzielony na wiele części lub partii podczas trenowania.

    Ponieważ program Train Matchbox Recommender uruchamia partie równolegle, zalecamy ustawienie liczby partii treningowych na liczbę dostępnych rdzeni, jeśli wszystkie dane szkoleniowe pasują do pamięci. W przeciwnym razie liczbę partii trenowania należy ustawić na najmniejszą wielokrotność liczby dostępnych rdzeni, dla których dane szkoleniowe mieszczą się w pamięci.

    Domyślnie dane szkoleniowe są dzielone na cztery (4) partie. Tylko zestaw danych z trzema punktami klasyfikacji elementów użytkownika jest podzielony. Funkcje użytkownika lub elementu nie są podzielone, ponieważ nie trzeba dzielić funkcji.

  4. W pozycji Liczba cech wpisz liczbę ukrytych cech, które powinny być poznane dla każdego użytkownika i elementu.

    Im większa liczba cech, tym dokładniejsze będą zwykle przewidywania; Jednak trenowania będą wolniejsze. Liczba cech zwykle należy do zakresu od 2 do 20.

  5. W przypadku pola Liczba iteracji algorytmu rekomendacji wskaż, ile razy algorytm ma przetwarzać dane wejściowe.

    Program polecający matchbox jest trenowany przy użyciu algorytmu przekazywania komunikatów, który może wielokrotnie iterować dane wejściowe. Im większa ta liczba, tym dokładniejsze są przewidywania; Jednak trenowania jest wolniejsze. Zazwyczaj liczba iteracji należy do zakresu od 1 do 10.

  6. Uruchom eksperyment lub wybierz tylko moduł modułu polecania train matchbox i wybierz pozycję Uruchom wybraną.

Przykłady

Przykłady sposobu, w jaki modele rekomendacji są używane w Machine Learning, można znaleźć w tych przykładowych eksperymentach w Azure AI Gallery:

Uwagi techniczne

Ta sekcja zawiera szczegóły implementacji, porady i odpowiedzi na często zadawane pytania.

Porady dotyczące użycia

  • Jeśli w kolumnie funkcji brakuje wartości, tryb brakujących wartości będzie używany jako zamiennik brakujących wartości.

  • Wszystkie funkcje użytkownika i elementu są ponownie skalowane, aby mieć długość jednostki, tak aby ich maksymalna wartość bezwzględna wynosi 1. Żadne tłumaczenie nie jest stosowane do wartości cech, aby zachować ich rozrzedność.

Ograniczenia

Aktualizacja online (lub ciągłe trenowanie) modelu rekomendacji nie jest obecnie obsługiwana w Machine Learning. Jeśli chcesz przechwytywać odpowiedzi użytkowników na zalecenia i używać ich do ulepszania modelu, zalecamy okresowe ponowne trenowanie kompletnego modelu. Trenowanie przyrostowe nie jest możliwe, ale można zastosować przesuwane okno do danych treningowych, aby zapewnić zminimalizowanie ilości danych przy użyciu najnowszych danych.

Szacowanie użycia pamięci przez polecający

16 * N\(4\T + 2\R) Obecnie dolna granica śladu pamięci pola dopasowania to bajty, gdzie N odnosi się do liczby trójkątów klasyfikacji elementów użytkownika w zestawie danych treningowych, T do liczby cech ukrytej i R do różnicy między klasyfikacją minimalną i maksymalną (w zestawie danych treningowych).

Rozmiar serializowanego modelu polecania matchbox 16 * T\(U\R + I + X + Y) jest w przybliżeniu bajtów, gdzie U odnosi się do liczby użytkowników, I do liczby elementów, X do liczby funkcji użytkownika i Y do liczby elementów funkcji.

Oczekiwane dane wejściowe

Nazwa Typ Opis
Zestaw danych treningowych trójzesłowych klasyfikacji elementów użytkownika Tabela danych Klasyfikacja elementów według użytkowników wyrażona jako trzykrotna (użytkownik, element, ocena)
Szkoleniowy zestaw danych funkcji użytkownika Tabela danych Zestaw danych zawierający funkcje opisujące użytkowników (opcjonalnie)
Trenowania zestawu danych funkcji elementów Tabela danych Zestaw danych zawierający funkcje opisujące elementy (opcjonalnie)

Parametry modułu

Nazwa Zakres Typ Domyślny Opis
Liczba cech >= 0 Liczba całkowita 10 Określ liczbę cech do użycia z modułem rekomendacji (opcjonalnie)
Liczba iteracji algorytmu rekomendacji >= 1 Liczba całkowita 5 Określ maksymalną liczbę iteracji do wykonania podczas trenowania modelu rekomendacji (opcjonalnie)
Liczba partii trenowania >= 1 Liczba całkowita 4 Określ liczbę partii trenowania do użycia z modułem rekomendacji (opcjonalnie)

Dane wyjściowe

Nazwa Typ Opis
Wytrenowany pomocnik matchbox ILearner, interfejs Wytrenowany pomocnik matchbox

Wyjątki

Wyjątek Opis
Błąd 0022 Wyjątek występuje, jeśli liczba wybranych kolumn w wejściowym zestawie danych nie jest równa oczekiwanej liczbie.
Błąd 0036 Wyjątek występuje, jeśli dla danego użytkownika lub elementu podano wiele wektorów cech.
Błąd 0018 Wyjątek występuje, jeśli wejściowy zestaw danych jest nieprawidłowy.
Błąd 0035 Wyjątek występuje, jeśli nie podano żadnych funkcji dla danego użytkownika lub elementu.
Błąd 0034 Wyjątek występuje, jeśli istnieje więcej niż jedna ocena dla danej pary elementów użytkownika.
Błąd 0053 Wyjątek występuje w przypadku, gdy nie ma żadnych funkcji użytkownika ani elementów rekomendacji pola dopasowania.
Błąd 0003 Wyjątek występuje, jeśli co najmniej jeden z danych wejściowych ma wartość null lub jest pusty.

Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kody błędów.

Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).

Zobacz też

Krzyżowe weryfikowanie modelu
Ocena modułu poleceń
Szkolenie
Score Matchbox Recommender