AI 101

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

mm

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 สามารถใช้ในการตรวจจับข้อผิดปกติ โดยการเน้นย้ำถึงกรณีที่อาจเป็นข้อผิดปกติหรือสินค้าที่มีข้อบกพร่อง

นักบล็อกและโปรแกรมเมอร์ที่มีความเชี่ยวชาญใน Machine Learning และ Deep Learning หัวข้อ Daniel หวังที่จะช่วยให้ผู้อื่นใช้พลังของ AI สำหรับสิ่งที่ดี