Tại sao ước tính CV của Lỗi kiểm tra đánh giá thấp Lỗi kiểm tra thực tế?


10

Theo hiểu biết của tôi, ước tính xác thực chéo của k-test về lỗi kiểm tra thường đánh giá thấp lỗi kiểm tra thực tế. Tôi bối rối tại sao lại như vậy. Tôi thấy lý do tại sao lỗi đào tạo thường thấp hơn lỗi kiểm tra - bởi vì bạn đang đào tạo mô hình trên cùng một dữ liệu mà bạn đang ước tính lỗi trên! Nhưng đó không phải là trường hợp để xác thực chéo - lần mà bạn đo lường lỗi được đặc biệt bỏ qua trong quá trình đào tạo.

Ngoài ra, có đúng không khi nói rằng ước tính xác thực chéo của lỗi kiểm tra bị sai lệch xuống?


1
Bạn thấy điều này được nêu ở đâu? Bạn có thể cho một số tài liệu tham khảo?
horaceT

1
(+1) Tôi đã thấy tuyên bố tương tự và tôi tin đó là chính xác nhưng tôi cũng không hiểu logic
KevinKim

Câu trả lời:


9

Để đưa ra một ví dụ: chỉ báo cáo lỗi CV của một mô hình có vấn đề trong trường hợp ban đầu bạn có nhiều mô hình (mỗi mô hình có một lỗi CV và phương sai lỗi nhất định), sau đó sử dụng lỗi này để chọn mô hình phù hợp nhất cho ứng dụng của bạn. Điều này là có vấn đề bởi vì với mỗi mô hình, bạn vẫn có một cơ hội nhất định rằng bạn may mắn / không may mắn (và có được kết quả tốt hơn / xấu hơn) - và bằng cách chọn một mô hình, bạn có thể cũng chọn một mô hình mà bạn may mắn hơn. Do đó, báo cáo lỗi này là ước tính lỗi cuối cùng có xu hướng lạc quan quá mức.

Nếu bạn muốn tìm hiểu sâu hơn về chi tiết: câu trả lời này liên kết đến một số tài liệu dễ đọc về vấn đề này: Lạm dụng xác thực chéo (hiệu suất báo cáo cho giá trị siêu tham số tốt nhất)

Như @cbeleites chỉ ra: đây là vấn đề trong trường hợp người ta sử dụng lỗi CV gấp đôi để lấy ví dụ a) đã chọn một mô hình tốt nhất trong số nhiều mô hình từ việc sử dụng các siêu âm khác nhau, là một phần của quá trình đào tạo và b) sau đó báo cáo lỗi tương tự như lỗi kiểm tra thay vì sử dụng một bộ kiểm tra riêng, giữ lại. Thay vào đó, nếu bạn định tự hỏi về lỗi CV thuần túy - mà không sử dụng nó để chọn bất kỳ mô hình nào - câu trả lời của @cbeleites có nhiều khả năng là những gì bạn đang tìm kiếm.


Một lần nữa, vấn đề ở đây là báo cáo lỗi đào tạo (đào tạo như trong: ước tính này được sử dụng trong quá trình lấy một mô hình cuối cùng) cho lỗi tổng quát hóa - bất kể lỗi này được tính thông qua xác thực chéo, giữ hay bất cứ điều gì phương pháp ước tính lỗi khác.
cbeleites không hài lòng với SX

1
@cbeleites Một lần nữa, điểm đúng - Tôi thường cho rằng kết quả CV sẽ bằng cách nào đó được sử dụng để lựa chọn mô hình (mà đối với một số người là lý do sử dụng CV ở vị trí đầu tiên) - do đó chỉ ra điều này. Tôi đã cập nhật câu trả lời của mình cho phù hợp.
geekoverdose

9

Không, nếu được thực hiện đúng cách, xác thực chéo có xu hướng đánh giá quá cao lỗi tổng quát hóa, nghĩa là nó có xu hướng bi quan (thường là nhẹ). Đó là, nó đưa ra một ước tính không thiên vị về lỗi tổng quát hóa cho mô hình thay thế được đề cập. Nhưng khi sai số của mô hình giảm khi tăng kích thước mẫu đào tạo (còn gọi là đường cong học tập), thì mô hình thay thế trung bình có lỗi tổng quát hóa đúng (hơi) cao hơn so với mô hình được đào tạo trên toàn bộ tập dữ liệu - đó là mô hình có lỗi gần đúng bằng cách xác nhận chéo.k

Thực hiện đúng một cách đại khái có nghĩa là việc phân tách thành các bộ kiểm tra và huấn luyện trong xác thực chéo thực sự dẫn đến các trường hợp thử nghiệm thực sự độc lập với mô hình.

Tuy nhiên, có một số cạm bẫy làm tổn hại đến sự độc lập này . Tùy thuộc vào mức độ nghiêm trọng của dữ liệu kiểm tra và mức độ phù hợp của mô hình, sự thiếu độc lập này có nghĩa là lỗi xác thực chéo trở thành lỗi thực tế. Tức là, tất cả trong tất cả, bạn có thể kết thúc với một thiên vị lạc quan nghiêm trọng (đánh giá thấp lỗi tổng quát hóa thực tế).
IMHO điều quan trọng là phải hiểu rằng hầu hết những cạm bẫy này không phải là duy nhất để xác nhận chéo mà được đặc trưng tốt hơn là phân tách sai thành tập hợp và kiểm tra : chúng có thể (và làm) xảy ra tương tự với các sơ đồ xác nhận khác như giữ hoặc độc lập bộ kiểm tra trong thực tế không độc lập như người ta cho rằng.

Dưới đây là ví dụ về những lỗi phổ biến nhất trong việc chia tách tôi thấy:

  • Câu trả lời của @ geekoverdose đưa ra một ví dụ về việc sử dụng ước tính lỗi đào tạo nội bộ (!) một cách trắng trợn làm lỗi kiểm tra.
    Tổng quát hơn, bất kỳ loại ước tính lỗi nào được sử dụng để tối ưu hóa mô hình dựa trên dữ liệu đều là lỗi đào tạo vì vẫn còn đào tạo sử dụng ước tính lỗi này.
  • Các biến gây nhiễu không được tính đến cho việc chia tách.
    Một hàng trong ma trận dữ liệu không nhất thiết phải là một trường hợp độc lập, ví dụ:
    • Xử lý các phép đo lặp đi lặp lại của cùng một trường hợp / đối tượng / bệnh nhân là "độc lập"
    • nói chung nhìn / bỏ qua phân cụm mạnh mẽ trong dữ liệu
    • không nhận thức được sự trôi dạt liên tục trong quá trình tạo dữ liệu (các trường hợp chưa biết trong tương lai so với chỉ các trường hợp chưa biết), ...


0

Đầu tiên hãy để tôi nói rõ các thuật ngữ được sử dụng trong câu hỏi khi tôi hiểu. Chúng tôi thường bắt đầu với một tập dữ liệu huấn luyện, sử dụng xác thực chéo k-gấp để kiểm tra các mô hình khác nhau (hoặc bộ siêu đường kính) và chọn mô hình tốt nhất có lỗi CV thấp nhất. Vì vậy, 'ước tính xác thực chéo của lỗi kiểm tra' có nghĩa là sử dụng lỗi CV thấp nhất làm lỗi kiểm tra, không chỉ là lỗi CV của một mô hình ngẫu nhiên (mà trường hợp được thảo luận bởi cbeleites, nhưng đó không phải là điều chúng ta thường làm.). 'Lỗi kiểm tra thực tế' trong câu hỏi là lỗi chúng tôi nhận được khi áp dụng mô hình CV tốt nhất cho tập dữ liệu kiểm tra vô hạn, giả sử chúng tôi có thể nhận được điều đó. Lỗi CV phụ thuộc vào tập dữ liệu cụ thể mà chúng tôi có và lỗi kiểm tra thực tế phụ thuộc vào mô hình CV tốt nhất được chọn, điều này cũng phụ thuộc vào tập dữ liệu huấn luyện. Vì vậy, sự khác biệt giữa lỗi CV và lỗi kiểm tra phụ thuộc vào các bộ dữ liệu đào tạo khác nhau. Sau đó, câu hỏi trở thành, nếu chúng ta lặp lại quá trình trên nhiều lần với các bộ dữ liệu đào tạo khác nhau và trung bình hai lỗi tương ứng, tại sao lỗi CV trung bình thấp hơn lỗi kiểm tra trung bình, tức là lỗi CV bị sai lệch? Nhưng trước đó, điều này luôn xảy ra?

Thông thường không thể có được nhiều tập dữ liệu huấn luyện và tập dữ liệu kiểm tra có chứa các hàng vô hạn. Nhưng có thể làm như vậy bằng cách sử dụng dữ liệu được tạo ra bởi mô phỏng. Trong "chương 7 Đánh giá và lựa chọn mô hình" của cuốn sách "Các yếu tố của học thống kê" của Trevor Hastie, et al. , nó bao gồm các thí nghiệm mô phỏng như vậy.

Kết luận là, sử dụng CV hoặc bootstrap, "... ước tính lỗi kiểm tra cho một tập huấn luyện cụ thể nói chung là không dễ dàng, chỉ được cung cấp dữ liệu từ cùng một tập huấn luyện đó". "Không dễ", điều đó có nghĩa là lỗi CV có thể được đánh giá thấp hoặc đánh giá quá cao lỗi kiểm tra thực sự tùy thuộc vào các tập dữ liệu đào tạo khác nhau, tức là phương sai gây ra bởi các bộ dữ liệu đào tạo khác nhau là khá lớn. Làm thế nào về thiên vị? Mô hình kNN và mô hình tuyến tính mà họ đã kiểm tra gần như không sai lệch: Lỗi CV đánh giá quá cao lỗi thử nghiệm thực sự bằng 0-4%, nhưng một số mô hình "như cây, xác thực chéo và dây đeo khởi động có thể đánh giá thấp sai số thực 10%, bởi vì tìm kiếm cây tốt nhất bị ảnh hưởng mạnh mẽ bởi bộ xác nhận ".

Tóm lại, đối với một tập dữ liệu huấn luyện cụ thể, lỗi CV có thể cao hơn hoặc thấp hơn lỗi kiểm tra thực. Đối với sai lệch, lỗi CV trung bình có thể dao động từ cao hơn một chút đến thấp hơn nhiều so với lỗi kiểm tra thực sự trung bình tùy thuộc vào các phương pháp mô hình hóa.

Lý do cho sự đánh giá thấp, như đã đề cập ở trên, là việc lựa chọn các siêu đường kính cho mô hình tốt nhất cuối cùng phụ thuộc vào tập dữ liệu đào tạo cụ thể mà chúng tôi nhận được. Một chi tiết nhỏ, Hãy để siêu âm tốt nhất là M1 trong tập dữ liệu đào tạo cụ thể này. Nhưng, M1 có thể không phải là siêu âm tốt nhất trên tập dữ liệu đào tạo khác, điều đó có nghĩa là lỗi CV tối thiểu nhỏ hơn lỗi CV từ M1. Do đó, lỗi CV dự kiến ​​chúng tôi nhận được từ quá trình đào tạo rất có thể ít hơn so với lỗi CV dự kiến ​​của M1. Lần duy nhất lỗi CV tối thiểu từ một tập dữ liệu đào tạo cụ thể không bị sai lệch là khi mô hình tốt nhất luôn độc lập tốt nhất với bộ dữ liệu đào tạo. Mặt khác, lỗi CV cũng có thể đánh giá hơi cao lỗi thử nghiệm thực sự, như được thảo luận bởi cbeleites. Điều này là do lỗi k gấp CV có được bằng cách sử dụng dữ liệu huấn luyện ít hơn một chút để huấn luyện mô hình (đối với cv 10 lần, sử dụng 90% dữ liệu), nó bị sai lệch so với lỗi thực, nhưng không nhiều. Vì vậy, có hai xu hướng đi khác nhau. Đối với phương pháp mô hình hóa có xu hướng quá phù hợp, sử dụng CV ít hơn, ví dụ 5 lần so với 10 lần, có thể dẫn đến ít sai lệch.

Tất cả đều được nói, nó không giúp ích quá nhiều trong thực tế: chúng ta thường chỉ nhận được một bộ dữ liệu 'cụ thể'. nếu chúng tôi giữ 15% đến 30% làm dữ liệu thử nghiệm và chọn mô hình tốt nhất bằng CV trên phần còn lại làm dữ liệu đào tạo, rất có thể lỗi CV sẽ khác với lỗi thử nghiệm vì cả hai đều khác với lỗi thử nghiệm dự kiến. Chúng tôi có thể nghi ngờ nếu lỗi CV thấp hơn nhiều so với lỗi kiểm tra, nhưng chúng tôi sẽ không biết lỗi nào gần với lỗi kiểm tra thực hơn. Thực tiễn tốt nhất có thể chỉ là trình bày cả hai số liệu.

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.