Negatif kosinüs benzerliğini yorumlama


17

Benim sorum aptalca olabilir. Bu yüzden önceden özür dilerim.

Stanford NLP grubu ( link ) tarafından önceden eğitilmiş GLOVE modelini kullanmaya çalışıyordum . Ancak, benzerlik sonuçlarımın bazı negatif sayılar gösterdiğini fark ettim.

Bu, hemen sözcük-vektör veri dosyasına bakmamı istedi. Görünüşe göre, sözcük vektörlerindeki değerlerin negatif olmasına izin verildi. Bu neden olumsuz kosinüs benzerlikleri gördüğümü açıkladı.

Değerleri [0, 1] 'de sınırlı olan frekans vektörlerinin kosinüs benzerliği kavramına alışkınım. Nokta ürün ve kosinüs fonksiyonunun vektör arasındaki açıya bağlı olarak pozitif veya negatif olabileceğini biliyorum. Ama bu olumsuz kosinüs benzerliğini anlamak ve yorumlamakta gerçekten zorlanıyorum.

Örneğin, -0.1 benzerliği veren bir çift kelimem varsa, benzerlikleri 0.05 olan başka bir çiftten daha az benzerler mi? -0.9 ile 0.8 arasındaki benzerliği karşılaştırmaya ne dersiniz?

Yoksa minimum açı farkının mutlak değerine bakmalı mıyım? Skorların mutlak değeri?nπ

Çok çok teşekkürler.


1
Kosinüs benzerlik etiketi diyor ki: An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.İkisi arasındaki tek fark, korelasyon sapmalarında (anlar) - çapraz çarpılan - ortalamadan, kosinüs sapmalarında orijinal 0'dan - yani değerlerin oldukları gibi olmasıdır .
ttnphns

2
(devam) Pozitif veya negatif katsayının anlaşılması her iki durumda da aynıdır. Negatif katsayı. "Ekspresyon" terimi, bir vektörün pozitif sapma / değerlerinin diğerinin negatif sapma / değerleriyle eşleşme eğiliminde olduğu anlamına gelir. Bunun, vektörlerin "benzer" veya tam tersine "oldukça farklı" anlamına gelip gelmemesi sizin için verilerdeki pozitif ve negatif sapmaların / değerlerin ne anlama geldiğine bağlıdır.
ttnphns

@ttnphns Yorumunuz için çok teşekkür ederiz! Kosinüs benzerliğini yeni bir şekilde düşünmeme ilham veriyor. Benim kullanım durumumda, belki de son sonuçlarda bir fark olarak düşünebilirim: Doc A ve B'nin korelasyonu negatifse ve tek bir dergi X, Doc A'yı içeriyorsa, X'in B'yi içerme olasılığı daha düşüktür. bazı olasılıklardan. Bu yorum sizin için geçerli mi?
Mai

Söylemeye cesaret edemiyorum çünkü verilerinizi, içindeki değerlerin anlamını ve çalışmanızı bilmiyorum.
ttnphns

Yanıtlar:


2

İki a ve b vektörü olsun , açısı skaler ürün ve vektörlerin normu ile elde edilir:θ

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

Yana değer aralığındadır :cos(θ)[1,1]

  • 1 değeri tamamen zıt vektörleri gösterecektir
  • 0 bağımsız (dikey) vektör
  • 1 benzer (pozitif ko-doğrusal) vektör. Ara değerler, benzerlik derecesini değerlendirmek için kullanılır.

Örnek : İki ve kullanıcısını ve film zevklerine göre bu iki kullanıcı arasındaki benzerliği :U1U2sim(U1,U2)

  • sim(U1,U2)=1iki kullanıcı tam olarak aynı tada (veya )U1=U2
  • sim(U1,U2)=0iki kullanıcı arasında herhangi bir korelasyon bulamazsak , örn. ortak film izlememişlerse
  • sim(U1,U2)=1 eğer kullanıcılar zevke karşı çıkıyorlarsa, örneğin aynı filmleri zıt bir şekilde derecelendirmişlerse

0

Negatif işareti keyfi olmadığından mutlak değerleri kullanmayın. 0 ile 1 arasında bir kosinüs değeri elde etmek için aşağıdaki kosinüs fonksiyonunu kullanmalısınız:

(R kodu)

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))
} 

(Python Kodu)

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)
```

Minx ve maxx'i nerede ayarlıyorsunuz? Bu min-maks normalleştirmeyi hesaplanan mesafe yerine vektör boyutlarına uygulayabilirsiniz.
emre can

0

Kosinüs benzerliği, Pearson korelasyonuna benzer, ancak araçları çıkarmadan. Böylece, 2 Pearson korelasyonunun mutlak değerlerini nasıl karşılaştırdığınız gibi, mutlak değerlere bakarak 2 kosinüs benzerliğinin göreceli gücünü karşılaştırabilirsiniz.


0

Frekans vektörleri arasındaki kosinüs benzerliğinin, kelime sayımları nedeniyle negatif olamayacağı hakkı negatif olamaz, ancak kelime-düğünlerde (eldiven gibi) negatif değerlere sahip olabilirsiniz.

Word gömme yapısının basitleştirilmiş bir görünümü aşağıdaki gibidir: Her sözcüğü R ^ d'de rastgele bir vektöre atarsınız. Daha sonra, birbirine yakın iki benzer v1 ve v2 vektörünü birbirine itmeye çalışan veya iki farklı v3 ve v4 vektörünü birbirinden daha fazla sürmeye çalışan bir optimizer çalıştırın (bazı mesafelere göre, kosinüs deyin). Bu optimizasyonu yeterli yineleme için çalıştırıyorsunuz ve sonunda, benzer kelimelerin daha yakın vektörlere sahip olduğu ve farklı vektörlerin daha uzak olduğu tek kriterle kelime düğünleriniz var. Sonuç, bazı boyut değerlerinin negatif ve bazı çiftlerin negatif kosinüs benzerliğine sahip olmasına neden olabilir - çünkü optimizasyon süreci bu kriteri dikkate almadığı için. Bazı vektörleri negatif değerlere doğru itmiş olabilir. Vektörlerin boyutları kelime sayılarına karşılık gelmez,

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.