거리 (유클리드)를 유사성 점수로 변환하는 방법


13

사용하여 스피커 음성을 클러스터링한다는 의미입니다. 발화를 클러스터 된 스피커 데이터와 비교하면 (유클리드 거리 기반) 평균 왜곡이 발생합니다. 이 거리는 범위에있을 수 있습니다 . 이 거리를 유사성 점수 로 변환하고 싶습니다 . 내가 어떻게 이것을 달성 할 수 있는지 안내해주세요.k[0,][0,1]

답변:


16

경우 점에서 유클리드 거리를 나타내는 점에 ,d(p1,p2)p1p2

11+d(p1,p2)

일반적으로 사용됩니다.


우리가 이고 경우 각 와 가 차원 인 . . 그런 다음 와 같이 유사성을 정의 할 수 있습니다 . Y = ( Y 1 , Y 2 , Y 3 , . . . , Y , n은 ) X Y D를 S 해요 L을 R의 난의 t를 y = 1X=(x1,x2,x3,...,xt)Y=(Y1,Y2,Y3,...,Yn)xyD
Similarity=1ti=1t11+minDistance(xi,Y)
Muhammad

분모의 더하기 1은 0으로 나누기 오류를 피하는 것임을 이해합니다. 그러나 플러스 1 값은 1보다 큰 d (p1, p2) 값에 불균형 적으로 영향을 미치고 궁극적으로 유사성 점수를 크게 줄입니다. 다른 방법이 있습니까? 아마 s = 1-d (p1, p2)
aamir23

9

당신은 또한 사용할 수 있습니다 : 어디에원하는 거리의 함수이다.1edistdist


찾은이 방정식과 관련된 참고 서적 / 문서를 제공 할 수 있습니까? @Dougal
Justlife

@AnimeshKumarPaul이 답변을 쓰지 않고 서식을 개선했습니다. 그러나 "일반화 된 RBF 커널"과 같은 버전으로 자주 사용됩니다. 예를 들어 여기를 참조 하십시오 . 이 질문은 출력이 양의 명확한 커널인지에 관한 것입니다. 당신이 그것에 관심이 없다면, 적어도 더 먼 지점이 덜 유사하다는 직관적 인 유사성의 개념을 만족시킵니다.
Dougal

@Justlife : 구글은 "원거리 백과 사전"으로 pdf 문서로 결과를 선택합니다.
처리되지 않은 예외

7

유사성을 코사인하는 것과 비슷한 것을 원할 것 같습니다. 이는 단위 간격의 유사성 점수입니다. 사실, 유클리드 거리와 코사인 유사성 사이에는 직접적인 관계가 있습니다!

||xx||2=(xx)T(xx)=||x||+||x||2||xx||.

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

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

||xx||2=2(1f(x,x))
f(x,x)=xTx,

그래서

1||xx||22=f(x,x)=cos(θ)

계산 관점에서 유클리드 거리보다는 코사인을 계산 한 다음 변환을 수행하는 것이 더 효율적일 수 있습니다.


3

방법에 대한 가우시안 커널 ?

K(x,x)=exp(xx22σ2)

거리지수에 사용됩니다. 커널 값의 범위는 입니다. 하나의 튜닝 매개 변수 있습니다. 기본적으로 가 높으면 는 대해 1에 가까워집니다 . 경우 낮은로부터 약간의 거리 에 대한 로 이어질 0에 가까운 인.[ 0 , 1 ] σ σ K ( x , x ) x , x σ x x K ( x , x )xx[0,1]σσK(x,x)x,xσxxK(x,x)


1
이 응답 및 참고 @Unhandled 예외의이 매우 관련 : 이는 인 [스케일링 인자를 도입 즉 하나는, , 를 메트릭으로 사용하는 가우스 커널 . OP가 반드시 신경 쓰지 않아도 이것은 여전히 유효한 커널 입니다. exp (γ d ( x , x ' ) ) exp(γd(x,x)2)exp(γd(x,x))d
Dougal

0

Hellinger 거리와 같이 자연스럽게 0과 1 사이의 거리 메트릭을 사용하는 경우 그런 다음 1-거리를 사용하여 유사성을 얻을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.