การสร้าง Model และการวัดประสิทธิภาพของ Model
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
BDH 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) สำหรับใช้ในการประมวลผลต่อไป โดยจะมีขั้นตอนการดำเนินงานดังต่อไปนี้
1. ต่อเนื่องจาก การกำหนดป้ายกำกับ (Data Labeling) ในชุดข้อมูล (Dataset) บน X-Brain เข้าไปในโปรเจค “Gesture” แท็บเมนู “Dataset” เลือกที่ไฟล์ข้อมูลแล้วไปที่เมนู “Training Model”
2. หลังจากกดปุ่มจะมีหน้าต่างการทำงานขึ้นมาให้ผู้เรียนกรอก ซึ่งค่าเหล่านั้นมีดังนี้
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)
3. เมื่อกรอกข้อมูลเรียบร้อยให้ทำการกดปุ่ม "Train Model" เพื่อเริ่มการเรียนรู้ข้อมูล หลังจากนั้นแพลตฟอร์มจะเริ่มเรียนรู้ข้อมูล
4. หลังจากที่กระบวนการเรียนรู้เสร็จสิ้นจะปรากฏผลลัพธ์โมเดลขึ้นมาดังตัวอย่างรูปภาพด้านล่าง
X.shape =(8000, 6), X_test.shape = (2000, 6): หมายถึงขนาดของชุดข้อมูลฝึกอบรมและทดสอบ โดยชุดข้อมูลฝึกอบรม (X) มีตัวอย่างข้อมูลจำนวน 8000 แถว และมีคุณลักษณะ (features) จำนวน 6 ตัว ส่วนชุดข้อมูลทดสอบ (X_test) มีตัวอย่างข้อมูลจำนวน 2000 แถว และมีคุณลักษณะจำนวน 6 ตัว
Test Accuracy: 99.50%: ค่านี้แสดงถึงความแม่นยำของโมเดลบนชุดข้อมูลทดสอบ ซึ่งบอกถึงความสามารถของโมเดลในการทำนายข้อมูลใหม่ที่ไม่เคยเห็นมาก่อน ในที่นี้มีค่าความแม่นยำที่ 99.50%
BentoML deployment service URL: URL นี้เป็นตำแหน่งที่โมเดลที่ฝึกเสร็จแล้วถูกนำไปใช้งานผ่านสำหรับการ deploy โมเดลแมชชีนเลิร์นนิง
Trained Model Hyperparameters: เป็นรายการของพารามิเตอร์ที่ใช้ในการฝึกโมเดล Decision Tree แต่ละพารามิเตอร์จะมีผลต่อพฤติกรรมของโมเดล
5. หลังจากนั้นให้ไปที่เมนู "AI Model" จะปรากฎผลลัพธ์ดังรูปภาพด้านล่าง ซึ่งในตอนเริ่มต้นจะว่างเปล่า แต่ปัจจุบันจะแสดงผลไฟล์ model ที่ผ่านการ train model ขึ้นมาในหน้าต่างนี้