Dừng sớm về mất xác nhận hoặc về độ chính xác?


9

Tôi hiện đang đào tạo một mạng lưới thần kinh và tôi không thể quyết định sử dụng để thực hiện các tiêu chí Dừng sớm của mình: mất xác thực hoặc số liệu như độ chính xác / F1score / auc / bất cứ điều gì được tính trên bộ xác thực.

Trong nghiên cứu của tôi, tôi đã phát hiện ra các bài báo bảo vệ cả hai quan điểm. Keras dường như mặc định mất xác nhận nhưng tôi cũng đã bắt gặp những câu trả lời thuyết phục cho cách tiếp cận ngược lại (ví dụ ở đây ).

Bất cứ ai cũng có hướng dẫn khi nào nên sử dụng tốt nhất là mất xác nhận và khi nào nên sử dụng một số liệu cụ thể?

Câu trả lời:


5

TLDR; Theo dõi tổn thất thay vì độ chính xác

Tôi sẽ trả lời câu hỏi của riêng tôi vì tôi nghĩ rằng các câu trả lời nhận được đã bỏ lỡ vấn đề và ai đó có thể có cùng một vấn đề vào một ngày nào đó.

Trước tiên, hãy để tôi nhanh chóng làm rõ rằng việc sử dụng dừng sớm là hoàn toàn bình thường khi đào tạo mạng lưới thần kinh (xem các phần có liên quan trong cuốn sách Deep Learning của Goodfellow et al, hầu hết các tài liệu DL và tài liệu cho cuộc gọi lại EarlyStopping của máy ảnh).

Bây giờ, liên quan đến số lượng cần theo dõi: thích sự mất mát cho độ chính xác. Tại sao? Mất mát định lượng mức độ chắc chắn của mô hình về một dự đoán (về cơ bản có giá trị gần bằng 1 trong lớp bên phải và gần bằng 0 trong các lớp khác). Độ chính xác chỉ chiếm số lượng dự đoán chính xác. Tương tự, bất kỳ số liệu nào sử dụng dự đoán cứng thay vì xác suất đều có cùng một vấn đề.

Rõ ràng, bất kỳ số liệu nào bạn kết thúc chọn, nó phải được tính trên bộ xác thực và không phải là tập huấn luyện (nếu không, bạn hoàn toàn thiếu quan điểm sử dụng EarlyStopping ở vị trí đầu tiên)


Nếu các giá trị nằm trong khoảng từ 0 đến 1, cross_entropymất mát là một ứng cử viên thích hợp hơn so với MSEhoặc MAE. Kiểm tra phần Kết thúc của bài viết nàybài đăng này về số liệu thống kê .
Esmailian

@Esmailian nó không phải là vấn đề ưu tiên; đối với các vấn đề phân loại , MSE & MAE đơn giản là không phù hợp.
Sahnaut

4

Theo tôi, đây là chủ quan và vấn đề cụ thể. Bạn nên sử dụng bất cứ yếu tố nào là yếu tố quan trọng nhất trong tâm trí của bạn làm chỉ số lái xe, vì điều này có thể đưa ra quyết định của bạn về cách thay đổi mô hình tập trung tốt hơn.

L1

Ví dụ: nếu bạn sẽ báo cáo điểm F1 trong báo cáo / cho sếp của bạn, v.v. (và giả sử đó là điều họ thực sự quan tâm), thì sử dụng số liệu đó có thể có ý nghĩa nhất. F1-score, ví dụ, có độ chính xácthu hồi vào tài khoản tức là nó mô tả mối quan hệ giữa hai nhiều hạt mịn số liệu.

Kết hợp những thứ đó lại với nhau, điểm số tính toán khác với tổn thất thông thường có thể tốt cho tổng quan và để xem số liệu cuối cùng của bạn được tối ưu hóa như thế nào trong quá trình lặp lại đào tạo. Mối quan hệ đó có lẽ có thể cho bạn cái nhìn sâu sắc hơn về vấn đề này,

Tuy nhiên, tốt nhất là nên thử một số tùy chọn, tuy nhiên, vì tối ưu hóa cho việc mất xác nhận có thể cho phép đào tạo để chạy lâu hơn, cuối cùng cũng có thể tạo ra điểm F1 vượt trội . Độ chính xác và thu hồi có thể lắc lư xung quanh một số cực tiểu địa phương, tạo ra điểm F1 gần như tĩnh - vì vậy bạn sẽ ngừng đào tạo. Nếu bạn đã tối ưu hóa cho tổn thất thuần túy, bạn có thể đã ghi lại đủ biến động của tổn thất để cho phép bạn luyện tập lâu hơn.


Tại sao sử dụng mất xác nhận cho phép đào tạo lâu hơn sử dụng số liệu? Ngoài ra, bạn có thể giải thích về sự khác biệt giữa hai tùy chọn? Bạn có thấy trường hợp sử dụng số liệu thay vì mất mát không phải là một ý tưởng tồi?
qmeeus

@ id-2205 - vui lòng xem câu trả lời đã được chỉnh sửa của tôi.
n1k31t4

điểm thú vị! Tôi hiện đang sử dụng độ chính xác để dừng sớm nhưng tôi sẽ cố gắng sử dụng mất xác nhận. Tôi không mong đợi bất kỳ thay đổi trong quá trình đào tạo mặc dù! Cảm ơn câu trả lời của bạn
qmeeus

1

Tôi hiện đang đào tạo một mạng lưới thần kinh và tôi không thể quyết định sử dụng để thực hiện các tiêu chí Dừng sớm của mình: mất xác thực hoặc số liệu như độ chính xác / F1score / auc / bất cứ điều gì được tính trên bộ xác thực.

Nếu bạn đang đào tạo một mạng lưới sâu, tôi khuyên bạn không nên sử dụng dừng sớm. Trong học tập sâu, nó không phải là rất thông thường. Thay vào đó, bạn có thể sử dụng các kỹ thuật khác như bỏ học để khái quát tốt. Nếu bạn nhấn mạnh vào điều đó, việc lựa chọn tiêu chí phụ thuộc vào nhiệm vụ của bạn. Nếu bạn có dữ liệu không cân bằng, bạn phải sử dụng F1điểm số và đánh giá nó trên dữ liệu xác thực chéo của bạn. Nếu bạn có dữ liệu cân bằng, hãy thử sử dụng độ chính xác trên dữ liệu xác thực chéo của bạn. Các kỹ thuật khác phụ thuộc rất nhiều vào nhiệm vụ của bạn.

Tôi rất khuyến khích bạn tìm một mô hình phù hợp với dữ liệu của bạn và sử dụng bỏ học sau đó. Đây là điều thông thường nhất mà mọi người sử dụng cho các mô hình sâu.


2
Tôi đang sử dụng bỏ học là tốt. Tuy nhiên, tôi không thể tìm thấy lý do tại sao không nên sử dụng dừng sớm ...
qmeeus

Dừng sớm cố gắng giải quyết cả vấn đề học tập và khái quát hóa. Mặt khác bỏ học chỉ cố gắng khắc phục vấn đề khái quát hóa.
Truyền thông

1
Bạn không trả lời câu hỏi của tôi ... Tôi không phủ nhận thực tế rằng việc bỏ học là hữu ích và nên được sử dụng để bảo vệ chống lại tình trạng thừa, tôi không thể đồng ý nhiều hơn về điều đó. Câu hỏi của tôi là: tại sao bạn nói rằng không nên sử dụng dừng sớm với ANN? (cf câu đầu tiên của bạn: Nếu bạn đang đào tạo một mạng lưới sâu rộng, tôi khuyên bạn không nên sử dụng điểm dừng sớm.)
qmeeus

Bạn đã đọc bình luận cuối cùng của tôi? Nó chính xác trả lời câu hỏi của bạn. Đó là một câu nói nổi tiếng từ pr. Ng trong lớp học sâu, khóa hai. Trường hợp thứ hai là một nhiệm vụ dễ dàng hơn do không phải vật lộn để giải quyết nhiều nhiệm vụ một cách đồng thời.
Truyền thông

3
Và để tìm ra nó và tìm đúng bộ siêu đường kính, tôi đang sử dụng một số loại tìm kiếm lưới có hướng với điểm dừng sớm vì những lý do tôi đã giải thích ở trên. Điểm lấy mặc dù và một khi tôi đã chọn mô hình cuối cùng và tôi sẽ đào tạo nó, tôi sẽ không sử dụng điểm dừng sớm. Cảm ơn bạn về cuộc thảo luận thú vị này và cho bạn lời khuyên
qmeeus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.