Tại sao chỉ có ba phân vùng? (đào tạo, xác nhận, kiểm tra)


61

Khi bạn đang cố gắng điều chỉnh các mô hình cho một tập dữ liệu lớn, lời khuyên phổ biến là phân vùng dữ liệu thành ba phần: đào tạo, xác nhận và tập dữ liệu thử nghiệm.

Điều này là do các mô hình thường có ba "mức" tham số: "tham số" đầu tiên là lớp mô hình (ví dụ: SVM, mạng thần kinh, rừng ngẫu nhiên), bộ tham số thứ hai là tham số "chính quy" hoặc "siêu đường kính" ( ví dụ: hệ số hình phạt lasso, lựa chọn hạt nhân, cấu trúc mạng thần kinh) và bộ thứ ba là những gì thường được coi là "tham số" (ví dụ: hệ số cho các hiệp phương sai.)

Đưa ra một lớp mô hình và một sự lựa chọn của siêu đường kính, người ta chọn các tham số bằng cách chọn các tham số giúp giảm thiểu lỗi trên tập huấn luyện. Đưa ra một lớp mô hình, người ta điều chỉnh các siêu đường kính bằng cách giảm thiểu lỗi trên tập xác thực. Người ta chọn lớp mô hình theo hiệu suất trên tập kiểm tra.

Nhưng tại sao không có nhiều phân vùng hơn? Thông thường, người ta có thể chia các siêu đường kính thành hai nhóm và sử dụng "xác nhận 1" để khớp với thứ nhất và "xác nhận 2" để phù hợp với nhóm thứ hai. Hoặc người ta thậm chí có thể coi kích thước của dữ liệu huấn luyện / phân tách dữ liệu xác nhận là một siêu tham số cần điều chỉnh.

Đây đã là một thực tế phổ biến trong một số ứng dụng? Có bất kỳ công việc lý thuyết về phân vùng dữ liệu tối ưu?

Câu trả lời:


79

Đầu tiên, tôi nghĩ bạn đang nhầm lẫn về những gì ba phân vùng làm. Bạn không thực hiện bất kỳ lựa chọn nào dựa trên dữ liệu thử nghiệm. Thuật toán của bạn điều chỉnh các tham số của họ dựa trên dữ liệu đào tạo. Sau đó, bạn chạy chúng trên dữ liệu xác nhận để so sánh các thuật toán của bạn (và các tham số được đào tạo của chúng) và quyết định người chiến thắng. Sau đó, bạn chạy người chiến thắng trên dữ liệu thử nghiệm của mình để đưa ra dự báo về việc nó sẽ hoạt động tốt như thế nào trong thế giới thực.

Bạn không xác nhận dữ liệu đào tạo vì điều đó sẽ phù hợp với mô hình của bạn. Bạn không dừng lại ở điểm số của người chiến thắng trong bước xác thực bởi vì bạn đã điều chỉnh mọi thứ để có được người chiến thắng trong bước xác thực và do đó bạn cần một bài kiểm tra độc lập (mà bạn chưa điều chỉnh cụ thể) để cung cấp cho bạn ý tưởng về việc bạn sẽ làm tốt như thế nào ngoài đấu trường hiện tại.

Thứ hai, tôi sẽ nghĩ rằng một yếu tố hạn chế ở đây là bạn có bao nhiêu dữ liệu. Hầu hết thời gian, chúng tôi thậm chí không muốn chia dữ liệu thành các phân vùng cố định, do đó CV.


2
Vấn đề khái niệm tôi gặp phải là nếu bạn so sánh đủ các mô hình, bạn có thể phù hợp một cách hiệu quả với dữ liệu xác nhận khi bạn "quyết định người chiến thắng" bằng cách sử dụng dữ liệu xác nhận. Do đó vẫn có thể là một điểm trong phân vùng dữ liệu xác nhận.
charles.y.zheng

Tôi nghĩ rằng lớp xác thực đào tạo và lớp kiểm tra xác thực phục vụ các mục đích khác nhau theo một nghĩa nào đó và cuối cùng bạn phải so sánh các mô hình trên một bộ xác thực chung nếu bạn sẽ tuyên bố người chiến thắng. Vì vậy, tôi không chắc chắn rằng các lớp bổ sung giúp. (Mặc dù kiến ​​thức của tôi không đủ sâu để thực sự biết.) Điều gần nhất tôi có thể nghĩ đến đề xuất của bạn là cách cuộc thi Netflix được điều hành. Tôi tin rằng họ đã sử dụng các bộ kiểm tra một phần để ngăn các nhóm leo lên độ dốc của bộ kiểm tra, nhưng tôi nghĩ nó khác.
Wayne

2
@ user10882, nhận xét của bạn không chính xác, Firebugs cũng không. Cả hai tham số mô hình (1) (trọng lượng, ngưỡng) và (2) được gọi là tham số "siêu" (số lớp ẩn, số cây quyết định), có thể có cách hiểu và cảm nhận khác nhau, nhưng tất cả chỉ là các tham số phân biệt giữa các khác nhau mô hình . Sử dụng dữ liệu đào tạo để tối ưu hóa tất cả chúng, sử dụng dữ liệu xác nhận để tránh khớp quá mức và sử dụng xác thực chéo để đảm bảo kết quả của bạn ổn định. Dữ liệu thử nghiệm chỉ phục vụ để chỉ định hiệu suất dự kiến ​​của mô hình của bạn, không sử dụng nó để chấp nhận / từ chối nó.
Ytsen de Boer

1
@RubenvanBergen: Tôi hiểu những gì bạn nói và thật tốt và hữu ích khi chỉ ra cho người dùng10882. Nhưng tôi vẫn cho rằng đó là một kỹ thuật. Giả sử bạn sử dụng thuật toán giảm độ dốc sử dụng dữ liệu huấn luyện để suy ra hướng bước (bao gồm cả độ đa thức ) cùng với một quy trình xác thực thêm tổn thất xác thực vào tổn thất đào tạo trong mỗi bước của thuật toán giảm độ dốc (tương tự như sớm dừng lại). Bây giờ sự khác biệt giữa "bình thường" hoặc "siêu" không còn phù hợp nữa: nó phụ thuộc vào thủ tục. n
Ytsen de Boer

1
@YtsendeBoer: Đủ công bằng - nếu bạn sử dụng sth như dừng sớm dựa trên xác thực thì tôi đồng ý các ranh giới bị mờ, ít nhất là về mặt thủ tục tối ưu hóa. Theo tôi, điều này không hợp nhất hoàn toàn khái niệm "siêu tham số" với khái niệm thông thường. Vẫn còn nhiều tình huống chúng được đối xử khác nhau, và tôi cũng nghĩ về chúng khác nhau về vai trò của chúng trong việc xác định một mô hình. Dù sao, tôi hy vọng cuộc thảo luận này đã hữu ích cho những người khác để minh họa sự khác biệt (tinh tế) và sự tương đồng giữa các khái niệm này =).
Ruben van Bergen

0

Đây là câu hỏi thú vị và tôi thấy nó rất hữu ích với câu trả lời từ @Wayne.

Theo hiểu biết của tôi, việc chia tập dữ liệu thành các phân vùng khác nhau tùy thuộc vào mục đích của tác giả và yêu cầu của mô hình trong ứng dụng trong thế giới thực.

Thông thường chúng tôi có hai datsets: đào tạo và thử nghiệm. Một đào tạo được sử dụng để tìm các tham số của các mô hình, hoặc để phù hợp với các mô hình. Thử nghiệm được sử dụng để đánh giá hiệu suất của mô hình trong dữ liệu chưa xem (hoặc dữ liệu trong thế giới thực).

Nếu chúng ta chỉ thực hiện một bước trong đào tạo, rõ ràng là có một quá trình đào tạo và kiểm tra (hoặc xác nhận).

Tuy nhiên, làm theo cách này, nó có thể làm tăng vấn đề quá khớp khi mô hình được đào tạo với một bộ dữ liệu, một lần. Điều này có thể dẫn đến sự mất ổn định của mô hình trong vấn đề thế giới thực. Một cách để giải quyết vấn đề này là xác nhận chéo (CV) mô hình trong bộ dữ liệu đào tạo. Điều đó có nghĩa là, chúng tôi chia datset đào tạo thành các nếp gấp khác nhau, giữ một lần để thử nghiệm mô hình được đào tạo với các nếp gấp khác. Người chiến thắng bây giờ là người thua lỗ tối thiểu (dựa trên chức năng mục tiêu của chính chúng ta) trong toàn bộ quá trình CV. Bằng cách này, chúng tôi có thể đảm bảo rằng chúng tôi giảm thiểu cơ hội phù hợp với quá trình đào tạo và chọn đúng người chiến thắng. Bộ kiểm tra một lần nữa được sử dụng để đánh giá người chiến thắng trong dữ liệu chưa xem.

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.