まとめ
- การจัดกลุ่มเป็นการเรียนรู้แบบไม่มีผู้สอนสำหรับค้นหารูปแบบหรือกลุ่มในข้อมูลที่ไม่ระบุฉลาก
- มีแนวคิดหลากหลาย เช่น อิงระยะทาง อิงความหนาแน่น โมเดลความน่าจะเป็น หรือกราฟ เลือกใช้ตามลักษณะข้อมูล
- มีวิธีต่อยอดจำนวนมากสำหรับการเลือกจำนวนคลัสเตอร์ การจัดการ noise หรือการผสมหลายเกณฑ์พร้อมกัน
การจัดกลุ่ม #
ภาพรวมเชิงสัญชาติญาณ #
การจัดกลุ่มช่วยรวมตัวอย่างที่คล้ายกันเพื่อมองภาพรวมของข้อมูลจำนวนมาก ใช้ได้ทั้งออกแบบเซกเมนต์ลูกค้า ตรวจจับสิ่งผิดปกติ หรือเตรียมข้อมูลสำหรับโมเดลมีผู้สอนภายหลัง
แนวคิดเชิงคณิตศาสตร์ #
แม้สูตรของแต่ละวิธีต่างกัน แต่มีเป้าหมายร่วมคือ “ทำให้คลัสเตอร์ภายในมีความคล้ายสูง และระหว่างคลัสเตอร์มีความคล้ายต่ำ” เราสามารถกำหนดความคล้ายด้วยระยะ (Euclidean, cosine ฯลฯ) จำนวนเพื่อนบ้าน ความน่าจะเป็น หรือโครงสร้างกราฟ แล้วแก้ปัญหาสุดโต่งตามนิยามนั้น
ทดลองด้วย Python #
บทนี้สาธิตหัวข้อสำคัญต่อไปนี้พร้อมโค้ด scikit-learn
- k-means / k-means++ / X-means: การอัปเดตเซนทรอยด์และการเลือกจำนวนคลัสเตอร์อัตโนมัติ
- DBSCAN / HDBSCAN: วิธีอิงความหนาแน่นที่รับมือ noise ได้ดี
- Gaussian Mixture Model (GMM): คาดความน่าจะเป็นการเป็นสมาชิกคลัสเตอร์
- Hierarchical Clustering: ใช้เดนโดรแกรมดูโครงสร้างหลายระดับ
- Spectral Clustering: สร้างคลัสเตอร์จากลาปลาซเชียนของกราฟ
โค้ดทุกชิ้นสร้างภาพเพื่อช่วยตีความผลลัพธ์
เอกสารอ้างอิง #
- Jain, A. K. (2010). Data Clustering: 50 Years Beyond K-means. Pattern Recognition Letters.
- Xu, R., & Wunsch, D. (2005). Survey of Clustering Algorithms. IEEE Transactions on Neural Networks.