Các ứng dụng và sự khác biệt cho sự tương đồng của Jaccard và Tương tự Cosine


27

Độ tương tự của Jaccard và độ tương tự cosine là hai phép đo rất phổ biến trong khi so sánh độ tương tự của vật phẩm. Tuy nhiên, tôi không rõ lắm trong tình huống nào nên ưu tiên hơn một tình huống khác.

Ai đó có thể giúp làm rõ sự khác biệt của hai phép đo này (sự khác biệt về khái niệm hoặc nguyên tắc, không phải định nghĩa hoặc tính toán) và các ứng dụng ưa thích của chúng?

Câu trả lời:


19

Độ tương tự của Jaccard được cho bởi Stôij= =pp+q+r

Ở đâu,

p = # thuộc tính dương cho cả hai đối tượng
q = # thuộc tính 1 cho i và 0 cho j
r = # thuộc tính 0 cho i và 1 cho j

MộtBMộtB

Nói một cách đơn giản, trong độ tương tự cosine, số lượng thuộc tính phổ biến được chia cho tổng số thuộc tính có thể. Trong khi ở Jaccard Tương tự, số lượng thuộc tính phổ biến được chia cho số lượng thuộc tính tồn tại trong ít nhất một trong hai đối tượng.

Và có nhiều biện pháp tương tự khác, mỗi biện pháp có độ lệch tâm riêng. Khi quyết định sử dụng cái nào, hãy thử nghĩ về một vài trường hợp đại diện và tìm ra chỉ số nào sẽ cho kết quả khả dụng nhất để đạt được mục tiêu của bạn.

Chỉ số Cosine có thể được sử dụng để xác định đạo văn, nhưng sẽ không phải là một chỉ số tốt để xác định các trang web phản chiếu trên internet. Trong khi chỉ số Jaccard, sẽ là một chỉ mục tốt để xác định các trang web phản chiếu, nhưng không tuyệt vời trong việc bắt bản sao đạo văn (trong một tài liệu lớn hơn).

Khi áp dụng các chỉ số này, bạn phải suy nghĩ kỹ về vấn đề của mình và tìm ra cách xác định độ tương tự. Khi bạn có một định nghĩa trong đầu, bạn có thể đi mua sắm cho một chỉ mục.

Chỉnh sửa: Trước đó, tôi đã có một ví dụ bao gồm trong câu trả lời này, cuối cùng không chính xác. Nhờ một số người dùng đã chỉ ra rằng, tôi đã loại bỏ ví dụ sai lầm.


2
bạn có thể giải thích tại sao chỉ số Cosine tốt hơn để xác định đạo văn và không tốt cho việc xác định các trang web nhân bản?
dharm0us

Tôi cảm thấy như một số phần của câu trả lời này là không trực quan. "Ví dụ: nếu bạn có hai đối tượng với cả 10 thuộc tính, trong số 100 thuộc tính có thể. Hơn nữa, chúng có tất cả 10 thuộc tính chung. Trong trường hợp này, chỉ số Jaccard sẽ là 1 và chỉ số cosine sẽ là 0,001." Điều này sẽ dịch sang một cái gì đó như cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0]). Tất nhiên, độ tương tự cosin cũng sẽ là 1 ở đây, vì cả hai số đo đều bỏ qua các phần tử bằng 0 trong cả hai vectơ.
fsociety

1
Câu trả lời này là sai về sự giống nhau của cosin, vui lòng xem xét câu trả lời của người dùng18596
Robin

"Nói một cách đơn giản, trong độ tương tự cosine, số lượng thuộc tính phổ biến được chia cho tổng số thuộc tính có thể" -> điều này hoàn toàn không chính xác. Ký hiệu xác định các sản phẩm và chỉ tiêu chấm vector.
Sean Owen

22

Tôi không thể nhận xét vì tôi không có bất kỳ trạng thái nào, nhưng câu trả lời được kiểm tra là sai, cũng như không trả lời câu hỏi. A∥ có nghĩa là chỉ tiêu L2 của A, tức là độ dài của vectơ trong không gian Euclide, không phải là chiều của vectơ A. Nói cách khác, bạn không đếm 0 bit, bạn cộng 1 bit và lấy căn bậc hai. Vì vậy, ví dụ về 10 thuộc tính của vectơ 100 độ dài cũng sai. Xin lỗi tôi không có câu trả lời thực sự khi nào bạn nên sử dụng số liệu nào, nhưng tôi không thể để câu trả lời sai được bỏ qua.


2
Bạn hoàn toàn đúng. Thật xấu hổ khi rất nhiều người đang bỏ phiếu trả lời sai. Độ tương tự cosine, như được mô tả trong bài viết trên wikipedia, không tính đến 0 bit. vi.wikipedia.org/wiki/Cosine_similarity
neelshiv

11

Độ tương tự của Jaccard được sử dụng cho hai loại trường hợp nhị phân:

  1. Đối xứng, trong đó 1 và 0 có tầm quan trọng như nhau (giới tính, tình trạng hôn nhân, v.v.)
  2. Không đối xứng, trong đó 1 và 0 có mức độ quan trọng khác nhau (xét nghiệm dương tính với bệnh)

Sự tương tự cosine thường được sử dụng trong bối cảnh khai thác văn bản để so sánh các tài liệu hoặc email. Nếu độ tương tự cosin giữa hai vectơ thuật ngữ tài liệu cao hơn, thì cả hai tài liệu đều có số lượng từ nhiều hơn

Một điểm khác biệt nữa là 1 - Hệ số Jaccard có thể được sử dụng như một thước đo độ khác nhau hoặc khoảng cách, trong khi độ tương tự cosin không có cấu trúc như vậy. Một điều tương tự là khoảng cách Tonimoto, được sử dụng trong phân loại học.


Tại sao chỉ có Jaccard có thể được sử dụng như một biện pháp không giống nhau? Hiểu biết của tôi cosinelà một biện pháp khác nhau nhưng không hợp lệ.
javadba

3

Như đã lưu ý ở trên, câu trả lời được kiểm tra là sai.

mộtbMộtB .

J(Một,B)= =|MộtB||MộtB|= =|MộtB||MộtB|+|Một-B|+|B-Một|

C(Một,B)= =|MộtB||Một||B|= =|MộtB|(|MộtB|+|Một-B|)(|MộtB|+|B-Một|)

Một số so sánh:

  • Các tử số ở đây là như nhau.
  • |Một||B|
  • |Một||B|

Tôi chưa có một trực giác rõ ràng về nơi mà một người nên được ưu tiên hơn người khác, ngoại trừ điều đó, như Vikram Venkat lưu ý, 1 - Jaccard tương ứng với một số liệu thực sự, không giống như cosin; và cosine tự nhiên mở rộng đến các vectơ có giá trị thực.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.