Beyer ve ark. çalışma: “Yüksek Boyutlu Uzayda Mesafe Metriklerinin Şaşırtıcı Davranışı Üzerine” yanıltıcı mı?


10

Boyutsallığın lanetinden bahsederken bu sıklıkla belirtilir ve gider

(göreceli kontrast adı verilen sağ formül)

limdvar(||Xd||kE[||Xd||k])=0,sonra:Dmaksimumdk-DmindkDmindk0

Teoremin sonucu, belirli bir sorgu noktasına olan maksimum ve minimum mesafeler arasındaki farkın, yüksek boyutlu uzayda herhangi bir noktaya en yakın mesafe kadar hızlı artmadığını gösterir. Bu, yakınlık sorgusunu anlamsız ve kararsız hale getirir, çünkü en yakın ve en uzak komşu arasında zayıf ayrımcılık vardır.

bağlantı

Yine de, bir kişi örnek değerler için göreceli kontrastı hesaplamaya çalışırsa, yani çok küçük değerler içeren bir vektör alınır ve sıfır vektörüne olan mesafeyi hesaplar ve çok daha büyük değerler içeren bir vektör için aynısını yapar ve sonra değerleri karşılaştırır. 3 boyut ve 109 kat daha büyük bir boyut , oran azalırken, değişimin pratikte gerçekte kullanılan boyut sayısı ile alakasız olacak kadar kaybolan küçük olduğunu görecektir (veya çalışan herhangi birini tanıyor mu?) Graham'ın sayısının boyutlarına sahip verilerle - sanırım ki, kağıdın gerçekten alakalı olması için açıklanan etki için gereken boyut - sanmıyorum).

Daha önce de belirtildiği gibi, bu teorem sıklıkla öklid uzayına dayalı yakınlığın ölçülmesinin yüksek boyutlu bir alanda zayıf bir strateji olduğu ifadesini desteklemek için belirtilir, yazarlar kendileri söyler ve yine de önerilen davranış gerçekleşmez, beni bu teoremin yanıltıcı bir şekilde kullanıldığını düşünün.

Örnek: dboyut ile

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

d = 3
9999999999.0
için d = 1e8 için
9999999998.9996738

Ve 1e5 yerine 1e1 ile (diyelim ki veriler normalleştirildi)
d = 3
99.0
için d = 1e8 için
98.999999999989527


2
boyutundaki bir veri örneğini nasıl elde ettiniz ? Belki de "boyut" u "ölçek" ile karıştırıyor musunuz? 3+109
whuber

2
Varyansın durumunu kontrol ettiniz mi?
Aksakal

Yanıtlar:


8

Hayır, teorem yanıltıcı değildir. Kesinlikle yanlış uygulanabilir, ancak bu herhangi bir teorem için geçerlidir.

Nasıl çalıştığını göstermek için basit MATLAB betiği:

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

Çıktı:

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

Kodumda res1 ve res2, denkleminizdeki kağıttan iki ifadedir: biri varyans, diğeri kontrast için.

Boyutlar 1'den 10.000'e çıktığında her ikisinin de nasıl sıfıra gittiğini görebilirsiniz.


Şimdi sorunun olduğunu hissediyorum, Xvaryans hangi dağılımlardan sıfıra gider?
17:28

2
@ Nimitz14 Bu, kendi başına sormak için mükemmel bir soru olurdu.
Sycorax, Reinstate Monica'ya

3
@ Nimitz14 bu teorem Cauchy için işe yaramaz, normali öğrenci t (1) ile değiştirerek kolayca test edebilirsiniz. Aksi takdirde, normal, düzgün, beta vb.Gibi tüm düzenli dağılımların kapsanması gerektiğini düşünüyorum.
Aksakal
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.