Aby zlikwidować niektóre ograniczenia filtrowania na podstawie treści, filtrowanie oparte na współpracy wykorzystuje podobieństwa użytkowników elementów jednocześnie, by wyświetlać rekomendacje. Dzięki temu losowych rekomendacji, czyli filtrowania z wykorzystaniem współpracy modele mogą polecić użytkownikowi A produkt na podstawie zainteresowań podobny użytkownik B. Wektory dystrybucyjne są też możliwe automatycznie, bez konieczności ręcznego opracowywania funkcji.
Przykład rekomendacji filmu
Rozważmy system rekomendacji filmów, w którym dane treningowe macierzy opinii, w której:
- Każdy wiersz odpowiada użytkownikowi.
- Każda kolumna reprezentuje element (film).
Opinie na temat filmów można podzielić na jedną z dwóch kategorii:
- Dla pełnoletnich – użytkownicy określają, jak bardzo podoba im się dany film. podając ocenę liczbową.
- Pośredni – jeśli użytkownik ogląda film, system twierdzi, że jest zainteresowany.
W celu uproszczenia założymy, że macierz sprzężenia zwrotnego jest binarna. czyli wartość wynosi 1 wskazuje zainteresowanie filmem.
Gdy użytkownik odwiedza stronę główną, system powinien polecać filmy na podstawie:
- podobieństwo do filmów, które użytkownik polubił w przeszłości;
- filmy polubione przez podobnych użytkowników
Żeby tylko pokazać, narysujmy ręcznie niektóre funkcje opisane w poniższej tabeli:
Film | Ocena | Opis |
---|---|---|
Mroczny rycerz powstaje | PG-13 | Batman próbuje ocalić Gotham City przed zagładą nuklearną w tej kontynuacji Mroczny rycerz, Rozgrywające się w Dystrykcie Kolumbii Świat komiksów. |
Harry Potter i kamień filozoficzny | PG | Osierocony chłopiec odkrywa, że jest czarodziejem, i zapisuje się Szkoła Hogwartu Czary i czarodzieje, w których toczy swoją pierwszą walkę złego Lorda Voldemorta. |
Shrek | PG | Uroczy ogr i jego pomocnik na osiołku wyruszają na misję aby uratować księżniczkę Edowię, uwięziona przez smoka w swoim zamku. |
Trójkąty w Belleville | PG-13 | Kiedy zawodowy zawodowiec Champion zostaje porwany Tour de France, babcia z psem z nadwagą wyruszyła w podróż za granicę, aby go uratować. z pomocą trójki starszych piosenkarzy jazzowych. |
Memento | R | Amnezjatyk rozpaczliwie próbuje rozwiązać śmierć żony przez tatuowanie wskazówek na ciele. |
Umieszczanie 1D
Załóżmy, że do każdego filmu przypisujemy wartość skalarną \([-1, 1]\) , która opisuje czy film jest przeznaczony dla dzieci (wartości ujemne), czy dla dorosłych (wartości dodatnie). Załóżmy, że każdemu użytkownikowi przypiszemy też wartość skalarną \([-1, 1]\) , która opisuje zainteresowanie filmem dla dzieci (bliższym niż -1) lub filmami dla dorosłych. (bliżej przycisku +1). Iloczyn filmu i użytkownika w przypadku filmów, w których użytkownik powinien umieścić film, powinien znajdować się na wyższym poziomie (bliżej 1). polubić.
Każdy znacznik wyboru na poniższym schemacie wskazuje film, który oglądanych przez użytkownika. Trzeci i czwarty użytkownik ma preferencje, które są dobrze wyjaśniono tę funkcję – trzeci użytkownik preferuje filmy dla dzieci. a czwarty preferuje filmy dla dorosłych. Jednak pierwsze i drugie użytkowników nie są dobrze wyjaśnione przez tę pojedynczą funkcję.
Umieszczanie 2D
Jedna funkcja nie wystarczyła, aby wyjaśnić preferencje wszystkich użytkowników. Do pokonania do tego problemu, dodajmy drugą cechę: stopień, w jakim każdy film jest przebojowego hitu lub filmu studyjnego. Dzięki drugiej funkcji możemy teraz reprezentować każdy film o następującym, dwuwymiarowym osadzeniu:
Umieszczamy naszych użytkowników ponownie w tym samym miejscu, by wyjaśnić, macierz opinii: w każdej parze (użytkownik, element) iloczyn skalarny umieszczania elementu oraz elementu służącego do jego zamknięcia na 1, gdy użytkownik obejrzał film, i na 0, jeśli użytkownik obejrzał film.
W tym przykładzie ręcznie opracowaliśmy wektory dystrybucyjne. W praktyce wektory dystrybucyjne można nauczyć się automatycznie, dzięki czemu możliwe jest filtrowanie oparte na współpracy. modeli ML. W kolejnych 2 sekcjach omówimy różne modele, aby poznać oraz jak je trenować.
Takie podejście dało się zauważyć, gdy model uczył się wektory dystrybucyjne. Załóżmy, że wektory dystrybucyjne dla filmów są stałe. Następnie: model może nauczyć się wektora dystrybucyjnego, aby użytkownicy mogli jak najlepiej wyjaśnić swoje preferencje. W efekcie osadzone grupy użytkowników o podobnych preferencjach będą znajdować się blisko siebie. Podobnie jeśli wektory dystrybucyjne dla użytkowników są stałe, możemy nauczyć się wektorów dystrybucyjnych filmów, aby jak najlepiej wyjaśnić macierz sprzężenia zwrotnego. W rezultacie reprezentacje filmów polubionych przez podobnych użytkowników zostaną wycofane w obszarze osadzania.