สรุป Machine Learning(EP.8)- การจัดกลุ่มด้วย K-Means(K-Means Clustering)
Apr 8, 2020
--
K-means คือ วิธีการสำหรับค้นหาจำนวนของคลัสเตอร์ (Cluster)จากข้อมูลที่ไม่
ปรากฎ Class หรือ ไม่มี Label ซึ่งเรียกว่า Unlabeled Data วิธีนี้เป็นวิธี Unsupervised Learning หรือแปลตรงๆคือการเรียนรู้แบบไม่ต้องสอน โดยหน้าที่หลักของ K-means คือการแบ่งกลุ่มแบบ Clustering การแบ่งกลุ่มในลักษณะนี้จะใช้พื้นฐานทางสถิติประกอบด้วย 2 กลุ่มข้อมูลขึ้นไป
การทำงานของ K-Means
- กำหนดกลุ่มข้อมูลขึ้นมาก่อน 2 กลุ่ม คือกลุ่มสีแดงกลุ่มสีน้ำเงิน
- สุ่มเลือกค่ากลาง (Centroid) เพื่อใช้เป็นตัวแทนกลุ่มสีแดง (C1) และกลุ่มสีน้ำเงิน (C2) สำหรับคำนวณหาระยะห่างเพื่อเปรียบเทียบระยะห่างระหว่างจุดข้อมูลและค่ากลางของทั้ง 2 กลุ่มกำหนดเป็น C1(x1,y1) และ C2(x2,y2)
- หากสมาชิกจุดใดใกล้เคียงกับกลุ่มใดที่สุดจะถูกกำหนดให้อยู่ในกลุ่มนั้นเลย
เช่น หากใกล้กลุ่มสีน้ำเงิน จุดนั้นจะถูกกำหนดให้อยู่กลุ่มสีน้ำเงิน - เมื่อกำหนดค่าให้สมาชิกอยู่ในกลุ่มแล้ว ทำการคำนวณหาค่ากลางของกลุ่ม
C1 , C2 ใหม่อีกรอบโดยปรับค่าให้อยู่ตรงกลางกลุ่มเพื่อจัดข้อมูลกลุ่มใหม่ ทำไปจนกระทั่งจุดแต่ละจุดไม่มีการเปลี่ยนแปลงหรือเปลี่ยนแปลงให้น้อยที่สุด โปรแกรมจึงจะหยุดการทำงาน - เมื่อไม่มีการเปลี่ยนแปลงข้อมูลให้คำนวณหากลาง (Centroid) เพื่อใช้เป็นโมเดลสามารถนำไปใช้กับชุดข้อมูลทดสอบหากได้ผลดี ก็สามารถนำโมเดลไปใช้งานจริงได้