อัลกอริทึมแบบกลุ่ม

มาดูประเภทของอัลกอริทึมการจัดกลุ่มอย่างรวดเร็วกันและเมื่อใดที่คุณควรเลือกแต่ละประเภท

เมื่อเลือกอัลกอริทึมการจัดกลุ่ม คุณควรพิจารณาว่าอัลกอริทึมปรับขนาดให้เข้ากับชุดข้อมูลหรือไม่ ชุดข้อมูลในแมชชีนเลิร์นนิงมีตัวอย่างได้หลายล้านตัวอย่าง แต่มีอัลกอริทึมของคลัสเตอร์บางรายการเท่านั้นที่ทํางานได้อย่างมีประสิทธิภาพ อัลกอริทึมหลายคลัสเตอร์ทํางานได้โดยการคํานวณความคล้ายคลึงระหว่างตัวอย่างคู่ทั้งหมด ซึ่งหมายความว่ารันไทม์จะเพิ่มขึ้นเมื่อจํานวนตัวอย่างทั้งหมด \(n\)แสดงเป็นจํานวน \(O(n^2)\) ในรูปแบบที่ซับซ้อน \(O(n^2)\) อัลกอริทึมจะใช้ไม่ได้หากตัวอย่างมีจํานวนหลายล้านรายการ หลักสูตรนี้จะมุ่งเน้นที่อัลกอริทึม K-means ซึ่งมีความซับซ้อน \(O(n)\)ซึ่งหมายความว่าอัลกอริทึมจะปรับสเกลเชิงเส้นด้วย \(n\)

ประเภทของการคลัสเตอร์

การจัดกลุ่มมีหลายวิธีด้วยกัน ดูรายการทั้งหมดได้ที่ การสํารวจที่ครอบคลุมของอัลกอริทึมคลัสเตอร์ Xu, D. และ Tian, Y. Ann. ข้อมูล วิทย์ (2015) 2: 165 แต่ละแบบเหมาะสําหรับการเผยแพร่ข้อมูลแบบใดแบบหนึ่ง ด้านล่างนี้เป็นการพูดคุยสั้นๆ เกี่ยวกับแนวทางทั่วไป 4 แบบ ที่มุ่งเน้นการจัดกลุ่มด้วยเซนทรอยด์โดยใช้ k-means

การคลัสเตอร์แบบเซนทรอยด์

การจัดกลุ่มแบบเซนทรอยด์ จะจัดระเบียบข้อมูลเป็นคลัสเตอร์แบบไม่ใช่ลําดับชั้น ซึ่งตรงข้ามกับคลัสเตอร์แบบลําดับชั้นที่ระบุด้านล่าง ส่วน k-means คืออัลกอริทึมของคลัสเตอร์แบบเซนทรูที่มีการใช้กันอย่างแพร่หลายที่สุด อัลกอริทึมที่อิงตาม Centroid มีประสิทธิภาพ แต่มีความไวต่อสภาวะเริ่มต้นและค่าผิดปกติ หลักสูตรนี้มุ่งเน้นที่ K-Mean เพราะเป็นอัลกอริทึมการจัดกลุ่มที่มีประสิทธิภาพ มีประสิทธิภาพ และเรียบง่าย

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

การคลัสเตอร์แบบความหนาแน่น

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

ตัวอย่างที่จัดกลุ่มเป็น 2 คลัสเตอร์โดยใช้การจัดกลุ่มตามความหนาแน่น คลัสเตอร์จะแยกเป็นเชิงเส้นไม่ได้
ภาพที่ 2: ตัวอย่างของการจัดกลุ่มตามความหนาแน่น

การคลัสเตอร์แบบกระจาย

วิธีการจัดกลุ่มนี้จะถือว่าข้อมูลประกอบด้วยการกระจาย เช่น Gaussian Distributions รูปที่ 3 อัลกอริทึมที่อิงตามการกระจายจะกระจายข้อมูลออกเป็น 3 เกาส์ เมื่อระยะห่างจากจุดศูนย์กลางของการกระจายเพิ่มขึ้น ความน่าจะเป็นที่จุดหนึ่งๆ เป็นของการกระจายจะลดลง ช่วงความถี่แสดงให้เห็นว่า ความน่าจะเป็นลดลง หากไม่ทราบประเภทของการเผยแพร่ในข้อมูล คุณควรใช้อัลกอริทึมอื่น

ตัวอย่างที่จัดกลุ่มโดยใช้การจัดกลุ่มตามการกระจาย ความเข้มของตัวอย่างในคลัสเตอร์แต่ละรายการแสดงให้เห็นว่าคลัสเตอร์จับคู่กับการกระจายอย่างไร
รูปที่ 3: ตัวอย่างของการจัดกลุ่มแบบอิงตามการกระจาย

การคลัสเตอร์แบบลําดับชั้น

คลัสเตอร์แบบลําดับชั้นจะสร้างโครงสร้างของคลัสเตอร์ การจัดกลุ่มแบบลําดับชั้นไม่น่าประหลาดใจ เหมาะกับข้อมูลแบบลําดับชั้น เช่น การจัดหมวดหมู่ ดูตัวอย่าง การเปรียบเทียบ 61 Sequenced Escherichia coli Genomes โดย Oksana Lukjancenko, Trudy Wassenaar และ Dave Ussery นอกจากนี้ ประโยชน์อีกอย่างคือ คลัสเตอร์จํานวนเท่าใดก็ได้ที่เลือกโดยตัดโครงสร้างในระดับที่เหมาะสม

สัตว์ต่างๆ คลัสเตอร์โดยใช้ต้นไม้แบบลําดับชั้น
รูปที่ 4: ตัวอย่างต้นไม้แบบลําดับชั้นที่จับกลุ่มสัตว์ต่างๆ