Ước tính phương sai trong xác nhận chéo k-gấp


27

Xác thực chéo K-Fold có thể được sử dụng để ước tính khả năng khái quát hóa của một bộ phân loại nhất định. Tôi có thể (hoặc tôi) cũng có thể tính toán phương sai gộp từ tất cả các lần xác thực để có được ước tính tốt hơn về phương sai của nó không?

Nếu không, tại sao?

Tôi đã tìm thấy các giấy tờ sử dụng độ lệch chuẩn gộp trong các lần xác thực chéo . Tôi cũng đã tìm thấy các bài báo nói rõ rằng không có công cụ ước tính phổ quát cho phương sai xác nhận . Tuy nhiên, tôi cũng đã tìm thấy các bài báo cho thấy một số ước tính phương sai cho lỗi tổng quát hóa (tôi vẫn đang đọc và cố gắng hiểu điều này). Mọi người thực sự làm gì (hoặc báo cáo) trong thực tế?

EDIT: Khi CV được sử dụng để đo lỗi phân loại thô (nghĩa là một mẫu đã được dán nhãn chính xác hoặc không có, ví dụ: đúng hoặc sai) thì có thể không có ý nghĩa gì khi nói về phương sai gộp. Tuy nhiên, tôi đang nói về trường hợp thống kê mà chúng tôi đang ước tính có một phương sai được xác định. Vì vậy, đối với một nếp gấp nhất định, chúng ta có thể kết thúc bằng cả giá trị cho ước tính thống kê và phương sai. Có vẻ không đúng khi loại bỏ thông tin này và chỉ xem xét thống kê trung bình. Và trong khi tôi nhận thức được rằng tôi có thể xây dựng ước tính phương sai bằng các phương thức bootstrap, (nếu tôi không sai lắm) làm như vậy vẫn sẽ bỏ qua các phương sai gấp và chỉ xem xét các ước tính thống kê (cộng với yêu cầu nhiều khả năng tính toán hơn).


Bạn đã tính toán phương sai xem xét hai cách có thể để xem liệu chúng có khác nhau nhiều không?
zeferino

Vâng, tôi đã làm. Trong một số thí nghiệm, có một sự thay đổi về thứ tự cường độ giữa phương sai và phương sai gộp cho các mẫu đào tạo. Không có nhiều sự khác biệt cho các mẫu xác nhận. Những thay đổi lớn hơn dường như được liên kết với các mô hình ít chính xác hơn.
Cesar

1
@Cesar: quan sát tốt: mô hình của bạn rất không ổn định (phương sai cao giữa các lần lặp). Trong phân loại (trừ khi phân loại kém hơn đoán), dự đoán không ổn định sẽ dẫn đến dự đoán sai. Một suy nghĩ minh họa cho điều đó là một sai lệch so với dự đoán đúng sẽ luôn luôn theo hướng "sai", không có quá cao sẽ hủy bỏ với mức quá thấp.
cbeleites hỗ trợ Monica

1
@cbeleites: điều này sẽ không được mong đợi sau đó, vì những thay đổi lớn về phương sai xảy ra chủ yếu với các mô hình có tỷ lệ lỗi cao hơn? Nhân tiện, cập nhật tốt đẹp về câu trả lời của bạn. Tôi vẫn phải đọc nó cẩn thận hơn, nhưng tôi đã rất biết ơn. Cảm ơn.
Cesar

1
@Carar: Thx. Chắc chắn rằng nó được mong đợi, một cách ít minh họa hơn để nói rằng đó là công thức phương sai cho tỷ lệ (xem câu trả lời của tôi): tỷ lệ lỗi thực sự càng cao, phương sai càng thấp, phương sai tối đa ở tỷ lệ lỗi = 50%.
cbeleites hỗ trợ Monica

Câu trả lời:


13

Câu hỏi rất thú vị, tôi sẽ phải đọc các giấy tờ bạn đưa ra ... Nhưng có lẽ điều này sẽ bắt đầu cho chúng tôi theo hướng trả lời:

Tôi thường giải quyết vấn đề này theo một cách rất thực tế: Tôi lặp lại xác nhận chéo k-lần với các phân tách ngẫu nhiên mới và tính hiệu suất như bình thường cho mỗi lần lặp. Các mẫu thử nghiệm tổng thể sau đó giống nhau cho mỗi lần lặp và sự khác biệt đến từ các phân chia dữ liệu khác nhau.

Điều này tôi báo cáo, ví dụ như phần trăm thứ 5 đến 95 của wrt hiệu suất quan sát được. trao đổi lên đến mẫu cho các mẫu mới và thảo luận về nó như một thước đo cho sự không ổn định của mô hình.nk-1

Lưu ý bên lề: Dù sao tôi cũng không thể sử dụng các công thức cần cỡ mẫu. Vì dữ liệu của tôi được phân cụm hoặc phân cấp theo cấu trúc (nhiều phép đo tương tự nhưng không lặp lại của cùng một trường hợp, thường là một vài [trăm] vị trí khác nhau của cùng một mẫu) Tôi không biết cỡ mẫu hiệu quả.

so sánh với bootstrapping:

  • Lặp lại sử dụng phân chia ngẫu nhiên mới.

  • sự khác biệt chính là lấy mẫu lại bằng (bootstrap) hoặc không có (cv) thay thế.

  • chi phí tính toán là như nhau, vì tôi không chọn các lần lặp của cv không có các lần lặp bootstrap / k, tức là tính tổng số không có mô hình.

  • bootstrap có lợi thế hơn cv về một số thuộc tính thống kê (không chính xác về mặt triệu chứng, có thể bạn cần ít lần lặp hơn để có được ước tính tốt)

  • tuy nhiên, với cv bạn có lợi thế là bạn được đảm bảo rằng

    • số lượng mẫu đào tạo riêng biệt là giống nhau cho tất cả các mô hình (quan trọng nếu bạn muốn tính toán các đường cong học tập)
    • mỗi mẫu được kiểm tra chính xác một lần trong mỗi lần lặp
  • Một số phương pháp phân loại sẽ loại bỏ các mẫu lặp đi lặp lại, vì vậy bootstrapping không có ý nghĩa

Phương sai cho hiệu suất

câu trả lời ngắn gọn: có ý nghĩa khi nói về phương sai trong tình huống chỉ tồn tại kết quả {0,1}.

Hãy xem phân phối nhị thức (k = thành công, n = kiểm tra, p = xác suất thành công thực sự = trung bình k / n):

σ2(k)= =np(1-p)

pp^

  • Fleiss: Phương pháp thống kê tỷ lệ và tỷ lệ
  • Forthofer và Lee: Biostatistic có phần giới thiệu rất hay.

p^= =kn

σ2(p^)= =p(1-p)n

Điều này có nghĩa là độ không đảm bảo để đo hiệu suất phân loại chỉ phụ thuộc vào hiệu suất p thực của mô hình được thử nghiệm và số lượng mẫu thử.

Trong xác nhận chéo bạn giả định

  1. rằng các mô hình k "thay thế" có hiệu suất thực sự giống như mô hình "thực" mà bạn thường xây dựng từ tất cả các mẫu. (Sự đổ vỡ của giả định này là xu hướng bi quan nổi tiếng).

  2. rằng các mô hình k "thay thế" có cùng hiệu suất thực (tương đương, có dự đoán ổn định), vì vậy bạn được phép gộp kết quả của các thử nghiệm k.
    Tất nhiên sau đó, không chỉ các mô hình k "thay thế" của một lần lặp của cv có thể được gộp chung mà các mô hình ki của các lần lặp của cv k-Fold.

Tại sao lặp lại?

Điều chính mà các phép lặp nói với bạn là sự không ổn định của mô hình (dự đoán), tức là phương sai của các dự đoán của các mô hình khác nhau cho cùng một mẫu.

p^

Và vâng, đây là thông tin quan trọng.

nbootStrmộtpkntôiter. cvn-1nσ2(p^)= =p(1-p)n

pknp^n

Nếu bạn quan sát sự không ổn định của mô hình, trung bình gộp là ước tính tốt hơn về hiệu suất thực sự. Phương sai giữa các lần lặp là một thông tin quan trọng và bạn có thể so sánh nó với phương sai tối thiểu dự kiến ​​cho một tập kiểm tra có kích thước n với hiệu suất trung bình hiệu suất thực trên tất cả các lần lặp.


Bạn lặp lại với các phân chia ngẫu nhiên mới, với sự thay thế, như trong bootstrap? Hoặc bạn lặp lại xác nhận chéo k-nhiều lần? Điều này thật thú vị, vì nó không giống bootstrap nhưng có thể hoạt động như vậy. Nhưng bạn thực hiện bao nhiêu bản sao? Điều này có thể nhận được rất tốn kém dễ dàng.
Cesar

@Cesar: nó rất giống với bootstrap, xem câu trả lời mở rộng.
cbeleites hỗ trợ Monica

Làm thế nào để CV để lại "cùng một số mẫu đào tạo riêng biệt" cho mỗi mô hình, nhưng bootstrapping thì không? Tôi không tuân theo, vì CV "sao chép dữ liệu" là một sự kết hợp khác nhau của các quan sát - làm thế nào chúng có thể cung cấp cùng một số lượng quan sát khác nhau? Có lẽ bạn đang giả định rằng mỗi bản ghi là khác biệt trong tập huấn luyện ban đầu?
xác suất

@probabilityislogic: bộ dữ liệu sao chép CV nhỏ hơn bộ dữ liệu gốc. Do đó, các bản sao khác nhau như vậy có thể được tạo ra ngay cả khi lấy mẫu lại mà không cần thay thế. Lấy mẫu lại với sự thay thế, bạn có thể vẽ cùng một bản ghi nhiều lần. Do đó, số lượng hồ sơ duy nhất có thể thay đổi. Vâng, tôi giả sử các hồ sơ gốc là khác biệt. Để giữ tính độc lập thống kê vốn rất quan trọng đối với nhiều ứng dụng, việc lấy mẫu lại phải được thực hiện ở mức cao nhất của hệ thống phân cấp dữ liệu. (Ví dụ: tôi làm việc với dữ liệu bệnh nhân với hàng trăm hàng cho mỗi bệnh nhân => lấy mẫu lại bệnh nhân)
cbeleites hỗ trợ Monica

1
n

1

Hãy nhớ CV chỉ là ước tính và không bao giờ có thể biểu thị lỗi tổng quát hóa 'thực'. Tùy thuộc vào kích thước mẫu của bạn (sẽ ảnh hưởng đến số lần gấp hoặc kích thước nếp gấp của bạn), bạn có thể bị hạn chế nghiêm trọng về khả năng tính toán bất kỳ ước tính tham số nào về phân phối lỗi tổng quát. Theo ý kiến ​​của tôi (và tôi đã thấy nó có ý nghĩa trong các sách giáo khoa khác nhau, Discovery Discovery Discovery với Support Vector Machines'-Lutz Hamel), bạn có thể thực hiện một số biến thể CV khởi động để ước tính phân phối lỗi tổng quát hóa, nhưng là một tiêu chuẩn 10- 1 (ví dụ) một lần tắt CV sẽ không cung cấp cho bạn đủ điểm dữ liệu để suy luận về lỗi gen thực sự. Bootstrapping yêu cầu bạn lấy nhiều mẫu thay thế từ bài kiểm tra đào tạo / kiểm tra / val của bạn một cách hiệu quả khi thực hiện nhiều bài kiểm tra CV (ví dụ 1000 hoặc hơn) 10-1 (hoặc bất cứ điều gì). Sau đó, bạn lấy phân phối trung bình mẫu của mình cho mỗi thử nghiệm CV làm ước tính phân phối lấy mẫu trung bình cho dân số lỗi CV và từ đó bạn có thể ước tính các tham số phân phối, nghĩa là trung bình, trung bình, tối thiểu Q1 Q1, v.v ... Đó là một chút công việc, và theo tôi chỉ thực sự cần thiết nếu ứng dụng của bạn đủ quan trọng / đủ rủi ro để đảm bảo công việc làm thêm. tức là có lẽ trong một môi trường tiếp thị mà doanh nghiệp chỉ đơn giản là hạnh phúc để trở nên tốt hơn ngẫu nhiên thì có thể không cần thiết. NHƯNG nếu bạn đang cố gắng đánh giá phản ứng của bệnh nhân với các loại thuốc có nguy cơ cao hoặc dự đoán thu nhập kỳ vọng cho các khoản đầu tư lớn, bạn có thể thận trọng để thực hiện nó.


Đó là một ước tính, nhưng vì vậy có thể nói về hầu như bất kỳ việc sử dụng một thống kê. Tuy nhiên, khi mỗi nếp gấp đã có ước tính phương sai, có vẻ không đúng để loại bỏ thông tin này. Tôi đã cập nhật câu hỏi với sự làm rõ.
Cesar

Có lẽ tôi không nhận được nó. Tôi không thực sự hiểu lý do tại sao bạn đang đau đớn về phương sai của một lần duy nhất?
clancy

Chạy một CV 10 lần không hẳn là rẻ đối với vấn đề cụ thể mà tôi đang cố gắng giải quyết. Bạn đã đúng Tôi có thể ước tính phương sai bằng cách lấy nhiều mẫu thay thế như trong bootstrap. Nhưng lấy một số lượng lớn CV, thậm chí vài trăm, có thể rất không thực tế trong trường hợp của tôi. Tôi đang tìm cách (nếu có) để kết hợp các ước tính phương sai nếp gấp riêng lẻ để tôi ít nhất có thể giảm số lượng mẫu bootstrap cần thiết. Và bên cạnh đó, sự tò mò.
Cesar

à được rồi. Có lẽ sau đó phương sai của mỗi lần trong 10 lần có nghĩa là từ trung bình của nếp gấp tổng thể sẽ là một biến ngẫu nhiên được chọn từ phân phối lấy mẫu cho phương sai ... (mà tôi nghĩ là một khoảng cách chi hoặc F dist)
clancy

@clancy: với 10-1, bạn có nghĩa là một cv rời khỏi cho n = 10 mẫu? Lưu ý rằng đối với các lần lặp lại không có ý nghĩa.
cbeleites hỗ trợ Monica
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.