อัลกอริทึมการทำคลัสเตอร์ - ภาพรวม

ข้อมูลเบื้องต้นเกี่ยวกับการทำคลัสเตอร์

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

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

ตัวอย่างเช่นด้านล่างคือแผนภาพที่แสดงระบบการจัดกลุ่มที่จัดกลุ่มข้อมูลที่คล้ายกันในคลัสเตอร์ต่างๆเข้าด้วยกัน -

วิธีการสร้างคลัสเตอร์

ไม่จำเป็นที่จะต้องรวมกลุ่มกันเป็นทรงกลม ต่อไปนี้เป็นวิธีการสร้างคลัสเตอร์อื่น ๆ -

ขึ้นอยู่กับความหนาแน่น

ด้วยวิธีการเหล่านี้กลุ่มจะเกิดขึ้นเป็นบริเวณที่หนาแน่น ข้อดีของวิธีการเหล่านี้คือมีความแม่นยำและความสามารถในการรวมสองคลัสเตอร์ได้ดี เช่น การจัดกลุ่มแอปพลิเคชันที่มีสัญญาณรบกวนตามความหนาแน่น (DBSCAN) จุดสั่งซื้อเพื่อระบุโครงสร้างการจัดกลุ่ม (OPTICS) เป็นต้น

ตามลำดับชั้น

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

การแบ่งพาร์ติชัน

ในวิธีการเหล่านี้คลัสเตอร์ถูกสร้างขึ้นโดยการแบ่งส่วนของวัตถุออกเป็นคลัสเตอร์ k จำนวนคลัสเตอร์จะเท่ากับจำนวนพาร์ติชัน เช่น K-mean การจัดกลุ่มแอปพลิเคชันขนาดใหญ่ตามการค้นหาแบบสุ่ม (CLARANS)

กริด

ในวิธีการเหล่านี้กลุ่มจะถูกสร้างขึ้นเป็นโครงสร้างเหมือนกริด ข้อดีของวิธีการเหล่านี้คือการดำเนินการคลัสเตอร์ทั้งหมดที่ทำบนกริดเหล่านี้รวดเร็วและไม่ขึ้นกับจำนวนออบเจ็กต์ข้อมูล เช่น ตารางข้อมูลสถิติ (STING) การรวมกลุ่มในภารกิจ (CLIQUE)

การวัดประสิทธิภาพการทำคลัสเตอร์

การพิจารณาที่สำคัญที่สุดอย่างหนึ่งเกี่ยวกับโมเดล ML คือการประเมินประสิทธิภาพหรือคุณสามารถพูดได้ว่าคุณภาพของโมเดล ในกรณีของอัลกอริทึมการเรียนรู้ภายใต้การดูแลการประเมินคุณภาพของแบบจำลองของเราเป็นเรื่องง่ายเพราะเรามีป้ายกำกับสำหรับทุกตัวอย่างอยู่แล้ว

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

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

การวิเคราะห์ภาพเงา

การวิเคราะห์ภาพเงาใช้เพื่อตรวจสอบคุณภาพของโมเดลการทำคลัสเตอร์โดยการวัดระยะห่างระหว่างคลัสเตอร์ โดยพื้นฐานแล้วจะให้วิธีการประเมินพารามิเตอร์เช่นจำนวนคลัสเตอร์ด้วยความช่วยเหลือของSilhouette score. คะแนนนี้จะวัดว่าแต่ละจุดในคลัสเตอร์หนึ่งเข้าใกล้จุดใดในคลัสเตอร์ใกล้เคียง

การวิเคราะห์คะแนน Silhouette

ช่วงคะแนน Silhouette คือ [-1, 1] การวิเคราะห์มีดังนี้ -

  • +1 Score - ใกล้ +1 Silhouette score บ่งชี้ว่ากลุ่มตัวอย่างอยู่ห่างจากคลัสเตอร์ใกล้เคียง

  • 0 Score - 0 Silhouette score บ่งชี้ว่ากลุ่มตัวอย่างอยู่หรือใกล้กับขอบเขตการตัดสินใจที่แยกสองกลุ่มใกล้เคียงกัน

  • -1 Score & ลบ -1 Silhouette score แสดงว่าตัวอย่างถูกกำหนดให้กับคลัสเตอร์ที่ไม่ถูกต้อง

การคำนวณคะแนน Silhouette สามารถทำได้โดยใช้สูตรต่อไปนี้ -

= (-) / (,)

ที่นี่ = หมายถึงระยะทางไปยังจุดในคลัสเตอร์ที่ใกล้ที่สุด

และ = หมายถึงระยะทางภายในคลัสเตอร์ไปยังจุดทั้งหมด

ดัชนี Davis-Bouldin

ดัชนี DB เป็นอีกหนึ่งเมตริกที่ดีในการวิเคราะห์อัลกอริทึมการทำคลัสเตอร์ ด้วยความช่วยเหลือของดัชนี DB เราสามารถเข้าใจประเด็นต่อไปนี้เกี่ยวกับรูปแบบการทำคลัสเตอร์ -

  • สภาพอากาศคลัสเตอร์มีระยะห่างจากกันหรือไม่?

  • กระจุกดาวหนาแน่นแค่ไหน?

เราสามารถคำนวณดัชนี DB โดยใช้สูตรต่อไปนี้ -

$$ DB = \ frac {1} {n} \ displaystyle \ sum \ LIMIT_ {i = 1} ^ n max_ {j \ neq {i}} \ left (\ frac {\ sigma_ {i} + \ sigma_ {j }} {d (c_ {i}, c_ {j})} \ right) $$

ที่นี่ = จำนวนคลัสเตอร์

σ i = ระยะห่างเฉลี่ยของจุดทั้งหมดในคลัสเตอร์จากคลัสเตอร์เซนทรอยด์

น้อยกว่าดัชนี DB โมเดลการทำคลัสเตอร์จะดีกว่า

ดัชนี Dunn

ทำงานเหมือนกับ DB index แต่มีประเด็นต่อไปนี้ซึ่งทั้งสองต่างกัน -

  • ดัชนี Dunn พิจารณาเฉพาะกรณีที่เลวร้ายที่สุดนั่นคือคลัสเตอร์ที่อยู่ใกล้กันในขณะที่ดัชนี DB พิจารณาการกระจายและการแยกคลัสเตอร์ทั้งหมดในแบบจำลองการทำคลัสเตอร์

  • ดัชนี Dunn จะเพิ่มขึ้นเมื่อประสิทธิภาพเพิ่มขึ้นในขณะที่ดัชนี DB จะดีขึ้นเมื่อคลัสเตอร์มีระยะห่างและหนาแน่น

เราสามารถคำนวณดัชนี Dunn ด้วยความช่วยเหลือของสูตรต่อไปนี้ -

$$ D = \ frac {min_ {1 \ leq i <{j} \ leq {n}} P (i, j)} {mix_ {1 \ leq i <k \ leq n} q (k)} $$

ที่นี่ ,, = แต่ละดัชนีสำหรับคลัสเตอร์

= ระยะห่างระหว่างคลัสเตอร์

q = ระยะห่างภายในคลัสเตอร์

ประเภทของ ML Clustering Algorithms

ต่อไปนี้เป็นอัลกอริทึมการทำคลัสเตอร์ ML ที่สำคัญและมีประโยชน์ที่สุด -

K-mean Clustering

อัลกอริทึมการจัดกลุ่มนี้คำนวณเซนทรอยด์และวนซ้ำจนกว่าเราจะพบเซนทรอยด์ที่เหมาะสมที่สุด ถือว่าทราบจำนวนคลัสเตอร์แล้ว เรียกอีกอย่างว่าอัลกอริทึมการทำคลัสเตอร์แบบแบน จำนวนคลัสเตอร์ที่ระบุจากข้อมูลโดยอัลกอริทึมแสดงด้วย 'K' ใน K-mean

Mean-Shift Algorithm

เป็นอีกหนึ่งอัลกอริธึมการจัดกลุ่มที่มีประสิทธิภาพซึ่งใช้ในการเรียนรู้ที่ไม่มีผู้ดูแล ซึ่งแตกต่างจากการจัดกลุ่ม K-mean มันไม่ได้ตั้งสมมติฐานใด ๆ ด้วยเหตุนี้จึงเป็นอัลกอริทึมที่ไม่ใช่พารามิเตอร์

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

เป็นอีกหนึ่งอัลกอริทึมการเรียนรู้ที่ไม่ได้รับการดูแลซึ่งใช้เพื่อจัดกลุ่มจุดข้อมูลที่ไม่มีป้ายกำกับที่มีลักษณะคล้ายคลึงกัน

เราจะพูดถึงอัลกอริทึมเหล่านี้ทั้งหมดโดยละเอียดในบทต่อ ๆ ไป

การประยุกต์ใช้การทำคลัสเตอร์

เราพบว่าการจัดกลุ่มมีประโยชน์ในด้านต่อไปนี้ -

Data summarization and compression- การทำคลัสเตอร์ใช้กันอย่างแพร่หลายในพื้นที่ที่เราต้องการการสรุปข้อมูลการบีบอัดและการลดขนาดด้วยเช่นกัน ตัวอย่าง ได้แก่ การประมวลผลภาพและการหาปริมาณเวกเตอร์

Collaborative systems and customer segmentation - เนื่องจากสามารถใช้คลัสเตอร์เพื่อค้นหาผลิตภัณฑ์ที่คล้ายกันหรือผู้ใช้ประเภทเดียวกันจึงสามารถใช้ในส่วนของระบบการทำงานร่วมกันและการแบ่งกลุ่มลูกค้า

Serve as a key intermediate step for other data mining tasks- การวิเคราะห์คลัสเตอร์สามารถสร้างข้อมูลสรุปที่กะทัดรัดสำหรับการจำแนกการทดสอบการสร้างสมมติฐาน ด้วยเหตุนี้จึงทำหน้าที่เป็นขั้นตอนกลางที่สำคัญสำหรับงานขุดข้อมูลอื่น ๆ ด้วย

Trend detection in dynamic data - การจัดกลุ่มยังสามารถใช้สำหรับการตรวจจับแนวโน้มในข้อมูลแบบไดนามิกโดยการสร้างกลุ่มต่างๆที่มีแนวโน้มที่คล้ายคลึงกัน

Social network analysis- การจัดกลุ่มสามารถใช้ในการวิเคราะห์เครือข่ายสังคม ตัวอย่างกำลังสร้างลำดับในรูปภาพวิดีโอหรือไฟล์เสียง

Biological data analysis - ยังสามารถใช้การจัดกลุ่มเพื่อสร้างกลุ่มภาพวิดีโอดังนั้นจึงสามารถใช้ในการวิเคราะห์ข้อมูลทางชีววิทยาได้สำเร็จ