Machine Learning(EP.8)- การจัดกลุ่มด้วย K-Means(K-Means Clustering)
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) เพื่อใช้เป็นโมเดลสามารถนำไปใช้กับชุดข้อมูลทดสอบหากได้ผลดี ก็สามารถนำโมเดลไปใช้งานจริงได้
บทความที่เกี่ยวข้อง
EP.1 — ชุดข้อมูล (DataSet)
EP.2 — รู้จักกับข้อมูลชุดเรียนรู้และข้อมูลชุดทดสอบ
EP.3 — Linear Regression
EP.4 — Binary Classifier
EP.5 — K-nearest Neighbors
EP.6 — Naive Bayes
EP.7 — การวิเคราะห์องค์ประกอบหลัก (PCA)
EP.8 — การจัดกลุ่มด้วย K-Means(K-Means Clustering)
EP.9 — การจดจำใบหน้า (Face Recognition)
EP.10 — การจดจำตัวอักษร (Character Recognition)