อัลกอริธึมการจัดกลุ่มเป็นหนึ่งในอัลกอริธึมยอดนิยมที่ผู้ปฏิบัติงานด้านแมชชีนเลิร์นนิงทั่วโลกใช้เพื่อแก้ปัญหาการจำแนกประเภท อัลกอริธึมการจัดกลุ่มที่ได้รับความนิยมมากที่สุดในบรรดาอัลกอริธึมการจัดกลุ่มทั้งหมดคือการจัดกลุ่มแบบ K-means แต่ในเรื่องนี้เราจะมาดูกันว่ามันทำงานอย่างไร มีตัวเลือกอื่นๆ ที่มีให้เลือกใช้เมื่อใด แตกต่างกันอย่างไร และอื่นๆ อีกมากมาย

เคมีน

  • มันต้องการให้เรารู้ว่ามีกี่กลุ่มที่เป็นไปได้ที่สามารถสร้างขึ้นได้ก่อนที่จะใช้อัลกอริธึมด้วยซ้ำ โดยถือว่ากระจุกมีรูปร่างนูน
  • หน้าเอกสารหลายหน้าเกี่ยวกับ k-means รวมถึง หน้าเอกสารอย่างเป็นทางการของ scikit learn ใช้ข้อมูลที่ซ้ำกัน (สร้างขึ้น) ด้วยฟีเจอร์เดียว ดังนั้นจึงสามารถระบุจำนวนคลัสเตอร์ได้อย่างง่ายดายด้วยความช่วยเหลือของแผนภูมิกระจาย
  • แต่ในโลกแห่งความเป็นจริง มีโอกาสน้อยมากที่คุณจะพบข้อมูลที่มีคุณลักษณะเพียงอย่างใดอย่างหนึ่ง ดังนั้นการทราบจำนวนคลัสเตอร์จึงเป็นเรื่องยากเล็กน้อย
  • มีเทคนิคบางอย่าง เช่น การถามผู้มีส่วนได้ส่วนเสีย วิธีข้อศอก "สัมประสิทธิ์ภาพเงา" ซึ่งช่วยเราในการระบุจำนวนของกลุ่ม
  • ใช้ Within-Cluster-Sum-of-Squares (WCSS) เป็นฟังก์ชันวัตถุประสงค์ (ฟังก์ชันการสูญเสียในแง่การเรียนรู้เชิงลึก) เพื่อปรับปรุงตัวเองในทุกการวนซ้ำ
  • รูปแบบหนึ่งของการจัดกลุ่ม K-means คือ "การจัดกลุ่ม K-Means แบบ Mini Batch" จะใช้ตัวอย่างของข้อมูลที่ป้อน นอกเหนือจากนั้นทุกอย่างก็เหมือนกัน ความแม่นยำของแบบจำลองนี้น้อยกว่าเล็กน้อยเมื่อเทียบกับการจัดกลุ่ม K-mean ปกติของคุณ

การขยายพันธุ์ความสัมพันธ์

  • ในทุก ๆ การวนซ้ำ it จะส่งข้อความระหว่างคู่ตัวอย่างจนกระทั่งมาบรรจบกัน
  • ข้อความนี้รวมถึงความเหมาะสมสำหรับตัวอย่างหนึ่งที่จะเป็นตัวอย่างของอีกตัวอย่างหนึ่ง ซึ่งได้รับการอัพเดตเพื่อตอบสนองต่อค่าจากคู่อื่นๆ

การเปลี่ยนแปลงเฉลี่ย

  • มัน ทำงานโดยการอัปเดตเซนทรอยด์ของแต่ละคลัสเตอร์ จากนั้นเซนทรอยด์เหล่านี้จะถูกกรองเพื่อกำจัดสิ่งที่คล้ายกันหรือเกือบจะซ้ำกัน และส่งกลับชุดของเซนทรอยด์

การจัดกลุ่มสเปกตรัม

  • มัน ใช้แนวคิดของ "เมทริกซ์ความสัมพันธ์" ตามด้วยการจัดกลุ่ม
  • ใช้งานได้ดีกับคลัสเตอร์จำนวนเล็กน้อย แต่ไม่แนะนำสำหรับการจัดกลุ่มส่วนประกอบของเวกเตอร์ลักษณะเฉพาะจำนวนมาก
  • โดยทั่วไปใช้สำหรับการแบ่งส่วนภาพ

การจัดกลุ่มแบบลำดับชั้น

  • มันคล้ายกับป่าสุ่มเล็กน้อย ใช้คลัสเตอร์ที่ซ้อนกันโดยการรวมหรือแยกพวกมันตามลำดับ และลำดับชั้นนี้จะแสดงเป็นแผนผังไบนารี
  • การจัดกลุ่มแบบกลุ่มเป็นแบบจำลองที่แน่นอนของ "การจัดกลุ่มแบบลำดับชั้น" แต่ใช้แนวทางจากล่างขึ้นบน โดยจะรวมคู่ของคลัสเตอร์แบบวนซ้ำซึ่งจะเพิ่มระยะการเชื่อมโยงที่กำหนดให้น้อยที่สุด

ดีบีเอสสแกน

  • แม้ว่า K-mean จะถือว่าคลัสเตอร์มีรูปร่างนูน แต่ "DBSCAN" ไม่สนใจรูปร่างมากนัก แต่สนใจความหนาแน่นของจุดข้อมูลมากกว่า ดังนั้นกระจุกที่ก่อตัวขึ้นจึงสามารถมีรูปร่างอะไรก็ได้
  • โดยจะใช้ค่า eps ซึ่งเป็นระยะห่างสูงสุดระหว่างสองตัวอย่างเพื่อให้ตัวอย่างหนึ่งพิจารณาว่าอยู่ในบริเวณใกล้เคียงกับอีกตัวอย่างหนึ่ง นี่ไม่ใช่ขอบเขตสูงสุดในระยะทางของจุดต่างๆ ภายในคลัสเตอร์ นี่เป็นพารามิเตอร์ DBSCAN ที่สำคัญที่สุดในการเลือกให้เหมาะสมกับชุดข้อมูลและฟังก์ชันระยะทางของคุณ
  • Optics เป็นเวอร์ชันทั่วไปของ DBSCAN ที่มีข้อกำหนด eps ในช่วงแทนที่จะเป็นค่าเดียว

ไม้เรียว

  • เบิร์ชสร้างต้นไม้ที่เรียกว่า Clustering Feature Tree ซึ่งโดยพื้นฐานแล้วทำให้เป็นการจัดกลุ่มแบบลำดับชั้น
  • อัลกอริธึม BIRCH มีพารามิเตอร์สองตัว ได้แก่ ค่าขีดจำกัดและปัจจัยการแยกสาขา ปัจจัยการแตกแขนงจะจำกัดจำนวนคลัสเตอร์ย่อยในโหนด และเกณฑ์จำกัดระยะห่างระหว่างตัวอย่างที่เข้ามาและคลัสเตอร์ย่อยที่มีอยู่
  • อัลกอริทึมนี้สามารถดูได้เป็นอินสแตนซ์หรือวิธีการลดข้อมูล เนื่องจากจะลดข้อมูลอินพุตให้เหลือชุดของคลัสเตอร์ย่อยที่ได้รับโดยตรงจากใบของ CFT

แบบจำลองผสมแบบเกาส์เซียน

  • มีแบบจำลองอยู่สี่ประเภทใน "ส่วนผสมแบบเกาส์เซียน" ความแปรปรวนร่วมแบบทรงกลม เส้นทแยงมุม แบบผูก หรือแบบเต็มรูปแบบ
  • เป็นอัลกอริธึมที่เร็วที่สุดสำหรับการเรียนรู้โมเดลแบบผสมผสาน
  • พวกเขาใช้อัลกอริธึม "ความคาดหวัง-สูงสุด" (EM)