코사인 유사성이 l2 정규화 된 유클리드 거리와 동일합니까?


27

동일한 의미, 이는 벡터 u 와 벡터 세트 V 사이의 유사성 순위에 대해 동일한 결과를 생성 할 것 입니다.

거리 측정 (유클리드 거리, 코사인 유사성) 및 정규화 기술 (없음, l1, l2)을 매개 변수로 사용하는 벡터 공간 모델이 있습니다. 내 이해에서, 설정 [코사인, 없음]의 결과는 [유클리드, l2]와 동일하거나 적어도 실제로는 유사해야하지만, 그렇지 않습니다.

실제로 시스템이 여전히 버그가있을 가능성이 높습니까? 아니면 벡터에 심각한 문제가 있습니까?

편집 : 벡터는 말뭉치의 문서에서 단어 수를 기반으로한다는 것을 언급하지 않았습니다. 쿼리 문서 (단어 수 벡터로도 변환 됨)가 주어지면 가장 비슷한 모음에서 문서를 찾고 싶습니다.

유클리드 거리를 계산하는 것은 간단한 측정 방법이지만, 내가 작업하는 종류의 코사인 유사성은 종종 길이가 다른 벡터가 여전히 동일한 것으로 간주되기 때문에 유사성 지표로 선호되는 경우가 많습니다. 거리 / 코사인 유사성이 가장 작은 문서가 가장 유사한 것으로 간주됩니다.


"벡터 공간 모델"이이 거리에서 수행하는 작업에 따라 다릅니다. 모델의 기능에 대해 더 구체적으로 설명해 주시겠습니까?
whuber

죄송합니다. 가끔 내 머리에서 나오기가 어렵습니다. 사양을 추가했습니다.
Arne

여전히 모델을 설명하지 않습니다. 실제로 "작업 (작업)의 종류"와 관련하여 남은 단서는 nlp 태그입니다. 그러나 너무 광범위하여 별 도움이되지 않습니다. 사람들이 질문을 이해하고 좋은 답변을 제공 할 수 있도록 내가 제공하고자하는 것은 거리 측정을 어떻게 사용하고 있는지, 어떻게 "결과"가 무엇인지 결정하는 방법을 정확하게 파악할 수있는 충분한 정보입니다.
whuber

stats.stackexchange.com/a/36158/3277 . 모든 각도 일명 sscp- 유사 유사성은 해당 유클리드 거리로 변환 할 수 있습니다.
ttnphns

답변:


31

들면 -normalized 벡터 , 우리가 그 제곱 유클리드 거리는 비례 코사인 거리 , 즉, 데이터를 정규화하고 알고리즘이 거리의 스케일링에 불변 인 경우에도 여전히 제곱으로 인해 차이가 발생할 수 있습니다.2x,y

||x||2=||y||2=1,
||xy||22=(xy)(xy)=xx2xy+yy=22xy=22cos(x,y)

이것이 순위에 영향을 미칠까요? 즉, 벡터 'u'까지의 코사인 거리를 기준으로 여러 벡터 'v_i in V'를 정렬하면 특정 순서가 적용됩니다. l_2 정규화 된 유클리드 거리를 사용하여 동일한 벡터를 순위 화하면 동일한 순서를 생성합니까?
Arne

2
iirc, 제곱은 단수 변환 (양수)이므로 길이로 정렬 된 순서의 순서를 변경할 수 없습니다.
Arne

5

감사합니다.이 연결에 대한 인용 가능한 출처가 있습니까?
Arne

1
글쎄, 나는 'Linear Alebra I'로 충분해야한다고 생각합니다.) 통찰력에 다시 한번 감사드립니다!
Arne

5

uv

cos(u,v)=u,vuv=uTvuv[1,1].
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.