Beyer et al.의 상대 대비 정리입니까? 논문 :“고차원 공간에서 거리 측정법의 놀라운 행동”에 오해의 소지가 있습니까?


10

이것은 차원의 저주를 언급 할 때 자주 인용되며

(상대 대비라고하는 오른쪽 공식)

limdvar(||엑스||케이이자형[||엑스||케이])=0,그때:최대케이케이케이0

정리 결과는 주어진 쿼리 지점까지의 최대 거리와 최소 거리의 차이가 고차원 공간에서 어떤 지점까지의 가장 가까운 거리만큼 빠르게 증가하지 않음을 보여줍니다. 가장 가까운 이웃과 가장 가까운 이웃 사이의 식별이 좋지 않기 때문에 근접성 쿼리는 의미가없고 불안정합니다.

링크

그러나 실제로 샘플 값에 대한 상대 대비를 계산하려고하면 매우 작은 값을 포함하는 벡터를 가져 와서 제로 벡터까지의 거리를 계산하고 훨씬 더 큰 값을 포함하는 벡터에 대해서도 동일하게 수행합니다. 3의 차원과 109 배 더 큰 차원에서 , 비율이 감소하는 동안 실제로 실제로 사용 된 차원의 수와 무관하게 변화가 너무 작다는 것을 알 수 있습니다. Graham의 수 의 크기가있는 데이터 크기 -종이가 실제로 관련이 있다고 설명하는 효과에 필요한 크기라고 생각합니다.)

앞에서 언급 한 바와 같이,이 정리는 유클리드 공간을 기반으로 근접성을 측정하는 것이 고차원 공간에서 좋지 않은 전략이라는 주장을지지하기 위해 자주 인용됩니다. 저자들은 그렇게 말합니다. 이 정리는 잘못된 방식으로 사용되었다고 생각합니다.

예 : d치수

a=np.ones((d,)) / 1e5
b=np.ones((d,)) * 1e5
dmin,dmax=norm(a), norm(b)
(dmax-dmin)/dmin

d = 3의
9999999999.0
경우 d = 1e8의 경우
9999999998.9996738

d = 1e8의
경우 d = 3 인
99.0
경우 1e5 대신 1e1 (데이터가 정규화 되었다고 가정)
98.999999999989527


2
차원의 데이터 샘플을 어떻게 얻었 습니까? "차원"과 "규모"를 혼동 할 수 있습니까? +109
whuber

2
분산 상태를 확인 했습니까?
Aksakal

답변:


8

아닙니다. 정리는 오도되지 않습니다. 확실히 잘못 적용될 수는 있지만 모든 정리에 해당됩니다.

작동 방식을 보여주는 간단한 MATLAB 스크립트는 다음과 같습니다.

xd = randn(1e5,10000);
%%
cols = [1,10,100,1000,10000];
for c = cols
    xdt = table(xd(:,1:c));
    res = table2array(rowfun(@norm,xdt));
    mr = mean(res);
    res1 = var(res/mr);
    res2 = (max(res) - min(res))/min(res);
    fprintf('res1: %f, res2: %f\n',res1,res2)
end

출력 :

res1: 0.568701, res2: 2562257.458668
res1: 0.051314, res2: 9.580602
res1: 0.005021, res2: 0.911065
res1: 0.000504, res2: 0.221981
res1: 0.000050, res2: 0.063720

내 코드에서 res1과 res2는 종이에서 방정식의 두 가지 표현입니다. 하나는 분산에 대한 것이고 다른 하나는 대비에 대한 것입니다.

치수가 1에서 10,000 사이가되면 두 가지가 모두 0으로 변하는 것을 볼 수 있습니다.


이제 X분산이 0이 되는 분포는 무엇인지에 대한 의문이 생깁니다.
Nimitz14

2
@ Nimitz14 그것은 그 자체로 물어볼 훌륭한 질문이 될 것입니다.
Sycorax는 Reinstate Monica가

3
@ Nimitz14이 정리는 Cauchy에서 작동하지 않아야합니다. 일반 t을 학생 t (1)로 바꾸면 쉽게 테스트 할 수 있습니다. 그렇지 않으면 정규, 균일, 베타 등과 같은 모든 정규 배포판을 다루어야한다고 생각합니다.
Aksakal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.