ฉันเชื่อว่าชื่อของคำถามนี้บอกว่ามันทั้งหมด
ฉันเชื่อว่าชื่อของคำถามนี้บอกว่ามันทั้งหมด
คำตอบ:
มันช่วยให้คิดได้ว่าThe Curse of Dimensionalityคืออะไร มีกระทู้ที่ดีมากหลายรายการใน CV ที่ควรค่าแก่การอ่าน นี่คือสถานที่ที่จะเริ่มต้น: อธิบาย“คำสาปของมิติ” เพื่อเด็ก
ฉันทราบว่าคุณสนใจวิธีการนี้ หมายถึงการจัดกลุ่ม เป็นสิ่งที่ควรค่าแก่การตระหนักว่าหมายถึงเป็นกลยุทธ์การค้นหาเพื่อลด (เฉพาะ) ระยะทางแบบยุคลิดสแควร์ ในแง่ของนั้นมันมีค่าคิดเกี่ยวกับระยะทางแบบยุคลิดเกี่ยวข้องกับคำสาปของขนาด (ดู: ทำไมระยะทางแบบยุคลิดไม่ได้เป็นตัวชี้วัดที่ดีในมิติสูง? )
คำตอบสั้น ๆ จากกระทู้เหล่านี้คือปริมาณ (ขนาด) ของพื้นที่เพิ่มขึ้นในอัตราที่เหลือเชื่อเมื่อเทียบกับจำนวนมิติ แม้มิติ (ซึ่งไม่เหมือนว่ามันเป็น 'มิติสูง' สำหรับฉัน) สามารถนำการสาปแช่ง หากข้อมูลของคุณมีการกระจายอย่างสม่ำเสมอทั่วทั้งพื้นที่นั้นวัตถุทั้งหมดจะมีระยะเวลาเท่ากันจากกัน อย่างไรก็ตามตามที่ @ Anony-Mousse จดบันทึกไว้ในคำตอบของเขาต่อปรากฏการณ์นี้ขึ้นอยู่กับว่าข้อมูลมีการจัดเรียงภายในพื้นที่อย่างไร หากพวกเขาไม่สม่ำเสมอคุณไม่จำเป็นต้องมีปัญหานี้ สิ่งนี้นำไปสู่คำถามที่ว่าข้อมูลมิติสูงที่กระจายอย่างสม่ำเสมอนั้นเป็นเรื่องธรรมดามากหรือไม่ (ดู: “ คำสาปของมิติข้อมูล” มีอยู่จริงในข้อมูลจริงหรือไม่ )
ฉันจะยืนยันว่าสิ่งที่สำคัญไม่จำเป็นต้องเป็นจำนวนของตัวแปร (ขนาดตามตัวอักษรของข้อมูลของคุณ) แต่เป็นมิติข้อมูลที่มีประสิทธิภาพของข้อมูลของคุณ ภายใต้สมมติฐานที่ว่า ส่วนข้อมูลนั้น 'สูงเกินไป' สำหรับ - หมายถึงกลยุทธ์ที่ง่ายที่สุดคือการนับจำนวนคุณสมบัติที่คุณมี แต่ถ้าคุณต้องการคิดในแง่ของมิติที่มีประสิทธิภาพคุณสามารถทำการวิเคราะห์องค์ประกอบหลัก (PCA) และดูว่าค่าลักษณะเฉพาะลดลงอย่างไร เป็นเรื่องปกติที่รูปแบบส่วนใหญ่จะมีอยู่ในสองมิติ (ซึ่งโดยทั่วไปจะตัดข้ามมิติข้อมูลต้นฉบับของชุดข้อมูลของคุณ) นั่นหมายความว่าคุณมีโอกาสน้อยที่จะมีปัญหากับหมายถึงในแง่ที่ว่ามิติข้อมูลที่มีประสิทธิภาพของคุณนั้นเล็กกว่าจริงมาก
วิธีการที่เกี่ยวข้องมากขึ้นจะมีการตรวจสอบการกระจายของระยะทางคู่ในชุดข้อมูลของคุณพร้อมเส้น @ hxd1011 แสดงให้เห็นในของเขาคำตอบ การมองหาการกระจายตัวแบบง่าย ๆ จะทำให้คุณทราบถึงความเป็นไปได้ที่สม่ำเสมอ หากคุณปรับมาตรฐานตัวแปรทั้งหมดให้อยู่ภายในช่วงเวลาระยะทางแบบคู่จะต้องอยู่ในช่วงเวลา . ระยะทางที่มีความเข้มข้นสูงจะทำให้เกิดปัญหา ในทางกลับกันการกระจายหลายโหมดอาจมีความหวัง (คุณสามารถดูตัวอย่างในคำตอบของฉันได้ที่นี่: จะใช้ทั้งไบนารีและตัวแปรต่อเนื่องเข้าด้วยกันในการจัดกลุ่มได้อย่างไร )
อย่างไรก็ตามไม่ว่าจะเป็น หมายถึง 'งาน' จะยังคงเป็นคำถามที่ซับซ้อน ภายใต้สมมติฐานที่ว่ามีการจัดกลุ่มแฝงที่มีความหมายในข้อมูลของคุณพวกเขาไม่จำเป็นต้องอยู่ในมิติข้อมูลทั้งหมดของคุณหรือในมิติข้อมูลที่สร้างขึ้นเพื่อเพิ่มความแปรปรวนสูงสุด (เช่นองค์ประกอบหลัก) กลุ่มอาจอยู่ในมิติที่เปลี่ยนแปลงต่ำกว่า (ดู: ตัวอย่างของ PCA ที่พีซีที่มีความแปรปรวนต่ำเป็น "มีประโยชน์" ) นั่นคือคุณอาจมีกลุ่มที่มีจุดที่อยู่ภายในและแยกออกจากกันอย่างชัดเจนระหว่างมิติข้อมูลของคุณหรือบนพีซีที่มีความหลากหลายน้อยลง แต่ไม่เหมือนกันในพีซีที่มีรูปแบบสูงซึ่งจะทำให้- หมายถึงไม่สนใจกลุ่มที่คุณติดตามและเลือกกลุ่ม faux แทน (ตัวอย่างบางส่วนสามารถดูได้ที่นี่: วิธีทำความเข้าใจข้อเสียของ K-mean )
คำตอบของฉันไม่ได้ จำกัด อยู่ที่ K หมายความว่า แต่ตรวจสอบว่าเรามีคำสาปของขนาดสำหรับวิธีการตามระยะ K-mean ขึ้นอยู่กับการวัดระยะทาง (ตัวอย่างเช่น Euclidean distance)
ก่อนเรียกใช้อัลกอริทึมเราสามารถตรวจสอบการกระจายตัวของระยะทางได้นั่นคือตัวชี้วัดระยะทางทั้งหมดสำหรับคู่ทั้งหมดของข้อมูล ถ้าคุณมี จุดข้อมูลคุณควรมี ตัวชี้วัดระยะทาง หากข้อมูลมีขนาดใหญ่เกินไปเราสามารถตรวจสอบตัวอย่างได้
หากเรามีคำสาปของปัญหาด้านมิติสิ่งที่คุณจะเห็นคือค่าเหล่านี้อยู่ใกล้กันมาก ดูเหมือนว่าจะตอบโต้ได้ง่ายมากเพราะมันหมายความว่าทุกคนอยู่ใกล้หรือไกลจากทุกคนและการวัดระยะทางนั้นไร้ประโยชน์
นี่คือการจำลองบางส่วนเพื่อแสดงผลลัพธ์ที่ตอบโต้ได้ง่าย หากคุณลักษณะทั้งหมดมีการกระจายอย่างสม่ำเสมอและหากมีขนาดมากเกินไปตัวชี้วัดระยะทางทุกระยะควรเข้าใกล้ซึ่งมาจาก . อย่าลังเลที่จะเปลี่ยนการกระจายเครื่องแบบเพื่อการกระจายอื่น ๆ ตัวอย่างเช่นถ้าเราเปลี่ยนเป็นการกระจายแบบปกติ (เปลี่ยน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))
}