uczenie Maszynowe dla Systemów rekomendujących-Część 1 (algorytmy, ewaluacja i zimny start)

Pavel Kordík
Pavel Kordík

Obserwuj

Cze 3, 2018 · 7 min czytać

Systemy Recommender są jednym z najbardziej udanych i powszechnych zastosowań technologii uczenia maszynowego w biznesie. Było wiele osób na liście oczekujących, które nie mogły uczestniczyć w naszym mlmu talk więc dzielę slajdy i komentarze tutaj.

możesz zastosować systemy rekomendacji w scenariuszach, w których wielu użytkowników wchodzi w interakcję z wieloma elementami.

możesz znaleźć wielkoskalowe systemy Rekomendacyjne w handlu detalicznym, wideo na żądanie lub strumieniowe przesyłanie muzyki. Aby opracować i utrzymać takie systemy, Firma zazwyczaj potrzebuje grupy drogich analityków danych i inżynierów. Dlatego nawet duże korporacje, takie jak BBC, zdecydowały się na outsourcing swoich usług rekomendacyjnych.

nasza firma Recombinee ma siedzibę w Pradze i opracowuje uniwersalny zautomatyzowany silnik rekomendacji zdolny do dostosowania się do potrzeb biznesowych w wielu dziedzinach. Nasz silnik jest używany przez setki firm na całym świecie.

co zaskakujące, rekomendacja wiadomości lub filmów dla mediów, rekomendacja produktu lub personalizacja w podróży i handlu detalicznym mogą być obsługiwane przez podobne algorytmy uczenia maszynowego. Ponadto algorytmy te mogą być dostosowywane za pomocą naszego specjalnego języka zapytań w każdym żądaniu rekomendacji.

algorytmy uczenia maszynowego w systemach rekomendujących są zazwyczaj podzielone na dwie kategorie — metody filtrowania oparte na treści i oparte na współpracy, chociaż współcześni rekomendujący łączą oba podejścia. Metody oparte na treści opierają się na podobieństwie atrybutów elementów, a metody oparte na współpracy obliczają podobieństwo na podstawie interakcji. Poniżej omówimy głównie metody współpracy umożliwiające użytkownikom odkrywanie nowych treści odmiennych od elementów oglądanych w przeszłości.

metody współpracy działają z macierzą interakcji, którą można również nazwać macierzą ocen w rzadkich przypadkach, gdy użytkownicy zapewniają jednoznaczną ocenę elementów. Zadaniem uczenia maszynowego jest nauczenie się funkcji, która przewiduje użyteczność przedmiotów dla każdego użytkownika. Macierz jest zazwyczaj Ogromna, bardzo rzadka i brakuje większości wartości.

najprostszy algorytm oblicza cosinus lub korelację podobieństwa wierszy (użytkowników) lub kolumn (elementów) i zaleca elementy, które K — najbliżsi sąsiedzi korzystali.

metody oparte na faktoryzacji macierzy próbują zredukować wymiarowość macierzy oddziaływań i przybliżyć ją za pomocą dwóch lub więcej małych macierzy z elementami K utajonymi.

mnożąc odpowiedni wiersz i kolumnę, przewidujesz ocenę artykułu przez użytkownika. Błąd treningowy można uzyskać porównując niepuste oceny z przewidywanymi ocenami. Można również regulować straty treningowe, dodając okres karny, utrzymując wartości utajonych wektorów na niskim poziomie.

najpopularniejszym algorytmem treningowym jest stochastyczne obniżanie gradientu minimalizujące straty poprzez aktualizacje gradientu zarówno kolumn, jak i wierszy macierzy p A Q.

Alternatywnie, można użyć naprzemiennej metody najmniejszych kwadratów, która iteracyjnie optymalizuje macierz p i macierz q przez ogólny krok najmniejszych kwadratów.

Zasady Stowarzyszenia mogą być również wykorzystywane do rekomendacji. Elementy, które są często spożywane razem, są połączone krawędzią na wykresie. Możesz zobaczyć klastry bestsellerów (gęsto połączone elementy, z którymi prawie wszyscy wchodzili w interakcję) i małe oddzielone klastry niszowych treści.

reguły wydobyte z matrycy interakcji powinny mieć przynajmniej minimalne wsparcie i pewność siebie. Wsparcie jest związane z częstością występowania-implikacje bestsellerów mają wysokie poparcie. Wysoka pewność oznacza, że zasady nie są często łamane.

Zasady górnictwa nie są zbyt skalowalne. Algorytm APRIORI bada przestrzeń Stanów możliwych częstych zestawów elementów i eliminuje gałęzie przestrzeni wyszukiwania, które nie są częste.

częste zestawy elementów są używane do generowania reguł, a te reguły generują zalecenia.

jako przykład pokazujemy Zasady wyekstrahowane z transakcji bankowych w Republice Czeskiej. Węzły (interakcje) są terminalami, a krawędzie są częstymi transakcjami. Możesz polecić terminale bankowe, które są odpowiednie na podstawie wcześniejszych wypłat / płatności.

karanie popularnych przedmiotów i wyodrębnianie reguł długiego ogona przy niższym podparciu prowadzi do interesujących zasad, które urozmaicają rekomendacje i pomagają odkrywać nowe treści.

macierz ocen może być również skompresowana przez sieć neuronową. Tak zwany autoencoder jest bardzo podobny do faktoryzacji macierzy. Głębokie autoencodery, z wieloma ukrytymi warstwami i nieliniowościami są mocniejsze, ale trudniejsze do wytrenowania. Sieć neuronowa może być również używana do wstępnego przetwarzania atrybutów elementów, dzięki czemu możemy łączyć podejścia oparte na treści i oparte na współpracy.

pseudokod rekomendacji user-KNN top N podany jest powyżej.

reguły Asocjacji mogą być wydobywane przez wiele różnych algorytmów. Tutaj pokazujemy pseudokod rekomendacji Best-Rule.

pseudokod faktoryzacji macierzy podano powyżej.

we wspólnym uczeniu głębokim trenujesz faktoryzację macierzy jednocześnie z autoencoderem zawierającym Atrybuty elementów. Istnieje oczywiście o wiele więcej algorytmów, które można wykorzystać do rekomendacji, a w dalszej części prezentacji przedstawiono kilka metod opartych na uczeniu głębokim i wzmacniającym.

ocena polecających

rekomendacje można oceniać podobnie jak klasyczne modele uczenia maszynowego na danych historycznych (ewaluacja offline).

interakcje losowo wybranych użytkowników testujących są weryfikowane krzyżowo, aby oszacować wydajność rekomendującego na niewidocznych ocenach.

Root mean squared error (RMSE) jest nadal szeroko stosowany pomimo wielu badań wykazało, że RMSE jest słabym estymatorem wydajności online.

bardziej praktycznym środkiem oceny offline jest przypomnienie lub precyzyjna ocena procentu prawidłowo zalecanych pozycji (spośród zalecanych lub odpowiednich pozycji). DCG bierze również pod uwagę pozycję, zakładając, że znaczenie pozycji logarytmicznie maleje.

można użyć dodatkowej miary, która nie jest tak wrażliwa na odchylenia w danych offline. Pokrycie katalogu wraz z przypomnieniem lub precyzją mogą być wykorzystane do optymalizacji wielobiegunowej. Wprowadziliśmy parametry regularyzacji do wszystkich algorytmów pozwalających manipulować ich plastycznością i karać rekomendację popularnych elementów.

zarówno wycofanie, jak i zasięg powinny być zmaksymalizowane, dlatego kierujemy recommender ku dokładnym i zróżnicowanym rekomendacjom, umożliwiając użytkownikom odkrywanie nowych treści.

Zimny start i rekomendacja oparta na treści

czasami brakuje interakcji. Produkty zimnego rozruchu lub użytkownicy zimnego rozruchu nie mają wystarczającej liczby interakcji do wiarygodnego pomiaru podobieństwa interakcji, więc metody filtrowania oparte na współpracy nie generują zaleceń.

problem zimnego rozruchu można zmniejszyć, gdy bierze się pod uwagę podobieństwo atrybutów. Możesz zakodować atrybuty w wektorze binarnym i przekazać je do polecenia.

Elementy grupowane na podstawie podobieństwa interakcji i podobieństwa atrybutów są często wyrównywane.

sieć neuronowa umożliwia przewidywanie podobieństwa interakcji na podstawie podobieństwa atrybutów i odwrotnie.

istnieje wiele innych podejść, które pozwalają nam zmniejszyć problem zimnego rozruchu i poprawić jakość rekomendacji. W drugiej części naszego wykładu omówiliśmy techniki rekomendacji oparte na sesji, Głębokie rekomendacje, algorytmy ensembling i AutoML, które pozwalają nam uruchomić i zoptymalizować tysiące różnych algorytmów rekomendacji w produkcji.

Kontynuuj drugą część prezentacji omawiając głęboką rekomendację, Przewidywanie sekwencji, AutoML i uczenie się wzmacniające w rekomendacji.

lub sprawdź nasze Ostatnie aktualizacje w Recombee w 2019: nowe funkcje i ulepszenia.