Xác thực chéo: Lấy mẫu ngẫu nhiên lặp lại so với mẫu ngẫu nhiên lặp lại


10

Tôi tự hỏi nên chọn loại xác thực chéo mô hình nào cho vấn đề phân loại: lấy mẫu ngẫu nhiên hoặc lấy mẫu ngẫu nhiên (lấy mẫu bootstrap)?

Dự đoán tốt nhất của tôi là sử dụng 2/3 bộ dữ liệu (có ~ 1000 mục) để đào tạo và 1/3 để xác thực.

Trong trường hợp này, K-Fold chỉ cung cấp ba lần lặp (nếp gấp), không đủ để thấy lỗi trung bình ổn định.

Mặt khác, tôi không thích tính năng lấy mẫu phụ ngẫu nhiên: một số mục sẽ không được chọn để đào tạo / xác nhận và một số mục sẽ được sử dụng nhiều lần.

Các thuật toán phân loại được sử dụng: rừng ngẫu nhiên & hồi quy logistic.


1
Tôi đoán một câu hỏi trước đó là: không phải lựa chọn này phụ thuộc vào thuật toán (chủ yếu là hành vi của nó) được đánh giá?
Rubens

1
@Rubens, tôi đã cập nhật câu hỏi: Tôi đang
xen

Câu trả lời:


7

Nếu bạn có đủ số lượng mẫu và muốn sử dụng tất cả dữ liệu, thì xác thực chéo k-gấp là cách để đi. Có ~ 1.500 có vẻ như rất nhiều nhưng liệu nó có đủ để xác thực chéo k-phụ hay không cũng phụ thuộc vào tính chiều của dữ liệu (số lượng thuộc tính và số lượng giá trị thuộc tính). Ví dụ: nếu mỗi quan sát có 100 thuộc tính, thì 1.500 quan sát là thấp.

Một nhược điểm tiềm năng khác của xác nhận chéo k-gấp là khả năng của một kết quả cực kỳ xa lạ, sai lệch kết quả. Ví dụ: nếu bạn có một ngoại lệ cực đoan có thể thiên vị rất nhiều cho trình phân loại của bạn, thì trong xác thực chéo 10 lần, 9 trong số 10 phân vùng sẽ bị ảnh hưởng (mặc dù đối với các khu rừng ngẫu nhiên, tôi không nghĩ bạn sẽ gặp vấn đề đó ).

Lấy mẫu ngẫu nhiên (ví dụ, lấy mẫu bootstrap) thích hợp hơn khi bạn bị thiếu mẫu hoặc khi bạn gặp tình huống ở trên, nơi bạn không muốn mỗi quan sát xuất hiện trong các nếp gấp k-1.


4

Tôi đoán bạn nói rằng bạn muốn sử dụng xác thực chéo 3 lần vì bạn biết điều gì đó về dữ liệu của mình (việc sử dụng k = 10 sẽ gây ra tình trạng thừa? Tôi tò mò lý do của bạn). Tôi không chắc chắn rằng bạn biết điều này, nếu không thì bạn chỉ có thể sử dụng một k lớn hơn.

Nếu bạn vẫn nghĩ rằng bạn không thể sử dụng xác thực chéo k-tiêu chuẩn, thì bạn có thể sửa đổi thuật toán một chút: giả sử rằng bạn chia dữ liệu thành 30 lần và mỗi lần sử dụng 20 để đào tạo và 10 để đánh giá (và sau đó tăng lên một lần và sử dụng 9 đầu tiên và 9 cuối cùng để đánh giá và phần còn lại là đào tạo). Điều này có nghĩa là bạn có thể sử dụng tất cả dữ liệu của mình.

Khi tôi sử dụng xác thực chéo k-gấp, tôi thường chạy quy trình nhiều lần với một ngẫu nhiên khác nhau để đảm bảo rằng tôi có đủ dữ liệu, nếu bạn không thấy các hiệu suất khác nhau tùy thuộc vào ngẫu nhiên. Trong những trường hợp như vậy tôi sẽ đề nghị lấy mẫu. Bí quyết sau đó là làm điều đó thường xuyê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.