Lặp lại mà không overfit

Thiết kế quy trình Machine Learning bằng Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Sơ đồ cho thấy pipeline ML có thể tiếp tục tinh chỉnh sau khi đưa vào sản xuất.

Thiết kế quy trình Machine Learning bằng Python

Trong cùng sơ đồ này, cho thấy có thể trích xuất thêm dữ liệu từ sản xuất để hỗ trợ tinh chỉnh mô hình.

Thiết kế quy trình Machine Learning bằng Python

Trong cùng sơ đồ này, chuyên gia miền cung cấp insight mới có thể thay đổi mô hình, như hàm mất mát mới.

Thiết kế quy trình Machine Learning bằng Python

Trong cùng sơ đồ, mô hình đã đưa vào sản xuất là "champion", mô hình đang phát triển là "challenger".

Thiết kế quy trình Machine Learning bằng Python

Kết quả cross-validation

grid_search = GridSearchCV(pipe, params, cv=3, return_train_score=True)
gs = grid_search.fit(X_train, y_train)
results = pd.DataFrame(gs.cv_results_)
results[['mean_train_score', 'std_train_score', 
   'mean_test_score', 'std_test_score']]
   mean_train_score  std_train_score  mean_test_score  std_test_score
0             0.829            0.006            0.735           0.009
1             0.829            0.006            0.725           0.009
2             0.961            0.008            0.716           0.019
3             0.981            0.005            0.749           0.024
...
Thiết kế quy trình Machine Learning bằng Python

Kết quả cross-validation

   mean_train_score  std_train_score  mean_test_score  std_test_score
0             0.829            0.006            0.735           0.009
1             0.829            0.006            0.725           0.009
2             0.961            0.008            0.716           0.019
3             0.981            0.005            0.749           0.024
4             0.986            0.003            0.728           0.009
5             0.995            0.002            0.751           0.008

Nhận xét:

  • Điểm train cao hơn nhiều so với điểm test.
  • Độ lệch chuẩn của điểm test lớn.
Thiết kế quy trình Machine Learning bằng Python

Một tập dữ liệu tách thành train và test, với train tiếp tục chia nhỏ bằng cross-validation.

Thiết kế quy trình Machine Learning bằng Python

Một tập dữ liệu tách thành train và validation, với train tiếp tục chia nhỏ bằng cross-validation.

Thiết kế quy trình Machine Learning bằng Python

Phát hiện overfit

  • Điểm CV train >> điểm CV test
    • overfit ở giai đoạn huấn luyện mô hình
    • giảm độ phức tạp bộ phân loại
    • lấy thêm dữ liệu train
    • tăng số lần CV
  • Điểm CV test >> điểm validation
    • overfit ở giai đoạn tinh chỉnh mô hình
    • giảm số lần CV
    • thu hẹp lưới tham số

Một tập dữ liệu tách thành train và validation, với train tiếp tục chia nhỏ bằng cross-validation.

Thiết kế quy trình Machine Learning bằng Python

Một tập dữ liệu tách thành train và validation, với train tiếp tục chia nhỏ bằng cross-validation.

Thiết kế quy trình Machine Learning bằng Python

Một tập dữ liệu tách thành train, validation và dữ liệu sản xuất, với train tiếp tục chia nhỏ bằng cross-validation.

Thiết kế quy trình Machine Learning bằng Python

"Chuyên gia CV" ngay trong CV của bạn!

Thiết kế quy trình Machine Learning bằng Python

Preparing Video For Download...