"คำสาปของมิติ" มีอยู่จริงในข้อมูลจริงหรือไม่?


17

ฉันเข้าใจว่า "การสาปแช่งของมิติ" คืออะไรและฉันได้ทำปัญหาการหาค่าเหมาะที่สุดในระดับสูงแล้วและรู้ถึงความท้าทายของความเป็นไปได้แบบเอ็กซ์โปเนนเชียล

อย่างไรก็ตามฉันสงสัยว่า "คำสาปของมิติ" มีอยู่ในข้อมูลโลกแห่งความเป็นจริงมากที่สุด ( ถ้างั้นลองวางรูปภาพหรือวิดีโอไว้ครู่หนึ่งฉันกำลังคิดถึงข้อมูลเช่นข้อมูลประชากรศาสตร์ของลูกค้าและข้อมูลพฤติกรรมการซื้อ)

เราสามารถรวบรวมข้อมูลด้วยฟีเจอร์มากมาย แต่ก็มีความเป็นไปได้น้อยกว่าที่ฟีเจอร์นั้นจะสามารถขยายพื้นที่ได้อย่างเต็มที่ด้วยมิติข้อมูลนับพัน นี่คือเหตุผลว่าทำไมเทคนิคการลดขนาดจึงเป็นที่นิยม

กล่าวอีกอย่างหนึ่งก็คือมีแนวโน้มว่าข้อมูลจะไม่มีข้อมูลระดับเอ็กซ์โปเนนเชียลเช่นคุณสมบัติหลายอย่างมีความสัมพันธ์สูงและคุณสมบัติหลายอย่างเป็นไปตามกฎ 80-20 (หลายกรณีมีค่าเท่ากัน)

ในกรณีเช่นนี้ฉันคิดว่าวิธีการเช่น KNN จะยังคงทำงานได้ดีพอสมควร (ในหนังสือส่วนใหญ่ "คำสาปของมิติ" บอกว่ามิติ> 10 อาจเป็นปัญหาได้ในการสาธิตพวกเขาใช้การกระจายแบบสม่ำเสมอในทุกมิติที่เอนโทรปีสูงจริง ๆ ฉันสงสัยในโลกแห่งความจริงนี้จะเกิดขึ้น)

ประสบการณ์ส่วนตัวของฉันกับข้อมูลจริงคือ "การสาปแช่งของมิติ" ไม่ได้ส่งผลกระทบต่อวิธีการเทมเพลต (เช่น KNN) มากเกินไปและในกรณีส่วนใหญ่ขนาด ~ 100 จะยังคงใช้งานได้

สิ่งนี้เป็นจริงสำหรับคนอื่นหรือไม่? (ฉันทำงานกับข้อมูลจริงในอุตสาหกรรมต่าง ๆ เป็นเวลา 5 ปีไม่เคยสังเกตว่า "คู่ระยะทางทั้งหมดมีค่าใกล้เคียงกัน" ตามที่อธิบายไว้ในหนังสือเล่มนี้)


1
เนื่องจากคุณได้ยกเว้นภาพและการวิเคราะห์ภาพโดยเฉพาะฉันจะใส่ความคิดเห็นลงไปโดยบอกว่าฟิลด์นี้จัดการกับคำสาปของมิติค่อนข้างเป็นประจำ มันง่ายมากที่จะได้รับทางออกที่เหมาะสม
Ashe

7
Binary / dummy / หนึ่งคุณสมบัติการจัดหมวดหมู่ที่เข้ารหัสร้อนสามารถระเบิดรูปแบบตามระยะทางได้อย่างง่ายดาย
shadowtalker

2
เพื่อนร่วมงานของฉันทำงานกับยอดขายแว่นตากันแดด มีคุณสมบัติหลายอย่างที่ถูกจัดหมวดหมู่ด้วยระดับที่เป็นไปได้จำนวนมาก (เช่นแบรนด์วัสดุจากส่วนต่าง ๆ ของแว่นตาเป็นต้น) ฉันกลัว CoD แต่ก็ยากที่จะบอกว่ามีอยู่ในชุดข้อมูลหนึ่งหรือไม่และเราอาจไม่ได้ใช้เทคนิคมาตรฐานมากนักไม่ใช่ผู้เชี่ยวชาญในการวิเคราะห์ประเภทนี้
S. Kolassa - Reinstate Monica

@StephanKolassa ดังนั้นวิธีการทางไกลที่ใช้ในกรณีการใช้แก้วดวงอาทิตย์?
Haitao Du

ไม่ค่อยดี มันไม่ได้เป็นโครงการที่ประสบความสำเร็จมาก
S. Kolassa - Reinstate Monica

คำตอบ:


15

บทความนี้ (1) พูดถึงพรของความไม่สม่ำเสมอในฐานะที่เป็นข้อแตกต่างในการสาปแช่งของมิติ แนวคิดหลักคือข้อมูลไม่กระจายตัวกันอย่างสม่ำเสมอภายในพื้นที่คุณลักษณะดังนั้นจึงสามารถได้รับแรงฉุดโดยการระบุวิธีการจัดระเบียบข้อมูล

(1) Pedro Domingos "สิ่งที่มีประโยชน์น้อยที่ควรรู้เกี่ยวกับการเรียนรู้ของเครื่อง"


7

การหาคำตอบของมิติข้อมูลในการเรียนรู้ของเครื่องมักเป็นปัญหาของการระเบิดพื้นที่ว่างระหว่างจุดข้อมูลน้อยที่คุณมี ข้อมูลมากมายที่ต่ำสามารถทำให้แย่ลงได้ นี่คือตัวอย่างการตั้งค่าที่มี 10,000 ตัวอย่างที่ฉันพยายามทำ kNN กับ 1 เพื่อนบ้าน

from numpy.random import normal
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import precision_score
import matplotlib.pyplot as plt
import numpy as np
from math import sqrt
from scipy.special import gamma

N=10000
N_broad=2
scale=20

dims=[]
precs=[]


def avg_distance(k):
    return sqrt(2)*gamma((k+1)/2)/gamma(k/2)

for dim in range(N_broad+1,30):
    clf = KNeighborsClassifier(1, n_jobs=-1)

    X_train=np.hstack([normal(size=(N,N_broad)), normal(size=(N,dim-N_broad))/avg_distance(dim-N_broad)/scale])
    y_train=(X_train[:,N_broad]>0).astype(int)
    clf.fit(X_train, y_train)

    X_test=np.hstack([normal(size=(N,N_broad)), normal(size=(N,dim-N_broad))/avg_distance(dim-N_broad)/scale])
    y_test=(X_test[:,N_broad]>0).astype(int)
    y_test_pred=clf.predict(X_test)

    prec=precision_score(y_test, y_test_pred)
    dims.append(dim)
    precs.append(prec)
    print(dim, prec)

plt.plot(dims, precs)
plt.ylim([0.5,1])
plt.xlabel("Dimension")
plt.ylabel("Precision")
plt.title("kNN(1) on {} samples".format(N))
plt.show()

คุณไม่ชอบการกระจายแบบเต็มดังนั้นฉันจึงทำให้นี่เป็นสองมิติที่มีขนาดเล็กลง (ลดลงscale) โดยโรยรอบระนาบ 2D ของสองพิกัดแรก เมื่อมันเกิดขึ้นหนึ่งในขนาดที่เล็กกว่านั้นจะสามารถคาดเดาได้ (ฉลากคือ 1 เมื่อมิตินั้นเป็นค่าบวก)

ความแม่นยำลดลงอย่างรวดเร็วเมื่อขนาดเพิ่มขึ้นความแม่นยำของ kNN

แน่นอนว่าความแม่นยำ = 0.5 จะเป็นการคาดเดาแบบสุ่ม ด้วยพื้นผิวการตัดสินใจที่ซับซ้อนกว่าเครื่องบินก็จะยิ่งแย่ลงไปอีก

มันเหมือนลูกบอล kNN เบาบางเกินไปที่จะเป็นประโยชน์ในการตรวจสอบไฮเปอร์เพลนที่ราบรื่น ด้วยขนาดที่สูงขึ้นพวกเขารู้สึกเหงามากขึ้น

ในทางกลับกันวิธีการเช่น SVM มีมุมมองที่เป็นสากลและทำได้ดีกว่ามาก


5

พิจารณาตัวอย่างอนุกรมเวลา (และรูปภาพและเสียง) การอ่านเซ็นเซอร์ (Internet of Things) เป็นเรื่องธรรมดามาก

คำสาปของมิติเป็นเรื่องธรรมดามากกว่าที่คุณคิด มีความซ้ำซ้อนขนาดใหญ่ที่นั่น แต่ก็มีเสียงดังมาก

ปัญหาคือคนจำนวนมากหลีกเลี่ยงความท้าทายเหล่านี้ของข้อมูลจริงและใช้เฉพาะชุดข้อมูล UCI ที่อัปเกรดซ้ำแล้วซ้ำอีก


P(X)=P(X1)Πn=2ยังไม่มีข้อความP(Xn|Xn-1)

1
บางทีข้อมูลที่โลกแห่งความจริงมากที่สุดคือจากเซ็นเซอร์เช่นภาพวิดีโอและอนุกรมเวลา?
Anony-Mousse - Reinstate Monica

2
@ hxd1011 คุณสมบัติมาร์คอฟเป็นนามธรรมที่อาจไม่มีส่วนเกี่ยวข้องกับข้อมูลจริง!
Sycorax พูดว่า Reinstate Monica

0

มีบทความที่ยอดเยี่ยม"การสร้างแบบจำลองทางสถิติ: สองวัฒนธรรม"โดย Breiman เขาอธิบายนักวิทยาศาสตร์สองกลุ่มที่จัดการกับข้อมูลและวิธีที่แต่ละคนมอง "มิติ" คำตอบสำหรับคำถามของคุณคือ "ขึ้นอยู่กับ" ในกลุ่มที่คุณเป็น ตรวจสอบกระดาษ


ขอบคุณ @Zamir Akimbekov มีการพูดคุยที่ยอดเยี่ยมที่นี่และเอกสารที่น่าสนใจอีกฉบับที่นี่
Haitao Du
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.