Systemy rekomendacyjne – User-Based and Item-Based Collaborative Filtering

To jest część 2 mojej serii o systemach rekomendacyjnych. Ostatni post był wprowadzeniem do RecSys. Dzisiaj wyjaśnię bardziej szczegółowo trzy rodzaje filtrowania kolaboracyjnego: User-Based Collaborative Filtering (UB-CF) oraz Item-Based Collaborative Filtering (IB-CF).

Zacznijmy.

Wyobraźmy sobie, że chcemy polecić film naszemu przyjacielowi Stanleyowi. Możemy założyć, że podobne osoby będą miały podobny gust. Załóżmy, że ja i Stanley widzieliśmy te same filmy i oceniliśmy je wszystkie prawie tak samo. Ale Stanley nie widział „Ojca chrzestnego: Część II”, a ja tak. Jeśli ja uwielbiam ten film, to logiczne jest, że on też to zrobi. W ten sposób stworzyliśmy sztuczną ocenę opartą na naszym podobieństwie.

Dobrze, UB-CF używa tej logiki i poleca przedmioty poprzez znalezienie podobnych użytkowników do aktywnego użytkownika (któremu próbujemy polecić film). Szczególnym zastosowaniem tego jest algorytm Nearest Neighbor oparty na użytkowniku. Algorytm ten wymaga wykonania dwóch zadań:

1.Znajdź K-najbliższych sąsiadów (KNN) użytkownika a, używając funkcji podobieństwa w do pomiaru odległości między każdą parą użytkowników:

2.Przewidujemy ocenę, jaką użytkownik a wystawi wszystkim pozycjom, które spożyli jego sąsiedzi k, a których użytkownik a nie spożywał. Szukamy elementu j z najlepszą przewidywaną oceną.

Innymi słowy, tworzymy Macierz Użytkownik-Item, przewidując oceny przedmiotów, których aktywny użytkownik nie widział, na podstawie innych podobnych użytkowników. Technika ta jest oparta na pamięci.

Wypełnianie pustych miejsc

PROS:

  • Łatwe do zaimplementowania.
  • Niezależna od kontekstu.
  • W porównaniu z innymi technikami, takimi jak content-based, jest dokładniejsza.

CONS:

  • Sparsity: Odsetek osób, które oceniają przedmioty jest naprawdę niski.
  • Skalowalność: Im więcej K sąsiadów weźmiemy pod uwagę (pod pewnym progiem), tym lepsza powinna być moja klasyfikacja. Niemniej jednak, im więcej użytkowników jest w systemie, tym większy będzie koszt znalezienia najbliższych K sąsiadów.
  • Cold-start: Nowi użytkownicy nie będą mieli żadnych lub niewiele informacji o nich, aby można było ich porównać z innymi użytkownikami.
  • Nowy element: Podobnie jak w ostatnim punkcie, nowym elementom będzie brakowało ocen, aby stworzyć solidny ranking (Więcej o tym w 'Jak sortować i szeregować elementy’).

Item-Based Collaborative Filtering (IB-CF)

Back to Stanley. Zamiast skupiać się na jego przyjaciołach, moglibyśmy skupić się na tym, które pozycje ze wszystkich opcji są bardziej podobne do tego, co wiemy, że lubi. To nowe skupienie znane jest jako Item-Based Collaborative Filtering (IB-CF).

Możemy podzielić IB-CF na dwa pod-zadania:

1.Obliczanie podobieństwa między elementami:

  • Cosine-Based Similarity
  • Correlation-Based Similarity
  • Adjusted Cosine Similarity
  • 1-Jaccard distance

2.Calculation of Prediction:

  • Weighted Sum
  • Regression

Różnica pomiędzy UB-CF a tą metodą polega na tym, że w tym przypadku bezpośrednio wstępnie obliczamy podobieństwo pomiędzy współocenianymi elementami, pomijając wyszukiwanie K-neighborhood.

Slope One

Slope One jest częścią rodziny Item-Based Collaborative Filtering, wprowadzoną w pracy Daniela Lemire i Anny Maclachlan z 2005 roku o nazwie Slope One Predictors for Online Rating-Based Collaborative Filtering.

Główna idea tego modelu jest następująca:

Załóżmy, że mamy dwóch różnych użytkowników: A i B. Ponadto mamy przedmiot I i przedmiot J. Użytkownik A ocenił przedmiot I na 1 gwiazdkę, a przedmiot J na 1,5. Jeśli użytkownik B ocenił przedmiot I z 2. Możemy przyjąć założenie, że różnica między oboma przedmiotami będzie taka sama jak użytkownika A. Mając to na uwadze, użytkownik B oceniłby przedmiot J jako: 2+ (1,5-1) = 2,5

Główna idea stojąca za Slope One

Autorzy skupiają się na 5 celach:
1. Łatwy do wdrożenia i utrzymania.
2. Aktualizowalny online: nowe oceny powinny szybko zmieniać przewidywania.
3. Wydajny w czasie konsultacji: przechowywanie jest głównym kosztem.
4. Działa z niewielką ilością informacji zwrotnych od użytkowników.
5. Rozsądnie dokładny, w pewnych zakresach, w których niewielki przyrost dokładności nie oznacza wielkiego poświęcenia prostoty i skalowalności.

Recap

Widzieliśmy User-Based i Item-Based Collaborative Filtering. Pierwszy z nich skupia się na wypełnianiu macierzy użytkownik-pozycja i rekomendowaniu w oparciu o użytkowników bardziej podobnych do aktywnego użytkownika. Z drugiej strony, IB-CF wypełnia macierz Item-Item i rekomenduje w oparciu o podobne elementy.

Trudno jest krótko wyjaśnić wszystkie te tematy, ale ich zrozumienie jest pierwszym krokiem do zagłębienia się w RecSys.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.