JuniorKỹ thuậtHọc máy
Overfitting là gì và làm sao ngăn ngừa nó?
Thử trả lời trước
Đáp án mẫu
Overfitting xảy ra khi mô hình học cả nhiễu và những chi tiết riêng của dữ liệu huấn luyện thay vì quy luật chung. Nó đạt điểm rất cao trên dữ liệu huấn luyện nhưng kém trên dữ liệu mới. Đó là phía phương sai cao trong đánh đổi bias-variance. Underfitting thì ngược lại: mô hình quá đơn giản để nắm bắt quy luật.
Cách phát hiện. So sánh điểm trên tập huấn luyện và tập validation. Khoảng cách lớn và ngày càng tăng là dấu hiệu. Learning curve giúp nhìn thấy rõ điều này.
Cách ngăn ngừa.
- Thu thập thêm dữ liệu, hoặc dữ liệu đa dạng hơn, hoặc dùng data augmentation.
- Dùng mô hình đơn giản hơn, ít đặc trưng hơn hoặc chọn lọc đặc trưng.
- Áp dụng regularization (L1, L2, dropout, weight decay).
- Dùng early stopping khi validation loss ngừng cải thiện.
- Dùng cross-validation để ước lượng đáng tin cậy và giữ một tập test riêng không đụng tới.
Đừng bao giờ tinh chỉnh dựa trên tập test, nếu không bạn cũng overfit vào nó.
Ý chính
- Overfitting: rất tốt trên dữ liệu huấn luyện, kém trên dữ liệu chưa thấy
- Phát hiện qua khoảng cách train/validation và learning curve
- Thêm dữ liệu, mô hình đơn giản hơn và regularization giúp giảm nó
- Early stopping và cross-validation hữu ích; giữ nguyên tập test
Câu hỏi nối tiếp thường gặp
- Regularization L1 và L2 khác nhau thế nào?
- Data leakage là gì và vì sao nó tạo ảo giác hiệu năng tốt?
Lỗi thường gặp
- Tinh chỉnh siêu tham số trên tập test
- Chỉ báo cáo độ chính xác trên tập huấn luyện