AI 101
K-Means Clustering คืออะไร?

K-Means Clustering เป็น การเรียนรู้ที่ไม่มีการกำกับ และเป็นหนึ่งในอัลกอริทึมการเรียนรู้ที่ไม่มีการกำกับที่ใช้กันมากที่สุด เนื่องจากมีพลังและความเรียบง่าย การทำงานของ K-Means Clustering คือการสร้างจุดอ้างอิง (centroid) สำหรับจำนวนคลาสที่ต้องการ และจากนั้นจึงกำหนดจุดข้อมูลให้กับคลาสที่ใกล้กับจุดอ้างอิงมากที่สุด
คำตอบสั้นคือ K-Means Clustering ทำงานโดยการสร้างจุดอ้างอิง (centroid) สำหรับจำนวนคลาสที่ต้องการ และจากนั้นจึงกำหนดจุดข้อมูลให้กับคลาสที่ใกล้กับจุดอ้างอิงมากที่สุด ในขณะที่คำตอบนี้เป็นคำตอบที่รวบรัดสำหรับ K-Means Clustering แต่เรามาดูรายละเอียดเพิ่มเติมเกี่ยวกับ K-Means Clustering และเข้าใจว่ามันทำงานอย่างไร
การกำหนด Clustering
ก่อนที่เราจะดูอัลกอริทึมที่ใช้ในการทำงาน K-Means Clustering เรามาดูคำจำกัดความของ Clustering ก่อน
Clustering คือการแบ่งกลุ่มของวัตถุ และ Clustering คือการแบ่งกลุ่มของวัตถุในกลุ่ม ในด้านวิทยาศาสตร์ข้อมูล อัลกอริทึม Clustering มีเป้าหมายเพื่อทำสิ่งเหล่านี้
- đảm bảoว่าจุดข้อมูลทั้งหมดในกลุ่มคลาสเดียวกันมีความคล้ายคลึงกันมากที่สุด
- đảm bảoว่าจุดข้อมูลทั้งหมดในกลุ่มคลาสที่แตกต่างกันมีความคล้ายคลึงกันน้อยที่สุด
อัลกอริทึม Clustering แบ่งกลุ่มของวัตถุตามมาตรการของความคล้ายคลึงกัน ซึ่งมักจะทำโดยการหาจุดศูนย์กลาง (centroid) ของกลุ่มที่เป็นไปได้ในเซตข้อมูล
K-Means Clustering
K-Means Clustering เป็นหนึ่งในอัลกอริทึม Clustering ที่เก่าแก่ที่สุดและใช้กันมากที่สุด และมันทำงานตาม การปรับขนาดเวกเตอร์ มีจุดศูนย์กลางที่เลือกไว้ และจากนั้นเวกเตอร์จะถูกวาดจากจุดศูนย์กลางไปยังจุดข้อมูลทั้งหมดในเซตข้อมูล
โดยทั่วไป K-Means Clustering สามารถแบ่งออกเป็น 5 ขั้นตอน
- วางทุก ๆ ตัวอย่างลงในกลุ่มย่อย โดยจำนวนกลุ่มย่อยเท่ากับ K
- หาจุดศูนย์กลาง (centroid) ของกลุ่มย่อยที่สร้างขึ้นใหม่
- ตามจุดศูนย์กลาง (centroid) เหล่านี้ จัดจุดข้อมูลให้กับคลาสที่ใกล้กับจุดศูนย์กลางมากที่สุด
- คำนวณระยะห่างจากทุก ๆ จุดไปยังจุดศูนย์กลาง (centroid) และจัดจุดข้อมูลให้กับคลาสที่ระยะห่างจากจุดศูนย์กลาง (centroid) น้อยที่สุด
- หลังจากที่จุดข้อมูลถูกจัดให้กับคลาสแล้ว หาจุดศูนย์กลาง (centroid) ใหม่ของคลาส
ขั้นตอนเหล่านี้จะทำซ้ำจนกว่ากระบวนการฝึกอบรมจะเสร็จสมบูรณ์
วิธีการเลือกค่า K ที่เหมาะสม
เมื่อพิจารณาว่า K-Means Clustering เป็นอัลกอริทึมที่ไม่มีการกำกับ และจำนวนคลาสไม่ทราบล่วงหน้า คุณจะเลือกค่า K ที่เหมาะสมได้อย่างไร
เทคนิคหนึ่งในการเลือกค่า K ที่เหมาะสมคือการใช้เทคนิค “elbow” เทคนิคนี้ประกอบด้วยการทำงาน K-Means Clustering สำหรับค่า K ที่แตกต่างกัน และใช้มาตรการความแม่นยำ เช่น Sum of Squared Error เพื่อกำหนดค่า K ที่ให้ผลลัพธ์ที่ดีที่สุด
Mini-Batch K-Means Clustering
เมื่อขนาดของเซตข้อมูลเพิ่มขึ้น เวลาคำนวณก็เพิ่มขึ้นด้วย K-Means Clustering พื้นฐานสามารถใช้เวลานานในการทำงานเมื่อทำงานกับเซตข้อมูลขนาดใหญ่ และด้วยเหตุนี้ จึงมีการปรับเปลี่ยน K-Means Clustering เพื่อลดต้นทุนเชิงพื้นที่และเวลา
Mini-Batch K-Means Clustering เป็นรูปแบบหนึ่งของ K-Means Clustering ที่ขนาดของเซตข้อมูลที่ใช้ในการคำนวณถูกจำกัด K-Means Clustering พื้นฐานทำงานกับเซตข้อมูลทั้งหมดในครั้งเดียว ในขณะที่ Mini-Batch K-Means Clustering แบ่งเซตข้อมูลออกเป็นกลุ่มย่อย (mini-batch) และใช้กลุ่มย่อยเหล่านี้ในการอัปเดตจุดศูนย์กลาง (centroid)
การประยุกต์ใช้ K-Means Clustering
K-Means Clustering สามารถใช้ได้อย่างปลอดภัยในสถานการณ์ใดๆ ที่จุดข้อมูลสามารถแบ่งออกเป็นกลุ่มที่แตกต่างกัน ตัวอย่างการใช้งาน K-Means Clustering ได้แก่ การแบ่งกลุ่มเอกสารตามคุณลักษณะ เช่น หัวข้อ แท็ก การใช้คำ และคุณลักษณะอื่นๆ ของเอกสาร
K-Means Clustering สามารถใช้ในการสร้างระบบแนะนำ โดยการแบ่งกลุ่มผู้ใช้ตามรูปแบบการดู และแนะนำเนื้อหาที่คล้ายคลึงกัน K-Means Clustering ยังสามารถใช้ในการตรวจจับข้อผิดปกติ โดยการเน้นย้ำถึงกรณีที่อาจเป็นข้อผิดปกติหรือสินค้าที่มีข้อบกพร่อง
K-Means Clustering g สามารถใช้สำหรับการทำงานที่เปิดกว้าง เช่น การสร้างระบบแนะนำ ผู้ใช้ของระบบ เช่น Netflix สามารถแบ่งออกเป็นกลุ่มตามรูปแบบการดู และแนะนำเนื้อหาที่คล้ายคลึงกัน K-Means Clustering สามารถใช้ในการตรวจจับข้อผิดปกติ โดยการเน้นย้ำถึงกรณีที่อาจเป็นข้อผิดปกติหรือสินค้าที่มีข้อบกพร่อง












