Mesafeyi (Öklid) benzerlik puanına nasıl dönüştürebilirim?


13

Ben kullanıyorum k hoparlör sesleri küme kümeleme demektir. Bir ifadeyi kümelenmiş hoparlör verileriyle karşılaştırdığımda (Öklid mesafesine dayalı) ortalama bozulma elde ederim. Bu mesafe aralığında olabilir [0,∞]. Bu mesafeyi [0,1] benzerlik skoruna dönüştürmek istiyorum . Lütfen bunu nasıl başarabileceğim konusunda bana yol gösterin.

Yanıtlar:


16

Eğer d(p1,p2) noktasının, Öklides mesafeyi temsil eder ve p1 noktasına p2 ,

11+d(p1,p2)

yaygın olarak kullanılır.


Elimizdeki eğer yanlış varsa düzeltin lütfen ve Y = ( Y 1 , Y 2 , Y 3 , . . . , Y n ) burada her x ve y D boyutundadır . Sonra benzerliği tanımlayabiliriz, S i m i lX=(x1,x2,x3,...,xt)Y=(Y1,Y2,Y3,...,Yn)xyD .
Similarity=1t∑i=1t11+minDistance(xi,Y)
— Muhammed

Paydadaki artı 1'in sıfır hataya bölünmekten kaçınmak olduğunu anlıyorum. Ancak artı bir değerin orantısız olarak 1'den büyük olan d (p1, p2) değerlerini etkilediğini ve sonuçta benzerlik puanını önemli ölçüde azalttığını buldum. Bunu yapmanın başka bir yolu var mı? Belki s = 1-d (p1, p2)
— aamir23

9

Ayrıca kullanabilirsiniz: buradaistenen mesafe fonksiyonudur.1edistdist


Bulduğunuz bu denklemle ilgili herhangi bir referans kitap / belge verebilir misiniz? @Dougal
— Justlife

@AnimeshKumarPaul Bu cevabı yazmadım, sadece formatını geliştirdim. Ancak sıklıkla örneğin "genelleştirilmiş bir RBF çekirdeği"; örneğin buraya bakınız . Bu soru, çıktının pozitif bir kesin çekirdek olup olmadığı ile ilgilidir; bununla ilgilenmezseniz, en azından daha uzak noktaların daha az benzer olması sezgisel bir benzerlik kavramını tatmin eder.
— Dougal

@ Justlife: Google için bu "mesafeler ansiklopedisi" ve sonucu pdf belgesi ile seçin.
— İşlenmeyen istisna

7

Kosinüs benzerliğine benzeyen bir şey istediğiniz gibi görünüyor, ki bu da birim aralıktaki benzerlik puanı. Aslında, Öklid mesafesi ile kosinüs benzerliği arasında doğrudan bir ilişki vardır!

||x−x′||2=(x−x′)T(x−x′)=||x||+||x′||−2||x−x′||.

f(x,x′)=xTx′||x||||x′||=cos⁡(θ)
θxx′

||x||=||x′||=1,

||x−x′||2=2(1−f(x,x′))
f(x,x′)=xTx′,

yani

1−||x−x′||22=f(x,x′)=cos⁡(θ)

Hesaplamalı bir bakış açısından, Öklid mesafesinden ziyade sadece kosinüsü hesaplamak ve daha sonra dönüşümü gerçekleştirmek daha verimli olabilir.


3

Gauss çekirdeğine ne dersiniz ?

K(x,x′)=exp⁡(−‖x−x′‖22σ2)

Mesafeüssünde kullanılır. Çekirdek değeri aralığında . Bir ayar parametresi var . Temelde yüksekse, herhangi bir için 1'e yakın olacaktır . Eğer düşük, hafif bir mesafe etmek yol açacaktır 0'a yakın olmanın.‖x−x′‖[0,1]σσK(x,x′)x,x′σxx′K(x,x′)


1
Bu yanıt ve @ İşlenmeyen özel durumun çok ilişkili olduğunu unutmayın: bu ; burada [ölçeklendirme faktörü tanıtan] , metrik olarak olan bir Gauss çekirdeği . OP bununla ilgilenmese de, bu hala geçerli bir çekirdek olacaktır . exp ( - γ d ( x , x ′ ) ) √exp⁡(−γd(x,x′)2)exp⁡(−γd(x,x′))d
— Dougal

0

Hellinger mesafesi gibi doğal olarak 0 ile 1 arasında bir mesafe metriği kullanıyorsanız. Sonra benzerlik elde etmek için 1 - mesafe kullanabilirsiniz.

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.