Làm thế nào để biết mô hình đã bắt đầu quá mức?


12

Tôi hy vọng các đoạn trích sau đây sẽ cung cấp một cái nhìn sâu sắc về câu hỏi của tôi sẽ là gì. Đây là từ http://neuralnetworksanddeeplearning.com/chap3.html

Việc học dần dần chậm lại. Cuối cùng, vào khoảng epoch 280, độ chính xác phân loại khá nhiều ngừng cải thiện. Các kỷ nguyên sau chỉ đơn thuần nhìn thấy các dao động ngẫu nhiên nhỏ gần giá trị của độ chính xác ở epoch 280. Tương phản điều này với biểu đồ trước đó, trong đó chi phí liên quan đến dữ liệu đào tạo tiếp tục giảm một cách trơn tru. Nếu chúng ta chỉ nhìn vào chi phí đó, có vẻ như mô hình của chúng ta vẫn đang "tốt hơn". Nhưng kết quả kiểm tra độ chính xác cho thấy sự cải thiện là một ảo ảnh. Giống như mô hình mà Fermi không thích, những gì mạng của chúng tôi học được sau epoch 280 không còn khái quát hóa cho dữ liệu thử nghiệm. Và vì vậy nó không hữu ích cho việc học. Chúng tôi nói rằng mạng đang hoạt động quá mức hoặc quá mức vượt quá 280.

Chúng tôi đang đào tạo một mạng lưới thần kinh và chi phí (trên dữ liệu đào tạo) sẽ giảm xuống cho đến kỷ nguyên 400 nhưng độ chính xác phân loại đang trở nên tĩnh (chặn một vài biến động ngẫu nhiên) sau epoch 280 vì vậy chúng tôi kết luận rằng mô hình đang bị quá tải trên dữ liệu đào tạo sau kỷ nguyên 280.

Chúng ta có thể thấy rằng chi phí cho dữ liệu thử nghiệm được cải thiện cho đến khoảng 15, nhưng sau đó nó thực sự bắt đầu trở nên tồi tệ hơn, mặc dù chi phí cho dữ liệu đào tạo đang tiếp tục tốt hơn. Đây là một dấu hiệu khác cho thấy mô hình của chúng tôi đang quá mức. Tuy nhiên, nó đặt ra một câu đố, đó là liệu chúng ta nên coi epoch 15 hay epoch 280 là điểm mà tại đó việc vượt quá mức sẽ đến để thống trị việc học? Từ quan điểm thực tế, điều chúng tôi thực sự quan tâm là cải thiện độ chính xác phân loại trên dữ liệu thử nghiệm, trong khi chi phí cho dữ liệu thử nghiệm không hơn một proxy cho độ chính xác phân loại. Và do đó, có ý nghĩa nhất khi coi epoch 280 là điểm vượt quá mức chi phối đang chi phối việc học tập trong mạng lưới thần kinh của chúng ta.

Trái ngược với độ chính xác phân loại trên dữ liệu thử nghiệm so với chi phí đào tạo trước đây, chúng tôi hiện đang đặt chi phí cho dữ liệu thử nghiệm so với chi phí đào tạo.

Sau đó, cuốn sách tiếp tục giải thích tại sao 280 là kỷ nguyên đúng nơi bắt đầu quá mức. Đó là những gì tôi có một vấn đề với. Tôi không thể quấn đầu xung quanh cái này.

Chúng tôi đang yêu cầu mô hình giảm thiểu chi phí và do đó chi phí là số liệu mà nó sử dụng làm thước đo sức mạnh của chính nó để phân loại chính xác. Nếu chúng ta coi 280 là kỷ nguyên đúng khi bắt đầu quá mức, thì chúng ta không tạo ra một mô hình thiên vị mà là phân loại tốt hơn trên dữ liệu thử nghiệm cụ thể nhưng dù sao cũng đưa ra quyết định với độ tin cậy thấp và do đó dễ bị sai lệch từ kết quả hiển thị trên dữ liệu thử nghiệm?


Mô hình không nhận thức được bộ thử nghiệm . Nó đứng như một proxy cho dữ liệu không nhìn thấy. Do đó, nếu nó đến từ một phân phối đại diện, bạn có thể sử dụng nó để xác định khi xảy ra tình trạng quá mức. Nếu bạn muốn, bạn có thể tạo một bộ giữ khác và xem liệu giả định này có được giữ không.
Emre

Ý bạn là gì khi 'đưa ra quyết định với độ tin cậy thấp'?
Châu chấu

@Grasshopper cho chúng tôi biết mô hình đang cố gắng dự đoán một trong 4 lớp {A, B, C, D}. Nhãn dữ liệu thử nghiệm (theo thứ tự) là (A, B, C, D). Bây giờ, trong một trường hợp, mô hình đưa ra các xác suất như (tôi sẽ dán nhãn cho các dự đoán cùng) ((0,28, 0,24, 0,24, 0,24) (A), (0,24,0,28,0.24,0.24) (B), (0,24,0,24, 0,28,0,24) (C), (0,24,0,24,0,24,0,28) (D)) và trong một mô hình khác ném ((1,0,0,0) (A), (0,1,0,0) (B), (0,24,0,26,0,25,0,25) (B), (0,0,0,1) (D)). Ý tôi là do độ tin cậy thấp là ví dụ đầu tiên. xin lưu ý độ chính xác phân loại là 100% trong trường hợp đầu tiên và chi phí cao hơn
Nitin Siwach

@Grasshopper Tóm lại. Phiên bản đầu tiên của mô hình được tạo sau 280 epoch (tham khảo câu hỏi được hỏi) và phiên bản thứ hai của mô hình được tạo sau 15 epoch. Bây giờ cuốn sách tiếp tục đề xuất kỷ nguyên 280 là cuốn sách mà sự phù hợp quá mức đã bắt đầu. Tôi thấy khó nuốt nó. bất kỳ trợ giúp hoặc suy nghĩ mà bạn có thể cung cấp được đánh giá cao.
Nitin Siwach

Câu trả lời:


6

Giả sử chúng tôi muốn dự đoán liệu một sinh viên sẽ có một cuộc phỏng vấn việc làm dựa trên lý lịch của cô ấy.

Bây giờ, giả sử chúng tôi đào tạo một mô hình từ bộ dữ liệu gồm 10.000 hồ sơ và kết quả của chúng.

Tiếp theo, chúng tôi thử mô hình trên bộ dữ liệu ban đầu và dự đoán kết quả với độ chính xác 99%.

Nhưng bây giờ đến tin xấu.

Khi chúng tôi chạy mô hình trên một bộ dữ liệu sơ yếu lý lịch (mới unseenen), chúng tôi chỉ nhận được độ chính xác 50%.

Mô hình của chúng tôi không khái quát tốt từ dữ liệu đào tạo của chúng tôi đến dữ liệu chưa thấy.

Điều này được gọi là quá mức, và nó là một vấn đề phổ biến trong học máy và khoa học dữ liệu.

Quá mức V / s Underfising

Chúng ta có thể hiểu quá mức tốt hơn bằng cách nhìn vào vấn đề ngược lại, thiếu cân bằng.

Việc thiếu hiệu quả xảy ra khi một mô hình quá đơn giản - được thông báo bởi quá ít tính năng hoặc được chuẩn hóa quá nhiều - điều này khiến nó không linh hoạt trong việc học từ bộ dữ liệu.

Những người học đơn giản có xu hướng ít có sự khác biệt trong dự đoán của họ nhưng thiên vị hơn đối với kết quả sai (xem: Sự đánh đổi Bias-Variance).

Mặt khác, những người học phức tạp có xu hướng có nhiều phương sai trong dự đoán của họ.

Cả sai lệch và phương sai đều là các dạng lỗi dự đoán trong học máy.

Thông thường, chúng ta có thể giảm lỗi từ sai lệch nhưng có thể tăng lỗi từ phương sai do đó hoặc ngược lại.

Sự đánh đổi giữa quá đơn giản (độ lệch cao) so với quá phức tạp (phương sai cao) là một khái niệm chính trong thống kê và học máy, và một yếu tố ảnh hưởng đến tất cả các thuật toán học có giám sát.


2

Một điều mà tôi đã học được một cách khó khăn là vẽ các đường cong học tập, tôi biết, nó không thú vị bằng việc viết mã máy học mỗi lần, nhưng nó là cơ bản để hiểu trực quan những gì đang xảy ra.

Một nguyên tắc định nghĩa ngón tay cái là sự phù hợp quá mức xảy ra khi độ chính xác của tàu của bạn tiếp tục được cải thiện trong khi độ chính xác xác nhận của bạn ngừng cải thiện (hoặc thậm chí bắt đầu trở nên tồi tệ hơn).

Giải pháp đơn giản nhất để tránh phù hợp là dừng sớm (dừng đào tạo ngay khi mọi thứ có vẻ tồi tệ), tất nhiên là giải pháp đơn giản nhất phải trả giá: đó không phải là giải pháp tốt nhất. Chính quy hóa và bỏ học là những công cụ tốt để chống lại sự phù hợp, nhưng đó là một vấn đề khác :)

Hy vọng nó giúp


2

Như nguồn bạn đang trích dẫn nói rằng "chi phí trên dữ liệu thử nghiệm không nhiều hơn một proxy cho độ chính xác phân loại." Bạn có thể hỏi, tại sao chúng ta nên sử dụng proxy, tại sao không sử dụng trực tiếp độ chính xác? Câu trả lời là bạn cần giảm thiểu hàm chi phí liên quan đến trọng số và độ lệch. Do đó, nó phải là một chức năng khác biệt của các trọng số và thành kiến. Độ chính xác không phải là một chức năng khác biệt và do đó không thể được sử dụng trực tiếp. Nhưng vì cuối cùng bạn quan tâm đến độ chính xác, như bạn đã minh họa ở trên (... xin lưu ý rằng độ chính xác phân loại là 100% trong trường hợp đầu tiên và tuy nhiên chi phí cao hơn ...), bạn xác định vượt mức dựa trên độ chính xác trong bài kiểm tra bộ.


0

Để hiểu quá mức có nghĩa là gì và nó ảnh hưởng đến độ chính xác của mô hình như thế nào, bạn cần hiểu sự đánh đổi sai lệch.

Không phù hợp cũng như quá mức là hai vấn đề khác nhau có liên quan trực tiếp đến các vấn đề sai lệch. Điều luôn quan trọng là phải hiểu mối quan hệ giữa ba yếu tố khác nhau và cách các yếu tố này được kết nối với các vấn đề sai lệch (quá mức - không phù hợp):

1- kích thước của mô hình. Số lượng tham số

2- số lượng dữ liệu có sẵn cho đào tạo. Số lượng mẫu đào tạo.

3- số lần lặp. lặp đi lặp lại đào tạo.

Tạo một kết nối trực tiếp giữa bất kỳ yếu tố nào trong số những yếu tố này để vượt quá các vấn đề không phù hợp mà không nhìn vào các yếu tố khác sẽ luôn dẫn đến kết luận sai.

Do hiểu được các yếu tố này và liên kết chủ đề bằng cách sử dụng các phương trình toán học để tránh các vấn đề quá mức và không phù hợp là một nhiệm vụ khó khăn, hơn nữa nó phụ thuộc vào nhiệm vụ, mọi người sử dụng các phương pháp đơn giản để khám phá và tránh quá mức. Cách dễ dàng là chia dữ liệu thành ba phần khác nhau, đào tạo, xác nhận và kiểm tra. Kiểm tra không nên được chạm vào. Sử dụng tập huấn luyện để huấn luyện mạng và tập xác thực để kiểm tra mạng sau mỗi lần lặp hoặc một số lần lặp. Về mặt lý thuyết, bạn sẽ thấy rằng lỗi trên bộ xác nhận giảm dần cho các lần lặp N đầu tiên và sau đó sẽ ổn định trong rất ít lần lặp và sau đó bắt đầu tăng. Khi lỗi bắt đầu tăng, mạng của bạn bắt đầu quá tải dữ liệu đào tạo và quá trình đào tạo nên được dừng lại.

Lưu ý: giá trị N rất liên quan đến ba yếu tố tôi liệt kê ở trên. Luôn luôn là một thực hành tốt để có một bộ đào tạo demo và thử nghiệm với các mô hình, dữ liệu đào tạo khác nhau. Bạn sẽ thấy rằng mô hình càng lớn - dữ liệu huấn luyện càng ít thì N. càng nhỏ mô hình - dữ liệu đào tạo càng lớn thì N. Lưu ý: hãy cẩn thận khi sử dụng các mô hình nhỏ có vấn đề không phù hợp.


Bạn đã nói "Về mặt lý thuyết, bạn sẽ thấy rằng lỗi trên bộ xác thực giảm dần cho các lần lặp N đầu tiên và sau đó sẽ ổn định trong rất ít lần lặp và sau đó bắt đầu tăng lên." Bạn có ý gì bởi lỗi ở đây. Đó chính xác là vấn đề tôi đã nêu ra trong câu hỏi. Câu trả lời là 15 nếu tôi lấy chi phí làm thước đo lỗi và 280 nếu tôi lấy độ chính xác phân loại làm thước đo lỗi
Nitin Siwach

xin lưu ý sửa lỗi trong nhận xét trên: Câu trả lời khi bắt đầu quá mức là epoch 15 nếu tôi lấy chi phí làm thước đo lỗi và epoch 280 nếu tôi lấy độ chính xác phân loại làm thước đo lỗi
Nitin Siwach

Lỗi trên bộ xác thực
Bashar Haddad

và số đo của lỗi đó là? (100 - Phân loại chính xác) hoặc chi phí. Tôi hiểu lỗi trên bộ xác nhận có nghĩa là liên quan đến độ chính xác phân loại. Nhưng đó chính xác là những gì tôi đang hỏi. Tại sao không phải là chi phí? Vui lòng tham khảo các ý kiến ​​tôi đã đưa ra để trả lời Grasshopper về câu hỏi ban đầu
Nitin Siwach
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.