Metadata คืออะไร บอกอะไรเกี่ยวกับชุดข้อมูลนั้น ๆ บ้าง
Metadata คือข้อมูลที่อธิบายชุดข้อมูล เพื่อให้เข้าใจได้เบื้องต้นว่าเป็นชุดข้อมูลเกี่ยวกับอะไร ประเภทไฟล์ วันที่สร้างและปรับปรุง
การประเมินผลนั้นจำเป็นกับการทำ Machine Learning อย่างมาก เพราะมันเป็นสิ่งที่เอาไว้วัดว่าโมเดลนั้น ๆ ทำงานเป็นอย่างไร ประเมินผลว่าทำงานได้น่าพึงพอใจแล้วหรือไม่ รวมถึงยังไว้ใช้เปรียบเทียบระหว่างโมเดลเพื่อตอบคำถามที่ว่าเราควรเลือกใช้โมเดลไหนดีได้อีกด้วย ซึ่งการวัดผลสำหรับโมเดลนั้นบทความนี้จะมานำเสนอด้วยกัน 2 ประเภทหลัก ๆ คือ การประเมินผลสำหรับงานด้าน Classification (จำแนกประเภท) และการประเมินผลสำหรับงานด้าน Regression (ทำนายค่า) ปล. ในการทำงานจริงนั้นการประเมินผลโมเดลจำพวก Classification จะค่อนข้างยากมากเพราะบนโลกจริงนั้นงานมีความต่อเนื่องในขณะที่การจำแนกประเภทนั้นค่าที่เราคาดหวังเป็นค่าที่ไม่ต่อเนื่อง
สำหรับงานการจำแนกประเภทนั้นก่อนอื่นจะต้องเข้าใจนิยามของ 4 คำนี้ก่อน
เช่น โมเดล Classsification สำหรับจำแนกทุเรียนหมอนทองกับทุเรียนก้านยาว โดยที่คาดหวังว่าโมเดลจะจำแนกทุเรียนหมอนทองได้ (ให้หมอนทองเป็น Positive และก้านยาวเป็น Negative)
ผู้ทดลองทำการส่งรูปทุเรียนหมอนทองให้โมเดลจำแนกและได้ผลว่าเป็นหมอนทอง แบบนี้เรียก TP
ผู้ทดลองทำการส่งรูปทุเรียนก้านยาวให้โมเดลจำแนกและได้ผลว่าเป็นก้านยาว แบบนี้เรียก TN
ผู้ทดลองทำการส่งรูปทุเรียนก้านยาวให้โมเดลจำแนกและได้ผลว่าเป็นหมอนทอง แบบนี้เรียก FP
ผู้ทดลองทำการส่งรูปทุเรียนหมอนทองให้โมเดลจำแนกและได้ผลว่าเป็นก้านยาว แบบนี้เรียก FN
ซึ่งปกติแล้วเราจะนำเสนอจำนวน TP FP TN FN เหล่านี้ด้วย Confusion Matrix
Accuracy >> (TP + TN) / (TP + FP + TN + FN)
สำหรับวัดว่าโมเดลนั้นทำนายได้ถูกต้องแค่ไหน โดยนำค่าที่ทำนายได้ถูกต้องทั้งหมดหารด้วยค่าทั้งหมดที่ให้โมเดลทำนาย แต่ปัญหามีอยู่ว่าถ้าเป็นการจำแนกประเภทที่มากกว่า 2 คลาสขึ้นไปวิธีนี้จะไม่สามารถวัดค่าความแม่นยำบนแต่ละคลาสได้ และถ้าชุดข้อมูลไม่บาลานซ์กันนั้นก็จะส่งผลให้ผลลัพธ์ของวิธีนี้ผิดพลาดได้ เช่นว่า ถ้าชุดข้อมูลมีทุเรียนหมอนทองมากกว่าทุเรียนก้านยาว แน่นอนว่ามันก็ต้องทำนายเก่งบนทุเรียนหมอนทองและส่งผลให้ Accuracy สูงตามไปด้วยเพราะเฉลยเองก็มีแต่หมอนทองเป็นส่วนใหญ่ จึงทำให้ไม่ทราบเลยว่ามันสามารถแยกแยะได้จริงหรือไม่
Precision/Recall >> Precision = TP/(TP + FP), Recall = TP/(TP + FN)
สองอย่างนี้จะต้องรายงานด้วยกันเสมอ โดยมีความหมายคือ
Precision มองในมุมว่าโมเดลทำนายได้แม่นยำแค่ไหนในค่าที่สนใจ เช่น ในผลการทำนายที่เป็นหมอนทองทั้งหมดโมเดลทำนายว่าเป็นหมอนทองได้อย่างถูกต้องมากน้อยแค่ไหน
Recall มองในมุมว่าโมเดลทำนายได้ถูกต้องแค่ไหน เช่น ในผลการทำนายที่ทั้งถูกและผิดโมเดลทำนายว่าเป็นหมอนทองได้อย่างถูกต้องมากน้อยแค่ไหน
F1-Score >> 2 * ((precision x recall) / (precision + recall))
โดยการที่ต้องเลือกว่าจะใช้โมเดลไหนดีจำเป็นจะต้องมีค่าที่ใช้สำหรับตัดสินใจได้ ดังนั้นจึงนำ Precision และ Recall มาหาค่าเฉลี่ยแบบฮาร์โมนิก ซึ่งยิ่ง 2 ค่านี้สูงก็จะทำให้ F1 สูงตามไปด้วย
ROC curve >> TPR = TP / (TP + FN), FPR = FP / (FP + TN)
เป็นการพล็อตระหว่างค่าอัตราส่วนที่ทำนายได้อย่างถูกต้อง กับ ค่าอัตราส่วนที่ทำนายผิดแต่ตรงกับค่าคาดหวัง โดยไว้ใช้สำหรับ Classification แบบที่มีแค่ 2 คลาส ใช้เพื่อเลือกค่า Threshold ให้กับโมเดล
RMSE >> y คือ ค่าคาดหวัง, X คือ ข้อมูล, m คือจำนวนของข้อมูลที่นำมาทดสอบ, h คือฟังก์ชันของการทำนาย
เป็นการวัดค่าส่วนเบี่ยงเบนมาตรฐานของค่าความผิดพลาดที่เกิดขึ้นในการทำนายผล เช่นว่าค่าที่ทำนายออกมานั้นผิดไปจากค่าจริงโดยมีส่วนเบี่ยงเบนอยู่ที่เท่าไหร่
MAE >> y คือ ค่าคาดหวัง, X คือ ข้อมูล, m คือจำนวนของข้อมูลที่นำมาทดสอบ, h คือฟังก์ชันของการทำนาย
ถ้าข้อมูลมี Outliers การใช้ MAE จะให้ผลที่เหมาะสมกว่า
R**2 (R Square) >> y คือค่าที่สนใจ, f คือค่าทำนาย
คือสัดส่วนของค่าความแปรปรวนระหว่างความแปรปรวนของข้อมูล กับ ค่าที่ทำนาย
อย่าลืมที่จะวัดผลอย่างถูกวิธีเพราะสิ่งนี้จะช่วยให้คุณเลือกโมเดลไปใช้งานได้อย่างถูกต้องเหมาะสมมากยิ่งขึ้น และนอกจากตัววัดเหล่านี้แล้วก็ยังอีกหลายวิธีการสำหรับวัดผลตามประเภทงานหรือโมเดลที่ยาก ๆ แบบอื่น ๆ ไปจนถึงกลยุทธ์การเลือกโมเดลและการแบ่งข้อมูลเพื่อวัดผลก็เป็นสิ่งที่ต้องคำนึงเช่นกัน
Metadata คือข้อมูลที่อธิบายชุดข้อมูล เพื่อให้เข้าใจได้เบื้องต้นว่าเป็นชุดข้อมูลเกี่ยวกับอะไร ประเภทไฟล์ วันที่สร้างและปรับปรุง
การทำงานด้าน Machine Learning นั้นจะต้องเจอข้อมูลและมีคำถามเสมอว่าควรเริ่มจากอะไรดี โดย Mutual Information เป็นหนึ่งในขั้นตอนที่แนะนำให้ทำ
วิธีการแปลงข้อมูลประเภทหมวดหมู่/ประเภท (ที่เป็นตัวอักษร) ให้เป็นชุดตัวเลขด้วยวิธีการ One Hot Encoding เพื่อให้โมเดลสามารถเรียนรู้ได้
การเรียนรู้เชิงลึก (Deep Learning) นั้นเป็นเทคนิคที่มัประสิทธิภาพมากในงาน Machine Learning ปัจจุบันซึ่งเบื้องหลังของมันก็คือการใช้ ANN
ในหลาย ๆ ชุดข้อมูลมักจะมีการเก็บวันที่ไว้ด้วยเสมอ ซึ่งการ Parsing Dates จะช่วยให้ใช้งานวันที่เหล่านั้นได้ง่ายยิ่งขึ้น
การจะเริ่มทำโปรเจคอะไรสักอย่างสิ่งที่ขาดไม่ได้เลยคือข้อมูล แล้วยิ่งเป็นงานที่เกี่ยวข้องกับ Data แล้วนั้น Data source จึงเป็นสิ่งจำเป็นมาก