Parametric vs. Non-parametric ML Algorithms
ใน Blog นี้ จะพูดถึงความแตกต่างระหว่าง Parametric และ Non-parametric Machine Learning (ML) Algorithmในภาพรวมของการทำ Machine Learning Models คือ การพยายามหา Mapping Function ระหว่าง ตัวแปร Input X และ ตัวแปร Output Y
y = f(X)
Parametric ML Algorithms
สมมติฐาน ทำให้กระบวนการเรียนรู้ง่ายขึ้น แต่ก็ทำให้จำกัดสิ่งที่สามารถเรียนรู้ได้เช่นกัน เปรียบเทียบได้กับการ Mapping Function ที่เรารู้จักอยู่แล้ว
การ Mapping โดยใช้ Function ที่รู้จัก เรียกว่า Parametric ML Algorithms โดยการใช้ Learning Model ซึ่งมี Set ของ Parameters ที่ถูก Fixed ไว้แล้ว มี 2 ขั้นตอน ได้แก่
- เลือกรูปแบบของ Function
- เรียนรู้เพื่อให้ได้ Coefficients สำหรับ Function นั้นๆ จาก Training Data
ตัวอย่าง แบบง่ายของ Parametric ML Algorithm คือ Linear Regression
y = b1 X + b2
โดยที่ b1 และ b2 คือ Coefficients ของความชัน (Slope) และจุดตัดแกน Y (Y Intercept)
และ X เป็นตัวแปร Input กรณีที่เลือกใช้ Linear Regression สิ่งที่ทำในกระบวนการเรียนรู้ คือ ประมาณค่าสัมประสิทธิ์ของสมการเส้นตรง แต่ปัญหาคือ ข้อมูล หรือ โจทย์ปัญหานี้ บางครั้ง อาจไม่เหมาะกับฟังก์ชันที่เป็นเชิงเส้น (หรือ เป็น Non-Linear Problem) ทำให้ได้ผลลัพธ์ที่ไม่ดี
ตัวอย่างเพิ่มเติมของ Parametric ML Algorithms ได้แก่
- Logistic Regression
- Polynomial Regression
- Linear Discriminant Analysis
- Perceptron
✅ ข้อดี
- ความง่าย ในการทำความเข้าใจ และ แปลความหมาย
- ความเร็วในการคำนวณ และ การเรียนรู้จาก Data (Training)
- ใช้ข้อมูลปริมาณน้อยกว่า ในการ Train
❌ ข้อเสีย
- ข้อจำกัด ต้องเป็นตามรูปแบบ Function ที่เลือกไว้
- ความซับซ้อนของ Model ถูกจำกัดตามรูปแบบ Function ที่เลือกไว้
- อาจ Fit Data (ข้อมูล) ได้ไม่ดีนัก
Non-parametric ML Algorithms
เป็น Algorithms ที่ไม่ต้องตั้งสมมติฐานที่ชัดเจนเกี่ยวกับรูปแบบ Functions ที่ใช้แต่แรก โดยมีอิสระที่จะเรียนรู้จากข้อมูล Train วิธีการแบบนี้จะดี เมื่อมีข้อมูลจำนวนมาก และ ไม่มีความรู้เบื้องต้นมาก่อน (Prior Knowledge) และไม่ต้องกังวลเกี่ยวกับการเลือก Features ที่เหมาะสม
โดยจะพยายามเรียนรู้จากข้อมูล Train เพื่อให้ได้ Mapping Function ที่เหมาะสมที่สุด ที่ยังคงทำงานได้ดีกับ Unseen Data
ตัวอย่าง Non-Parametric ML Algorithm อย่างง่าย คือ k-Nearest Neighbor โดยจะ Predict ผลของ Instance ใหม่ จาก k ที่คล้ายกันมากที่สุด วิธีการนี้ไม่ได้ใช้อะไรเกี่ยวกับสมมติฐานของ Mapping Function แต่จะการเลือก Patterns ที่คล้ายกันมากที่สุด เมื่ออ้างอิงจากข้อมูล Train
ตัวอย่างเพิ่มเติมของ Non-Parametric ML Algorithms ได้แก่
- Decision Trees เช่น CART, C4.5
- Naive Bayes
- Support Vector Machines (SVM)
- Neural Networks
✅ ข้อดี
- ความยืดหยุ่น สามารถ Fit กับ Data ขนาดใหญ่ โดยใช้รูปแบบ Functions ที่หลากหลายได้
- ไม่จำเป็นต้องมีสมมติฐาน (Assumption) หรือ กำหนด Function ไว้ก่อนล่วงหน้า
- อาจจะสร้าง Model ที่มีประสิทธิภาพดีกว่าได้
❌ ข้อเสีย
- ต้องการข้อมูลจำนวนมาก ในการ Train เพื่อให้ได้ Mapping Function ที่มีประสิทธิภาพ
- ความช้าในการ Train เมื่อเทียบกับ Parametric ML Algorithms
- Overfitting มีโอกาสเกิดขึ้นได้ง่ายกว่า
ข้อมูลอ้างอิง : หนังสือ Master Machine Learning Algorithms - Discover How They Work and Implement Them From Scratch โดย Jason Brownlee