ฉันจะรู้ได้อย่างไรว่าอัลกอริธึมการจัดกลุ่ม k-mean ของฉันกำลังทุกข์ทรมานจากการสาปแช่งของมิติ


12

ฉันเชื่อว่าชื่อของคำถามนี้บอกว่ามันทั้งหมด


3
ฉันคิดว่าคุณจะต้องอธิบายให้เราฟังว่าคุณหมายถึงอาการอย่างไร
mdewey

หาก "อาการ" เป็น "การทดสอบ" แบบสละสลวยด้วยมือบางทีคุณอาจใช้ชุดย่อยของชุดข้อมูลของคุณ - อาจเป็น 66% ของขนาดตัวอย่างทำการวิเคราะห์ของคุณ (kmeans ในกรณีของคุณ) แล้วดูว่าน่ากลัวแค่ไหน ผลลัพธ์ที่ได้คือ ตัวอย่างเช่นคุณสามารถดูความถี่ที่การสังเกตโดยเฉพาะถูกกำหนดให้กับคลัสเตอร์เดียวกัน จากนั้นอีกครั้งอาจไม่คุ้มค่ากับความพยายาม หากคุณกังวลเกี่ยวกับความเป็นไปได้ของปัญหาด้านมิติโอกาสที่คุณมี คุณอาจพิจารณาวิธีการจัดกลุ่มอื่น ๆ ที่ลดมิติบ้าง
generic_user

@generic_user ว่าการแสดงความคิดเห็นเป็นคำตอบผมจะนับว่าเป็นคำตอบที่ได้รับการยอมรับ :)
Mathieu

1
คำถามนี้ชัดเจนเพียงพอที่จะเปิด IMO
gung - Reinstate Monica

1
บ่อยครั้งพอคุณพบปัญหาที่รุนแรงมากขึ้นของ k-mean ก่อนหน้า "คำสาปของมิติ" k-mean สามารถทำงานกับข้อมูลขนาด 128 มิติได้ (เช่นเวกเตอร์สี SIFT) หากคุณลักษณะนั้นเป็นคุณลักษณะที่ดี ในระดับหนึ่งมันอาจทำงานกับข้อมูลตัวอักษร 10,000 มิติในบางครั้ง โมเดลเชิงทฤษฎีของคำสาปไม่เคยมีข้อมูลจริง ปัญหาที่ใหญ่กว่าคือคุณสมบัติที่หาที่เปรียบไม่ได้เบาบางและไม่สามารถเห็นภาพและตรวจสอบผลลัพธ์ซ้ำได้
มี QUIT - Anony-Mousse

คำตอบ:


18

มันช่วยให้คิดได้ว่าThe Curse of Dimensionalityคืออะไร มีกระทู้ที่ดีมากหลายรายการใน CV ที่ควรค่าแก่การอ่าน นี่คือสถานที่ที่จะเริ่มต้น: อธิบาย“คำสาปของมิติ” เพื่อเด็ก

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

คำตอบสั้น ๆ จากกระทู้เหล่านี้คือปริมาณ (ขนาด) ของพื้นที่เพิ่มขึ้นในอัตราที่เหลือเชื่อเมื่อเทียบกับจำนวนมิติ แม้10มิติ (ซึ่งไม่เหมือนว่ามันเป็น 'มิติสูง' สำหรับฉัน) สามารถนำการสาปแช่ง หากข้อมูลของคุณมีการกระจายอย่างสม่ำเสมอทั่วทั้งพื้นที่นั้นวัตถุทั้งหมดจะมีระยะเวลาเท่ากันจากกัน อย่างไรก็ตามตามที่ @ Anony-Mousse จดบันทึกไว้ในคำตอบของเขาต่อปรากฏการณ์นี้ขึ้นอยู่กับว่าข้อมูลมีการจัดเรียงภายในพื้นที่อย่างไร หากพวกเขาไม่สม่ำเสมอคุณไม่จำเป็นต้องมีปัญหานี้ สิ่งนี้นำไปสู่คำถามที่ว่าข้อมูลมิติสูงที่กระจายอย่างสม่ำเสมอนั้นเป็นเรื่องธรรมดามากหรือไม่ (ดู: “ คำสาปของมิติข้อมูล” มีอยู่จริงในข้อมูลจริงหรือไม่ )

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

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

อย่างไรก็ตามไม่ว่าจะเป็น kหมายถึง 'งาน' จะยังคงเป็นคำถามที่ซับซ้อน ภายใต้สมมติฐานที่ว่ามีการจัดกลุ่มแฝงที่มีความหมายในข้อมูลของคุณพวกเขาไม่จำเป็นต้องอยู่ในมิติข้อมูลทั้งหมดของคุณหรือในมิติข้อมูลที่สร้างขึ้นเพื่อเพิ่มความแปรปรวนสูงสุด (เช่นองค์ประกอบหลัก) กลุ่มอาจอยู่ในมิติที่เปลี่ยนแปลงต่ำกว่า (ดู: ตัวอย่างของ PCA ที่พีซีที่มีความแปรปรวนต่ำเป็น "มีประโยชน์" ) นั่นคือคุณอาจมีกลุ่มที่มีจุดที่อยู่ภายในและแยกออกจากกันอย่างชัดเจนระหว่างมิติข้อมูลของคุณหรือบนพีซีที่มีความหลากหลายน้อยลง แต่ไม่เหมือนกันในพีซีที่มีรูปแบบสูงซึ่งจะทำให้k- หมายถึงไม่สนใจกลุ่มที่คุณติดตามและเลือกกลุ่ม faux แทน (ตัวอย่างบางส่วนสามารถดูได้ที่นี่: วิธีทำความเข้าใจข้อเสียของ K-mean )


ปรากฎว่ามีแท็กสำหรับการเรียนรู้ที่หลากหลาย (ควรดูก่อน!) เพื่อสรุปสำหรับผู้ที่ไม่อาจทราบความคิดที่ว่าในขณะที่ข้อมูลมิติสูงมีแนวโน้มที่จะเบาบางในแง่ของพื้นที่ทั้งหมดก็อาจจะมีความหนาแน่นในบาง hypersurface ภายในพื้นที่นั้น
GeoMatt22

+1 สำหรับคำตอบที่ยอดเยี่ยม คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับค่าลักษณะเฉพาะได้ไหม? หากขนาดที่มีประสิทธิภาพมีขนาดเล็กคุณแนะนำให้ทำ PCA และเก็บคะแนนเพียงเล็กน้อยแรกที่มีค่าลักษณะเฉพาะสูงหรือไม่
DataD'oh

@ DataD'oh เป็นไปได้อย่างหนึ่งที่เป็นไปได้ แต่สิ่งที่ฉันพูดคือคุณไม่จำเป็นต้องทำเช่นนั้น ผลก็คือข้อมูลไม่ได้มีมิติสูง (เมื่อมีเพียงไม่กี่คนแรกที่มีค่าลักษณะเฉพาะสูง) ดังนั้นคุณไม่จำเป็นต้องทำอะไรเลย - คำสาปของมิติไม่สามารถนำไปใช้ได้
gung - Reinstate Monica

@gung ผมได้โพสต์คำถามใหม่ ฉันหวังว่ามันจะไม่สำคัญเกินไป
DataD'oh

7

คำตอบของฉันไม่ได้ จำกัด อยู่ที่ K หมายความว่า แต่ตรวจสอบว่าเรามีคำสาปของขนาดสำหรับวิธีการตามระยะ K-mean ขึ้นอยู่กับการวัดระยะทาง (ตัวอย่างเช่น Euclidean distance)

ก่อนเรียกใช้อัลกอริทึมเราสามารถตรวจสอบการกระจายตัวของระยะทางได้นั่นคือตัวชี้วัดระยะทางทั้งหมดสำหรับคู่ทั้งหมดของข้อมูล ถ้าคุณมีN จุดข้อมูลคุณควรมี 0.5N(N1)ตัวชี้วัดระยะทาง หากข้อมูลมีขนาดใหญ่เกินไปเราสามารถตรวจสอบตัวอย่างได้

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


นี่คือการจำลองบางส่วนเพื่อแสดงผลลัพธ์ที่ตอบโต้ได้ง่าย หากคุณลักษณะทั้งหมดมีการกระจายอย่างสม่ำเสมอและหากมีขนาดมากเกินไปตัวชี้วัดระยะทางทุกระยะควรเข้าใกล้16ซึ่งมาจาก xi=01xj=01(xixj)2dxidxj. อย่าลังเลที่จะเปลี่ยนการกระจายเครื่องแบบเพื่อการกระจายอื่น ๆ ตัวอย่างเช่นถ้าเราเปลี่ยนเป็นการกระจายแบบปกติ (เปลี่ยนrunifเป็นrnorm) มันจะมาบรรจบกันเป็นตัวเลขอื่นที่มีขนาดตัวเลขใหญ่

นี่คือการจำลองสำหรับมิติตั้งแต่ 1 ถึง 500 คุณลักษณะคือการกระจายแบบสม่ำเสมอจาก 0 ถึง 1

plot(0, type="n",xlim=c(0,0.5),ylim=c(0,50))
abline(v=1/6,lty=2,col=2)
grid()

n_data=1e3
for (p in c(1:5,10,15,20,25,50,100,250,500)){
    x=matrix(runif(n_data*p),ncol=p)
    all_dist=as.vector(dist(x))^2/p
    lines(density(all_dist))
}

ป้อนคำอธิบายรูปภาพที่นี่


1
คืออะไร P?
อะมีบา

1
ฉัน upvoted เนื่องจากการสาธิตของปรากฏการณ์การหดตัวแบบยุคลิดภายใต้ขนาดที่สูง แต่คำตอบนั้นไม่ได้แสดงให้เห็นถึงความทุกข์ของการรวมกลุ่ม k-meanจากคำสาป ความทุกข์ทรมานจะบอกเป็นนัยว่าในมิติที่สูงพอสมควรแยกกลุ่ม (และไม่เหมือนกันข้อมูลสุ่มเหมือนคุณ) อาจไม่สามารถเปิดเผยได้อย่างประสบความสำเร็จเหมือนอยู่ในมิติต่ำ คุณไม่ได้แตะที่หัวข้อนี้
ttnphns

@อะมีบา Pคือจำนวนมิติ ฉันจะตรวจสอบพล็อตและเพิ่มรหัส ขอบคุณ
Haitao Du

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