Mesafe ölçümleri olarak nokta ürüne karşı kosinüs benzerliği


41

İki özelliğin kosinüsünün benzerliği, sadece büyüklüklerinin çarpımı ile ölçeklenen nokta ürünüdür. Kosinüs benzerliği ne zaman nokta üründen daha iyi bir mesafe ölçümü yapar? Yani nokta ürün ve kosinüs benzerliğinin farklı durumlarda farklı güçlü veya zayıf yönleri var mı?


Bunların hiçbirinin, noktalar "benzer" olduğunda küçük olan bir değere dönüştürseniz bile, uygun mesafe metrikleri olmadığını unutmayın. Kullanım durumunuz için önemli olabilir veya olmayabilir.
Sean Owen,

Yanıtlar:


41

Geometrik olarak düşünün. Cosine benzerliği sadece açı farkını önemserken, nokta ürünü açı ve büyüklüğü önemser. Verilerinizi aynı büyüklükte olacak şekilde normalleştirirseniz, ikisi ayırt edilemez. Bazen büyüklüğü görmezden gelmek istenir, bu nedenle kosinüs benzerliği güzeldir, ancak büyüklük bir rol oynarsa, nokta ürün benzerlik ölçüsü olarak daha iyi olur. İkisinin de "mesafe ölçüsü" olmadığını unutmayın.


3
"mesafe ölçümü", literatürde "benzerlik" in zıttı olarak yaygın olarak kullanılır: daha büyük mesafe, daha küçük benzerlik, fakat temel olarak aynı fikri temsil eder.
ffriend

1
@ffriend 'benzemezlik' demek istiyorsun. Metrik kesin bir tanımlamaya sahiptir.
Mar’ı

8

Haklısın, kosinüs benzerliği vektörlerin nokta çarpımı ile çok ortaktır. Aslında, büyüklükle ölçeklendirilmiş bir nokta ürünüdür. Ölçeklendirme nedeniyle 0 ile 1 arasında normalleştirilir. CS, veri ve özelliklerin göreceli frekanslarının değişkenliğini hesaba kattığı için tercih edilir. Öte yandan, düz nokta ürünü biraz daha ucuzdur (karmaşıklık ve uygulama açısından).


Neden iççarpım yalnız (eşdeğer değil normale) değil özellikleri veri ve frekans için hesap? Bunun fark olduğunu bilmiyorum.
Sean Owen,

2
Belki de net değildim. Veri çeşitliliği hakkında konuşuyordum. Örneğin, iki çift belgemiz var. Her bir çift içinde dokümanlar aynıdır, ancak çift-1 belgeleri çift-2 belgelerinden daha kısadır. Ve her bir çift içindeki benzerliği hesaplıyoruz. Nokta ürün farklı sayılar üretecektir, ancak her iki durumda da maksimum benzerlik tahmini bekleniyor.
sobach

5

Yukarıda verilen cevaplara bir boyut daha eklemek istiyorum. Genellikle büyük metinlerle kosinüs benzerliği kullanıyoruz, çünkü veri paragraflarında uzaklık matrisi kullanılması önerilmez. Ayrıca kümenizin geniş olmasını istiyorsanız, genel olarak benzerliği yakaladığı için kosinüs benzerliği ile gitme eğilimindedir.

Örneğin, maksimum iki veya üç kelimeden oluşan metinleriniz varsa, kosinüs benzerliği kullandığımı hissediyorum, mesafe metriği ile elde edilen hassasiyete ulaşamıyor.


4

Burada ortak iç ürün temelli benzerlik ölçümlerinin mükemmel bir karşılaştırması var .

Özellikle, Cosine Benzerliği, herhangi bir gerçek sayı olabilen nokta ürününden farklı olarak [0,1] içinde yatmak için normalleştirilir, ancak herkesin dediği gibi, vektörlerin büyüklüğünü göz ardı etmeyi gerektirmesi gerekir. Şahsen, bence bu iyi bir şey. Büyüklüğü bir iç (vektör içinde) yapı olarak ve vektörler arasındaki açıyı dış (vektör arasında) yapı olarak düşünüyorum. Bunlar farklı şeylerdir ve (bence) genellikle ayrı ayrı analiz edilirler. Kosinüs benzerliklerini hesaplamak yerine iç ürünleri hesaplamayı tercih ettiğim bir durum hayal edemiyorum ve daha sonra büyüklükleri karşılaştırıyorum.


“Cosine Benzerliği [0,1] içinde yatmak için normalleştirildi.” Payda hala bir nokta ürünü var, bence aralık bunun yerine [-1, 1] olmalı mı?
Kari

2

x,||x||2=x,x=1ϕx,y=cosϕϕ=arccosx,y

Görsel olarak, tüm verileriniz bir birim alanında yaşıyor. Nokta ürünü bir mesafe olarak kullanmak size bir akor mesafesi verecektir, ancak bu kosinüs mesafesini kullanırsanız, küre üzerindeki iki nokta arasındaki yolun uzunluğuna karşılık gelir. Bu, eğer iki noktanın ortalamasını istiyorsanız, bu noktadan beri 'aritmetik ortalama / nokta ürünü / öklid geometrisinden' elde edilen orta nokta yerine bu yoldaki noktayı (jeodezik) almalısınız. küre üzerinde yaşamayın (dolayısıyla esas olarak aynı nesne değil)!


1

Diğerlerinin de belirttiği gibi, bunlar mesafe "metrikleri" değildir, çünkü metrik kriterleri karşılamazlar. Bunun yerine "mesafe ölçüsü" deyin.

Neyse, ne ölçüyorsun ve neden? Bu bilgi, durumunuz için daha yararlı bir cevap vermemize yardımcı olacaktır.


Ölçüler ve ölçümler arasındaki farkı her zaman merak etmişimdir. Hükümete göre (NIST): "... Daha somut, nesnel nitelikler için ölçü ve daha soyut, daha üst düzey veya biraz öznel nitelikler için ölçü kullanıyoruz. ... Sağlamlık, kalite (" yüksek kalitede "olduğu gibi), ve etkinlik, bazı tutarlı hisler duyduğumuz, ancak nesnel olarak tanımlamak zor olduğumuz önemli niteliklerdir. Dolayısıyla bunlar metriklerdir. ” Ancak bağlam, yazılım mühendisliği, matematik değil. Senin sıran ne?
ahoffer

1
Wikipedia daha çok yardımcı oldu. mesafe (x, y) negatif olmamalıdır; d (x, y) = 0, yalnızca x = y; d (x, y) = d (y, x); ve üçgen eşitsizliğini
sağlayın-

1
Bu hemen hemen aynı: bir metrik belirli aksiyomları karşılamalı ve bir ölçüm kesin olarak tanımlanmadı.
sintax
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.