ทฤษฎีบทความเปรียบต่างสัมพัทธ์จาก Beyer และคณะ paper:“ พฤติกรรมที่น่าแปลกใจของมาตรวัดระยะทางในพื้นที่มิติสูง” ทำให้เข้าใจผิด?


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
คุณตรวจสอบเงื่อนไขเกี่ยวกับความแปรปรวนหรือไม่
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


ตอนนี้ฉันรู้สึกว่าคำถามกลายเป็นเพราะXความแปรปรวนใดบ้างที่มาถึงศูนย์
Nimitz14

2
@ Nimitz14 นั่นจะทำให้เป็นคำถามที่ยอดเยี่ยมที่จะถามในสิทธิของตนเอง
Sycorax พูดว่า Reinstate Monica

3
@ Nimitz14 ทฤษฎีนี้ไม่ควรใช้กับ Cauchy คุณสามารถทดสอบได้อย่างง่ายดายโดยแทนที่นักเรียนด้วย t (1) มิฉะนั้นฉันคิดว่าควรแจกแจงการแจกแจงแบบปกติเช่นปกติเครื่องแบบเบต้า ฯลฯ
Aksakal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.