การสร้าง Model และการวัดประสิทธิภาพของ Model
Last updated
Was this helpful?
Last updated
Was this helpful?
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 ขึ้นมาในหน้าต่างนี้