\(~~~~~~~~~~\)Model Evaluation\(~~~~~~~~~~\)
การประเมินประสิทธิภาพของแบบจำลอง

อ.ดร. สมศักดิ์ จันทร์เอม

วิทยาลัยนานาชาตินวัตกรรมดิจิทัล มหาวิทยาลัยเชียงใหม่

14 พฤศจิกายน 2568

การประเมินแบบจำลองสำหรับการพยากรณ์

ประสิทธิภาพของโมเดลสามารถประเมินได้ด้วยตัวชี้วัดหลายแบบ ดังนี้:

  • ค่าความคลาดเคลื่อนกำลังสองเฉลี่ย (MSE)

  • รากที่สองของค่าความคลาดเคลื่อนกำลังสองเฉลี่ย (RMSE)

  • ค่าความคลาดเคลื่อนสัมบูรณ์เฉลี่ย (MAE)

  • ค่าความคลาดเคลื่อนสัมบูรณ์เป็นร้อยละเฉลี่ย (MAPE)

  • \(R^2\) (Coefficient of Determination)

ตัวชี้วัดแต่ละตัวมีความหมายและกรณีการใช้งานที่แตกต่างกัน

1. ค่าความคลาดเคลื่อนกำลังสองเฉลี่ย (Mean Squared Error: MSE)

\[ MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \]

  • ใช้วัดความแตกต่างกำลังสองระหว่างค่าจริง (\(y_i\)) และค่าที่แบบจำลองทำนายได้ (\(\hat{y}_i\))

  • ค่า MSE ที่มีค่าน้อย แสดงว่าแบบจำลองสามารถทำนายได้ใกล้เคียงกับค่าจริงมากขึ้น

  • ข้อเสียคือ หน่วยของ MSE เป็นกำลังสองของหน่วยข้อมูลเดิม ทำให้การตีความค่าอาจทำได้ยากขึ้น

2. รากที่สองของค่าความคลาดเคลื่อนกำลังสองเฉลี่ย (Root Mean Squared Error: RMSE)

\[ RMSE = \sqrt{\text{MSE}} = \sqrt{\dfrac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} \]

  • เป็นรากที่สองของค่า MSE ทำให้หน่วยของค่า RMSE มีหน่วยเดียวกับตัวแปรที่ถูกพยากรณ์

  • เป็นตัวชี้วัดที่ตีความได้ง่ายกว่า เพราะอยู่ในหน่วยเดียวกับข้อมูลจริง

  • ค่า RMSE ที่น้อย แสดงว่าแบบจำลองมีค่าความคลาดเคลื่อนในการพยากรณ์ต่ำ

3. ค่าความคลาดเคลื่อนสัมบูรณ์เฉลี่ย (Mean Absolute Error: MAE)

\[ MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| \]

  • คำนวณค่าเฉลี่ยของความแตกต่างแบบสัมบูรณ์ระหว่างค่าจริง และค่าที่แบบจำลองทำนายได้

  • มีความไวต่อค่าผิดปกติ (outliers) น้อยกว่าเมื่อเทียบกับ MSE หรือ RMSE

  • เข้าใจง่าย เพราะมีหน่วยเดียวกับตัวแปรเป้าหมาย (target variable)

4. ค่าความคลาดเคลื่อนสัมบูรณ์เป็นร้อยละเฉลี่ย (Mean Absolute Percentage Error: MAPE)

\[ MAPE = \frac{100%}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right| \]

  • ใช้วัดความคลาดเคลื่อนของการพยากรณ์ในรูปแบบร้อยละ ทำให้สามารถเปรียบเทียบข้ามชุดข้อมูลที่มีหน่วยต่างกันได้

  • ข้อเสียคือ หากค่าจริง (\(y_i\)) เท่ากับศูนย์ ค่า MAPE จะมีค่ามากผิดปกติหรือไม่สามารถคำนวณได้

5. สัมประสิทธิ์การกำหนด (\(R^2\) : Coefficient of Determination)

\[ R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}*i)^2}{\sum*{i=1}^{n} (y_i - \bar{y})^2} \]

  • เป็นตัวชี้วัดที่แสดงสัดส่วนของความแปรปรวนในตัวแปรตาม (\(y\)) ที่สามารถอธิบายได้โดยแบบจำลอง

  • ค่า \(R^2\) มีค่าระหว่าง 0 ถึง 1

  • เมื่อ \(R^2 = 1\) หมายความว่าแบบจำลองสามารถอธิบายความแปรปรวนของข้อมูลได้ทั้งหมด

  • เมื่อ \(R^2 = 0\) หมายความว่าแบบจำลองไม่สามารถอธิบายความแปรปรวนของข้อมูลได้เลย

  • หากค่า \(R^2\) เป็นลบ แสดงว่าแบบจำลองทำงานได้แย่กว่าการทำนายด้วยค่าเฉลี่ยของข้อมูล

สรุป

ตัวชี้วัด (Metric) หน่วย (Unit) ค่าที่น้อยหมายถึง ข้อจำกัด (Weakness)
MSE หน่วยยกกำลังสอง ค่าความคลาดเคลื่อนในการพยากรณ์ต่ำ ตีความยากเพราะหน่วยถูกยกกำลังสอง
RMSE หน่วยเดียวกับข้อมูล ค่าความคลาดเคลื่อนในการพยากรณ์ต่ำ อ่อนไหวต่อค่าผิดปกติ (outliers)
MAE หน่วยเดียวกับข้อมูล ค่าความคลาดเคลื่อนในการพยากรณ์ต่ำ ไม่สามารถบอกได้ว่าค่าคลาดเคลื่อนมากเกิดจาก outliers หรือไม่
MAPE ร้อยละ (%) ค่าความคลาดเคลื่อนในการพยากรณ์ต่ำ ใช้ไม่ได้เมื่อค่าจริงมีค่าเป็นศูนย์
\(R^2\) ไม่มีหน่วย แบบจำลองมีความเหมาะสมมากขึ้น ไม่สามารถเปรียบเทียบระหว่างแบบจำลองที่ต่างกันมากได้โดยตรง

การเลือกตัวชี้วัดที่เหมาะสม

  • หากต้องการประเมินค่าความคลาดเคลื่อนโดยรวม → ใช้ MSE หรือ RMSE

  • หากต้องการตีความง่าย และอยู่ในหน่วยเดียวกับข้อมูล → ใช้ MAE หรือ RMSE

  • หากต้องการประเมินความคลาดเคลื่อนในรูปแบบร้อยละ → ใช้ MAPE

  • หากต้องการวัดว่าโมเดลสามารถอธิบายความแปรปรวนของข้อมูลได้ดีเพียงใด → ใช้ \(R^2\)

  • MSE และ RMSE เหมาะเมื่อคุณต้องการให้ค่าผิดปกติ (outliers) มีอิทธิพลต่อการเรียนรู้ของโมเดลมากขึ้น

  • MAE เหมาะเมื่อคุณต้องการลดอิทธิพลของค่าผิดปกติ

  • MAPE เหมาะสำหรับการเปรียบเทียบโมเดลระหว่างชุดข้อมูลที่มีหน่วยต่างกัน

  • \(R^2\) เหมาะสำหรับการประเมินคุณภาพโดยรวมของแบบจำลอง

การประเมินประสิทธิภาพของแบบจำลองจำแนกประเภทด้วย Confusion Matrix

Confusion Matrix คือ ตารางที่ใช้สำหรับประเมินผลลัพธ์ของแบบจำลอง ที่ใช้ในการจัดกลุ่มหรือจำแนกประเภท (classification) โดยเปรียบเทียบค่าจริง (Actual) กับค่าที่แบบจำลองทำนายได้ (Predicted)

จากตารางนี้ สามารถคำนวณค่าชี้วัดมาตรฐานหลักได้ 4 ค่า ได้แก่:

  • Accuracy
  • Precision
  • Recall
  • F1-score

1. Confusion Matrix คืออะไร?

Confusion Matrix คือ ตารางขนาด \(2 \times 2\) (สำหรับปัญหา Binary Classification) ซึ่งประกอบด้วยองค์ประกอบดังนี้:

Actual / Predicted Predicted Positive Predicted Negative
Actual Positive (P) True Positive (TP) False Negative (FN)
Actual Negative (N) False Positive (FP) True Negative (TN)
  • True Positive (TP) : ทำนายว่า “Positive” และเป็น Positive จริง

  • True Negative (TN) : ทำนายว่า “Negative” และเป็น Negative จริง

  • False Positive (FP) : ทำนายว่า “Positive” แต่จริง ๆ แล้วเป็น “Negative” (เรียกว่า False Alarm หรือ Type I Error)

  • False Negative (FN) : ทำนายว่า “Negative” แต่จริง ๆ แล้วเป็น “Positive” (เรียกว่า Missed Detection หรือ Type II Error)

ตัวชี้วัดมาตรฐานทั้งสี่สำหรับการประเมินแบบจำลองจำแนกประเภท

(1) Accuracy

\[ Accuracy = \frac{TP + TN}{TP + TN + FP + FN} \]

  • วัดสัดส่วนของผลการทำนายทั้งหมดที่ถูกต้อง

  • เหมาะสำหรับชุดข้อมูลที่มีจำนวนคลาสสมดุลกัน (balanced dataset)

  • ไม่เหมาะเมื่อข้อมูลไม่สมดุล (imbalanced dataset)

ตัวอย่าง: หาก Accuracy = 90% หมายความว่าแบบจำลองทำนายถูกต้อง 90% ของกรณีทั้งหมด

(2) Precision (ค่าความแม่นยำของคลาสบวก)

\[ Precision = \frac{TP}{TP + FP} \]

  • แสดงสัดส่วนของกรณีที่แบบจำลองทำนายว่าเป็น “Positive” และเป็น Positive จริง

  • สำคัญในกรณีที่ความผิดพลาดแบบ False Positive มีต้นทุนสูง เช่น การวินิจฉัยโรค หรือการตรวจจับการฉ้อโกง (fraud detection)

ตัวอย่าง: หาก Precision = 80% หมายความว่า ในบรรดากรณีที่ทำนายว่าเป็น Positive ทั้งหมด 80% เป็นผลลัพธ์ที่ถูกต้องจริง

(3) Recall (Sensitivity หรือ True Positive Rate)

\[ Recall = \frac{TP}{TP + FN} \]

  • แสดงสัดส่วนของกรณี “Positive” จริงทั้งหมด ที่แบบจำลองสามารถตรวจจับได้ถูกต้อง

  • สำคัญในกรณีที่ความผิดพลาดแบบ False Negative มีผลกระทบสูง เช่น การตรวจหามะเร็ง หรือการระบุผู้ก่อการร้าย

ตัวอย่าง: หาก Recall = 75% หมายความว่า แบบจำลองสามารถตรวจจับกรณี Positive จริงได้ถูกต้อง 75%

(4) F1-score

\[ F1 = 2 \times \frac{Precision \times Recall}{Precision + Recall} \]

  • เป็นค่าเฉลี่ยเชิงฮาร์มอนิกแบบถ่วงน้ำหนักระหว่าง Precision และ Recall

  • เหมาะสำหรับกรณีที่ต้องการสมดุลระหว่าง Precision และ Recall

ตัวอย่าง: หาก F1-score = 85% หมายความว่า แบบจำลองมีความสมดุลที่ดีระหว่าง Precision และ Recall ที่ระดับ 85%

ตัวอย่าง

With the given counts (TP=, FN=, FP=, TN=):

  • Accuracy = ()
    =

  • Precision = )
    =

  • Recall = )
    =

  • F1 = )

การเลือกตัวชี้วัดที่เหมาะสม

ตัวชี้วัด (Metric) เหมาะสำหรับสถานการณ์
Accuracy เมื่อชุดข้อมูลมีความสมดุลระหว่างคลาส
Precision เมื่อจำเป็นต้องลดความผิดพลาดแบบ False Positive เช่น การตรวจจับการฉ้อโกง
Recall เมื่อจำเป็นต้องลดความผิดพลาดแบบ False Negative เช่น การวินิจฉัยโรคร้ายแรง
F1-Score เมื่อจำเป็นต้องรักษาสมดุลระหว่าง Precision และ Recall

5. สรุป (Summary)

ตัวชี้วัด (Metric) ความหมาย สูตร ค่าที่ดี (Good Value)
Accuracy ความถูกต้องโดยรวม \(\frac{TP + TN}{TP + TN + FP + FN}\) มากกว่า 90% ถือว่าดี (ขึ้นอยู่กับปัญหา)
Precision ความถูกต้องของคลาสบวก \(\frac{TP}{TP + FP}\) ยิ่งใกล้ 1 ยิ่งดี
Recall ความสามารถในการตรวจจับคลาสบวก \(\frac{TP}{TP + FN}\) ยิ่งใกล้ 1 ยิ่งดี
F1-Score ค่าเฉลี่ยแบบถ่วงน้ำหนักของ Precision และ Recall \(2 \times \frac{Precision \times Recall}{Precision + Recall}\) ยิ่งใกล้ 1 ยิ่งดี

หากชุดข้อมูลไม่สมดุล (เช่น 99% เป็น Negative และ 1% เป็น Positive) การใช้ Accuracy เพียงอย่างเดียวอาจทำให้เข้าใจผิดได้ ในกรณีเช่นนี้ ควรพิจารณาใช้ Precision, Recall หรือ F1-Score ร่วมด้วย

แนวทางในการเลือกตัวชี้วัดที่เหมาะสม

  • หากเป้าหมายคือให้โมเดลมีความแม่นยำสูงสุด (ลด False Positives) → ใช้ Precision

  • หากเป้าหมายคือให้ตรวจจับกรณี Positive ให้ครบ (ลด False Negatives) → ใช้ Recall

  • หากเป้าหมายคือให้สมดุลระหว่าง Precision และ Recall → ใช้ F1-Score

  • หากเป้าหมายคือประเมินประสิทธิภาพโดยรวมของโมเดล → ใช้ Accuracy (แต่เฉพาะกรณีที่ชุดข้อมูลมีความสมดุลเท่านั้น)

Model Evaluation and Scoring in Orange Data Mining

Example Calculation with Orange Data Mining

Titanic dataset

Titanic dataset

Underfitting vs. Overfitting in Machine Learning

Underfitting

  • คำจำกัดความ (Definition): เกิดขึ้นเมื่อแบบจำลองมีความ ง่ายเกินไป จนไม่สามารถจับรูปแบบหรือความสัมพันธ์ที่แท้จริงในข้อมูลได้

  • สาเหตุ (Cause):

    • ใช้แบบจำลองที่มีความซับซ้อนน้อยเกินไป (เช่น การใช้ Linear Regression กับข้อมูลที่เป็น Nonlinear)
    • ใช้ตัวแปรน้อยเกินไป หรือมองข้ามความสัมพันธ์สำคัญระหว่างตัวแปร
  • ลักษณะอาการ (Symptoms):

    • ค่าความคลาดเคลื่อน (error) สูงใน ข้อมูลฝึก (training data)
    • ค่าความคลาดเคลื่อนสูงใน ข้อมูลทดสอบ (test data)

Overfitting

คำจำกัดความ (Definition): เกิดขึ้นเมื่อแบบจำลองมีความ ซับซ้อนเกินไป จนเรียนรู้ไม่เพียงแต่รูปแบบของข้อมูล แต่ยังรวมถึง สัญญาณรบกวน (noise) ในข้อมูลฝึกด้วย

สาเหตุ (Cause):

  • มีจำนวนพารามิเตอร์หรือตัวแปรมากเกินไป
  • ฝึกโมเดลนานเกินไปโดยไม่มีการใช้เทคนิคควบคุมความซับซ้อน (regularization)

ลักษณะอาการ (Symptoms):

  • ค่าความคลาดเคลื่อน (error) ต่ำมากใน ข้อมูลฝึก (training data)
  • ค่าความคลาดเคลื่อนสูงใน ข้อมูลทดสอบ (test data) — แสดงถึงการทั่วไป (generalization) ที่ไม่ดี

The “Optimum” (Good Fit)

คำจำกัดความ (Definition): แบบจำลองที่มีความสมดุล ซึ่งสามารถจับรูปแบบพื้นฐานของข้อมูลได้ โดยไม่เรียนรู้สัญญาณรบกวน (noise) ที่เกิดขึ้นแบบสุ่ม

  • เป้าหมาย (Goal): ลดทั้ง bias และ variance ให้น้อยที่สุด

  • ลักษณะอาการ (Symptoms):

    • ค่าความคลาดเคลื่อน (error) ต่ำใน ข้อมูลฝึก (training data)
    • ค่าความคลาดเคลื่อนต่ำใน ข้อมูลทดสอบ (test data) แสดงถึงความสามารถในการทั่วไป (generalization) ที่ดี

Bias–Variance Tradeoff

ข้อสังเกตุ

โมเดลที่ง่ายเกินไป (Underfitting): มี Bias สูง, Variance ต่ำ → ประสิทธิภาพต่ำ

โมเดลที่ซับซ้อนเกินไป (Overfitting): มี Bias ต่ำ, Variance สูง → ทั่วไป (generalization) ได้ไม่ดี

โมเดลที่เหมาะสม (Just right): มีความสมดุลระหว่าง Bias และ Variance → ค่าความคลาดเคลื่อนในข้อมูลทดสอบต่ำที่สุด และสามารถทั่วไปกับข้อมูลใหม่ได้ดีที่สุด

แนวคิดเรื่อง Bias–Variance Tradeoff อธิบายว่าเหตุใดเราจึงต้องกังวลเกี่ยวกับ Underfitting และ Overfitting เทคนิคต่าง ๆ เช่น Train/Test Split และ K-Fold Cross-Validation เป็นวิธีเชิงปฏิบัติที่ช่วย ตรวจจับและควบคุม ปัญหาเหล่านี้ได้

Train/Test Split and K-Fold Cross-Validation

การแบ่งข้อมูลฝึกและทดสอบ (Train & Test Split)

  • วัตถุประสงค์ (Purpose): เพื่อประเมินว่าแบบจำลองสามารถทั่วไป (generalize) ไปยังข้อมูลที่ไม่เคยเห็นมาก่อนได้ดีเพียงใด

  • หลักการทำงาน (How it works):

    • แบ่งชุดข้อมูลออกเป็น 2 ส่วน ได้แก่

      • Training set → ใช้สำหรับฝึก (fit) แบบจำลอง
      • Test set → ใช้สำหรับทดสอบประสิทธิภาพของแบบจำลองกับข้อมูลที่ไม่เคยเห็น
  • ข้อดี (Benefit): เป็นวิธีที่ง่ายและรวดเร็วในการประมาณค่าความแม่นยำของแบบจำลอง แต่ผลลัพธ์อาจขึ้นอยู่กับการแบ่งข้อมูลว่า ข้อมูลใด อยู่ในชุดฝึกหรือชุดทดสอบ

การตรวจสอบแบบไขว้ K ส่วน (K-Fold Cross-Validation)

  • วัตถุประสงค์ (Purpose): เพื่อให้ได้ค่าประเมินประสิทธิภาพของแบบจำลองที่ มีความน่าเชื่อถือและคงที่มากขึ้น

  • หลักการทำงาน (How it works):

    • แบ่งชุดข้อมูลออกเป็น K ส่วนที่มีขนาดเท่ากัน (folds)
    • ฝึกแบบจำลองบนข้อมูล K–1 ส่วน และทดสอบบนส่วนที่เหลืออีก 1 ส่วน
    • ทำซ้ำกระบวนการนี้ K ครั้ง โดยแต่ละครั้งจะสลับให้แต่ละส่วนเป็น test set หนึ่งครั้ง
    • นำผลลัพธ์จากทั้ง K ครั้งมาหาค่าเฉลี่ย เพื่อได้คะแนนประสิทธิภาพสุดท้ายของแบบจำลอง
  • ข้อดี (Benefit):

    • ลดความเสี่ยงของ bias ที่เกิดจากการแบ่งข้อมูล train/test แบบเดียว
    • ใช้ประโยชน์จากข้อมูลทั้งหมดได้ดีกว่า เพราะแต่ละส่วนจะถูกใช้ทั้งสำหรับฝึกและทดสอบ

Cross-Validation in Orange Data Mining

References