การสร้าง Model และการวัดประสิทธิภาพของ Model (evaluation) บน X-Brain
Last updated
Last updated
Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University
X-Brain คือ แพลตฟอร์มที่พัฒนาขึ้นเพื่อรองรับการสำรวจข้อมูล (Data Exploration) และการทำป้ายชื่อข้อมูล (Data Labeling) สำหรับการสร้างโมเดล AI พร้อมด้วยระบบการปรับใช้แบบอัตโนมัติ (Automated Deployment) ซึ่งช่วยให้กระบวนการสร้างโมเดล AI เป็นไปอย่างราบรื่น รวดเร็ว และมีประสิทธิภาพสูงสุด แพลตฟอร์มนี้ออกแบบมาเพื่อตอบสนองความต้องการในหลายด้าน ไม่ว่าจะเป็นการศึกษา การวิจัย และการประยุกต์ใช้ในอุตสาหกรรม AI และ Machine Learning
Training: การฝึกโมเดลคือการใช้ข้อมูลที่เตรียมไว้มาสอนให้โมเดลเข้าใจและสร้างความสัมพันธ์ระหว่างข้อมูลเข้าและผลลัพธ์ โมเดลจะพยายามลดข้อผิดพลาดหรือค่าความคลาดเคลื่อนระหว่างผลลัพธ์ที่คาดการณ์กับผลลัพธ์จริง
Hyperparameter Tuning: การปรับแต่งค่าพารามิเตอร์ของโมเดล เช่น ค่า Learning Rate ใน Neural Networks หรือจำนวนของ Decision Trees ใน Random Forest เพื่อให้โมเดลทำงานได้อย่างมีประสิทธิภาพที่สุด
Cross-Validation: เทคนิคในการแบ่งข้อมูลออกเป็นหลายส่วนเพื่อประเมินความแม่นยำของโมเดลและลดความเสี่ยงในการ Overfitting หรือการเรียนรู้ข้อมูลเฉพาะเกินไป
ในส่วนของขั้นตอนนี้จะเป็นขั้นตอนการเรียนรู้เชิงปัญญาประดิษฐ์เพื่อสร้างโมเดลปัญญาประดิษฐ์ (AI Model) สำหรับใช้ในการประมวลผลต่อไป โดยจะมีขั้นตอนการดำเนินงานดังต่อไปนี้
Model name: ตั้งชื่อโมเดลที่ใช้ในการวิเคราะห์หรือทำนายผลลัพธ์
Select training: เลือกประเภทของข้อมูลที่ต้องการจะให้ปัญญาประดิษฐ์เรียนรู้ประกอบไปด้วย
activity: ข้อมูลที่เกี่ยวกับกิจกรรมของผู้ใช้ เช่น การเดิน การวิ่ง การนั่ง การนอน ซึ่งมักถูกใช้ในการพัฒนาระบบที่สามารถตรวจจับหรือทำนายกิจกรรมที่ผู้ใช้กำลังทำอยู่ในเวลานั้นๆ
health (covid-19): ข้อมูลที่เกี่ยวข้องกับสุขภาพ เช่น อุณหภูมิร่างกาย อาการที่แสดงออก ซึ่งสามารถนำไปใช้ในการตรวจจับหรือทำนายความเสี่ยงในการติดเชื้อ COVID-19
movement (up-side-down): ข้อมูลการเคลื่อนไหวที่เกี่ยวกับการเปลี่ยนแปลงท่าทาง เช่น การคว่ำหน้าหรือการกลับหัว ซึ่งใช้ในการพัฒนาระบบที่สามารถตรวจจับและตอบสนองต่อการเปลี่ยนแปลงการเคลื่อนไหวของผู้ใช้หรืออุปกรณ์ได้
Select model: เลือกโมเดลที่เหมาะสมที่สุดสำหรับการวิเคราะห์หรือทำนายผลลัพธ์ประกอบไปด้วย
Random Forest
max_depth: ความลึกสูงสุดของต้นไม้ในโมเดล Decision Tree หรือ Random Forest ซึ่งจะจำกัดจำนวนชั้นที่สามารถแบ่งข้อมูลได้ ช่วยป้องกันการ overfitting
n_estimators: จำนวนต้นไม้ในโมเดล Random Forest หรือจำนวนรอบการเรียนรู้ในโมเดล Ensemble Methods
min_samples_split: จำนวนตัวอย่างข้อมูลขั้นต่ำที่จำเป็นในการแบ่ง node หนึ่งๆ ในโมเดล Decision Tree ยิ่งมีค่ามาก จะช่วยป้องกัน overfitting
min_samples_leaf: จำนวนตัวอย่างข้อมูลขั้นต่ำที่ต้องมีในแต่ละใบ (leaf) ของต้นไม้ ช่วยควบคุมความซับซ้อนของโมเดล
max_features: จำนวนฟีเจอร์สูงสุดที่โมเดลจะพิจารณาในการแบ่งแต่ละครั้งในโมเดล Random Forest หรือ Decision Tree
Criterion for hyperparameter optimization: เกณฑ์หรือมาตรฐานที่ใช้ในการปรับค่าพารามิเตอร์ของโมเดลเพื่อเพิ่มประสิทธิภาพ
Gini
Entropy
Decision Tree
max_depth: ความลึกสูงสุดของต้นไม้ในโมเดล Decision Tree หรือ Random Forest ซึ่งจะจำกัดจำนวนชั้นที่สามารถแบ่งข้อมูลได้ ช่วยป้องกันการ overfitting
min_samples_split: จำนวนตัวอย่างข้อมูลขั้นต่ำที่จำเป็นในการแบ่ง node หนึ่งๆ ในโมเดล Decision Tree ยิ่งมีค่ามาก จะช่วยป้องกัน overfitting
min_samples_leaf: จำนวนตัวอย่างข้อมูลขั้นต่ำที่ต้องมีในแต่ละใบ (leaf) ของต้นไม้ ช่วยควบคุมความซับซ้อนของโมเดล
max_features: จำนวนฟีเจอร์สูงสุดที่โมเดลจะพิจารณาในการแบ่งแต่ละครั้งในโมเดล Random Forest หรือ Decision Tree
Criterion for hyperparameter optimization: เกณฑ์หรือมาตรฐานที่ใช้ในการปรับค่าพารามิเตอร์ของโมเดลเพื่อเพิ่มประสิทธิภาพ
Gini
Entropy
Gradient Boosting
max_depth_db: ระดับความลึกสูงสุดของแต่ละต้นไม้ใน Gradient Boosting การตั้งค่าพารามิเตอร์นี้จะจำกัดจำนวนระดับของโหนดในแต่ละต้นไม้ ช่วยควบคุมความซับซ้อนของโมเดลและป้องกันการ overfitting
n_estimators: จำนวนต้นไม้ในโมเดล Random Forest หรือจำนวนรอบการเรียนรู้ในโมเดล Ensemble Methods
learning_rate: อัตราการเรียนรู้ใน Gradient Boosting เป็นค่าที่ลดน้ำหนักของแต่ละต้นไม้ที่ถูกสร้างขึ้นในแต่ละรอบการฝึก ถ้าเรียนรู้ช้า (ค่าต่ำ) โมเดลจะค่อยๆ ปรับตัวและอาจต้องใช้ต้นไม้หลายต้น แต่จะช่วยลดโอกาสเกิด overfitting
subsample: อัตราส่วนของข้อมูลที่ใช้ในการสร้างแต่ละต้นไม้ใน Gradient Boosting ถ้าค่าต่ำกว่าหนึ่ง จะใช้เพียงบางส่วนของข้อมูลเท่านั้น ช่วยเพิ่มความหลากหลายของต้นไม้ ลดความเสี่ยงของ overfitting และเพิ่มความเร็วในการฝึกโมเดล
min_samples_split: จำนวนตัวอย่างข้อมูลขั้นต่ำที่จำเป็นในการแบ่ง node หนึ่งๆ ในโมเดล Decision Tree ยิ่งมีค่ามาก จะช่วยป้องกัน overfitting
min_samples_leaf: จำนวนตัวอย่างข้อมูลขั้นต่ำที่ต้องมีในแต่ละใบ (leaf) ของต้นไม้ ช่วยควบคุมความซับซ้อนของโมเดล
Criterion for hyperparameter optimization: เกณฑ์หรือมาตรฐานที่ใช้ในการปรับค่าพารามิเตอร์ของโมเดลเพื่อเพิ่มประสิทธิภาพ
squared_error
friedman_mse
Test size: สัดส่วนของข้อมูลที่ใช้สำหรับทดสอบโมเดล เพื่อประเมินความแม่นยำและประสิทธิภาพของโมเดล (มักจะระบุเป็นเปอร์เซ็นต์ เช่น 20% ในระบบ 0.20)
X.shape = (18825, 7), X_test.shape = (4707, 7): หมายถึงขนาดของชุดข้อมูลฝึกอบรมและทดสอบ โดยชุดข้อมูลฝึกอบรม (X) มีตัวอย่างข้อมูลจำนวน 18,825 แถว และมีคุณลักษณะ (features) จำนวน 7 ตัว ส่วนชุดข้อมูลทดสอบ (X_test) มีตัวอย่างข้อมูลจำนวน 4,707 แถว และมีคุณลักษณะจำนวน 7 ตัว
Train Accuracy - Decision_Tree: 0.9876228419654715: แสดงค่าความแม่นยำของโมเดล Decision Tree บนชุดข้อมูลฝึกอบรม ซึ่งมีค่าประมาณ 98.76%
Test Accuracy: 75.29%: ค่านี้แสดงถึงความแม่นยำของโมเดลบนชุดข้อมูลทดสอบ ซึ่งบอกถึงความสามารถของโมเดลในการทำนายข้อมูลใหม่ที่ไม่เคยเห็นมาก่อน ในที่นี้มีค่าความแม่นยำที่ 75.29%
BentoML deployment service URL: URL นี้เป็นตำแหน่งที่โมเดลที่ฝึกเสร็จแล้วถูกนำไปใช้งานผ่านสำหรับการ deploy โมเดลแมชชีนเลิร์นนิง
Trained Model Hyperparameters: เป็นรายการของพารามิเตอร์ที่ใช้ในการฝึกโมเดล Decision Tree แต่ละพารามิเตอร์จะมีผลต่อพฤติกรรมของโมเดล