Lesson 02 · คาบเช้า 28 ต.ค. · ~20 นาที
งาน ML 3 ประเภท และการเลือกเครื่องมือ
1Rule-based กับ Machine Learning

ถ้ากฎชัดเจนตายตัวตรงไปตรงมา ไม่ต้องใช้ ML ใช้ Rule-based AI ก็พอ เช่นบัตรเครดิตที่คนตั้งกฎแบ่ง Platinum ตามยอดใช้จ่าย แต่ถ้าโจทย์ซับซ้อนจนคนคิดกฎไม่ได้ ให้เครื่องเป็นคนคิดกฎ นั่นคือ ML (ช่วงเช้า ไม่มีไทม์สแตมป์)
อาจารย์บอกว่าเขาอาจถามในข้อสอบทฤษฎีว่า "ข้อนี้ควรใช้ Rule-based หรือ ML และ ML ประเภทไหน" เป้าหมายคือ เลือกเครื่องมือให้ถูก
- Supervised learning: เรียนจากข้อมูลที่มี target (label) ทำนาย target จาก input (a.k.a. predictive task)
- Unsupervised learning: เรียนจากข้อมูลที่ ไม่มี target (a.k.a. descriptive task) เป้าหมายคือเข้าใจ/อธิบายข้อมูล
- Reinforcement learning (RL): เรียนจากการลองทำซ้ำ ๆ ตาม reward ที่ตั้งไว้ (คือการ optimization)
21. Supervised

ถ้ามี target ก็ทำ back-propagation หา loss ได้ target จึงเป็น "ผู้สอน" (supervisor) ตัวอย่าง: ทำนายราคาบ้าน ทำนายว่าลูกค้าจะซื้อหรือไม่ ใช้ Decision Tree, Regression, kNN, SVM, Neural Network ได้ทั้งหมด
32. Unsupervised
ไม่มี target (ทุกจุดสีเดียวกัน) จึง ทำนายไม่ได้ ใช้อธิบาย เช่นมีแต่โปรไฟล์ลูกค้าโรงแรม (อายุ รายได้) แล้วอยากรู้ว่ามีลูกค้ากี่แบบ จะได้ออกแบบโปรโมชันให้เหมาะ
Unsupervised ไม่มีเฉลย จึงไม่มีคำว่า "แม่นที่สุด" ผลลัพธ์คือ insight หรือ knowledge ที่เอาไปใช้ต่อได้ ถ้าอธิบายกลุ่มไม่ได้หรือใช้ประโยชน์ไม่ได้ ก็ไม่มีประโยชน์ (ดูบท 3)
Unsupervised มีหลายแบบ ไม่ได้มีแต่การจัดกลุ่ม ถ้าไม่มี label ก็เป็น unsupervised ทั้งหมด การจัดกลุ่มเป็นแค่หนึ่งในนั้น
43. Reinforcement Learning
RL = การทำ optimization ทำซ้ำไปเรื่อย ๆ จนเก่งที่สุด มี agent ที่ลงมือทำ และมี reward function ที่เรากำหนด (ช่วงเช้า ไม่มีไทม์สแตมป์)
ตัวอย่างจากคาบ:
- เกมที่ตัวละครชนรถ −1 เก็บทอง +1 ปล่อยให้เล่นหลายร้อยรอบ เก็บโมเดลรอบที่ได้คะแนนรวมสูงสุด
- AlphaGo (เล่นหมากล้อมกับตัวเองไปเรื่อย ๆ)
- รถขับเอง (reward: ถึงเร็วสุด ไม่ชน)
- โปรเจกต์จริง: ย้ายรถ EV แชร์ 60 คัน ไปยัง 22 จุดจอด เป้าหมาย (reward) คือยอดเงินการจองสูงสุด
อาจารย์แยกให้เห็นว่า Supervised/Unsupervised เรียนจากตารางหรือชุดข้อมูล ส่วน RL เรียนจากการจำลอง/ทดลอง ในสไลด์จะไม่เห็น RL ในไลบรารี scikit-learn เลย
5ลองเลือกให้ถูก
ตอบทีละข้อ ระบบบอกเหตุผลทันที (ข้อนี้คือสิ่งที่อาจารย์บอกว่าจะถามใน Q4)
6ลองตัดสินใจ
ธนาคารอยากแบ่งลูกค้าเป็นกลุ่มโดยไม่มีป้ายกำกับ ใช้ประเภทไหน
Unsupervised (clustering) เพราะไม่มี target และเป้าหมายคือเข้าใจกลุ่มลูกค้า
| โจทย์ | ประเภท |
|---|---|
| ทำนายว่าลูกค้าจะยกเลิกบริการไหม | Supervised (classification) |
| ทำนายราคาที่ดิน | Supervised (regression) |
| แบ่งลูกค้าโรงแรมตามอายุ+รายได้ | Unsupervised (clustering) |
| หาวิธีแจกแต้มให้นักเรียนตั้งใจเรียนสูงสุด | RL (optimization) |
| หุ่นยนต์เรียนเล่นเกมจนเก่ง | RL |
| บัตรเครดิตแบ่งชั้นตามยอดใช้จ่ายที่คนกำหนดไว้ | Rule-based |
7ลองทำ
- scikit-learn: Clustering ภาพรวมวิธีจัดกลุ่มที่เกินจากที่เรียน (DBSCAN, hierarchical)
- Sutton & Barto, Reinforcement Learning: An Introduction หนังสือเรียน RL ฟรี สำหรับคนอยากรู้ต่อ
ติดตรงไหน ถาม Claude ได้เลย บอกเลขบทกับเลขข้อมาด้วย