Machine Learning Algorithms (Ep.1/2)

Machine Learning Algorithms  (Ep.1/2)
Photo by Rock'n Roll Monkey on Unsplash

ในที่นี้ จะแบ่งกลุ่ม Machine Learning (ML) Algorithms ดังนี้

  1. Explanatory Algorithms
  2. Pattern Mining Algorithms
  3. Ensemble Learning Algorithms
  4. Clustering Algorithms
  5. Time Series Algorithms
  6. Similarity Algorithms
Photo by No Revisions on Unsplash

1. Explanatory Algorithms

  • หนึ่งในปัญหาของ ML คือ การทำความเข้าใจว่า Models ต่างๆ ทำงานอย่างไร เพื่อให้ได้ผลลัพธ์ของการ Prediction โดยทั่วไปมักจะรู้ว่า “อะไร” แต่จะมีปัญหาในการอธิบายว่า “ทำไม”
  • Explanartory Algorithms ช่วยระบุตัวแปรที่มีผลกระทบอย่างมีนัยะต่อผลลัพธ์ที่ได้ ช่วยให้เข้าใจความสัมพันธ์ระหว่างตัวแปรใน Model
  • มี Algorithms หลายอัน ที่ทำความเข้าใจความสัมพันธ์ระหว่าง “ตัวแปรอิสระ” และ “ตัวแปรตาม”
Algorithms
  • Linear/Logistic Regression - การสร้าง Model ความสัมพันธ์เชิงเส้น ระหว่าง ตัวแปรตาม และ ตัวแปรอิสระหนึ่งตัว (หรือ มากกว่านั้น) สามารถใช้เพื่อทำความเข้าใจความสัมพันธ์ระหว่างตัวแปร บนพื้นฐานของ t-tests และ ค่าสัมประสิทธิ์
  • Decision Trees - เป็น ML Algorithm ที่สร้าง Model การตัดสินใจแบบ Tree สามารถทำความเข้าใจได้ โดยพิจารณาที่การแบ่ง (Split) Branches
  • Principal Component Analysis (PCA) - เทคนิคการลด Dimension ซึ่ง Project ไปยัง Space ที่มี Dimension ต่ำกว่า ในขณะที่ยังรักษา Variance ไว้ให้ได้มากที่สุด ใช้เพื่อลดความซับซ้อนของข้อมูล หรือทราบถึง Feature Importance
  • Local Interpretable Model-Agnostic Explanations (LIME) - Algorithm ที่อธิบายการทำนายของ ML Model ใด ๆ โดยการประมาณ Model รอบๆ ในการทำนาย .. โดยสร้าง Model ที่ง่ายกว่า เช่น Linear Regression หรือ Decision Trees
  • Shapley Additive explanations (SHAPLEY) - Algorithm ที่อธิบายการทำนายของ ML Model ใด ๆ โดยคำนวณการมีส่วนร่วมของแต่ละ Feature ในการทำนาย .. โดยใช้แนวคิดของ “Marginal Contribution” อาจมีความแม่นยำมากกว่า SHAP ในบางกรณี
  • Shapley Approximation (SHAP) - การอธิบายการทำนายของ ML Model โดยการประมาณความสำคัญของแต่ละ Feature ในการทำนาย .. SHAP ใช้วิธีที่เรียกว่า “Coalitional Game” เพื่อประมาณค่า Shapley และ โดยทั่วไปเร็วกว่า SHAPLEY
Photo by Dominik Vanyi on Unsplash

2. Pattern Mining Algorithms

  • เป็นเทคนิคการทำ Data Mining ประเภทหนึ่ง ที่ใช้การระบุ Patterns และ Relationships ภายในชุดข้อมูล สามารถใช้เพื่อวัตถุประสงค์ที่หลากหลาย เช่น การระบุ Patterns การซื้อของลูกค้าในอุตสาหกรรมค้าปลีก การทำความเข้าใจลำดับพฤติกรรมของผู้ใช้ใน เว็บไซต์/แอป หรือ ค้นหาความสัมพันธ์ระหว่างตัวแปรต่างๆ ในการศึกษาทางวิทยาศาสตร์
  • โดยทั่วไปแล้วจะทำงานโดยการวิเคราะห์ชุดข้อมูลขนาดใหญ่ และ ค้นหา Patterns หรือ Relationships ซ้ำๆ ระหว่างตัวแปร เพื่อใช้ในการทำนาย แนวโน้ม หรือ ผลลัพธ์ ในอนาคต
Algorithms
  • Apriori - สำหรับค้นหาชุด Items ที่ไปคู่กันบ่อย ๆ จาก Transactional Database ซึ่งมีประสิทธิภาพ และ ใช้กันอย่างแพร่หลาย สำหรับงาน Association Rule Mining
  • Recurrent Neural Network (RNN) - เป็น Neural Network ประเภทหนึ่ง ที่ออกแบบมาเพื่อประมวลผล Sequential Data .. เนื่องจากจะพิจารณา Temporal Dependencies ในข้อมูล
  • Long Short-Term Memory (LSTM) - เป็น RNN ประเภทหนึ่ง ที่ออกแบบมาเพื่อจดจำข้อมูลเป็นระยะเวลานาน จะพิจารณา Long-Term Dependencies ในข้อมูล พบได้บ่อยในงาน Language Translation, Language Generation
  • Sequential Pattern Discovery Using Equivalence Class (SPADE) - ค้นหารูปแบบที่พบบ่อยใน Sequential Data โดยการจัดกลุ่มรายการที่เทียบเท่ากันในบางแง่ จัดการชุดข้อมูลขนาดใหญ่ได้อย่างดี แต่อาจไม่ทำงานได้ดีกับ Sparse Data
  • PrefixSpan - ค้นหารูปแบบที่พบบ่อยใน Sequential Data โดยการสร้าง Prefix Tree และ ตัด รายการที่พบไม่บ่อยออก จัดการชุดข้อมูลขนาดใหญ่ได้อย่างดี แต่อาจทำงานได้ไม่ดีกับ Sparse Data
Photo by Harpreet Singh Grewal on Unsplash

3. Ensemble Learning Algorithms

  • เป็นเทคนิคการเรียนรู้ ซึ่งรวมผลการทำนายของหลาย ๆ Models เพื่อให้การทำนายมีประสิทธิภาพ (แม่นยำ) กว่า เพียง Model เดียว มีเหตุผลหลายประการที่ Ensemble Learning ทำงานได้ดีกว่า Traditional ML Algorithms
  1. Diversity (ความหลากหลาย) - ด้วยการรวมการทำนายของหลาย ๆ  Models เข้าด้วยกัน Algorithms ทั้งหมด จะสามารถจับ Patterns ต่างๆ ภายในข้อมูลได้ดีขึ้น
  2. Robustness (ความทนทาน) - โดยทั่วไป Algorithms หลาย ๆ อัน รวมกัน จะไวต่อ Noise และ Outliers น้อยกว่า ซึ่งอาจนำไปสู่การทำนายที่เชื่อถือได้มากขึ้น
  3. ลด Overfitting - โดยเฉลี่ยการใช้หลาย ๆ Models สามารถลดโอกาสในการเกิด Overfitting ได้ดีกว่า
  4. ปรับปรุง Accuracy - Ensemble Learning จะให้มีประสิทธิภาพดีกว่า Traditional ML Algorithms
Algorithms
  • Random Forest - เป็นการรวมเอา Decision Trees หลาย ๆ ต้น และ ทำนายโดยอาศัยเสียง Vote ส่วนใหญ่ของ Trees
  • XGBoost - เป็น Gradient Boosting Algorithm ประเภทหนึ่ง บนพื้นฐานของ Decision Tree ถือเป็น ML Algorithms ที่มีประสิทธิภาพสูงอันหนึ่ง ในการทำ Predictions
  • LightGBM - อีกหนึ่งประเภทของ Gradient Boosting Algorithm ซึ่งออกแบบให้ทำงานเร็วกว่า มีประสิทธิภาพกว่า Boosting Algorithms ประเภทอื่น ๆ
  • CatBoost - เป็น Gradient Boosting Algorithm ซึ่งออกแบบให้ทำงานกับ Categorical Variables ได้ดี

******

มีต่อ Ep.2 (ตอนจบ) อ่านได้ที่นี่  -> https://www.nerd-data.com/ml_ep2/

******

ข้อมูลอ้างอิง - https://terenceshin.medium.com/all-machine-learning-algorithms-you-should-know-for-2023-843dba11419c