Zastosowania i różnice dla podobieństwa Jaccard i podobieństwa Cosinus

27

Podobieństwo Jaccard i podobieństwo cosinus są dwoma bardzo częstymi pomiarami przy porównywaniu podobieństw między przedmiotami. Nie jestem jednak do końca jasne, w jakiej sytuacji najlepiej wybrać inną.

Czy ktoś może wyjaśnić różnice między tymi dwoma pomiarami (różnica w koncepcji lub zasadzie, a nie w definicji lub obliczeniach) i ich preferowane zastosowania?

shihpeng
źródło

Odpowiedzi:

19

Jaccard Podobieństwo podaje sij=pp+q+r

gdzie,

p = liczba atrybutów dodatnia dla obu obiektów
q = liczba atrybutów 1 dla i i 0 dla j
r = liczba atrybutów 0 dla i i 1 dla j

Natomiast podobieństwo kosinusowe = ABAB gdzie A i B są wektorami obiektów.

Mówiąc prosto, w podobieństwie do kosinusa, liczba wspólnych atrybutów jest dzielona przez całkowitą liczbę możliwych atrybutów. Natomiast w podobieństwie Jaccard liczba wspólnych atrybutów jest dzielona przez liczbę atrybutów, które istnieją w co najmniej jednym z dwóch obiektów.

I istnieje wiele innych miar podobieństwa, z których każda ma swoje dziwactwa. Przy podejmowaniu decyzji, którego użyć, spróbuj pomyśleć o kilku reprezentatywnych przypadkach i ustal, który indeks dałby najbardziej użyteczne wyniki dla osiągnięcia twojego celu.

Indeks Cosinus może być użyty do zidentyfikowania plagiatu, ale nie będzie dobrym indeksem do identyfikacji stron lustrzanych w Internecie. Podczas gdy indeks Jaccard będzie dobrym indeksem do identyfikacji witryn lustrzanych, ale nie będzie tak świetny w łapaniu plagiatów makaronów (w większym dokumencie).

Stosując te wskaźniki, musisz dokładnie przemyśleć swój problem i wymyślić, jak zdefiniować podobieństwo. Kiedy masz już na myśli definicję, możesz zacząć kupować indeks.

Edycja: Wcześniej w odpowiedzi znalazłem przykład, który był ostatecznie niepoprawny. Dzięki kilku użytkownikom, którzy to zauważyli, usunąłem błędny przykład.

saq7
źródło
2
czy mógłbyś wyjaśnić, dlaczego indeks Cosinus jest lepszy do identyfikowania plagiatu, a nie jest dobry do identyfikowania witryn lustrzanych?
dharm0us
Wydaje mi się, że niektóre części tej odpowiedzi nie są intuicyjne. „Na przykład, jeśli masz dwa obiekty, każdy z 10 atrybutami, z możliwych 100 atrybutów. Ponadto mają one wszystkie wspólne 10 atrybutów. W tym przypadku indeks Jaccard będzie wynosił 1, a indeks cosinus będzie wynosił 0,001.” To by się tłumaczyło na coś takiego cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0]). Oczywiście, podobieństwo cosinus również byłoby tutaj 1, ponieważ obie miary ignorują te elementy, które są zerowe w obu wektorach.
fsociety,
1
Ta odpowiedź jest niepoprawna w kwestii podobieństwa cosinusów, proszę wziąć pod uwagę odpowiedź użytkownika user18596
Robin
„Mówiąc prosto, w podobieństwie do kosinusa, liczba wspólnych atrybutów jest dzielona przez całkowitą liczbę możliwych atrybutów” -> jest to całkowicie niepoprawne. Notacja określa produkty i normy kropek wektorowych.
Sean Owen
23

Nie mogę komentować, ponieważ nie mam żadnego statusu, ale sprawdzona odpowiedź jest zła, a także nie odpowiada na pytanie. „A” oznacza normę L2 dla A, tj. Długość wektora w przestrzeni euklidesowej, a nie wymiarowość wektora A. Innymi słowy, nie liczysz 0 bitów, dodajesz 1 bit i bierzesz pierwiastek kwadratowy. Dlatego też przykład 10 atrybutów wektora o długości 100 jest błędny. Przykro mi, ale nie mam prawdziwej odpowiedzi na pytanie, kiedy powinieneś użyć której metryki, ale nie mogę po prostu pozwolić, aby niepoprawna odpowiedź pozostała niekwestionowana.

użytkownik18596
źródło
2
Masz całkowitą rację. Szkoda, że ​​tak wiele osób głosuje na błędną odpowiedź. Podobieństwo cosinus, jak opisano w artykule na Wikipedii, nie uwzględnia 0 bitów. en.wikipedia.org/wiki/Cosine_similarity
neelshiv
11

Podobieństwo Jaccard stosuje się w dwóch typach przypadków binarnych:

  1. Symetryczny, gdzie 1 i 0 mają równe znaczenie (płeć, stan cywilny itp.)
  2. Asymetryczny, gdzie 1 i 0 mają różne poziomy ważności (pozytywny wynik testu na chorobę)

Podobieństwo cosinus jest zwykle używane w kontekście eksploracji tekstu do porównywania dokumentów lub wiadomości e-mail. Jeśli podobieństwo cosinusów między dwoma wektorami terminów dokumentu jest wyższe, wówczas oba dokumenty mają większą liczbę wspólnych słów

Inna różnica to 1 - Współczynnik Jaccarda może być stosowany jako miara podobieństwa lub odległości, podczas gdy podobieństwo kosinusowe nie ma takich konstrukcji. Podobną rzeczą jest odległość Tonimoto, która jest używana w taksonomii.

Vikram Venkat
źródło
Dlaczego tylko Jaccard może być stosowany jako środek odmienny? Rozumiem, że cosinejest to inny, ale nie nieważny środek.
javadba
3

Jak wspomniano powyżej, sprawdzona odpowiedź jest nieprawidłowa.

Gdzie i są binarne wektory, mogą być interpretowane jako zestawy wskaźników o wartości 1. Powiedzmy zatem rozważyć zestawy i .abAB

Podobieństwo Jaccarda podaje

J(A,B)=|AB||AB|=|AB||AB|+|AB|+|BA|

Cosinus podobieństwo jest następnie podane przez

C(A,B)=|AB||A||B|=|AB|(|AB|+|AB|)(|AB|+|BA|)

Niektóre porównania:

  • Liczniki tutaj są takie same.
  • Mianownik rośnie arytmetycznie wraz z rozmiaremiw jaccard, ale geometrycznie w cosinusie.|A||B|
  • Mianownik cosinusa zależy tylko od liczby pozycji woraz liczba pozycji w. To nie zależy od ich skrzyżowania.|A||B|

Nie mam jeszcze jasnej intuicji co do tego, który z nich powinien być preferowany, z wyjątkiem tego, jak zauważył Vikram Venkat, 1 - Jaccard odpowiada prawdziwej metryki, w przeciwieństwie do cosinusa; a cosinus naturalnie rozciąga się na wektory o wartościach rzeczywistych.

joeln
źródło