ข้อดีของคําว่า k-means
นําไปใช้ได้ค่อนข้างยาก
ปรับขนาดเป็นชุดข้อมูลขนาดใหญ่
รับประกันการค้ําประกัน
สามารถเริ่มตําแหน่งของเซนทรอยด์
ปรับให้เข้ากับตัวอย่างใหม่ๆ ได้อย่างง่ายดาย
เป็นค่าทั่วไปสําหรับคลัสเตอร์ของรูปร่างและขนาดต่างๆ เช่น คลัสเตอร์รูปวงรี
การจัดประเภททั่วไปของ k-means
จะเกิดอะไรขึ้นเมื่อคลัสเตอร์มีความหนาแน่นและขนาดแตกต่างกัน ดูที่ รูปที่ 1 เปรียบเทียบกลุ่มที่ใช้งานง่ายทางด้านซ้ายกับคลัสเตอร์ที่พบ K-me ทางด้านขวา การเปรียบเทียบจะแสดงลักษณะของ k-means ในชุดข้อมูลบางชุด
หากต้องการคลัสเตอร์คลัสเตอร์ที่ไม่สมดุลกันเหมือนคลัสเตอร์ที่แสดงในรูปที่ 1 คุณปรับเปลี่ยน (ทั่วไป) K-mean ได้ ในรูปที่ 2 เส้นแสดงขอบเขตคลัสเตอร์หลังจากทั่วไประบุ k-me ดังนี้
- พล็อตซ้าย: ไม่มีการสรุป ทําให้เกิดขอบเขตคลัสเตอร์ที่ไม่ซับซ้อน
- พล็อตจุดกึ่งกลาง: อนุญาตความกว้างของคลัสเตอร์ที่แตกต่างกันซึ่งทําให้เกิดคลัสเตอร์ขนาดอื่นๆ ที่ใช้งานง่ายมากขึ้น
- พล็อตด้านขวา: นอกจากความกว้างคลัสเตอร์ที่แตกต่างกันแล้ว อนุญาตความกว้างต่อมิติข้อมูลที่แตกต่างกัน ทําให้มีเครื่องเดินวงรีแทนคลัสเตอร์แบบทรงกลมซึ่งจะช่วยเพิ่มผลลัพธ์ได้
แม้ว่าหลักสูตรนี้จะไม่ได้เจาะลึกวิธีทํา k-mean ทั่วไป แต่อย่าลืมว่าการแก้ไข k-means นั้นเป็นอีกเหตุผลหนึ่งที่ทําให้การแก้ไขคีย์เวิร์ดนี้มีประสิทธิภาพ ดูข้อมูลเกี่ยวกับการสร้าง k-means ทั่วไปได้ที่ Clustering – K-means Gaussian Mix Models โดย Carlos Visitrin จาก Carnegie Mellon University
ข้อเสียของ K-means
เลือก \(k\) ด้วยตนเอง
ใช้พล็อตเรื่อง "ความสูญเสียกับคลัสเตอร์" เพื่อหาค่าที่ดีที่สุด (k) ตามที่อธิบายไว้ในตีความผลลัพธ์
ต้องขึ้นอยู่กับมูลค่าเริ่มต้น
สําหรับค่า \(k\)ต่ํา คุณจะลดทรัพยากร Dependency นี้ได้โดยเรียกใช้ k-mean หลายครั้งโดยใช้ค่าเริ่มต้นที่แตกต่างกัน และเลือกผลลัพธ์ที่ดีที่สุด เมื่อ \(k\) เพิ่มขึ้น คุณต้องมี k-means เวอร์ชันขั้นสูงเพื่อเลือกค่าเซนติเมตรแรกเริ่มที่สูงขึ้น (เรียกว่า เมล็ด K-means) สําหรับการพูดคุยเรื่องต้นกําเนิดของอนุบาลถึงมัธยมศึกษาตอนปลาย (K-แปลว่าเมล็ดพันธ์ุ) โปรดดูการวิจัยเกี่ยวกับวิธีการเริ่มต้นเชิงเปรียบเทียบสําหรับอัลกอริทึม K-Means Clustering โดย M. อาเรส เซบีบี, แฮสซัน เอ เขต Kingravi, Patricio A. Vela
ข้อมูลคลัสเตอร์ที่มีขนาดและความหนาแน่นแตกต่างกัน
k-means มีปัญหาในการจัดกลุ่มข้อมูลที่คลัสเตอร์มีขนาดและความหนาแน่นแตกต่างกัน หากต้องการจัดกลุ่มข้อมูลดังกล่าว คุณต้องสรุปข้อมูล k-means ตามที่อธิบายไว้ในส่วนข้อดี
ค่าที่ผิดปกติของคลัสเตอร์
แชแนลที่ลากได้อาจมาจากกลุ่มที่มีค่าที่ผิดปกติ หรือผู้ใช้ที่ผิดปกติอาจได้รับคลัสเตอร์ของตนเอง แทนที่จะถูกละเว้น ลองนําค่าดังกล่าวออกหรือตัดค่าที่ผิดปกติก่อนการจัดกลุ่ม
การปรับขนาดกับจํานวนมิติข้อมูล
เมื่อจํานวนมิติข้อมูลเพิ่มขึ้น มาตรวัดความคล้ายคลึงกันที่อิงตามระยะทางจะเพิ่มขึ้นตามค่าคงที่ระหว่างตัวอย่างใดๆ ที่ระบุ ลดมิติข้อมูล โดยใช้ PCA เกี่ยวกับข้อมูลฟีเจอร์ หรือโดยใช้ “การจัดกลุ่มแบบสเปกตรัม” เพื่อแก้ไขอัลกอริทึมคลัสเตอร์ตามที่อธิบายไว้ด้านล่างนี้
คําสบถของมิติข้อมูลและคลัสเตอร์
พล็อตเหล่านี้แสดงให้เห็นว่าอัตราส่วนของการเบี่ยงเบนมาตรฐานต่อค่าเฉลี่ยระยะทางลดลงอย่างไรระหว่างจํานวนมิติข้อมูลที่เพิ่มขึ้น ความสะดวกนี้ช่วยให้ K-mean มีประสิทธิภาพน้อยลงในการแยกความแตกต่างระหว่างตัวอย่าง ผลเสียของข้อมูลที่มีมิติข้อมูลสูงนี้เรียกว่าการสาปแช่งของมิติข้อมูล
การจัดกลุ่มแบบสเปกตรัมช่วยป้องกันการดักจับมิติข้อมูล โดยเพิ่มขั้นตอนก่อนการจัดกลุ่มลงในอัลกอริทึม
- ลดมิติข้อมูลของข้อมูลฟีเจอร์โดยใช้ PCA
- ฉายจุดข้อมูลทั้งหมดไปยังพื้นที่ย่อยที่มีมิติข้อมูลลดลง
- จัดกลุ่มข้อมูลในพื้นที่ย่อยนี้โดยใช้อัลกอริทึมที่คุณเลือก
ดังนั้น การจัดกลุ่มแบบสเปกตรัมไม่ใช่อัลกอริทึมการคลัสเตอร์แยกต่างหาก แต่เป็นขั้นตอนการจัดกลุ่มล่วงหน้าที่คุณสามารถใช้กับอัลกอริทึมการจัดกลุ่มใดๆ ก็ได้ รายละเอียดของการจัดกลุ่มสเปกตรัมมีความซับซ้อน ดูบทแนะนําเกี่ยวกับสเปกตรัมของ Spectral โดย Urelike von Luxburg