Чи є теорема відносного контрасту від Beyer et al. стаття: "Про дивну поведінку метрики відстані у просторі великого розміру" вводить в оману?


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

І з 1e1 замість 1e5 (скажімо, дані нормалізуються)
для d = 3
99.0
для d = 1e8
98.999999999989527


2
Як ви отримали вибірку даних у розмірі ? Ви, можливо, плутаєте "вимір" з "масштабом"? 3+109
whuber

2
Ви перевіряли стан на дисперсії?
Аксакал

Відповіді:


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.


Тепер я відчуваю, що Xвиникає питання, для яких розподілів, від яких походить, дисперсія йде до нуля?
Nimitz14

2
@ Nimitz14 Це було б чудовим питанням, яке слід задати самостійно.
Sycorax каже, що повернеться до Моніки

3
@ Nimitz14 ця теорема не повинна працювати для Коші, її можна легко перевірити, замінивши нормальну на студент t (1). В іншому випадку я думаю, що всі регулярні дистрибуції, такі як звичайні, рівномірні, бета-версії тощо, повинні охоплювати.
Аксакал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.