Parametric vs. Non-parametric ML Algorithms

Parametric vs. Non-parametric ML Algorithms
Photo by Pixabay

ใน 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 ขั้นตอน ได้แก่ 

  1. เลือกรูปแบบของ Function
  2. เรียนรู้เพื่อให้ได้ 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