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?

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.


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.


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.