\(~~~~~~~~~\)Hierarchical Clustering\(~~~~~~~~~\)
การจัดกลุ่มแบบลำดับชั้น

อ.ดร. สมศักดิ์ จันทร์เอม

วิทยาลัยนานาชาตินวัตกรรมดิจิทัล มหาวิทยาลัยเชียงใหม่

14 พฤศจิกายน 2568

What is Hierarchical Clustering?

Hierarchical Clustering เป็นหนึ่งในเทคนิคของ Clustering ที่ใช้ใน Exploratory Data Analysis โดยมีเป้าหมายเพื่อแบ่งข้อมูลออกเป็นกลุ่มตามความคล้ายคลึงกัน.

การประยุกต์ใช้ Hierarchical Clustering ในทางธุรกิจ

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

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

1. การแบ่งกลุ่มลูกค้า (Customer Segmentation)

วัตถุประสงค์: แบ่งกลุ่มลูกค้าตามพฤติกรรม ความสนใจ หรือปัจจัยอื่น ๆ เพื่อให้สามารถทำการตลาดแบบเฉพาะกลุ่มได้

ตัวอย่าง:

  • บริษัทค้าปลีกใช้ Hierarchical Clustering เพื่อแบ่งลูกค้าออกเป็นกลุ่ม เช่น ลูกค้าประจำ, ลูกค้าที่ซื้อเป็นครั้งคราว, และ ลูกค้าใหม่
  • ธนาคารใช้เทคนิคนี้เพื่อจัดกลุ่มลูกค้าตามระดับความเสี่ยงในการปล่อยสินเชื่อ

ประโยชน์:

  • ออกแบบแคมเปญโฆษณาแบบเฉพาะกลุ่ม
  • พัฒนาโปรแกรมสะสมแต้มหรือรางวัลสำหรับแต่ละกลุ่มลูกค้า
  • เพิ่มอัตราการรักษาลูกค้าเดิม (Customer Retention Rate)

2. การวิเคราะห์ตะกร้าสินค้า (Market Basket Analysis)

วัตถุประสงค์: วิเคราะห์ว่าสินค้าใดมักถูกซื้อพร้อมกันบ่อยที่สุด เพื่อสนับสนุนการวางแผนกลยุทธ์ด้านการขาย

ตัวอย่าง:

  • ซูเปอร์มาร์เก็ตใช้ Hierarchical Clustering เพื่อจัดกลุ่มสินค้าที่มักถูกซื้อพร้อมกัน เช่น ลูกค้าที่ซื้อนมปัง 🍞 มักจะซื้อน้ำผึ้งถั่วลิสง 🧈 ด้วยเช่นกัน
  • ร้านค้าออนไลน์ใช้ข้อมูลนี้ในการแนะนำสินค้าเพิ่มเติมผ่าน ระบบแนะนำสินค้า (Recommendation System)

ประโยชน์:

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

3. การจัดประเภทสินค้า (Product Categorization)

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

ตัวอย่าง:

  • ร้านค้าปลีกสามารถใช้ Hierarchical Clustering เพื่อจัดหมวดหมู่สินค้าออกเป็น สินค้าพรีเมียม, สินค้าทั่วไป, และ สินค้าราคาประหยัด
  • แพลตฟอร์มอีคอมเมิร์ซสามารถจัดหมวดหมู่สินค้าให้ง่ายต่อการค้นหาและเรียกดูของผู้ใช้

ประโยชน์:

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

4. การวิเคราะห์ความเสี่ยงด้านเครดิต (Credit Risk Analysis)

วัตถุประสงค์: แบ่งกลุ่มลูกค้าตามระดับความเสี่ยงด้านเครดิต

ตัวอย่าง:

  • สถาบันการเงินใช้ Hierarchical Clustering เพื่อจัดกลุ่มลูกค้าตามระดับความเสี่ยง เช่น มีประวัติการชำระดี 😊, ความเสี่ยงปานกลาง 😐, และ ความเสี่ยงสูง 😨
  • บริษัทบัตรเครดิตใช้ข้อมูลนี้เพื่อกำหนดวงเงินสินเชื่อที่เหมาะสมกับแต่ละกลุ่มลูกค้า

ประโยชน์:

  • ลดความเสี่ยงในการปล่อยสินเชื่อ
  • ปรับอัตราดอกเบี้ยให้เหมาะสมกับคุณลักษณะของลูกค้า
  • ป้องกันหนี้ที่ไม่ก่อให้เกิดรายได้ (NPL)

5. การแบ่งกลุ่มพนักงาน (Employee Segmentation)

วัตถุประสงค์: แบ่งกลุ่มพนักงานเพื่อออกแบบนโยบายให้เหมาะสมกับแต่ละกลุ่ม

ตัวอย่าง:

  • บริษัทสามารถใช้ Hierarchical Clustering เพื่อแบ่งพนักงานออกเป็น 🚀 พนักงานที่มีผลงานโดดเด่น 🌟, 🏢 พนักงานทั่วไป 🙂, และ 🌱 พนักงานที่ต้องการพัฒนาเพิ่มเติม 📚
  • แผนกทรัพยากรบุคคล (HR) สามารถใช้ข้อมูลนี้ในการออกแบบโปรแกรมฝึกอบรมให้สอดคล้องกับความต้องการของแต่ละกลุ่ม

ประโยชน์:

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

6. การวิเคราะห์แนวโน้มทางการตลาด (Market Trend Analysis)

วัตถุประสงค์: จัดกลุ่มแนวโน้มทางการตลาดหรือกลุ่มลูกค้า เพื่อสนับสนุนการพัฒนาผลิตภัณฑ์ใหม่ให้ตรงตามความต้องการของตลาด

ตัวอย่าง:

  • บริษัทเทคโนโลยีสามารถใช้ Hierarchical Clustering เพื่อติดตามแนวโน้มของลูกค้า เช่น กลุ่มที่มักอัปเกรดสมาร์ตโฟนรุ่นใหม่อยู่เสมอ กับกลุ่มที่เปลี่ยนเครื่องเมื่อจำเป็นเท่านั้น
  • บริษัทเครื่องสำอางสามารถใช้เทคนิคนี้เพื่อแบ่งกลุ่มผู้บริโภค เช่น กลุ่มที่ชอบผลิตภัณฑ์ออร์แกนิก กับกลุ่มที่ให้ความสำคัญกับสินค้าราคาประหยัด

ประโยชน์:

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

Interactive of Hierachical Clustering

วิธีการทำงาน

Hierarchical Clustering อาศัยแนวคิดของ โครงสร้างแบบลำดับชั้น (hierarchical structure) โดยสร้าง Dendrogram ซึ่งเป็นแผนภาพลักษณะต้นไม้ แสดงความสัมพันธ์ระหว่างข้อมูลแต่ละจุด

  1. เริ่มจากการถือว่าข้อมูลแต่ละจุดเป็นคลัสเตอร์ของตัวเอง (Singleton Cluster)
  2. รวมคลัสเตอร์ที่อยู่ใกล้กันที่สุด โดยพิจารณาจากระยะทางหรือความคล้ายคลึงกัน
  3. ทำซ้ำขั้นตอนนี้จนกว่าข้อมูลทั้งหมดจะถูกรวมเป็นคลัสเตอร์เดียว

ประเภทของการจัดกลุ่มแบบลำดับชั้น

Agglomerative Hierarchical Clustering (AHC)

  • เป็นวิธีแบบล่างขึ้นบน (Bottom-up approach)
  • เริ่มจากให้ข้อมูลแต่ละจุดเป็นคลัสเตอร์ของตนเอง
  • รวมคลัสเตอร์ที่มีความใกล้เคียงกันมากที่สุดทีละขั้นตอน
  • ทำต่อไปเรื่อย ๆ จนเหลือเพียงคลัสเตอร์เดียว

ความหมายของ Linkage

Linkage คือวิธีการวัด “ระยะทางระหว่างคลัสเตอร์” ใน Hierarchical Clustering ซึ่งมีผลโดยตรงต่อวิธีการรวมข้อมูลแต่ละจุดเข้าด้วยกันเป็นคลัสเตอร์

  • Single Linkage — ใช้ระยะทางระหว่างจุดที่ใกล้ที่สุดของแต่ละคลัสเตอร์
  • Complete Linkage — ใช้ระยะทางระหว่างจุดที่ไกลที่สุดของแต่ละคลัสเตอร์
  • Average Linkage — ใช้ค่าเฉลี่ยของระยะทางระหว่างทุกจุดในแต่ละคลัสเตอร์
  • Ward’s Method — ใช้หลักการลดความแปรปรวนภายในคลัสเตอร์ให้น้อยที่สุดเมื่อรวมคลัสเตอร์

Types of Linkage Methods

1. Single Linkage (Nearest Neighbor)

  • ใช้ ระยะทางที่สั้นที่สุด ระหว่างคลัสเตอร์สองกลุ่ม
  • เหมาะสำหรับข้อมูลที่มีลักษณะเป็นห่วงโซ่หรือเชื่อมต่อกัน
  • อาจเกิดปัญหา “Chain Effect” ซึ่งทำให้คลัสเตอร์มีรูปร่างยาวคล้ายโซ่

2. Complete Linkage (Farthest Neighbor)

  • ใช้ ระยะทางที่ไกลที่สุด ระหว่างคลัสเตอร์สองกลุ่ม
  • ให้ผลลัพธ์เป็นคลัสเตอร์ที่มีความหนาแน่นหรือกะทัดรัดมากกว่า
  • ช่วยลดโอกาสการเกิดปัญหา Chain Effect

3. Average Linkage (Unweighted Pair Group Method with Arithmetic Mean - UPGMA)

  • ใช้ ค่าเฉลี่ยของระยะทางระหว่างจุดทั้งหมดในคลัสเตอร์สองกลุ่ม
  • เป็นวิธีที่อยู่กึ่งกลางระหว่าง Single Linkage และ Complete Linkage
  • ให้ผลลัพธ์ที่สมดุลทั้งในด้านขนาดของคลัสเตอร์และระยะห่างระหว่างคลัสเตอร์

4. Weighted Linkage (WPGMA - Weighted Pair Group Method with Arithmetic Mean)

  • คล้ายกับวิธี Average Linkage แต่จะให้ ค่าน้ำหนักตามขนาดของคลัสเตอร์ที่ถูกนำมารวมกัน

5. Centroid Linkage (Unweighted Pair Group Method with Centroid - UPGMC)

  • ใช้ระยะทางระหว่าง เซนทรอยด์ (centroid) ของคลัสเตอร์ทั้งสอง

  • อาจทำให้เกิดปัญหาคลัสเตอร์ซ้อนทับกันได้

6. วิธีของวอร์ด (Ward’s Method)

  • มุ่งเน้นการ ลดความแปรปรวนภายในคลัสเตอร์ให้น้อยที่สุด
  • มักให้ผลลัพธ์เป็นคลัสเตอร์ที่มีโครงสร้างชัดเจน และเหมาะกับชุดข้อมูลขนาดใหญ่
  • เป็นวิธีที่นิยมใช้กันอย่างแพร่หลายในด้านธุรกิจและวิทยาศาสตร์ข้อมูล

การเลือกวิธีการเชื่อมโยง (Choosing a Linkage Method)

  • Single Linkage → เหมาะเมื่อข้อมูลมีแนวโน้มเชื่อมต่อกันเป็นห่วงโซ่หรือคลัสเตอร์ต่อเนื่อง

  • Complete Linkage → ใช้เมื่อ ต้องการคลัสเตอร์ที่มีความกะทัดรัดและแยกจากกันชัดเจน

  • Average Linkage → เหมาะเมื่อคลัสเตอร์มีขนาดแตกต่างกัน

  • Ward’s Method → เหมาะสำหรับการใช้งานทั่วไป และช่วยลดความแปรปรวนภายในคลัสเตอร์ให้น้อยที่สุด

Interactive Linkage

Example Workflow

1. Load the Data

Example dataset:

x y label
1 1 A
1 2 B
6 6 C
8 4 D
8 7 E

Visualized

2. Rescale (Normalize or Standardize) if Necessary

Not required in this example.

3. Compute the Distance Matrix

A B C D E
A 0.00 1.22 8.66 9.33 11.29
B 1.22 0.00 7.84 8.92 10.54
C 8.66 7.84 0.00 3.46 2.74
D 9.33 8.92 3.46 0.00 3.67
E 11.29 10.54 2.74 3.67 0.00

4. Perform Hierarchical Clustering

The default method is ‘complete linkage’, but other methods such as ‘single’ or ‘average’ can also be used.

5. สร้างกราฟ Dendrogram

Dendrogram คือแผนภาพลักษณะต้นไม้ที่แสดงโครงสร้างลำดับชั้นของคลัสเตอร์แต่ละกลุ่ม

Hierachical Clustering Step by Step

Hierarchical Clustering with Orange

The workflow

The workflow

Download dataset from Google Drive

Two-cluster dataset

Two-cluster dataset

From the workflow steps, double-click the Distance widget.

Choose Euclidean distance

Choose Euclidean distance

Next, double-click the Hierarchical Clustering widget.

จากเมนู Linkage คุณสามารถเลือกได้ระหว่าง Single, Average, Weighted, Complete, และ Ward

คุณสามารถเลือกจำนวนคลัสเตอร์ใน Hierarchical Clustering ได้โดยการปรับตำแหน่งของเส้นตัดแนวตั้ง (vertical cutoff line)

ในกรณีนี้ เราทราบว่าชุดข้อมูลนี้มีทั้งหมด 2 กลุ่ม (C1 และ C2)

ผลลัพธ์จาก Single Linkage

single linkage

single linkage

ผลลัพธ์จาก Average Linkage

average linkage

average linkage

The result from Weight linkage.

weight linkage

weight linkage

ผลลัพธ์จาก Complete Linkage

complete linkage

complete linkage

ผลลัพธ์จาก Ward Linkage

ward linkage

ward linkage

How the linkage work, you can see from my slide.

References

  • AJDA, “Hierarchical Clustering: A Simple Explanation”,https://orangedatamining.com/blog/hierarchical-clustering-a-simple-explanation/

  • Karypis, G., Han, E. H., & Kumar, V. (1999). Chameleon: Hierarchical clustering using dynamic modeling. Computer, 32(8), 68–75.

  • Murtagh, F., & Contreras, P. (2012). Algorithms for hierarchical clustering: An overview. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 2(1), 86–97.

  • Jain, A. K., & Dubes, R. C. (1988). Algorithms for clustering data. Prentice-Hall.