Tại sao chia dữ liệu vào tập huấn luyện và kiểm tra là không đủ


18

Tôi biết rằng để truy cập vào hiệu suất của trình phân loại, tôi phải chia dữ liệu thành tập huấn luyện / kiểm tra. Nhưng đọc nó :

Khi đánh giá các cài đặt khác nhau (siêu tốc độ của máy tính) cho các công cụ ước tính, chẳng hạn như cài đặt C phải được đặt thủ công cho một SVM, vẫn có nguy cơ bị quá mức trên bộ kiểm tra vì các tham số có thể được điều chỉnh cho đến khi công cụ ước tính thực hiện tối ưu. Bằng cách này, kiến ​​thức về bộ kiểm tra có thể bị rò rỉ vào mô hình và các số liệu đánh giá không còn báo cáo về hiệu suất tổng quát. Để giải quyết vấn đề này, một phần khác của bộ dữ liệu có thể được tổ chức như một bộ được gọi là bộ xác nhận mã hóa của bộ điều khiển tên lửa: tập huấn tiến hành trên tập huấn luyện, sau đó đánh giá được thực hiện trên bộ xác thực và khi thử nghiệm có vẻ thành công , đánh giá cuối cùng có thể được thực hiện trên bộ thử nghiệm.

Tôi thấy rằng một bộ xác nhận (thứ ba) khác được giới thiệu, được chứng minh bằng cách quá mức của bộ kiểm tra trong quá trình điều chỉnh siêu đường kính.

Vấn đề là tôi không thể hiểu làm thế nào quá mức này có thể xuất hiện và do đó không thể hiểu được sự biện minh của bộ thứ ba.


2
Tôi nghĩ rằng rất nhiều sự nhầm lẫn ở đây xuất phát từ 2 hoặc 3 ý nghĩa khác nhau của thuật ngữ "xác nhận". Xác nhận trong xác thực chéo chủ yếu chỉ là một tên cho thủ tục chia tách mà không thay thế. "Xác thực" được đặt trong văn bản được trích dẫn sẽ IMHO được hiểu rõ hơn là "điều chỉnh" hoặc "bộ tối ưu hóa". Trong khi "xác nhận", ví dụ như trong kỹ thuật hoặc hóa học phân tích có nghĩa là để chứng minh rằng một phương pháp cuối cùng nhất định phù hợp với mục đích của nó - được thực hiện (mô phỏng, xấp xỉ) bằng bộ "thử nghiệm". (Đối với tôi, thử nghiệm nghe có vẻ ít cuối cùng hơn so với xác nhận ...)
cbeleites hỗ trợ Monica

Câu trả lời:


17

Mặc dù bạn đang đào tạo các mô hình độc quyền trên dữ liệu đào tạo, bạn đang tối ưu hóa các siêu đường kính (ví dụ cho một SVM) dựa trên tập kiểm tra. Như vậy, ước tính hiệu suất của bạn có thể lạc quan, bởi vì về cơ bản bạn đang báo cáo kết quả tốt nhất. Như một số người trên trang này đã đề cập, tối ưu hóa là gốc rễ của mọi tội lỗi trong thống kê .C

Ước tính hiệu suất phải luôn luôn được thực hiện trên dữ liệu hoàn toàn độc lập. Nếu bạn đang tối ưu hóa một số khía cạnh dựa trên dữ liệu thử nghiệm, thì dữ liệu thử nghiệm của bạn không còn độc lập nữa và bạn sẽ cần một bộ xác thực.

Một cách khác để giải quyết vấn đề này là thông qua xác thực chéo , bao gồm hai quy trình xác thực chéo được bao bọc xung quanh nhau. Xác thực chéo bên trong được sử dụng để điều chỉnh (để ước tính hiệu suất của một bộ siêu đường kính đã cho, được tối ưu hóa) và xác thực chéo ước tính hiệu suất tổng quát bên ngoài của toàn bộ đường ống học máy (nghĩa là tối ưu hóa siêu âm + đào tạo mô hình cuối cùng ).


Tôi có thể sai nhưng bộ kiểm tra không chỉ để điều chỉnh siêu âm mà còn để so sánh các loại kỹ thuật khác nhau, ví dụ như hiệu suất của SVM so với LDA hoặc rừng ngẫu nhiên như tôi đã chỉ ra trong câu trả lời của mình.

@fcoppens Vâng, chắc chắn rồi. Tôi đã không đề cập rõ ràng về điều này, nhưng điều đó chắc chắn cũng phù hợp với bước đó.
Marc Claesen

1
tổng quát hơn, điều chỉnh hoặc tối ưu hóa ở đây là bất kỳ loại quy trình nào dựa trên dữ liệu (theo xác thực chéo bên trong).
cbeleites hỗ trợ Monica

@MarcClaesen Tôi có một câu hỏi. Nếu tôi có 2 giá trị khác nhau của siêu tham số và tôi phù hợp với 2 mô hình này trên tập huấn luyện, sau đó áp dụng chúng cho tập kiểm tra, thì tỷ lệ lỗi tôi nhận được trên tập kiểm tra là ước tính không thiên vị của tỷ lệ lỗi dự đoán thực sự của 2 mô hình này? Bởi vì nếu bây giờ bạn đưa cho tôi một bộ dữ liệu thử nghiệm độc lập khác, thì bộ dữ liệu thử nghiệm mới này về bản chất giống như bộ thử nghiệm trước đó. Vì vậy, nếu một mô hình có điểm kiểm tra tốt hơn, thì nó cũng sẽ vượt trội so với mô hình khác trên tập dữ liệu thử nghiệm mới. Tại sao chúng ta cần thiết lập xác nhận?
KevinKim

"Nếu bạn đang tối ưu hóa một số khía cạnh dựa trên dữ liệu thử nghiệm, thì dữ liệu thử nghiệm của bạn không còn độc lập nữa và bạn sẽ cần một bộ xác thực." thật sâu sắc
Sudip Bhandari

11

Tôi nghĩ thật dễ dàng để nghĩ về mọi thứ theo cách này. Có hai điều mà xác thực chéo được sử dụng để điều chỉnh các tham số siêu của mô hình / thuật toán và đánh giá hiệu suất của mô hình / thuật toán.

Xem xét việc sử dụng đầu tiên như là một phần của việc đào tạo thực tế của thuật toán. Ví dụ, xác thực chéo để xác định cường độ chính quy cho GLM là một phần của việc thiết lập kết quả cuối cùng của GLM. Việc sử dụng này thường được gọi là xác nhận chéo nội bộ . Vì các tham số (hyper) vẫn đang được đặt, nên mất bộ điều chỉnh không phải là thước đo tuyệt vời cho hiệu suất thuật toán thực tế.

Việc sử dụng thứ hai của xác nhận chéo là sử dụng dữ liệu được tổ chức trong toàn bộ quá trình tạo ra mô hình, để kiểm tra khả năng dự đoán của nó. Quá trình này được gọi là xác nhận chéo bên ngoài .

Lưu ý rằng xác nhận nội bộ có thể là một phần của quy trình tạo ra mô hình nên trong nhiều trường hợp cả xác thực chéo bên trong và bên ngoài là cần thiết.


Cá nhân, tôi sẽ không sử dụng cụm từ "xác nhận chéo bên ngoài", vì tôi sẽ thấy xác nhận chéo khi phân tách lặp lại các bộ xác thực khác nhau từ tập huấn luyện cho mục đích lựa chọn và điều chỉnh mô hình. Bạn không thể thực hiện việc này nhiều lần với bộ kiểm tra, vì đó là proxy một lần cho dữ liệu chưa biết trong tương lai được sử dụng để đánh giá hiệu suất của mô hình cuối cùng.
Henry

3
Henry, tôi không nghĩ rằng bạn đang hiểu xác nhận chéo bên ngoài. Bạn có thể "làm điều này nhiều lần với bộ kiểm tra", liên tục giữ một phần dữ liệu đầy đủ của bạn cho mục đích kiểm tra trong khi thực hiện quy trình đào tạo đầy đủ của bạn trên phần còn lại (có thể bao gồm xác nhận chéo nội bộ). Xác thực chéo bên ngoài vẫn thường được thực hiện trong các nếp gấp và cho phép tất cả dữ liệu gốc tại một số điểm nằm trong bộ kiểm tra.
jlimahaverford

αα

2

Trong quá trình xây dựng mô hình, bạn huấn luyện các mô hình của mình trên một mẫu đào tạo . Lưu ý rằng bạn có thể huấn luyện các mô hình khác nhau (nghĩa là các kỹ thuật khác nhau như SVM, LDA, Rừng ngẫu nhiên, ... hoặc cùng một kỹ thuật với các giá trị khác nhau của các tham số điều chỉnh hoặc hỗn hợp).

Trong số tất cả các mô hình khác nhau mà bạn đã đào tạo, bạn phải chọn một mô hình và do đó bạn sử dụng mẫu xác nhận để tìm ra mô hình có lỗi nhỏ nhất trên mẫu thử nghiệm.

Đối với mô hình 'cuối cùng' này, chúng tôi vẫn phải ước tính lỗi và do đó chúng tôi sử dụng mẫu thử nghiệm .


1
Tôi sẽ đảo ngược từ ngữ trong đoạn thứ hai và thứ ba của bạn: Tôi sẽ sử dụng bộ xác thực để tìm mô hình tốt nhất và điều chỉnh siêu âm của nó (thực hiện điều này với một số bộ xác thực phân vùng mà tập huấn luyện thực hiện xác thực chéo này ) và, khi mô hình đã đã được hoàn thiện, sau đó áp dụng nó cho bộ thử nghiệm để xem ví dụ về hiệu suất ngoài mẫu của mô hình.
Henry

@Henry: OK Henry, tôi nghĩ nhãn của các giai đoạn ít quan trọng hơn trình tự / nội dung của nó, nhưng nhận xét của bạn có ý nghĩa với tôi, tôi sẽ chỉnh sửa văn bản, cảm ơn (+1),

1

Xác thực chéo không khắc phục hoàn toàn vấn đề quá khớp trong lựa chọn mô hình, nó chỉ làm giảm nó. Lỗi xác thực chéo phụ thuộc vào tập dữ liệu bạn sử dụng. Tập dữ liệu càng nhỏ, lỗi xác thực chéo càng cao.

Ngoài ra, nếu bạn có mức độ tự do cao trong việc lựa chọn mô hình, thì có nguy cơ mô hình hoạt động kém, vì tiêu chí xác thực chéo bị quá mức.

Vì vậy, khi dữ liệu được chia thành 2 bộ, còn gọi là tập huấn luyện và kiểm tra, việc chia tách được thực hiện tĩnh. Vì vậy, có một cơ hội để vượt quá tập huấn luyện. Tuy nhiên, các bộ xác thực chéo được tạo thông qua các phương thức khác nhau , như xác thực chéo k-gấp, xác thực chéo một lần (LOOCV), v.v ... giúp đảm bảo rằng phần thưởng phù hợp chính xác của phân chia 2 bộ được loại bỏ và do đó cơ hội phù hợp hơn là giảm.

Đây là một số tài nguyên sẽ giúp bạn hiểu rõ hơn.

Vì vậy, xác thực chéo sẽ giúp bạn khi bạn có bộ dữ liệu lớn hơn thay vì dữ liệu nhỏ hơn.

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.