OverFitting là gì

OverFitting nghĩa tiếng việt là “sát quá”. Nghĩa trong Machine Learning (ML) có thể hiểu là “quá khớp”. Để hiểu sâu hơn chúng ta cùng đi vào phân tích sau nhé:

  • Cho 2 tập dữ liệu dưới đây:

Hình 1 – Tập training set

Hình 2 – Tập testing set

Bạm bắt đầu xây dựng cho 1 mô hình để gán màu cho tập testing set. Thông thường, với các phương pháp máy học, mô hình (model)  sẽ được xây dựng dựa trên sự sai số khi dự đoán trên tập train. Mô hình sẽ được cập nhật với tiêu chí sao cho độ lỗi khi dự đoán càng ngày càng nhỏ dần, điều này đồng nghĩa với mô hình dự đoán càng ngày càng chính xác. Giả sử, sau 1 ngày học (gọi là mô hình 1), máy tính đưa ra đường phân chia cho tập training set như sau:

Nhìn hình bạn sẽ thấy, mô hình vẫn chưa dự đoán đúng được hết. Vẫn còn một số điểm chưa được phân loại sai. Vậy nên, bạn quyết định cho máy học thêm 1 ngày nữa (gọi là mô hình 2). Và kết quả thật bất ngờ, bạn có 1 đường phân chia chính xác tuyệt đối.

Ok, đến đây bạn cảm thấy ngon ăn rồi. Vì độ lỗi của mô hình máy học bây giờ chỉ là 0% trên tập training set. Nhưng bạn đừng mừng vội, bạn bắt đầu lấy mô hình 2 này test trên tập testing set. Ôi thôi, độ chính xác chỉ đạt khoảng 30%. Tức tốc, bạn lấy mô hình 1 ra test trên tập testing set thì kết quả gán màu chính xác 100%.

Tại sao lại như vậy, chỉ cần nhìn nhận lại các hình ảnh sau bạn sẽ hiểu rõ điều gì đã xảy ra:

Hình 5 – Mô hình 1 đạt kết quả chính xác 100% trên tập Testing set

Hình 6 – Mô hình 2 chỉ đạt kết quả chính xác khoảng 30% trên tập testing set.

Đến đây, bạn có thể hiểu được OverFitting rồi phải không nào!?

Tóm lại: OverFitting là hiện tượng mô hình dự đoán quá khớp trên tập Training set dẫn đến kết quả không hiệu quả cao đối với tập Testing set.

(Bài viết có tham khảo nguồn từ: cuonglv1109.blogspot.com)