ยินดีต้อนรับสู่ศิลปะการเลือก "K"!

ในโลกของ Unsupervised Learning การทำ Clustering ก็เหมือนกับการจัดตู้เสื้อผ้าที่รกๆ เราต้องการจัดกลุ่มสิ่งของที่คล้ายกันเข้าด้วยกัน แต่มีจุดที่ท้าทายคือ: ไม่มีใครบอกเราเลยว่าต้องใช้ตะกร้ากี่ใบ! ควรใช้ 3 ใบดี? หรือ 5? หรือ 10?

การตัดสินใจเรื่อง จำนวนกลุ่ม (Number of clusters) เป็นหนึ่งในโจทย์ที่พบบ่อยที่สุดในทางสถิติ ต่างจาก Supervised Learning ที่เรามี "เฉลย" (Labels) คอยบอกว่าเราทำถูกหรือไม่ แต่ Unsupervised Learning นั้นมีความเป็นอัตวิสัย (Subjective) มากกว่า ในคู่มือนี้ เราจะมาสำรวจเทคนิคที่ใช้ใน Exam SRM เพื่อหาจำนวนกลุ่มที่ "พอดี" เหมือนกับนิทานเรื่องโกลดิล็อกส์—ไม่มากเกินไป ไม่น้อยเกินไป แต่กำลังดีครับ

1. ปัญหาหลัก: การแลกเปลี่ยนระหว่างความเอนเอียงและความแปรปรวน (Bias-Variance Tradeoff)

ก่อนจะไปดูคณิตศาสตร์ เราลองมาดูตรรกะกันก่อน ถ้าเรามีจุดข้อมูล \( n \) จุด แล้วเรากำหนดจำนวนกลุ่ม (\( K \)) ให้เท่ากับ \( n \) พอดี นั่นแปลว่าแต่ละคนก็จะได้อยู่กลุ่มของตัวเอง "ความคลาดเคลื่อน" (Error) ภายในกลุ่มก็จะกลายเป็นศูนย์ เพราะทุกคนเหมือนกับตัวเองแบบสมบูรณ์แบบ!

แต่การที่กลุ่มมีสมาชิกแค่คนเดียว มันก็ไม่ใช่ "กลุ่ม"—มันเป็นแค่รายชื่อคนเท่านั้น ในทางกลับกัน ถ้า \( K = 1 \) ข้อมูลทั้งหมดก็จะกลายเป็นก้อนใหญ่ก้อนเดียว ซึ่งก็ไม่ได้บอกอะไรเราเกี่ยวกับความแตกต่างระหว่างข้อมูลเลย เป้าหมายของเราคือการหาสมดุลระหว่างความง่าย (จำนวนกลุ่มน้อยๆ) และรายละเอียด (ความแปรปรวนภายในกลุ่มที่ต่ำ)

2. วิธี Elbow Method (ผลรวมความแปรปรวนภายในกลุ่ม)

วิธีที่นิยมที่สุดวิธีหนึ่งในการเลือก \( K \) สำหรับ K-means clustering คือการดู Total Within-Cluster Sum of Squares (WSS) ซึ่งวัดว่ากลุ่มของเรานั้นเกาะตัวกันแน่นแค่ไหน

สูตรสำหรับความแปรปรวนภายในกลุ่ม \( C_k \) หนึ่งกลุ่มคือ:
\[ W(C_k) = \sum_{i \in C_k} \sum_{j=1}^{p} (x_{ij} - \bar{x}_{kj})^2 \]
จากนั้นเราก็นำค่านี้มารวมกันสำหรับทั้ง \( K \) กลุ่ม เพื่อให้ได้ Total WSS

วิธีหาจุด "ข้อศอก" (Elbow):

1. รัน K-means สำหรับค่า \( K \) ในช่วงต่างๆ (เช่น \( K = 1 \) ถึง \( 10 \))
2. คำนวณค่า Total WSS สำหรับแต่ละ \( K \)
3. พล็อตค่า \( K \) บนแกน x และ Total WSS บนแกน y

เมื่อ \( K \) เพิ่มขึ้น ค่า WSS จะลดลง เสมอ แต่จะมีจุดหนึ่งที่อัตราการลดลงเริ่มชะลอตัวอย่างเห็นได้ชัด จุดนี้จะดูเหมือน "ข้อศอก" (Elbow) บนกราฟ ซึ่งโดยทั่วไปแล้วจุดข้อศอกนี้แหละคือค่า \( K \) ที่ดีที่สุดของเราครับ

การเปรียบเทียบ: ลองนึกภาพว่าคุณกำลังเลือกซื้อกระเป๋าเดินทาง ถ้ามีกระเป๋าใบเดียวใบใหญ่มากก็ถือลำบาก (K=1) แต่ถ้าต้องลากกระเป๋าใบเล็กๆ 50 ใบ ก็คุมจัดการอะไรไม่ได้เลย (K=n) คุณจะสังเกตว่าการเพิ่มกระเป๋าใบที่สองหรือสามช่วยให้จัดของง่ายขึ้นมาก แต่พอคุณมีถึง 15 ใบแล้ว การเพิ่มใบที่ 16 เข้าไปก็ไม่ได้ช่วยให้จัดของได้ดีขึ้นเท่าไหร่ จุด "ข้อศอก" ก็คือจุดที่การเพิ่มจำนวนกระเป๋าไม่ได้ช่วยให้ชีวิตง่ายขึ้นอีกต่อไปแล้ว

สรุปสั้นๆ:
- WSS ต่ำ: จุดข้อมูลอยู่ใกล้จุดศูนย์กลางของกลุ่มมาก (ดี!)
- K สูง: ทำให้ค่า WSS ต่ำลงเสมอ แต่เสี่ยงต่อการเกิด Overfitting (ไม่ดี!)
- จุด Elbow: จุดที่ความคุ้มค่าเริ่มลดน้อยลง

3. การตัดสินใจใน Hierarchical Clustering

ใน Hierarchical Clustering เราไม่จำเป็นต้องกำหนด \( K \) ตั้งแต่เริ่ม แต่เราจะสร้าง Dendrogram (แผนภาพรูปต้นไม้) ขึ้นมาแทน การจะตัดสินใจเลือกจำนวนกลุ่มจากแผนภาพนี้ ให้เราจินตนาการว่าลากเส้นแนวนอนตัดผ่าน Dendrogram นั้น

กฎ "ระยะห่างแนวตั้งที่ยาวที่สุด":

เมื่อดู Dendrogram ความสูงในแนวตั้งแสดงถึงความแตกต่าง (Dissimilarity) ของกลุ่ม สองกลุ่ม เพื่อหาจำนวนกลุ่มที่เหมาะสม:
1. มองหาเส้นแนวตั้งที่ยาวที่สุดที่ไม่มี "กิ่งไม้" แนวนอนมาตัดผ่าน
2. ตัดต้นไม้นั้นในแนวนอนผ่านเส้นยาวๆ เหล่านั้น
3. จำนวนเส้นแนวตั้งที่เส้นตัดของคุณพาดผ่าน ก็คือจำนวนกลุ่ม (\( K \)) ของคุณนั่นเอง

ข้อผิดพลาดที่พบบ่อย: อย่าดูแค่ส่วนล่างของต้นไม้! เพราะส่วนล่างสุดนั้นแสดงถึงจุดข้อมูลรายบุคคล ให้มองหา "ช่องว่าง" (Gaps) ที่กลุ่มต่างๆ ยังคงแยกจากกันเป็นระยะทางแนวตั้งที่ยาวนานดีกว่า

4. ค่า Gap Statistic

วิธี Elbow นั้นดีมาก แต่ก็มีความเป็น "สายตา" และอัตวิสัยอยู่บ้าง ส่วน Gap Statistic จะเป็นแนวทางเชิงคณิตศาสตร์ที่ชัดเจนกว่าครับ

Gap Statistic จะเปรียบเทียบ Total WSS ของข้อมูลจริงกับ WSS ที่คาดหวัง ของชุดข้อมูลแบบ "สุ่ม" (Null dataset ซึ่งปกติคือข้อมูลที่กระจายตัวอย่างสม่ำเสมอโดยไม่มีกลุ่มแฝงอยู่)

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

1. คำนวณ WSS ของข้อมูลคุณที่ค่า \( K \) ต่างๆ
2. สร้างชุดข้อมูลสุ่ม "สมมติ" ขึ้นมาและคำนวณ WSS สำหรับค่า \( K \) เดียวกัน
3. Gap คือผลต่างระหว่าง log(WSS) ของข้อมูลจำลองและ log(WSS) ของข้อมูลจริงของคุณ
4. ค่า \( K \) ที่ดีที่สุด คือค่าที่ทำให้ Gap นี้กว้างที่สุด ซึ่งเป็นการบอกว่าการทำ Clustering ของเราดีกว่าการสุ่มขึ้นมาเฉยๆ มากๆ

เทคนิคจำ: "Mind the Gap" (ระวังช่องว่าง)
ให้คิดว่า "Gap" คือ ความดีขึ้น จากการสุ่ม เราต้องการความดีขึ้นที่มากที่สุดเท่าที่จะทำได้!

5. ข้อควรพิจารณาในทางปฏิบัติ (ความเป็นจริงทางธุรกิจ)

ไม่ต้องกังวลถ้ารู้สึกว่าคณิตศาสตร์ดูเป็นนามธรรมไปหน่อย เพราะบางครั้ง \( K \) ที่ดีที่สุดก็ถูกกำหนดด้วย ความเหมาะสมในทางปฏิบัติ มากกว่าสูตรคำนวณ สำหรับ Exam SRM ให้จำไว้ว่า Unsupervised learning มักเป็นเพียงจุดเริ่มต้นของการวิเคราะห์เท่านั้น

ตัวอย่างข้อจำกัดในทางปฏิบัติ:
- การตลาด: ถ้าบริษัทมีงบจำกัดในการสร้างโฆษณาเพียง 4 รูปแบบ พวกเขาก็จะเลือก \( K=4 \) แม้ว่ากราฟ "ข้อศอก" จะบอกว่าควรใช้ \( K=6 \) ก็ตาม
- การตีความ: การอธิบายตัวตนของลูกค้าให้ผู้จัดการฟังว่ามี 3 กลุ่มที่ชัดเจนนั้น ย่อมง่ายกว่าอธิบายถึง 15 กลุ่มที่แตกต่างกันเพียงเล็กน้อย

สรุปประเด็นสำคัญ:

1. Elbow Method: มองหาจุดที่การเพิ่มจำนวนกลุ่มไม่ได้ช่วยลดความแปรปรวนภายในกลุ่มลงอย่างมีนัยสำคัญอีกต่อไป
2. Dendrogram Cut: ในการทำ Hierarchical clustering ให้ตัดต้นไม้ที่ระดับความสูงที่ผ่านเส้นแนวตั้งที่ยาวที่สุด
3. Gap Statistic: เลือก \( K \) ที่แสดงให้เห็นความแตกต่างมากที่สุดระหว่างข้อมูลของคุณกับ Noise ที่สุ่มขึ้นมา
4. บริบทคือหัวใจ: เลือกจำนวนกลุ่มที่สมเหตุสมผลกับปัญหาเฉพาะที่คุณกำลังแก้ไข

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