การจำแนกเชิงเส้น

Basic

การจำแนกเชิงเส้น | ปูพื้นฐานแมชชีนเลิร์นนิง

まとめ
  • ตัวจำแนกเชิงเส้นใช้ “ระนาบ” ในพื้นที่คุณลักษณะเพื่อแบ่งข้อมูล จึงตีความง่ายและคำนวณเร็ว
  • เปรียบเทียบวิธีที่มีพื้นฐานร่วมกัน เช่น 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.