Cách nhận biết mô hình overfit

deep-learning

#1

Em train model có sử dụng validation và test set để kiểm tra model. Độ chính xác đối với tập validation khá cao nhưng với test set thì lại thấp. Liệu model có phải bị overfit không ạ? có cách nào để cải thiện điều này không ạ


#2

Nếu tập train và validation của bạn có cùng phân phối như tập test. Tức là các tập dữ liệu huấn luyện và kiểm tra đều tương tự như nhau. Thì trong trường hợp này có khả năng cao là bạn đã bị overfitting (cả trên tập validation luôn).

Trong trường hợp tập train, validation có phân phối khác với tập test. Ví dụ, bạn huấn luyện mô hình nhận diện khuôn mặt. Tập dữ liệu train và validation chỉ gồm các khuôn mặt nhìn thẳng. Trong khi đó, tập dữ liệu test lại gồm nhiều khuôn mặt quay sang bên. Trường hợp này, mô hình có chất lượng thấp trên tập test là điều dễ hiểu, và chưa thể khẳng định mô hình có bị overfitting hay không.

Cách giải quyết:

  • Với trường hợp 1, bạn có thể sử dụng các phương pháp giảm overfitting như dùng regularization (thường là l2), dropout, batch normalization, data augmentation, giảm kích thước mô hình…Cái này search google ra rất nhiều.
  • Với trường hợp 2, bắt buộc bạn phải xây dựng lại tập test sao cho nó tương tự tập train, validation.

#3

Em cám ơn ạ! Em tách data ra bộ train và test sau đó thì trích chọn đặc trưng cho cả hai bộ để training và predict. Nên em nghĩ sẽ thử các phương pháp giảm overfitting