~~~~~~~~~~Unsupervised Learning~~~~~~~~~~
การเรียนรู้แบบไม่มีผู้สอน

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

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

24 กันยายน 2569

การเรียนรู้แบบไม่มีผู้สอน

การเรียนรู้แบบไม่มีผู้สอน (Unsupervised Learning) เป็นหนึ่งในแนวทางของ การเรียนรู้ของเครื่อง (Machine Learning) ที่ใช้วิเคราะห์ข้อมูลโดย ไม่มีตัวแปรเป้าหมาย (ไม่มีฉลากกำกับ)

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

วอร์มอัพ: สัตว์เหล่านี้ควรอยู่กลุ่มไหน?

ลองสังเกตสิ่งมีชีวิตเหล่านี้ หากต้องแบ่งพวก เราใช้อะไรเป็นเกณฑ์?

🦁
สิงโต

🐬
โลมา

🦅
นกอินทรี

🐸
กบ

🐕
สุนัข

🦈
ฉลาม

🦇
ค้างคาว

🐊
จระเข้

  • มีกี่ขา?
  • อยู่บนบกหรือในน้ำ?
  • บินได้ไหม?
  • เป็นสัตว์เลี้ยงหรือสัตว์ป่า?

นิยามคุณลักษณะ (Features)

ก่อนเข้าสู่อัลกอริทึม เราต้องแปลงสิ่งมีชีวิตให้เป็น Vector of Features

ทดลองจัดกลุ่ม (Interactive Clustering)

หัวใจของ Clustering จากการสังเกต

  1. Unsupervised Learning: ไม่มีใครบอกป้ายกำกับ (Label) ล่วงหน้าว่าตัวไหนคือสัตว์ประเภทใด เราแบ่งพวกจาก ความคล้ายคลึง (Similarity) ของคุณลักษณะ
  2. Feature Space Matters: ถ้าเปลี่ยน Feature ที่ใช้พิจารณา (เช่น จาก “ถิ่นที่อยู่” เป็น “มีปีก”) สมาชิกในกลุ่มจะเปลี่ยนไปทันที (เช่น นกอินทรี 🦅 กับ ค้างคาว 🦇 จะมาอยู่กลุ่มเดียวกัน)
  3. Distance Metric: ในการคำนวณจริง คอมพิวเตอร์จะมองสัตว์แต่ละตัวเป็นพิกัด (x1,x2,x3,…)(x_1, x_2, x_3, \dots) และวัดว่าตัวไหนอยู่ “ใกล้” หรือ “ไกล” กัน

หลักการของการเรียนรู้แบบไม่มีผู้สอน

แทนที่จะเรียนรู้จากตัวอย่างที่มีคำตอบกำหนดไว้ล่วงหน้า (labels) เหมือนในกรณีของ Supervised Learning ในกรณีของ Unsupervised Learning แบบจำลองจะทำงานโดยการ:

  • วิเคราะห์โครงสร้างของข้อมูล

  • ค้นหารูปแบบหรือความสัมพันธ์ที่ซ่อนอยู่ในข้อมูล

  • จัดกลุ่มข้อมูลที่มีลักษณะคล้ายกันไว้ด้วยกัน

  • ลดมิติของข้อมูล (Dimensionality Reduction) เพื่อทำให้การวิเคราะห์ง่ายขึ้น

ประเภทหลักของการเรียนรู้แบบไม่มีผู้สอน

1. การจัดกลุ่มข้อมูล (Clustering)

  • การจัดกลุ่ม (Clustering) จะจัดกลุ่มข้อมูลโดยอัตโนมัติ ให้ข้อมูลภายในกลุ่มเดียวกันมีความ คล้ายคลึงกัน (similar) และมีความ แตกต่าง (different) จากข้อมูลในกลุ่มอื่น

  • ตัวอย่างอัลกอริทึมที่ใช้ได้แก่:

    • (k)-means clustering
    • Hierarchical clustering
    • DBSCAN (Density-Based Spatial Clustering)

2. การลดมิติของข้อมูล (Dimensionality Reduction)

  • ใช้เพื่อ ลดจำนวนตัวแปร (variables) ในข้อมูล โดยยังคงรักษาข้อมูลสำคัญให้ได้มากที่สุดเท่าที่เป็นไปได้

  • มีประโยชน์ในการแก้ปัญหา “คำสาปของมิติ (Curse of Dimensionality)” และช่วยให้แบบจำลองเรียนรู้ได้รวดเร็วขึ้น

  • ตัวอย่างอัลกอริทึมที่ใช้ได้แก่:

    • PCA (Principal Component Analysis)
    • t-SNE (t-Distributed Stochastic Neighbor Embedding)
    • UMAP (Uniform Manifold Approximation and Projection)

3. การตรวจจับค่าผิดปกติ (Anomaly Detection)

  • ใช้ในการระบุค่าที่ เบี่ยงเบนจากรูปแบบปกติของข้อมูล เช่น การตรวจจับการฉ้อโกง (fraud detection) หรือการตรวจหาความผิดพลาดของระบบ

  • ตัวอย่างอัลกอริทึมที่ใช้ได้แก่:

    • Isolation Forest
    • One-Class SVM
    • Autoencoders (ใน Deep Learning)

4. การเรียนรู้แบบกฎความสัมพันธ์ (Association Rule Learning)

  • ใช้เพื่อค้นหาความสัมพันธ์ระหว่างตัวแปรในชุดข้อมูล ตัวอย่างเช่น การวิเคราะห์ตะกร้าสินค้า (Market Basket Analysis) ซึ่งช่วยระบุสินค้าที่ลูกค้ามักจะซื้อตามกัน

  • ตัวอย่างอัลกอริทึมที่ใช้ได้แก่:

    • Apriori
    • FP-Growth

ตัวอย่างการประยุกต์ใช้การเรียนรู้แบบไม่มีผู้สอน

  • การแบ่งกลุ่มลูกค้า (Customer Segmentation) ธุรกิจสามารถใช้เทคนิคการจัดกลุ่ม (clustering) เพื่อแบ่งกลุ่มลูกค้าตามพฤติกรรมการซื้อ เช่น กลุ่มลูกค้าประจำ ลูกค้าใหม่ หรือกลุ่มที่เลิกใช้บริการแล้ว

  • การวิเคราะห์หัวข้อ (Topic Modeling) การเรียนรู้แบบไม่มีผู้สอนสามารถใช้ในการวิเคราะห์และจัดกลุ่มบทความหรือรีวิว ตัวอย่างเช่น อัลกอริทึม LDA (Latent Dirichlet Allocation) ใช้ในการจำแนกประเภทของเอกสาร

  • การตรวจจับการฉ้อโกง (Fraud Detection) เทคนิคการตรวจจับค่าผิดปกติ (Anomaly Detection) ช่วยระบุธุรกรรมที่น่าสงสัย เช่น การใช้บัตรเครดิตในสถานที่ต่างกันมากภายในช่วงเวลาสั้น ๆ

  • การลดมิติของข้อมูล (Dimensionality Reduction) เทคนิค PCA สามารถใช้เพื่อลดจำนวนตัวแปรก่อนนำข้อมูลเข้าสู่แบบจำลอง Machine Learning ช่วยทำให้กระบวนการวิเคราะห์และการเรียนรู้มีประสิทธิภาพและเข้าใจง่ายขึ้น

ข้อดีและข้อจำกัดของการเรียนรู้แบบไม่มีผู้สอน

ข้อดี (Advantages)

  • ไม่จำเป็นต้องใช้ข้อมูลที่มีฉลาก (labeled data) ช่วยลดต้นทุนในการเตรียมข้อมูล

  • สามารถค้นหารูปแบบหรือโครงสร้างที่ซ่อนอยู่ในข้อมูลได้โดยอัตโนมัติ

  • ทำงานได้ดีเมื่อข้อมูลมีขนาดใหญ่และซับซ้อน

  • มีประโยชน์ในการค้นพบความรู้ใหม่ ๆ ที่มนุษย์อาจมองไม่เห็นได้ง่าย

ข้อจำกัด (Disadvantages)

  • ผลลัพธ์มักตีความได้ยากกว่าเมื่อเทียบกับการเรียนรู้แบบมีผู้สอน (Supervised Learning)

  • การกำหนดจำนวนกลุ่ม (clusters) หรือการตั้งค่าพารามิเตอร์บางอย่าง จำเป็นต้องอาศัยความเชี่ยวชาญของผู้ใช้งาน

  • อาจทำงานได้ไม่ดีหากข้อมูลมีสัญญาณรบกวน (noise) มาก หรือข้อมูลไม่ได้รับการเตรียมอย่างเหมาะสม

Interactive: Clustering

K-Means Clustering

Clustering with kk-means (K-Means Clustering)

kk-means clustering เป็นหนึ่งในเทคนิคที่ได้รับความนิยมมากที่สุดสำหรับ การจัดกลุ่มข้อมูล (Clustering) ในกระบวนการ การเรียนรู้แบบไม่มีผู้สอน (Unsupervised Learning)

หลักการทำงานคือการแบ่งข้อมูลออกเป็น kk กลุ่ม ตามความคล้ายคลึงกันของข้อมูล โดยแต่ละกลุ่มจะมีจุดศูนย์กลางของตนเอง (centroid) ซึ่งเป็นตัวแทนของกลุ่มนั้น

How kk-means Works

flowchart TD
    A["Start"]
    B["Set number of<br/>clusters k"]
    C["Initialize<br/>k centroids"]
    D["Compute distances<br/>to centroids"]
    E["Assign each point to<br/>nearest centroid"]
    F["Update centroids<br/>using cluster means"]
    G{"Converged or<br/>max iterations<br/>reached?"}
    H["Stop"]
    I["Output cluster labels<br/>and final centroids"]

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G
    G -- Yes --> H
    G -- No --> D
    H --> I

  1. กำหนดจำนวนกลุ่ม kk:
    ผู้ใช้งานระบุจำนวนกลุ่มที่ต้องการจัดกลุ่มข้อมูล

  2. กำหนดจุดศูนย์กลางเริ่มต้น (Centroids):
    เลือกจุดศูนย์กลางเริ่มต้นจำนวน kk จุด เช่น สุ่มเลือกจากจุดข้อมูล หรือใช้วิธี K-means++

  3. คำนวณระยะทางและจัดกลุ่มข้อมูล:
    คำนวณระยะทางแบบยูคลิด (Euclidean Distance) และจัดแต่ละจุดให้อยู่ในกลุ่มที่มี Centroid ใกล้ที่สุด

  4. อัปเดตตำแหน่งจุดศูนย์กลาง:
    คำนวณ Centroid ใหม่จากค่าเฉลี่ยของจุดข้อมูล ทั้งหมดภายในแต่ละกลุ่ม

  5. ทำซ้ำจนเข้าสู่ภาวะคงที่ (Convergence):
    ทำซ้ำขั้นตอนที่ 3 และ 4 จนกว่าผลการจัดกลุ่ม หรือ Centroid จะไม่เปลี่ยนแปลงอย่างมีนัยสำคัญ หรือถึงจำนวนรอบสูงสุดที่กำหนด

Objective Function: Minimize Within-Cluster Sum of Squares

J=∑j=1k∑𝒙i∈Cj∥𝒙i−𝝁j∥2 \boxed{ J = \sum_{j=1}^{k} \sum_{\mathbf{x}_i \in C_j} \left\| \mathbf{x}_i-\boldsymbol{\mu}_j \right\|^2 }

โดยที่ CjC_j คือคลัสเตอร์ที่ jj และ 𝝁j\boldsymbol{\mu}_j คือ Centroid ของคลัสเตอร์นั้น

เป้าหมาย: ลดผลรวมระยะทางกำลังสองระหว่างจุดข้อมูล กับ Centroid ของกลุ่มตนเองให้มีค่าน้อยที่สุด

ตัวชี้วัดระยะทางในกระบวนการจัดกลุ่มแบบ kk-means (Distance Metrics in kk-means Clustering)

ในการทำงานของ kk-means clustering การคำนวณระยะทางระหว่างจุดข้อมูลและจุดศูนย์กลาง (centroids) เป็นขั้นตอนสำคัญ เพราะเป็นตัวกำหนดว่าจุดข้อมูลแต่ละจุดจะถูกจัดให้อยู่ในกลุ่มใด

โดยปกติแล้ว kk-means จะใช้ระยะทางแบบยูคลิด (Euclidean Distance) เป็นค่าเริ่มต้น อย่างไรก็ตาม ยังสามารถใช้ตัวชี้วัดระยะทางประเภทอื่นได้ ขึ้นอยู่กับลักษณะของข้อมูลและบริบทของการวิเคราะห์

1. ระยะทางแบบยูคลิด (Euclidean Distance)

d(x,y)=∑i=1n(xi−yi)2 d(x, y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2}

✅ ใช้งานง่ายและเข้าใจได้ไม่ยาก ✅ เหมาะสำหรับข้อมูลเชิงปริมาณ (numerical quantitative data)

❌ มีความไวต่อค่าผิดปกติ (outliers) ❌ ไม่เหมาะเมื่อแต่ละตัวแปรมีสเกลต่างกัน (ควรทำ Standardization ก่อน)

2. ระยะทางแบบแมนฮัตตัน (Manhattan Distance)

d(x,y)=∑i=1n|xi−yi| d(x, y) = \sum_{i=1}^{n} |x_i - y_i|

✅ เหมาะสำหรับข้อมูลที่มีโครงสร้างแบบตาราง (grid-like structure) เช่น ภาพพิกเซล ✅ มีความไวต่อค่าผิดปกติน้อยกว่าระยะทางแบบยูคลิด

❌ ไม่เหมาะกับข้อมูลที่มีความสัมพันธ์เชิงเส้นหรือรูปแบบทิศทางที่ชัดเจน

3. ความคล้ายคลึงแบบโคไซน์ (Cosine Similarity)

cos⁡(θ)=x⋅y||x||⋅||y||=∑i=1nxiyi∑i=1nxi2⋅∑i=1nyi2 \cos(\theta) = \frac{x \cdot y}{||x|| \cdot ||y||} = \frac{\sum_{i=1}^{n} x_i y_i}{\sqrt{\sum_{i=1}^{n} x_i^2} \cdot \sqrt{\sum_{i=1}^{n} y_i^2}}

โดยทั่วไป Cosine Similarity ใช้วัด ความคล้ายคลึงกันเชิงมุม (angle-based similarity) ระหว่างเวกเตอร์ แทนที่จะวัดระยะทางระหว่างจุดข้อมูล

✅ เหมาะสำหรับข้อมูลแบบเวกเตอร์ เช่น เอกสาร ข้อความ หรือ embeddings ✅ ไม่ได้รับผลกระทบจากขนาดของเวกเตอร์ (เช่น เอกสารที่มีความยาวต่างกัน)

❌ ไม่เหมาะเมื่อขนาดของเวกเตอร์ (magnitude) มีความสำคัญต่อการจัดกลุ่ม

การคำนวณระยะทางด้วยวิธีต่าง ๆ

ตัวอย่างข้อมูล:

x y
a 1 2
b 3 4
c 4 3

Euclidean Distance

Disab=22+22=8=2.828Disac=32+12=10=3.162Disbc=12+12=2=1.414 \begin{aligned} Dis_{ab}&=\sqrt{2^2+2^2}=\sqrt{8}=2.828\\ Dis_{ac}&=\sqrt{3^2+1^2}=\sqrt{10}=3.162\\ Dis_{bc}&=\sqrt{1^2+1^2}=\sqrt{2}=1.414 \end{aligned}

Manhattan Distance

Disab=|2|+|2|=4Disac=|3|+|1|=4Disbc=|1|+|1|=2 \begin{aligned} Dis_{ab}&= |2|+|2|= 4\\ Dis_{ac}&= |3|+|1|= 4\\ Dis_{bc}&= |1|+|1| = 2 \end{aligned}

Interactive: Distance

ตัวอย่างของ kk-means

1. ชุดข้อมูลตัวอย่าง

เรามีข้อมูล 5 จุดในมิติ 2 ตัวแปร (X, Y) และต้องการแบ่งออกเป็น k=2k=2 คลัสเตอร์

Data Point X Y
A 2 10
B 2 5
C 8 4
D 5 8
E 7 5

2. ขั้นตอนการคำนวณของ kk-means

(1) กำหนดค่า kk และสุ่มเลือกจุดศูนย์กลางเริ่มต้น (initial centroids)

  • กำหนดจำนวนกลุ่ม: k=2k = 2

  • สุ่มเลือกจุดศูนย์กลางเริ่มต้น (สมมติเลือก A และ C)

    • Centroid 1 (C1) = A = (2, 10)
    • Centroid 2 (C2) = C = (8, 4)

(2) คำนวณระยะทางจากแต่ละจุดไปยังจุดศูนย์กลาง

โดยใช้ ระยะทางแบบยูคลิด (Euclidean Distance):

d(x,y)=(X2−X1)2+(Y2−Y1)2 d(x, y) = \sqrt{(X_2 - X_1)^2 + (Y_2 - Y_1)^2}

Data Point d(P,C1)d(P, C1) d(P,C2)d(P, C2) Nearest Cluster
A (2,10) 0.00 8.49 C1
B (2,5) 5.00 6.08 C1
C (8,4) 8.49 0.00 C2
D (5,8) 3.61 5.00 C1
E (7,5) 7.07 1.41 C2

First-round result:

  • C1 cluster: {A, B, D}, C2 cluster: {C, E}

(3) Compute new centroids for each cluster

Centroid 1 (C1) {A, B, D}

C1x=2+2+53=93=3.00C1y=10+5+83=233=7.67\begin{aligned} C1_x &= \frac{2 + 2 + 5}{3} = \frac{9}{3} = 3.00\\ C1_y &= \frac{10 + 5 + 8}{3} = \frac{23}{3} = 7.67\end{aligned}

Centroid 2 (C2) {C, E}

C2x=8+72=152=7.50C2y=4+52=92=4.50\begin{aligned} C2_x &= \frac{8 + 7}{2} = \frac{15}{2} = 7.50\\ C2_y &= \frac{4 + 5}{2} = \frac{9}{2} = 4.50\end{aligned}

(4) ทำซ้ำขั้นตอนที่ 2 และ 3

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

  • อัปเดตค่าจุดศูนย์กลาง (centroid) และทำซ้ำขั้นตอนนี้ไปเรื่อย ๆ จนกว่าค่าจุดศูนย์กลางจะไม่เปลี่ยนแปลงอีก (ถือว่าเข้าสู่ภาวะคงที่ หรือ convergence)

3. Compute kk-means

Animation of K-means

Set up

K-mean (3D)

การเลือกจำนวนคลัสเตอร์ที่เหมาะสมใน kk-means ด้วยค่า Silhouette Score

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

Silhouette Score เป็น ตัวชี้วัดคุณภาพของการจัดกลุ่ม (clustering quality metric) โดยพิจารณาจากสององค์ประกอบหลักคือ:

  • a(i)a(i): ระยะทางเฉลี่ยระหว่างจุดข้อมูลหนึ่งกับจุดอื่น ๆ ในคลัสเตอร์เดียวกัน → แทนความ “แน่นของกลุ่ม” (cluster cohesion)
  • b(i)b(i): ระยะทางเฉลี่ยระหว่างจุดข้อมูลหนึ่งกับจุดในคลัสเตอร์ที่ใกล้ที่สุด → แทนความ “แยกของกลุ่ม” (cluster separation)

S(i)=b(i)−a(i)max⁡(a(i),b(i)) S(i) = \frac{b(i) - a(i)}{\max(a(i), b(i))}

  • เมื่อ S(i)S(i) ใกล้ 1 → จุดข้อมูลนั้นถูกจัดอยู่ในกลุ่มที่เหมาะสมและมีความสอดคล้องกับคลัสเตอร์ของตนเองดี

  • เมื่อ S(i)S(i) ใกล้ 0 → จุดข้อมูลนั้นอยู่ใกล้ขอบเขตระหว่างคลัสเตอร์ อาจอยู่ระหว่างสองกลุ่ม

  • เมื่อ S(i)S(i) ใกล้ -1 → จุดข้อมูลนั้นมีแนวโน้มว่าจะถูกจัดให้อยู่ในคลัสเตอร์ที่ไม่ถูกต้อง

วิธีใช้ค่า Silhouette Score เพื่อเลือกจำนวนคลัสเตอร์ kk

ค่าเฉลี่ยของ Silhouette Score แสดงถึงความเหมาะสมของจำนวนคลัสเตอร์ kk ที่เลือกใช้

  1. รันอัลกอริทึม kk-means โดยใช้ค่าของ kk หลายค่า (เช่น k=2,3,4,…,10k = 2, 3, 4, \dots, 10)

  2. คำนวณค่า Silhouette Score สำหรับแต่ละค่า kk

  3. เลือกค่าของ kk ที่ให้ ค่าเฉลี่ยของ Silhouette Score สูงที่สุด

Interpreting Silhouette Values by Cluster

  • คลัสเตอร์ที่ 1 (จัดกลุ่มได้ดี): จุดข้อมูลทั้งสามมีค่า Silhouette เป็นบวกสูง (0.60–0.85) แสดงว่าจุดเหล่านี้อยู่รวมกันแน่นในกลุ่มของตนเอง และแยกออกจากคลัสเตอร์อื่นได้ชัดเจน

  • คลัสเตอร์ที่ 2 (อยู่ใกล้ขอบเขต): จุดข้อมูลหนึ่งมีค่า Silhouette เท่ากับ 0 และจุดอื่น ๆ มีค่าใกล้ศูนย์ (0.05–0.10) แสดงว่าจุดเหล่านี้อยู่ใกล้เส้นแบ่งระหว่างคลัสเตอร์ การจัดกลุ่มจึงอาจไม่ชัดเจน

  • คลัสเตอร์ที่ 3 (จัดกลุ่มได้ไม่ดี): จุดข้อมูลเพียงจุดเดียวมีค่า Silhouette เป็นลบ (-0.20) หมายความว่าจุดนั้นอยู่ใกล้คลัสเตอร์อื่นมากกว่าคลัสเตอร์ของตนเอง ซึ่งบ่งชี้ถึงความเป็นไปได้ของการจัดกลุ่มที่ไม่ถูกต้อง

Interactive K-means & Silhouette Score

Interactive Silhouette Values

ข้อดีและข้อจำกัดของ kk-means

ข้อดีของ kk-means

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

ข้อจำกัดของ kk-means

❌ ต้องกำหนดจำนวนคลัสเตอร์ kk ล่วงหน้า ❌ มีความไวต่อค่าผิดปกติ (outliers) ❌ ทำงานได้ไม่ดีเมื่อคลัสเตอร์มีรูปร่างไม่เป็นทรงกลม (non-spherical) หรือมีขนาดแตกต่างกันมาก

kk-means with Orange Data Mining

Example of kk-means in Orange (1)

Example of kk-means in Orange (2)

เมื่อใช้ Normalize ใน Orange Data Mining

⚠️ ระวังการตีความค่า Centroid

หากเลือก Normalize columns ใน K-means ของOrange Data Mining ค่า Centroid ที่ได้จะอยู่ใน หน่วยที่ผ่านการ Standardization แล้ว ดังนั้น ไม่ควรนำค่า Centroid ที่ได้ไปตีความในหน่วยเดิมโดยตรง

การ Standardization

z=x−x‾σ z=\frac{x-\bar{x}}{\sigma}

เมื่อ

  • xx = ค่าข้อมูลในหน่วยเดิม
  • x‾\bar{x} = ค่าเฉลี่ยของตัวแปรเดิม
  • σ\sigma = ส่วนเบี่ยงเบนมาตรฐานของตัวแปรเดิม
  • zz = ค่าหลัง Standardization

การแปลง Centroid กลับเป็นหน่วยเดิม

หากได้ค่า Centroid ในรูป Standardized Value เป็น zcz_c

xc=zcσ+x‾ \boxed{ x_c=z_c\sigma+\bar{x} }

ตัวอย่าง

สมมติว่า Income

x‾=750,σ=250 \bar{x}=750,\qquad \sigma=250

และค่า Centroid ที่ Orange แสดงคือ

zc=−1.20 z_c=-1.20

ดังนั้น

xc=(−1.20)(250)+750=450 x_c=(-1.20)(250)+750 =450

จึงตีความได้ว่า

Centroid ของ Income = 450 (พันบาทต่อปี)

Remember: Normalize เพื่อช่วยให้ตัวแปรที่มีสเกลต่างกันสามารถใช้ในการจัดกลุ่มได้อย่างเหมาะสม
แต่เมื่อต้องการ ตีความ Cluster Profile ควรแปลง Centroid กลับไปยังหน่วยเดิมก่อน

Interpreting Clusters

หลังจากทำ Clustering แล้ว เราจะได้ Cluster Label เช่น
Cluster 1, Cluster 2, Cluster 3

แต่คำถามสำคัญคือ…

แต่ละ Cluster มีลักษณะอย่างไร และมีความหมายอะไรในโลกจริง?

Example: Customer Segmentation

บริษัทมีข้อมูลลูกค้า 12 คน จาก 3 Features

  • Age: อายุ
  • Annual Income: รายได้ต่อปี (พันบาท)
  • Spending Score: คะแนนการใช้จ่าย (0–100)

หลังจากใช้ kk-means โดยกำหนด k=3k=3 ได้ผลดังนี้

Customer Age Income Spending Cluster
C01 22 300 82 3
C02 25 360 88 3
C03 28 420 76 3
C04 31 450 81 3
C05 42 850 35 1
C06 45 920 28 1
C07 50 1,000 32 1
C08 48 950 40 1
C09 35 900 78 2
C10 38 1,050 85 2
C11 40 1,100 90 2
C12 36 980 82 2

Activity: What Do the Clusters Mean?

Cluster Profile

Cluster Avg. Age Avg. Income Avg. Spending
3 26.5 382.5 81.8
1 46.3 930.0 33.8
2 37.3 1,007.5 83.8

👥 Group Activity

จากข้อมูลทางซ้าย ให้แต่ละกลุ่มอภิปราย

  1. ลูกค้า Cluster 1 มีลักษณะอย่างไร?
  2. ลูกค้า Cluster 2 มีลักษณะอย่างไร?
  3. ลูกค้า Cluster 3 มีลักษณะอย่างไร?
  4. ลองตั้ง ชื่อให้แต่ละ Cluster
  5. บริษัทควรทำการตลาดกับแต่ละกลุ่มอย่างไร?

From Clusters to Insights

🟦 Cluster 3

Young Active Spenders

  • อายุค่อนข้างน้อย
  • รายได้ยังไม่สูง
  • Spending Score สูง

Possible Action

โปรโมชั่นสำหรับวัยเริ่มทำงาน
ส่วนลด / Loyalty Program
~

🟨 Cluster 1

High-Income Conservative

  • อายุสูงกว่า Cluster อื่น
  • รายได้สูง
  • Spending Score ต่ำ

Possible Action

ค้นหาสาเหตุที่ใช้จ่ายต่ำ
เสนอสินค้า Premium ที่ตรงความต้องการ

🟩 Cluster 2

High-Value Customers

  • อายุระดับกลาง
  • รายได้สูงมาก
  • Spending Score สูง

Possible Action

VIP Program
Personalized Offers
Customer Retention

Key Idea

Clustering does not automatically create knowledge.

Clusters→Cluster Profiles→Interpretation→Action \text{Clusters} \rightarrow \text{Cluster Profiles} \rightarrow \text{Interpretation} \rightarrow \text{Action}

หมายเลข Cluster เช่น 1, 2, 3 ไม่มีความหมายในตัวเอง
นักวิเคราะห์ต้องศึกษาคุณลักษณะของแต่ละกลุ่มแล้วจึงตีความและตั้งชื่อให้เหมาะสม

Orange Example

K-mean Example.ows

K-mean Example.ows

Example.xlsx

References