Beyerらの相対コントラスト定理です。論文:「高次元空間における距離計量の意外な振る舞いについて」誤解を招く?


10

これは、次元の呪いに言及するときに頻繁に引用され、

(相対コントラストと呼ばれる右手の式)

limdvar(||Xd||kE[||Xd||k])=0,then:DmaxdkDmindkDmindk0

この定理の結果は、特定のクエリポイントまでの最大距離と最小距離の差が、高次元空間内の任意のポイントへの最も近い距離ほど速く増加しないことを示しています。これは、最も近いものと最も遠いものの区別が不十分であるため、近接クエリを無意味で不安定なものにします。

リンク

しかし、サンプル値の相対コントラストを実際に計算してみると、非常に小さな値を含むベクトルを取得してゼロベクトルまでの距離を計算し、はるかに大きな値を含むベクトルについても同じことを行い、次に、次元が3で次元が109倍大きい場合、比率は減少しますが、変化は非常に小さいため、実際に使用されている次元の数とは無関係です(または誰かが働いていることを知っていますか?ディメンション付きのデータの場合、グラハムの数のサイズ-この論文で説明されている効果が実際に関連するために必要なサイズだと思います-私はそうではないと思います)。

前述したように、この定理は、ユークリッド空間に基づいて近接度を測定することが高次元空間では不十分な戦略であるという主張を支持するために非常に頻繁に引用されます。この定理が誤解を招くように使用されていると思います。

例: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
どのようにして次元のデータのサンプルを取得しましたか?「寸法」と「スケール」を混同しているのではないでしょうか。3+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は、論文の方程式の2つの式です。1つは分散、もう1つはコントラストです。

寸法が1から10,000になると、両方がゼロになることがわかります。


今、私Xは、分散がゼロになるのはどの分布なのかという疑問が生じたと感じます。
Nimitz14、17年

2
@ Nimitz14それはそれ自体で尋ねるには素晴らしい質問になります。
Sycoraxは、モニカを2017

3
@ Nimitz14この定理はコーシーでは機能しないはずです。normalをStudent t(1)に置き換えることで簡単にテストできます。それ以外の場合は、正規、ユニフォーム、ベータなどのすべての正規分布をカバーする必要があると思います。
Aksakal
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.