1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Machine Learning cho Tài chính bằng Python

Connected

Bài tập

Chống overfitting với dropout

Một vấn đề phổ biến với neural network là chúng dễ bị overfit vào dữ liệu huấn luyện. Nghĩa là điểm số như R\(^2\) hoặc accuracy cao trên tập huấn luyện nhưng thấp trên các tập kiểm tra và xác thực, và mô hình đang khớp với nhiễu trong dữ liệu huấn luyện.

Bạn có thể hạn chế overfitting bằng cách dùng dropout. Cách này sẽ ngẫu nhiên loại bỏ một số neuron trong giai đoạn huấn luyện, giúp mạng tránh khớp theo nhiễu của dữ liệu huấn luyện. keras có một tầng Dropout để bạn làm điều này. Bạn cần đặt tỷ lệ dropout, tức là phần trăm kết nối bị loại trong thời gian huấn luyện. Tham số này được đặt dưới dạng số thập phân từ 0 đến 1 trong tầng Dropout().

Trong bài này, chúng ta sẽ quay lại dùng hàm mất mát mean squared error.

Hướng dẫn

100 XP
  • Thêm một tầng dropout (Dropout()) sau Dense đầu tiên trong mô hình, và dùng tỷ lệ dropout 20% (0.2).
  • Dùng trình tối ưu adam và hàm mất mát mse khi biên dịch mô hình với .compile().
  • Huấn luyện mô hình với scaled_train_features và train_targets trong 25 epoch.