Giải thích sự tương tự cosin tiêu cực


17

Câu hỏi của tôi có thể là một câu ngớ ngẩn. Vì vậy tôi sẽ xin lỗi trước.

Tôi đã cố gắng sử dụng mô hình GLOVE được đào tạo trước bởi nhóm Stanford NLP ( liên kết ). Tuy nhiên, tôi nhận thấy rằng kết quả tương tự của tôi cho thấy một số số âm.

Điều đó ngay lập tức nhắc tôi xem tập tin dữ liệu từ-vector. Rõ ràng, các giá trị trong vectơ từ được phép âm. Điều đó giải thích tại sao tôi thấy sự tương đồng cosine tiêu cực.

Tôi đã quen với khái niệm tương tự cosine của các vectơ tần số, có giá trị được giới hạn trong [0, 1]. Tôi biết một thực tế rằng sản phẩm chấm và chức năng cosine có thể dương hoặc âm, tùy thuộc vào góc giữa vectơ. Nhưng tôi thực sự có một thời gian khó hiểu và giải thích sự tương tự cosin tiêu cực này.

Ví dụ: nếu tôi có một cặp từ có độ tương tự -0.1, thì chúng có ít giống nhau hơn so với cặp khác có độ tương tự là 0,05 không? Làm thế nào về việc so sánh độ tương tự của -0,9 đến 0,8?

Hay tôi chỉ nên nhìn vào giá trị tuyệt đối của chênh lệch góc tối thiểu từ ? Giá trị tuyệt đối của điểm số?nπ

Rất rất cảm ơn.


1
Thẻ tương tự Cosine nói: An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.Sự khác biệt duy nhất giữa hai là ở độ lệch tương quan (khoảnh khắc) - đang được nhân chéo - là từ trung bình, trong khi ở độ lệch cosine là từ 0 ban đầu - nghĩa là chúng là các giá trị như chúng là .
ttnphns

2
(tt) Hiểu về hệ số dương hoặc âm là giống nhau trong cả hai trường hợp. Coef âm. có nghĩa là độ lệch / giá trị dương của một vectơ có xu hướng ghép với độ lệch / giá trị âm của vectơ khác. Cho dù điều này có nghĩa là các vectơ là "tương tự" hay trái lại "rất không giống nhau" phụ thuộc vào ý nghĩa của độ lệch / giá trị dương và âm trong dữ liệu, đối với bạn.
ttnphns

@ttnphns Cảm ơn bạn rất nhiều vì bình luận của bạn! Nó truyền cảm hứng cho tôi để suy nghĩ về sự tương tự cosin theo một cách mới. Trong trường hợp sử dụng của tôi, có lẽ tôi có thể coi đó là một sự khác biệt trong kết quả cuối cùng: nếu mối tương quan của Doc A và B là âm tính, và một tạp chí đơn phương X bao gồm Doc A, thì ít có khả năng X bao gồm B là tốt, từ một số xác suất có nghĩa. Liệu cách giải thích này có vẻ hợp lệ với bạn?
Mai

Tôi không dám nói vì tôi không biết dữ liệu của bạn, ý nghĩa của các giá trị trong đó và nghiên cứu của bạn.
ttnphns

Câu trả lời:


2

abθ

cos(θ)=ab||a||||b||

Vì giá trị nằm trong phạm vi :cos(θ)[1,1]

  • 1Giá trị sẽ chỉ ra các vectơ đối diện mạnh
  • 0 vectơ độc lập (trực giao)
  • 1 vectơ tương tự (đồng tuyến tính dương). Giá trị trung gian được sử dụng để đánh giá mức độ tương tự.

Ví dụ : Đặt hai người dùng và và sự tương đồng giữa hai người dùng này theo sở thích của họ đối với phim:U1U2sim(U1,U2)

  • sim(U1,U2)=1 nếu hai người dùng có cùng sở thích (hoặc nếu )U1=U2
  • sim(U1,U2)=0 nếu chúng tôi không tìm thấy mối tương quan giữa hai người dùng
  • sim(U1,U2)=1 nếu người dùng có sở thích trái ngược

0

Không sử dụng các giá trị tuyệt đối, vì dấu âm không phải là tùy ý. Để có được giá trị cosin trong khoảng từ 0 đến 1, bạn nên sử dụng hàm cosine sau:

(Mã R)

cos.sim <- function(a,b) 
{
  dot_product = sum(a*b)
  anorm = sqrt(sum((a)^2))
  bnorm = sqrt(sum((b)^2))
  minx =-1
  maxx = 1
  return(((dot_product/anorm*bnorm)-minx)/(maxx-minx))
} 

(Mã Python)

def cos_sim(a, b):
    """Takes 2 vectors a, b and returns the cosine similarity according 
to the definition of the dot product"""
    dot_product = np.dot(a, b)
    norm_a = np.linalg.norm(a)
    norm_b = np.linalg.norm(b)
    return dot_product / (norm_a * norm_b)

minx = -1 
maxx = 1

cos_sim(row1, row2)- minx)/(maxx-minx)
```

Nơi nào bạn đặt minx và maxx? Bạn có thể áp dụng chuẩn hóa tối thiểu này cho kích thước vectơ, thay vì khoảng cách tính toán.
emre có thể

0

Sự tương đồng của Cosine cũng giống như tương quan Pearson, nhưng không loại trừ các phương tiện. Vì vậy, bạn có thể so sánh cường độ tương đối của 2 điểm tương đồng cosin bằng cách xem xét các giá trị tuyệt đối, giống như cách bạn so sánh các giá trị tuyệt đối của 2 tương quan Pearson.


0

Đúng là sự tương tự cosine giữa các vectơ tần số không thể âm vì số từ không thể âm, nhưng với từ nhúng (chẳng hạn như găng tay), bạn có thể có các giá trị âm.

Một cái nhìn đơn giản về cấu trúc nhúng Word như sau: Bạn gán mỗi từ cho một vectơ ngẫu nhiên trong R ^ d. Tiếp theo, hãy chạy trình tối ưu hóa để cố gắng đẩy hai vectơ tương tự v1 và v2 gần nhau hoặc lái hai vectơ khác nhau v3 và v4 cách xa nhau (theo khoảng cách, ví dụ như cosine). Bạn chạy tối ưu hóa này cho đủ số lần lặp và cuối cùng, bạn có các từ được nhúng với tiêu chí duy nhất là các từ tương tự có các vectơ gần hơn và các vectơ khác nhau cách xa nhau hơn. Kết quả cuối cùng có thể khiến bạn có một số giá trị thứ nguyên là âm và một số cặp có độ tương tự cosin âm - đơn giản vì quá trình tối ưu hóa không quan tâm đến tiêu chí này. Nó có thể đã đưa một số vectơ vào các giá trị âm. Kích thước của vectơ không tương ứng với đếm từ,

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.