Trong xác thực chéo k-mẫu có bao gồm mẫu thử đào tạo không?


8

Trong trang Wikipedia này trong phần phụ để xác thực chéo K-gấp có ghi "Trong xác thực chéo k-gấp, mẫu ban đầu được phân vùng ngẫu nhiên thành các mẫu con có kích thước bằng nhau. Trong các mẫu con k, một mẫu con duy nhất được giữ lại làm dữ liệu xác thực cho thử nghiệm mô hình và các mẫu con k - 1 còn lại được sử dụng làm dữ liệu huấn luyện ". Dữ liệu kiểm tra hoàn toàn không có trong ảnh.

Trong khi đó trong một cuốn sách tôi đọc tác giả chỉ rõ

  1. Dữ liệu đầy đủ được chia thành ba bộ: Tập huấn luyện, tập kiểm tra và tập xác thực (hoặc các mẫu con bằng ngôn ngữ Wikipedias).
  2. Trong số các mẫu con k, một mẫu phụ được giữ lại làm dữ liệu xác nhận, một mẫu phụ khác được giữ lại làm dữ liệu thử nghiệm và mẫu phụ k-2 được sử dụng làm dữ liệu huấn luyện.

Cái nào đúng?


Lưu ý bên lề: "xác nhận" có ý nghĩa khác nhau trong các lĩnh vực khác nhau. Một số tác giả sử dụng nó để chỉ ra một loại thử nghiệm được sử dụng để chọn các mô hình (tôi đề nghị rằng bộ thử nghiệm tối ưu hóa sẽ trực quan hơn), trong khi trong các trường xác thực khác có nghĩa là chứng minh rằng mô hình cuối cùng phù hợp với mục đích của nó.
cbeleites không hài lòng với SX 17/03/2016

Câu trả lời:


10

Cả hai đều đúng trong bối cảnh riêng của họ. Họ đang mô tả hai cách lựa chọn mô hình khác nhau trong các tình huống khác nhau.

Nói chung, khi bạn đang thực hiện lựa chọn và kiểm tra mô hình, dữ liệu của bạn được chia thành ba phần, tập huấn luyện, tập xác thực và tập kiểm thử. Bạn sử dụng tập huấn luyện của mình để huấn luyện các mô hình khác nhau, ước tính hiệu suất trên bộ xác thực của bạn, sau đó chọn mô hình có hiệu suất tối ưu và kiểm tra nó trên bộ thử nghiệm của bạn.

Mặt khác, nếu bạn đang sử dụng xác thực chéo K để ước tính hiệu suất của một mô hình, thì dữ liệu của bạn sẽ được chia thành các nếp gấp K, bạn lặp qua các nếp gấp K và mỗi lần sử dụng một lần làm kiểm tra (hoặc xác thực) thiết lập và sử dụng các phần còn lại (K-1) làm tập huấn luyện. Sau đó, bạn trung bình trên tất cả các lần để có được hiệu suất thử nghiệm ước tính của mô hình của bạn. Đây là những gì trang Wikipedia đang đề cập đến.

Nhưng hãy nhớ rằng đây là để thử nghiệm một mô hình cụ thể, nếu bạn có nhiều mô hình ứng cử viên và muốn thực hiện lựa chọn mô hình, bạn phải chọn một mô hình chỉ với tập huấn luyện của bạn để tránh sai lầm logic vòng tròn tinh tế này. Vì vậy, bạn tiếp tục chia (K-1) của bạn 'dữ liệu đào tạo' thành hai phần, một phần để đào tạo và một phần để xác thực. Điều này có nghĩa là trước tiên bạn phải thực hiện thêm 'xác thực chéo' để chọn mô hình tối ưu trong các nếp gấp (K-1), sau đó bạn kiểm tra mô hình tối ưu này trong lần thử nghiệm của mình. Nói cách khác, bạn đang thực hiện xác thực chéo hai cấp, một là xác thực chéo K-nói chung và trong mỗi vòng xác thực chéo, có thêm một xác thực chéo (K-1) cho lựa chọn mô hình. Sau đó, bạn có những gì bạn đã nêu trong câu hỏi của mình, 'Trong số các mẫu con k, một mẫu phụ được giữ lại làm dữ liệu xác nhận, một mẫu phụ khác được giữ lại làm dữ liệu thử nghiệm và mẫu phụ k-2 được sử dụng làm dữ liệu huấn luyện.'


1
Xác nhận chéo hai cấp độ còn được gọi là xác thực chéo kép hoặc lồng nhau. Mặc dù CV lồng nhau và các chiến lược chia thành 3 bộ giống nhau ở cả hai đều sử dụng một bộ kiểm tra để lựa chọn / tối ưu hóa và bộ kia để đánh giá hiệu suất của mô hình được tối ưu hóa, chúng không giống nhau: xác thực chéo k lồng nhau xây dựng k * k '(thường = k - 1) * không. của các mô hình thay thế kết hợp siêu tham số đã được thử nghiệm, chiến lược 3 bộ trực tiếp chỉ có một cho mỗi kết hợp siêu tham số.
cbeleites không hài lòng với SX 17/03/2016

(Trích dẫn Wiki không nói về mục đích của việc xác thực ở tất cả những gì có thể khác với lựa chọn.)
cbeleites không hài lòng với SX

bạn có thể xác nhận mã giả của tôi?
ozi

1

Ở đây tôi đang nêu lại những gì tôi thu thập được từ câu trả lời của @Yuanning và bình luận của @cbeleites ở dạng mã giả. Điều này có thể hữu ích cho những người như tôi.

Để đo lường độ hoàn hảo của một mô hình xác định, chúng ta chỉ cần tập huấn luyện và kiểm tra:

function measure_performance(model, full_test_set, k_performance):
    subset_list <- divide full_test_set into k_performance subsets
    performances <- empty array
    for each sub_set in subset_list:
        test_set <- sub_set
        training_set <- the rest of the full_test_set
        model <- train model with training_set
        performance <- test model with test_set
        append performance to performances
    end for each
    return mean of the values in peformances
end function

Nhưng nếu chúng ta cần thực hiện lựa chọn mô hình, chúng ta nên làm điều này:

function select_model(data, k_select, k_performance):
    subset_list <- divide data into k_select subsets
    performances <- empty array
    for each sub_set in subset_list:
        validation_set <- assume that this sub_set is validation set
        test_set <- one other random sub_set (Question: How to select test_set)
        training_set <- assume remaining as training set
        model <- get a model with the help of training_set and validation_set
        performance <- measure_performance(model,test_set, k_performance)
    end for each
    return model with the best performance (for this, performances will be scanned)
end function

Được k_performancedự định là nhãn cho một nếp gấp cụ thể trong số các k_selectnếp gấp hiệu suất tổng số ? Tôi cho rằng điều này đi vào câu hỏi của bạn về "Cách chọn test_set". Tôi cũng sẽ đánh giá cao phản hồi cụ thể về điều này. Tôi đã thấy xác thực chéo 'lồng nhau' này cho lựa chọn mô hình được ám chỉ, nhưng không bao giờ được mô tả chi tiết.
Clarpaul

Trong bối cảnh xác thực chéo, vấn đề lựa chọn mô hình chỉ dựa trên dữ liệu đào tạo (ngay cả khi xác thực chéo trong dữ liệu đó) được nêu rõ ở đây: en.wikipedia.org/wiki/ . Khẳng định (dựa trên một số tài liệu tham khảo) là các ước tính hiệu suất được xác thực chéo dựa trên toàn bộ dữ liệu đào tạo có thể có phương sai cao (nghĩa là đối với việc lựa chọn dữ liệu đào tạo), bất chấp quy trình xác thực chéo.
Clarpaul
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.