Làm thế nào để đánh giá xem một mô hình học máy có giám sát có quá mức hay không?


27

Bất cứ ai có thể cho tôi biết làm thế nào để đánh giá nếu một mô hình học máy được giám sát là quá mức hay không? Nếu tôi không có bộ dữ liệu xác nhận bên ngoài, tôi muốn biết liệu tôi có thể sử dụng ROC gồm 10 lần xác thực chéo để giải thích quá mức không. Nếu tôi có một bộ dữ liệu xác nhận bên ngoài, tôi nên làm gì tiếp theo?

Câu trả lời:


29

Tóm lại: bằng cách xác nhận mô hình của bạn. Lý do chính của xác nhận là để khẳng định không xảy ra tình trạng vượt mức và ước tính hiệu suất mô hình tổng quát.

Quá sức

Đầu tiên chúng ta hãy nhìn vào những gì quá mức thực sự là. Các mô hình thường được đào tạo để phù hợp với tập dữ liệu bằng cách giảm thiểu một số chức năng mất trên tập huấn luyện. Tuy nhiên, có một giới hạn trong đó giảm thiểu lỗi đào tạo này sẽ không còn có lợi cho hiệu suất thực của các mô hình, mà chỉ giảm thiểu lỗi trên tập dữ liệu cụ thể. Điều này về cơ bản có nghĩa là mô hình đã được gắn quá chặt vào các điểm dữ liệu cụ thể trong tập huấn luyện, cố gắng mô hình hóa các mẫu trong dữ liệu có nguồn gốc từ nhiễu. Khái niệm này được gọi là overfit . Một ví dụ về overfit được hiển thị bên dưới nơi bạn thấy tập huấn có màu đen và tập lớn hơn từ dân số thực tế trong nền. Trong hình này, bạn có thể thấy rằng mô hình màu xanh được gắn quá chặt vào tập huấn luyện, mô hình hóa tiếng ồn bên dưới. nhập mô tả hình ảnh ở đây

Để đánh giá xem một mô hình có bị quá mức hay không, chúng ta cần ước tính lỗi tổng quát (hoặc hiệu suất) mà mô hình sẽ có trên dữ liệu trong tương lai và so sánh nó với hiệu suất của chúng tôi trên tập huấn luyện. Ước tính lỗi này có thể được thực hiện theo nhiều cách khác nhau.

Chia dữ liệu

Cách tiếp cận đơn giản nhất để ước tính hiệu suất tổng quát là phân vùng tập dữ liệu thành ba phần, tập huấn luyện, tập xác thực và tập kiểm thử. Tập huấn luyện được sử dụng để huấn luyện mô hình phù hợp với dữ liệu, tập xác thực được sử dụng để đo lường sự khác biệt về hiệu suất giữa các mô hình để chọn ra mô hình tốt nhất và tập kiểm tra để khẳng định rằng quá trình chọn mô hình không phù hợp với lần đầu tiên hai bộ.

Để ước tính số lượng vượt mức, chỉ cần đánh giá số liệu quan tâm của bạn trên tập kiểm tra là bước cuối cùng và so sánh với hiệu suất của bạn trên tập huấn luyện. Bạn đề cập đến ROC nhưng theo tôi, bạn cũng nên xem xét các số liệu khác, chẳng hạn như điểm số brier hoặc biểu đồ hiệu chuẩn để đảm bảo hiệu suất mô hình. Điều này là tất nhiên tùy thuộc vào vấn đề của bạn. Có rất nhiều số liệu nhưng điều này bên cạnh điểm ở đây.

Phương pháp này rất phổ biến và được tôn trọng nhưng nó đặt ra yêu cầu lớn về tính sẵn có của dữ liệu. Nếu tập dữ liệu của bạn quá nhỏ, rất có thể bạn sẽ mất rất nhiều hiệu suất và kết quả của bạn sẽ bị sai lệch khi chia.

Xác nhận chéo

Một cách để tránh lãng phí một phần lớn dữ liệu để xác nhận và kiểm tra là sử dụng xác thực chéo (CV) để ước tính hiệu suất tổng quát bằng cách sử dụng cùng một dữ liệu được sử dụng để huấn luyện mô hình. Ý tưởng đằng sau việc xác thực chéo là chia dữ liệu thành một số tập hợp con nhất định, sau đó sử dụng lần lượt từng tập hợp con này như một bộ kiểm tra trong khi sử dụng phần còn lại của dữ liệu để huấn luyện mô hình. Tính trung bình số liệu trên tất cả các nếp gấp sẽ cho bạn ước tính hiệu suất của mô hình. Mô hình cuối cùng sau đó thường được đào tạo bằng cách sử dụng tất cả dữ liệu.

Tuy nhiên, ước tính CV không thiên vị. Nhưng bạn càng sử dụng nhiều nếp gấp thì độ lệch càng nhỏ nhưng thay vào đó bạn sẽ có phương sai lớn hơn.

Như trong phần tách dữ liệu, chúng tôi có ước tính về hiệu suất của mô hình và để ước tính mức độ phù hợp, bạn chỉ cần so sánh các số liệu từ CV của mình với các số liệu thu được từ việc đánh giá các số liệu trên tập huấn luyện của bạn.

Bootstrap

Ý tưởng đằng sau bootstrap tương tự CV nhưng thay vì chia tập dữ liệu thành các phần, chúng tôi giới thiệu tính ngẫu nhiên trong đào tạo bằng cách vẽ các tập huấn luyện từ toàn bộ tập dữ liệu liên tục với thay thế và thực hiện toàn bộ giai đoạn đào tạo trên mỗi mẫu bootstrap này.

Hình thức xác thực bootstrap đơn giản nhất chỉ đơn giản là đánh giá các số liệu trên các mẫu không tìm thấy trong tập huấn luyện (tức là các mẫu còn lại) và trung bình trên tất cả các lần lặp lại.

Phương pháp này sẽ cung cấp cho bạn ước tính về hiệu suất mô hình mà trong hầu hết các trường hợp ít sai lệch so với CV. Một lần nữa, so sánh nó với hiệu suất tập luyện của bạn và bạn có được sự phù hợp.

Có nhiều cách để cải thiện xác nhận bootstrap. Phương pháp .632+ được biết là đưa ra các ước tính tốt hơn, mạnh mẽ hơn về hiệu suất mô hình tổng quát, có tính đến sự phù hợp. (Nếu bạn quan tâm bài viết gốc là một bài đọc tốt: Những cải tiến về Xác thực chéo: Phương pháp Bootstrap 632+ )

Tôi mong bạn trả lời câu hỏi này. Nếu bạn quan tâm đến xác nhận mô hình, tôi khuyên bạn nên đọc phần xác thực trong cuốn sách Các yếu tố của học thống kê: khai thác dữ liệu, suy luận và dự đoán có sẵn miễn phí trên mạng.


2
Lưu ý rằng thuật ngữ của bạn về xác nhận so với kiểm tra không được tuân theo trong tất cả các lĩnh vực. Ví dụ, xác nhận trong lĩnh vực của tôi (hóa học phân tích) là một quy trình cần chứng minh rằng mô hình hoạt động tốt (và đo lường mức độ hoạt động của nó). Nó được thực hiện với mô hình cuối cùng , không có thay đổi nào được cho phép sau đó (hoặc, nếu bạn làm như vậy, bạn cần xác thực lại với dữ liệu độc lập). Vì vậy, tôi gọi bộ xác thực của bạn là "bộ thử nghiệm bên trong" hoặc "bộ thử nghiệm tối ưu hóa". Dữ liệu kiểm tra "bên ngoài" không ngăn chặn quá mức, nhưng nó có thể được sử dụng để đo lường mức độ quá mức.
cbeleites hỗ trợ Monica

Ok, tôi không có kinh nghiệm trong lĩnh vực của bạn. Cảm ơn bạn đã làm rõ. Nó có thể là giống nhau trong các lĩnh vực khác là tốt. Tôi chỉ đơn giản là sử dụng thuật ngữ được sử dụng trong cuốn sách mà tôi liên kết đến cuối cùng. Tôi hy vọng nó không quá khó hiểu.
trong khi

7

Đây là cách bạn có thể ước tính mức độ quá mức:

  • Nhận một ước tính lỗi nội bộ. Hoặc là resubstitutio (= dự đoán dữ liệu đào tạo) hoặc nếu bạn thực hiện "xác thực" chéo bên trong để tối ưu hóa siêu âm, thì biện pháp đó cũng sẽ được quan tâm.
  • Nhận một ước tính lỗi thiết lập thử nghiệm độc lập. Thông thường, việc lấy mẫu lại (xác thực chéo đã lặp lại hoặc không có bootstrap * được khuyến nghị. Nhưng bạn cần cẩn thận rằng không có rò rỉ dữ liệu nào xảy ra. Tức là vòng lặp lấy mẫu lại phải tính toán lại tất cả các bước có tính toán kéo dài hơn một trường hợp. các bước xử lý như định tâm, chia tỷ lệ, v.v. Ngoài ra, hãy đảm bảo bạn phân chia ở mức cao nhất nếu bạn có cấu trúc dữ liệu "phân cấp" (còn được gọi là "phân cụm), chẳng hạn như các phép đo lặp lại của cùng một bệnh nhân (=> lấy mẫu lại bệnh nhân ).
  • Sau đó so sánh ước tính lỗi "bên trong" trông tốt hơn bao nhiêu so với ước tính độc lập.

Dưới đây là một ví dụ:
quá mức
Trefferrate = tỷ lệ trúng (% được phân loại chính xác), Variablenzahl = số lượng biến (= độ phức tạp của mô hình)
Biểu tượng :. thiết lập lại, + ước tính bỏ qua nội bộ của trình tối ưu hóa siêu tham số, o xác nhận chéo bên ngoài độc lập ở cấp độ bệnh nhân

Điều này hoạt động với ROC hoặc các biện pháp hiệu suất như điểm số, độ nhạy, độ đặc hiệu, ...

* Tôi không đề xuất .632 hoặc .632+ bootstrap ở đây: họ đã trộn lẫn trong lỗi tái lập lại: bạn có thể tính toán chúng sau này từ các dự toán sắp xếp lại và khởi động lại của bạn.


0

Việc quá mức chỉ đơn giản là hệ quả trực tiếp của việc xem xét các tham số thống kê, và do đó, kết quả thu được, là một thông tin hữu ích mà không kiểm tra rằng chúng không được lấy theo cách ngẫu nhiên. Do đó, để ước tính sự hiện diện của quá mức, chúng ta phải sử dụng thuật toán trên cơ sở dữ liệu tương đương với cơ sở dữ liệu thực nhưng với các giá trị được tạo ngẫu nhiên, lặp lại thao tác này nhiều lần chúng ta có thể ước tính xác suất đạt được kết quả bằng hoặc tốt hơn một cách ngẫu nhiên . Nếu xác suất này cao, rất có thể chúng ta đang ở trong tình huống thừa. Ví dụ: xác suất để đa thức bậc bốn có tương quan 1 với 5 điểm ngẫu nhiên trên một mặt phẳng là 100%, vì vậy mối tương quan này là vô ích và chúng ta đang ở trong tình huống thừa.

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.