Xác nhận chéo nội bộ và bên ngoài và lựa chọn mô hình


26

Hiểu biết của tôi là với xác nhận chéo và lựa chọn mô hình, chúng tôi cố gắng giải quyết hai điều:

P1 . Ước tính tổn thất dự kiến ​​về dân số khi đào tạo với mẫu của chúng tôi

P2 . Đo lường và báo cáo sự không chắc chắn của chúng tôi về ước tính này (phương sai, khoảng tin cậy, sai lệch, v.v.)

Thực hành tiêu chuẩn dường như được thực hiện xác nhận chéo lặp đi lặp lại, vì điều này làm giảm phương sai của công cụ ước tính của chúng tôi.

Tuy nhiên, khi nói đến báo cáo và phân tích, tôi hiểu rằng xác nhận nội bộ tốt hơn xác nhận bên ngoài vì:

Nó là tốt hơn để báo cáo:

  • Số liệu thống kê của công cụ ước tính của chúng tôi, ví dụ: khoảng tin cậy, phương sai, giá trị trung bình, v.v. trên mẫu đầy đủ (trong trường hợp này là mẫu CV).

hơn báo cáo:

  • Việc mất công cụ ước tính của chúng tôi trên một tập hợp con của mẫu ban đầu, kể từ:

    (i) Đây sẽ là một phép đo duy nhất ( ngay cả khi chúng tôi chọn công cụ ước tính bằng CV )

    (ii) Công cụ ước tính của chúng tôi cho phép đo đơn này sẽ được đào tạo trên một bộ (ví dụ: bộ CV) nhỏ hơn mẫu ban đầu của chúng tôi vì chúng tôi phải dành chỗ cho bộ giữ ngoài. Điều này dẫn đến một ước tính sai lệch (bi quan) hơn trong P1 .

Điều này có đúng không? Nếu không tại sao?

Lý lịch:

Rất dễ tìm thấy sách giáo khoa khuyên bạn nên chia mẫu của bạn thành hai bộ:

  • Các CV bộ, mà sau đó và liên tục được chia thành tàuxác nhận bộ.
  • Bộ giữ (kiểm tra), chỉ được sử dụng ở cuối để báo cáo hiệu suất của công cụ ước tính

Câu hỏi của tôi là một nỗ lực để hiểu những ưu điểm và lợi thế của phương pháp sách giáo khoa này, xem xét rằng mục tiêu của chúng tôi là thực sự giải quyết các vấn đề P1P2 ở đầu bài này. Đối với tôi, việc báo cáo về bộ kiểm tra giữ là thực tiễn tồi vì việc phân tích mẫu CV có nhiều thông tin hơn.

K-Fold lồng nhau so với K-Fold lặp lại:

Về nguyên tắc, người ta có thể kết hợp giữ với K-Fold thông thường để có được K-Fold lồng nhau . Điều này sẽ cho phép chúng tôi đo lường mức độ biến thiên của công cụ ước tính của chúng tôi, nhưng theo tôi, với cùng một số lượng mô hình được đào tạo (tổng số lần gấp) sẽ tạo ra các công cụ ước tính ít sai lệchchính xác hơn so với K- lồng nhau gập lại. Để thấy điều này:

  • K-Fold lặp lại sử dụng một phần lớn hơn trong tổng số mẫu của chúng tôi so với K-Fold lồng nhau cho cùng một K (nghĩa là nó dẫn đến độ lệch thấp hơn)
  • 100 lần lặp sẽ chỉ đưa ra 10 phép đo của công cụ ước tính của chúng tôi trong K-Fold lồng nhau (K = 10), nhưng 100 lần đo trong K-gấp (nhiều phép đo hơn dẫn đến phương sai thấp hơn trong P2 )

Có gì sai với lý do này?


1
Tôi đã điều chỉnh tiêu đề của bạn để nó cụ thể hơn với những gì tôi thu thập bạn muốn biết. Tôi nghĩ rằng bạn có nhiều khả năng để có được thông tin bạn cần theo cách này. Hãy thay đổi nó trở lại nếu bạn không đồng ý. Cũng lưu ý rằng chủ đề này đã tự động trở thành CW do số lần chỉnh sửa cao. Nếu bạn không muốn nó là CW, hãy gắn cờ cho sự chú ý của người điều hành; nó có thể đảo ngược điều đó (tôi nghĩ)
gung - Phục hồi Monica

1
Cảm ơn @gung. Mối quan tâm duy nhất của tôi là một số người có thể nhầm lẫn giữa việc giữ CV với 2 lần , với điều này, tôi nghĩ CV nội bộ so với CV bên ngoài như trong Steyerberg03 rõ ràng hơn
Amelio Vazquez-Reina

Câu trả lời:


20

Hãy để tôi thêm một vài điểm cho câu trả lời hay đã có ở đây:

K-Folded so với K-Fold lặp lại: K-Fold lồng nhau và lặp lại là những thứ hoàn toàn khác nhau, được sử dụng cho các mục đích khác nhau.

  • Như bạn đã biết , lồng nhau là tốt nếu bạn muốn sử dụng cv bên trong để lựa chọn mô hình.
  • lặp đi lặp lại: IMHO bạn phải luôn lặp lại cv k-gấp [xem bên dưới].

Do đó, tôi khuyên bạn nên lặp lại bất kỳ xác nhận chéo k-lồng nhau .

Báo cáo tốt hơn "Số liệu thống kê của người ước tính của chúng tôi, ví dụ: khoảng tin cậy, phương sai, giá trị trung bình, v.v. trên mẫu đầy đủ (trong trường hợp này là mẫu CV)." :

Chắc chắn rồi. Tuy nhiên, bạn cần nhận thức được thực tế rằng bạn sẽ không (dễ dàng) có thể ước tính khoảng tin cậy chỉ bằng các kết quả xác thực chéo. Lý do là, tuy nhiên, bạn lấy mẫu lại rất nhiều, số trường hợp thực tế bạn nhìn vào là hữu hạn (và thường khá nhỏ - nếu không bạn sẽ không bận tâm về những khác biệt này).
Xem ví dụ: Bengio, Y. và Grandvalet, Y.: Không có Ước tính không thiên vị về Phương sai của Tạp chí Xác thực chéo K-Fold của Nghiên cứu Máy học, 2004, 5, 1089-1105 .

n

nσ2(p^)=1np(1p)pp^np=0.5
C. Beleites, R. Salzer và V. Sergo: Xác nhận các mô hình phân loại mềm bằng cách sử dụng tư cách thành viên của một phần: Một khái niệm mở rộng về độ nhạy và công ty áp dụng cho phân loại Astrocytoma Tissues, chemom. Intell. Phòng thí nghiệm. Syst., 122 (2013), 12 - 22.

Vì vậy, điều này cho phép tôi xoay quanh cuộc tranh luận của bạn chống lại sự trì hoãn :

  • Không phải việc lấy mẫu một mình (nhất thiết) cho bạn một ước tính tốt về phương sai,
  • OTOH, nếu bạn có thể suy luận về phương sai kích thước mẫu thử nghiệm hữu hạn của ước tính xác thực chéo, điều đó cũng có thể được giữ lại.

Công cụ ước tính của chúng tôi cho phép đo đơn này sẽ được đào tạo trên một bộ (ví dụ: bộ CV) nhỏ hơn mẫu ban đầu của chúng tôi vì chúng tôi phải dành chỗ cho bộ giữ ngoài. Điều này dẫn đến một ước tính sai lệch (bi quan) hơn trong P1.

1k

Đối với tôi, việc báo cáo về bộ kiểm tra giữ là thực tiễn tồi vì việc phân tích mẫu CV có nhiều thông tin hơn.

Thông thường, có. Tuy nhiên, cũng nên nhớ rằng có những loại lỗi quan trọng (chẳng hạn như độ trôi) không thể đo lường / phát hiện được bằng cách lấy lại xác nhận.
Xem ví dụ Esbensen, KH và Geladi, P. Nguyên tắc xác nhận hợp lệ: sử dụng và lạm dụng lấy mẫu lại để xác nhận, Tạp chí Hóa học, 2010, 24, 168-187

nhưng đối với tôi, với cùng một số lượng các mô hình được đào tạo (tổng số lần gấp) lặp lại K-Fold sẽ mang lại các công cụ ước tính ít sai lệch và chính xác hơn so với K-Fold lồng nhau. Để thấy điều này:

K-Fold lặp lại sử dụng một phần lớn hơn trong tổng số mẫu của chúng tôi so với K-Fold lồng nhau cho cùng một K (nghĩa là nó dẫn đến độ lệch thấp hơn)

Tôi muốn nói không với điều này: không quan trọng việc đào tạo mô hình sử dụng của nó như thế nàok1kn
k

100 lần lặp sẽ chỉ đưa ra 10 phép đo của công cụ ước tính của chúng tôi trong K-Fold lồng nhau (K = 10), nhưng 100 lần đo trong K-gấp (nhiều phép đo hơn dẫn đến phương sai thấp hơn trong P2)

Việc này có tạo ra sự khác biệt hay không phụ thuộc vào sự không ổn định của các mô hình (thay thế), xem ở trên. Đối với các mô hình ổn định nó là không liên quan. Vì vậy, có thể là cho dù bạn thực hiện 1000 hoặc 100 lần lặp lại / lặp bên ngoài.


Và bài báo này chắc chắn thuộc về danh sách đọc về chủ đề này: Cawley, GC và Talbot, NLC On-lắp trong lựa chọn mô hình và xu hướng lựa chọn tiếp theo trong đánh giá hiệu suất, Tạp chí nghiên cứu máy học, 2010, 11, 2079-2107


6

Một tài liệu tham khảo chính giải thích điều này là:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Xem thêm:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

Trong công việc của riêng tôi, tôi đã thấy rằng việc phân tách dữ liệu đòi hỏi phải đào tạo và kiểm tra kích thước mẫu đạt gần 10.000 để hoạt động tốt.


Frank - Đây là những tài nguyên tuyệt vời. Tôi tự hỏi làm thế nào thông tin này liên quan đến những gì @Dan đã cung cấp trong câu trả lời của anh ấy. Có lẽ tôi đang đọc sai điều này, nhưng có vẻ như cộng đồng bị chia rẽ về vấn đề này.
Amelio Vazquez-Reina

Tôi không có thời gian để đọc phần đầu tiên, nhưng về phần thứ hai, tôi đã lướt qua nhanh và dường như nó lặp lại chính xác những gì bài báo của tôi nói. Hãy xem kỹ phần "Phân tích thống kê" và bạn sẽ thấy họ mô tả quy trình lựa chọn tính năng tương tự mà Dikran mô tả trong bài tôi đã liên kết ở trên. Tôi đoán những người họ nghiên cứu đã không làm theo cách đó và đó là lý do tại sao họ thấy rằng "Vì xác nhận không đầy đủ, các nghiên cứu được chọn của chúng tôi đã công bố kết quả quá mức so với những phân tích của chúng tôi". Tôi không nghĩ có bất kỳ sự bất đồng nào.
Dan L

4

Nó thực sự phụ thuộc vào quá trình xây dựng mô hình của bạn, nhưng tôi thấy bài viết này hữu ích

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

Mấu chốt của những gì được thảo luận ở đây là xu hướng tự do đáng kể (ước tính hiệu suất mô hình sẽ tốt hơn thực tế) sẽ xảy ra nếu bạn chọn mô hình của mình dựa trên cùng một thứ mà bạn đang sử dụng để ước tính hiệu suất của nó. Vì vậy, nếu bạn đang chọn mô hình của mình từ một nhóm các mô hình có thể bằng cách xem xét lỗi xác thực chéo của nó, bạn không nên sử dụng lỗi xác thực chéo (hoặc bất kỳ phương pháp ước tính nội bộ nào khác) để ước tính hiệu suất của mô hình.

Một tài nguyên hữu ích khác là

/stats//a/27751/26589

Bài đăng này đưa ra một ví dụ rõ ràng về cách chọn các tính năng của bạn khi tất cả dữ liệu được "nhìn thấy" sẽ dẫn đến sự thiên vị trong hiệu suất mô hình (nói rằng mô hình của bạn sẽ hoạt động tốt hơn so với thực tế).

Nếu bạn muốn tôi đưa ra một ví dụ cụ thể hơn với những gì bạn làm, có lẽ bạn có thể đưa ra một mô tả chung về các loại mô hình bạn đang xây dựng (bạn có bao nhiêu dữ liệu, bao nhiêu tính năng bạn chọn, mô hình thực tế, v.v.).


Cảm ơn Dan. Đây là tất cả thú vị. Để đơn giản, chúng tôi có thể giả định rằng chúng tôi đang cố gắng ước tính các tham số kernel của một SVM (ví dụ: hạt nhân RBF) để phân loại nhị phân (<~ 10 tham số) và chúng tôi đang làm việc với 100 mẫu (ví dụ 20 dương) từ một dân số lớn.
Amelio Vazquez-Reina

Một vài câu hỏi nhanh. 1) Khi bạn xây dựng các SVM của mình, bạn có cho phép mình chọn một tập hợp con trong số 10 tham số hay bạn luôn sử dụng tất cả các tham số mà bạn đã trao? 2) Bạn có bao giờ xem xét các hạt nhân hoặc mô hình khác nhau (logistic, rừng ngẫu nhiên, v.v.) không? 3) Bạn đang sử dụng phần mềm / gói nào? Được xây dựng trong triển khai xác thực chéo khác nhau và tôi muốn biết bạn đang sử dụng cái nào.
Dan L

Cảm ơn bạn @Dan - Tôi thực hiện tìm kiếm dạng lưới trên các mô hình và tham số (nghĩa là các hạt nhân và tham số khác nhau thông qua tìm kiếm lưới). Đối với mỗi thử nghiệm trong tìm kiếm lưới, tôi thực hiện CV (xác thực chéo K-lần lặp lại). Tôi đang sử dụng scikit-learn.
Amelio Vazquez-Reina

1
Cảm ơn @Dan. Tôi đoán câu hỏi duy nhất còn lại của tôi về xác thực chéo lồng nhau là làm thế nào để chọn mô hình (vì tôi nhận được một mô hình khác nhau trong mỗi nếp gấp của vòng lặp bên ngoài). Tôi thấy không hợp lý khi chọn mô hình có số điểm cao nhất trong vòng ngoài này, vì mô hình chiến thắng ở mỗi lần được đo dựa vào một phần khác nhau của tập dữ liệu.
Amelio Vazquez-Reina

1
Nói rằng bạn có 3 nếp gấp bên ngoài. Điều này có nghĩa là bạn chạy toàn bộ quá trình xây dựng mô hình 3 lần, cung cấp cho bạn ba mô hình khác nhau. Cuối cùng, bạn không sử dụng bất kỳ mô hình nào trong số đó - để có được mô hình cuối cùng của mình, bạn chạy toàn bộ quy trình xây dựng mô hình trên tất cả dữ liệu của mình (ngoại trừ có thể là một bộ đánh giá độc lập). Có vẻ như điều này sẽ dẫn đến tình trạng thừa, nhưng nếu chiến lược xây dựng mô hình của bạn vượt qua, nó cũng sẽ phù hợp với xác nhận chéo bên ngoài, dẫn đến ước tính lỗi cao hơn một cách thích hợp.
Dan L

2

Tôi nghĩ rằng sự hiểu biết của bạn là chính xác, công cụ ước tính tổn thất thu được bằng cách sử dụng một bộ kiểm tra giữ đơn lẻ thường có phương sai cao. Bằng cách thực hiện một cái gì đó như xác thực chéo K-gấp, bạn sẽ có được ý tưởng chính xác hơn về tổn thất, cũng như ý thức phân phối tổn thất.

Thường có sự đánh đổi, CV càng gấp thì ước tính của bạn càng tốt, nhưng cần nhiều thời gian tính toán hơn.


Cảm ơn. Tôi đã thêm một phần nền cho OP để làm rõ hơn câu hỏi của tôi.
Amelio Vazquez-Reina
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.