2.5.8
Spectral Clustering
สรุป
- สร้างกราฟความคล้ายของข้อมูล แล้วใช้เวกเตอร์ลักษณะเฉพาะของ Laplacian ฝังข้อมูลลงในมิติที่ต่ำกว่าก่อนค่อยทำ k-means
- เหมาะกับข้อมูลโครงสร้างไม่เชิงรัศมี เช่น วงแหวนหรือรูปร่างที่คดเคี้ยว ซึ่ง k-means จัดกลุ่มได้ยาก
- พารามิเตอร์สำคัญ ได้แก่ วิธีคำนวณ affinity (rbf, nearest neighbors), ค่าพารามิเตอร์ของเคอร์เนล และวิธีจัดกลุ่มหลังฝัง (assign_labels)
- ต้องคำนวณค่าเฉพาะตามจำนวนคลัสเตอร์ จึงใช้หน่วยความจำและเวลามากขึ้นเมื่อจำนวนจุดเยอะ
สัญชาตญาณ #
การเข้าใจวิธีนี้ควรดูสมมติฐานของโมเดล ลักษณะข้อมูล และผลของการตั้งค่าพารามิเตอร์ต่อการทั่วไปของโมเดล
คำอธิบายโดยละเอียด #
สูตรสำคัญ #
ให้เมทริกซ์ความคล้าย \(W\), เมทริกซ์ดีกรี \(D\) และ Laplacian \(L = D - W\) แบบปกติย่อส่วน
$$ L_\mathrm{sym} = D^{-1/2} L D^{-1/2} = I - D^{-1/2} W D^{-1/2}. $$เลือก \(k\) (จำนวนคลัสเตอร์) แล้วนำเวกเตอร์ลักษณะเฉพาะลำดับต่ำสุด \(k\) ตัวมาสร้างเมทริกซ์ \(U\) จากนั้น normalize แถวและใช้ k-means เพื่อให้ผลลัพธ์ใกล้กับการแก้ปัญหา normalized cut
ทดลองด้วย Python #
ตัวอย่างกับข้อมูลรูปลูกศรสองวง (make_circles)
| |
เอกสารอ้างอิง #
- Shi, J., & Malik, J. (2000). Normalized Cuts and Image Segmentation. IEEE TPAMI.
- Ng, A. Y., Jordan, M. I., & Weiss, Y. (2002). On Spectral Clustering. NeurIPS.
- scikit-learn developers. (2024). Spectral clustering. https://scikit-learn.org/stable/modules/clustering.html#spectral-clustering