องค์ประกอบของ Hierarchical Clustering
วิธีการจัดกลุ่มแบบลำดับชั้นทำงานโดยการรวมวัตถุข้อมูลเป็นต้นไม้ของกลุ่ม (tree of clusters) อัลกอริทึมแบบลำดับชั้นมีแบบ top-down (divisive) หรือ bottom-up (agglomerative) คุณลักษณะของเทคนิกลำดับชั้นที่แม่นยำเสื่อมลงจากความไม่สามารถปรับเปลี่ยนได้ เนื่องจากการตัดสินใจรวมหรือแยกเสร็จสิ้นแล้ว
องค์ประกอบสำคัญ
1. Lack of a Global Objective Function (ขาดฟังก์ชันวัตถุประสงค์ระดับโลก)
วิธี agglomerative hierarchical clustering ใช้หลายองค์ประกอบเพื่อตัดสินใจในท้องถิ่น (locally) ในแต่ละขั้นตอน ว่าจะรวมกลุ่มไหน (หรือแยกสำหรับ divisive) วิธีนี้ให้อัลกอริทึมจัดกลุ่มที่หลีกเลี่ยงความยากลองบอกในการแก้ปัญหา combinatorial optimization ที่ซับซ้อน
2. Ability to Handle Different Cluster Sizes (ความสามารถจัดการขนาดกลุ่มต่างกัน)
องค์ประกอบของ agglomerative hierarchical clustering คือวิธีพิจารณาขนาดสัมพัทธ์ของกลุ่มที่จะรวมกัน ใช้ได้เฉพาะกับโครงร่างความใกล้เคียงของกลุ่มที่มีการบวก ผลรวม เช่น centroid, Ward's, และ group average
มีสองวิธี: weighted (นับทุกกลุ่มเท่าเทียม) และ unweighted (นับจำนวนจุดในแต่ละกลุ่ม) คำศัพท์ weighted/unweighted หมายถึงจุดข้อมูล ไม่ใช่กลุ่ม กล่าวคือ การนับกลุ่มขนาดไม่เท่าเทียมกันเท่าเทียม ให้น้ำหนักต่างกันกับจุดในกลุ่มต่างกัน ส่วนการนับขนาดกลุ่มเข้าไป ให้น้ำหนักเท่ากับจุดในกลุ่มต่างกัน
3. Merging Decisions are Final (การตัดสินใจรวมเป็นขั้นสุดท้าย)
อัลกอริทึม agglomerative hierarchical clustering มักตัดสินใจรวมสองกลุ่มได้ดีในท้องถิ่น เพราะอาจมีข้อมูลเกี่ยวกับความคล้ายคลึงคู่ของทุกจุด เมื่อตัดสินใจรวมสองกลุ่มแล้ว ไม่สามารถย้อนกลับได้ในครั้งต่อไป วิธีนี้ป้องกันไม่ให้เกณฑ์เพิ่มประสิทธิภาพท้องถิ่นกลายเป็นเกณฑ์ระดับโลก
ตัวอย่าง: แม้เกณฑ์ "ลด squared error" จาก K-means จะถูกใช้ในการตัดสินใจรวมกลุ่มใน Ward's method กลุ่มในแต่ละระดับก็ไม่ใช่ local minima ว่าด้วย total SSE จริงๆ กลุ่มไม่ได้เป็น dynamic หมายถึง จุดในกลุ่มหนึ่งอาจใกล้ centroid ของกลุ่มอื่นมากกว่า centroid ของกลุ่มตัวเอง
บางวิธีพยายามแก้ข้อจำกัดที่ "การรวมเป็นขั้นสุดท้าย" วิธีหนึ่งพยายามปรับปรุง hierarchical clustering โดยย้ายกิ่งของต้นไม้เพื่อเพิ่มประสิทธิภาพฟังก์ชันวัตถุประสงค์ระดับโลก อีกวิธีใช้เทคนิค partition เช่น K-means สร้างกลุ่มเล็กๆ ก่อน แล้วค่อยทำ hierarchical clustering ใช้กลุ่มเล็กเหล่านั้นเป็นจุดเริ่มต้น