Różnica rekomendacji oparta na przedmiotach i użytkownikach w Mahout

15

Chciałbym wiedzieć, w jaki sposób rekomendacje oparte na użytkownikach Mahoutu i na produktach różnią się od siebie.

Określa to

Oparte na użytkownikach : polecaj przedmioty, znajdując podobnych użytkowników. Jest to często trudniejsze do skalowania ze względu na dynamiczny charakter użytkowników.

Oparte na elementach : oblicz podobieństwo między elementami i przygotuj rekomendacje. Przedmioty zwykle niewiele się zmieniają, więc często można to obliczyć offline.

Ale chociaż istnieją dwa rodzaje rekomendacji, rozumiem, że oba przyjmą jakiś model danych (powiedzmy 1,2 lub 1,2, .5 jako item1, item2, wartość lub użytkownik1, użytkownik2, wartość, gdzie wartość nie jest obowiązkowe) i wykona wszystkie obliczenia jako wybraną przez nas miarę podobieństwa i wbudowaną funkcję rekomendatora i możemy uruchomić zarówno rekomendacje oparte na użytkowniku / elemencie na tych samych danych (czy to prawidłowe założenie?).

Chciałbym więc wiedzieć, jak dokładnie i pod jakim względem wszystkie te dwa algorytmy różnią się.

Sreejithc321
źródło

Odpowiedzi:

11

Masz rację, że oba modele działają bez problemu na tych samych danych. Oba elementy działają na matrycy ocen elementów użytkownika.

W podejściu opartym na użytkownikach algorytm tworzy ocenę elementu iprzez użytkownika u, łącząc oceny innych użytkowników u'podobnych do u. Podobne tutaj oznacza, że ​​oceny dwóch użytkowników mają wysoką korelację Pearsona lub podobieństwo cosinusowe lub coś podobnego.

W podejściu poz oparte produkujemy rating iprzez upatrząc na zestaw przedmiotów i', które są podobne do i(w takim samym znaczeniu jak wyżej, z wyjątkiem teraz chcemy być patrząc na ocenie, że przedmioty które otrzymały od użytkowników), które uzostały ocenione a następnie łączy oceny według przez uz i'przewidywaną oceną według udla i.

Podejście oparte na przedmiotach zostało wynalezione na Amazon ( http://dl.acm.org/citation.cfm?id=642471 ), aby sprostać wyzwaniom związanym z ich skalą dzięki filtrowaniu opartemu na użytkownikach. Liczba rzeczy, które sprzedają, jest znacznie mniejsza i znacznie mniej dynamiczna niż liczba użytkowników, więc podobieństwa między przedmiotami i przedmiotami można obliczyć offline i uzyskać do nich dostęp w razie potrzeby.

mrmcgreg
źródło
21

Algorytm oparty na elementach

for every item i that u has no preference for yet

  for every item j that u has a preference for

    compute a similarity s between i and j

    add u's preference for j, weighted by s, to a running average

 return the top items, ranked by weighted average

Algorytm użytkownika

for every item i that u has no preference for yet

 for every other user v that has a preference for i

   compute a similarity s between u and v

   add v's preference for i, weighted by s, to a running average

 return the top items, ranked by weighted average

Przedmiot vs Użytkownik:

1) Rekomendatorzy skalują się według liczby elementów lub użytkowników, z którymi muszą sobie poradzić, więc istnieją scenariusze, w których każdy typ może osiągać lepsze wyniki niż inne

2) Szacunki podobieństwa między pozycjami są bardziej prawdopodobne w czasie niż podobieństwa między użytkownikami

3) Możemy obliczać i buforować podobieństwa, które są zbieżne, co może dawać rekomendującym opartym na pozycjach przewagę wydajności

4) Polecający na podstawie przedmiotu zaczynają się od listy preferowanych przez użytkownika przedmiotów, dlatego nie potrzebują najbliższego sąsiedztwa z przedmiotami, tak jak polecający na podstawie

SRS
źródło
Uczciwe ostrzeżenie: Linki nie są akceptowane jako odpowiedzi na tej stronie. Polecam edytowanie lub usuwanie, zanim pojawi się jakaś opinia!
sheldonkreger
1
najprawdopodobniej w literaturze „algorytm użytkownika” występuje literówka - czwarty wiersz powinien zaczynać się od „dodaj preferencje użytkownika do ...”
Bernardo Aflalo
@BernardoAflalo Nie sądzę, że to literówka, dodajesz preferencje dla całego v, a następnie bierzesz średnią ważoną
Oswald