まとめ
- ตัวจำแนกเชิงเส้นใช้ “ระนาบ” ในพื้นที่คุณลักษณะเพื่อแบ่งข้อมูล จึงตีความง่ายและคำนวณเร็ว
- เปรียบเทียบวิธีที่มีพื้นฐานร่วมกัน เช่น Perceptron, ลอจิสติกรีเกรสชัน, SVM เพื่อเข้าใจแนวคิดหลัก
- ปูทางสู่แนวคิดต่อยอด เช่น การทำให้เป็นระเบียบ เคอร์เนล หรือการเรียนรู้จากระยะทาง
การจำแนกเชิงเส้น #
ภาพรวมเชิงสัญชาติญาณ #
ตัวจำแนกเชิงเส้นวางระนาบในพื้นที่คุณลักษณะแล้วใช้แต่ละด้านของระนาบเป็นตัวกำหนดคลาส ตั้งแต่ perceptron พื้นฐานที่สุด ไปจนถึงลอจิสติกรีเกรสชันที่มีคำอธิบายเชิงความน่าจะเป็น หรือ SVM ที่มุ่งเพิ่มมาร์จิน ทั้งหมดต่างกันเพียงมุมมองในการ “ลากเส้น” แต่แบ่งปันโครงสร้างร่วมกัน
สูตรสำคัญ #
ตัวจำแนกเชิงเส้นทั่วไปมีรูป \(\hat{y} = \operatorname{sign}(\mathbf{w}^\top \mathbf{x} + b)\) วิธีเรียนรู้ต่างกันที่วิธีหา \(\mathbf{w}\) เมื่ออยากได้ค่าความน่าจะเป็นจะผ่าน sigmoid หรือ softmax ส่วนวิธีเคอร์เนลสามารถแทนที่สเกลาร์โปรดักต์ด้วยเคอร์เนลเพื่อรับมือความสัมพันธ์ไม่เชิงเส้นได้
ทดลองด้วย Python #
บทนี้สาธิตวิธีต่อไปนี้ด้วย Python และ scikit-learn
- Perceptron: กฎอัปเดตและเส้นแบ่งพื้นฐานที่สุด
- ลอจิสติกรีเกรสชัน: การจำแนกสองคลาสที่ตีความแบบความน่าจะเป็นได้
- Softmax regression: ขยายไปสู่การจำแนกหลายคลาส
- Linear Discriminant Analysis: ลดมิติพร้อมขยายระยะห่างระหว่างคลาส
- Support Vector Machine: เพิ่มมาร์จินและใช้เคอร์เนลได้
- Naive Bayes: ใช้สมมติฐานอิสระตามเงื่อนไขเพื่อให้ได้ตัวจำแนกที่เบาและเร็ว
- k-NN: วิธี “เรียนขี้เกียจ” ที่ตัดสินใจจากระยะทาง
ทุกหน้ามีโค้ดที่รันได้ทันทีเพื่อให้ลองปรับพารามิเตอร์และดูผลลัพธ์ด้วยตัวเอง
เอกสารอ้างอิง #
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. Springer.
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.