Machine Learning Algorithms (Ep.1/2)
ในที่นี้ จะแบ่งกลุ่ม Machine Learning (ML) Algorithms ดังนี้
- Explanatory Algorithms
- Pattern Mining Algorithms
- Ensemble Learning Algorithms
- Clustering Algorithms
- Time Series Algorithms
- Similarity Algorithms
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
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
3. Ensemble Learning Algorithms
- เป็นเทคนิคการเรียนรู้ ซึ่งรวมผลการทำนายของหลาย ๆ Models เพื่อให้การทำนายมีประสิทธิภาพ (แม่นยำ) กว่า เพียง Model เดียว มีเหตุผลหลายประการที่ Ensemble Learning ทำงานได้ดีกว่า Traditional ML Algorithms
- Diversity (ความหลากหลาย) - ด้วยการรวมการทำนายของหลาย ๆ Models เข้าด้วยกัน Algorithms ทั้งหมด จะสามารถจับ Patterns ต่างๆ ภายในข้อมูลได้ดีขึ้น
- Robustness (ความทนทาน) - โดยทั่วไป Algorithms หลาย ๆ อัน รวมกัน จะไวต่อ Noise และ Outliers น้อยกว่า ซึ่งอาจนำไปสู่การทำนายที่เชื่อถือได้มากขึ้น
- ลด Overfitting - โดยเฉลี่ยการใช้หลาย ๆ Models สามารถลดโอกาสในการเกิด Overfitting ได้ดีกว่า
- ปรับปรุง 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