Jaccard benzerliği ve Cosine Benzerliği için uygulamalar ve farklılıklar


27

Jaccard benzerliği ve kosinüs benzerliği , ürün benzerliklerini karşılaştırırken çok yaygın iki ölçümdür. Ancak hangi durumda hangisinin diğerinden daha fazla olması gerektiği konusunda çok net değilim.

Birisi bu iki ölçümün (tanım veya hesaplamanın değil kavram ya da prensipteki farkın) ve bunların tercih edilen uygulamalarındaki farkları netleştirmeye yardımcı olabilir mi?

Yanıtlar:


19

Jaccard Benzerliği s i j = p tarafından verilir. sij=pp+q+r

nerede,

p = her iki nesne için de pozitif olan özelliklerin sayısı
q = i
için 1 ve j için 0'ın sayısı # r

ABAB

Basitçe söylemek gerekirse, kosinüs benzerliğine ortak özelliklerin sayısı, olası özelliklerin toplam sayısına bölünür. Oysa Jaccard Benzerliğinde, ortak özelliklerin sayısı, iki nesneden en az birinde bulunan özelliklerin sayısına bölünür.

Ve her biri kendi dış merkezli özelliklerine sahip birçok benzerlik ölçütü var. Hangisini kullanacağınıza karar verirken, birkaç temsili vakayı düşünmeye çalışın ve hedefinize ulaşmak için hangi endeksin en kullanışlı sonuçları vereceğini hesaplayın.

Cosine endeksi, intihal tanımlamak için kullanılabilir, ancak internetteki ayna sitelerini tanımlamak için iyi bir indeks olmayacaktır. Oysa, Jaccard endeksi, ayna sitelerini tanımlamak için iyi bir indeks olacak, ancak makarnalı intihal kopyalarını yakalamakta o kadar iyi değil (daha büyük bir belge içinde).

Bu endeksleri uygularken probleminizi iyice düşünmeli ve benzerliği nasıl tanımlayacağınızı bulmalısınız. Aklında bir tanım varsa, bir endeks için alışverişe gidebilirsiniz.

Düzenleme: Daha önce, bu cevapta yer alan ve sonuçta hatalı olan bir örnek vardı. Bunu belirten birkaç kullanıcı sayesinde hatalı örneği sildim.


2
Cosine endeksinin neden intihal tespit etmek için daha iyi olduğunu ve ayna alanlarını tespit etmek için neden iyi olmadığını açıklayabilir misiniz?
dharm0us

Bu cevabın bazı bölümlerinin sezgisel olmadığını hissediyorum. "Örneğin, her ikisi de 10 niteliğe sahip iki nesneniz varsa, olası 100 niteliğin dışında. Ayrıca, hepsinin ortak 10 niteliği vardır. Bu durumda, Jaccard dizini 1 olur ve kosinüs dizini 0,001 olur." Bu gibi bir şeye tercüme eder cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0]). Elbette, kosinüs benzerliği burada da 1 olacaktı; çünkü her iki ölçü de her iki vektörde sıfır olan öğeleri görmezden geliyor.
fsociety

1
Bu cevap kosinüs benzerliği ile ilgili yanlıştır, lütfen user18596
Robin

"Basitçe söylemek gerekirse, kosinüs benzerliğine, ortak özelliklerin sayısı toplam olası özelliklerin sayısına bölünür" -> bu tamamen yanlıştır. İşaret, vektör nokta ürünlerini ve normlarını tanımlar.
Sean Owen,

22

Yorum yapamam çünkü herhangi bir durumum yok, ancak kontrol edilen cevap yanlış, soruyu cevaplamıyor. ∥A∥, A'nın L2 normu, yani Euclid uzayındaki vektörün uzunluğu, vektörün A boyutsallığı anlamına gelir. Başka bir deyişle, 0 bit saymazsınız, 1 bit ekler ve kare kök. Bu yüzden, 100 uzunlukta bir vektörün 10 özniteliği örneği de yanlıştır. Maalesef hangi metriği kullanmanız gerektiğine dair gerçek bir cevabım yok, ancak yanlış cevabın sorgulanmasına izin veremem.


2
Tamamen haklısın. Bir çok insanın yanlış bir cevabı oylaması çok yazık. Wikipedia makalesinde tanımlandığı gibi kosinüs benzerliği, 0 bit dikkate almaz. en.wikipedia.org/wiki/Cosine_similarity
neelshiv

11

Jaccard benzerliği iki tip ikili durum için kullanılır:

  1. Simetrik, 1 ile 0 arasında eşit öneme sahip ise (cinsiyet, medeni durum, vb.)
  2. Asimetrik, burada 1 ve 0 farklı önem seviyelerine sahiptir (bir hastalık için pozitif test)

Kosinüs benzerliği genellikle metin madenciliği bağlamında belgeleri veya e-postaları karşılaştırmak için kullanılır. İki belge terim vektörü arasındaki kosinüs benzerliği daha yüksekse, her iki belgede ortak olarak daha fazla kelime vardır

Diğer bir fark ise 1 - Jaccard Katsayısı bir farklılık veya mesafe ölçüsü olarak kullanılabilir, oysa kosinüs benzerliği böyle bir yapıya sahip değildir. Benzer bir şey, taksonomide kullanılan Tonimoto mesafesidir.


Neden farklı bir önlem olarak sadece Jaccard kullanılabilir? Benim anlayış olduğunu cosinebir olduğunu farklı ama geçersiz ölçüsü.
javadba

3

Yukarıda belirtildiği gibi, kontrol edilen cevap yanlış.

Burada ve olan ikili vektörler, bunlar Let en nedenle setleri dikkate değer 1. endekslere kümeleri olarak yorumlanabilir ve .abAB

Jac kartı benzerliği

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

Cosine benzerliği daha sonra

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

Bazı karşılaştırmalar:

  • Buradaki payerler aynıdır.
  • Payda aritmetik olarakvejaccard içinde, fakat geometrik olarak kosinüs içinde.|A||B|
  • Kosinüsün paydası yalnızcave daki öğe sayısı . Kesişimlerine bağlı değildir.|A||B|

Vikram Venkat'ın belirttiği gibi, birinin diğerine tercih edilmesi gerektiği konusunda net bir sezgime henüz sahip değilim, 1 - Jaccard, kosinüsün aksine gerçek bir metriğe karşılık geliyor; ve kosinüs, doğal olarak gerçek değerli vektörlere uzanır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.