Là định lý tương phản tương đối từ Beyer et al. tờ giấy: về hành vi đáng ngạc nhiên của các số liệu khoảng cách trong không gian chiều cao có thể gây hiểu lầm?


10

Điều này được trích dẫn rất thường xuyên khi đề cập đến lời nguyền của chiều và đi

(công thức tay phải gọi là tương phản)

limdvar(||Xd||kE[||Xd||k])= =0,sau đó:Dtối đadk-Dtối thiểudkDtối thiểudk0

Kết quả của định lý cho thấy rằng sự khác biệt giữa khoảng cách tối đa và tối thiểu đến một điểm truy vấn nhất định không tăng nhanh như khoảng cách gần nhất với bất kỳ điểm nào trong không gian chiều cao. Điều này làm cho một truy vấn gần như vô nghĩa và không ổn định vì có sự phân biệt đối xử kém giữa người hàng xóm gần nhất và xa nhất.

liên kết

Tuy nhiên, nếu người ta thực sự thử tính độ tương phản cho các giá trị mẫu, nghĩa là người ta lấy một vectơ chứa các giá trị rất nhỏ và tính khoảng cách đến vectơ 0 và thực hiện tương tự cho một vectơ chứa các giá trị lớn hơn nhiều, và sau đó so sánh các giá trị cho kích thước 3 và kích thước lớn hơn 109 lần, người ta sẽ thấy rằng, trong khi tỷ lệ giảm, thì sự thay đổi nhỏ đến mức không liên quan đến số lượng kích thước thực sự được sử dụng trong thực tế (hoặc có ai biết ai làm việc không với dữ liệu có kích thước bằng số của Graham - mà tôi đoán là kích thước cần thiết cho hiệu ứng được mô tả để thực sự có liên quan - tôi nghĩ là không).

Như đã đề cập trước đây, định lý này rất thường được viện dẫn để ủng hộ tuyên bố rằng đo lường sự gần gũi dựa trên không gian euclide là một chiến lược kém trong không gian chiều cao, các tác giả tự nói như vậy, và hành vi được đề xuất không thực sự xảy ra, khiến tôi nghĩ rằng định lý này đã được sử dụng một cách sai lệch.

Ví dụ: với dkích thước

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

cho d = 3
9999999999.0
cho d = 1e8
9999999998.9996738

Và với 1e1 thay vì 1e5 (giả sử dữ liệu được chuẩn hóa)
cho d = 3
99.0
cho d = 1e8
98.999999999989527


2
Làm thế nào bạn có được một mẫu dữ liệu trong chiều ? Có lẽ bạn đang nhầm lẫn giữa "chiều" với "tỷ lệ"? 3+109
whuber

2
Bạn đã kiểm tra điều kiện về phương sai?
Aksakal

Câu trả lời:


8

Không, định lý không sai lệch. Nó chắc chắn có thể được áp dụng không chính xác, nhưng điều đó đúng với bất kỳ định lý nào.

Đây là kịch bản MATLAB đơn giản để giải thích cách thức hoạt động của nó:

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

Đầu ra:

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

Trong mã của tôi res1 và res2 là hai biểu thức trong phương trình của bạn từ tờ giấy: một cho phương sai và thứ hai cho tương phản.

Bạn có thể thấy cả hai đều về 0 như thế nào khi kích thước đi từ 1 đến 10.000.


Bây giờ tôi cảm thấy câu hỏi trở thành, vì sự phân phối nào từ đó mà Xphương sai đi về không?
Nimitz14

2
@ Nimitz14 Điều đó sẽ làm cho một câu hỏi tuyệt vời để hỏi theo cách riêng của mình.
Sycorax nói Phục hồi lại

3
@ Nimitz14 định lý này không nên hoạt động đối với Cauchy, bạn có thể kiểm tra dễ dàng bằng cách thay thế bình thường bằng t (1). Mặt khác, tôi nghĩ rằng tất cả các bản phân phối thông thường như bình thường, thống nhất, beta, v.v. nên được bảo hiểm.
Aksakal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.