k-means++

2.5.2

k-means++

อัปเดต 2020-02-12 อ่าน 1 นาที
สรุป
  • k-means++ เลือกเซนทรอยด์เริ่มต้นให้กระจายตัวมากขึ้น ทำให้ k-means ไม่ติดจุดเฉพาะที่ง่าย
  • เซนทรอยด์ใหม่ถูกสุ่มโดยให้น้ำหนักตามระยะกำลังสองจากเซนทรอยด์ที่มีอยู่ จุดที่ไกลกว่าจะถูกเลือกมากกว่า
  • ใน scikit-learn เพียงตั้ง init="k-means++" ก็ได้ผลลัพธ์ทันที สามารถเปรียบเทียบกับการเริ่มแบบสุ่มได้ง่าย
  • สำหรับข้อมูลชุดใหญ่ การประมวลผลแบบ online เช่น mini-batch k-means ก็ใช้แนวคิด k-means++ เป็นฐาน

สัญชาตญาณ #

การเข้าใจวิธีนี้ควรดูสมมติฐานของโมเดล ลักษณะข้อมูล และผลของการตั้งค่าพารามิเตอร์ต่อการทั่วไปของโมเดล

คำอธิบายโดยละเอียด #