Xác nhận chéo hoặc bootstrapping để đánh giá hiệu suất phân loại?


24

Phương pháp lấy mẫu thích hợp nhất để đánh giá hiệu suất của bộ phân loại trên một tập dữ liệu cụ thể và so sánh nó với các bộ phân loại khác là gì? Xác thực chéo có vẻ là thông lệ tiêu chuẩn, nhưng tôi đã đọc rằng các phương thức như .632 bootstrap là lựa chọn tốt hơn.

Theo dõi: Việc lựa chọn chỉ số hiệu suất có ảnh hưởng đến câu trả lời không (nếu tôi sử dụng AUC thay vì độ chính xác)?

Mục tiêu cuối cùng của tôi là có thể tự tin nói rằng một phương pháp học máy tốt hơn một phương pháp khác cho một tập dữ liệu cụ thể.


1
Bootstrap (có thể thay thế) có thể được sử dụng trên tập dữ liệu huấn luyện của bạn, thay cho xác thực chéo (lặp lại) k-Fold. Xem thêm: Sự khác nhau giữa xác thực chéo và bootstrapping để ước tính lỗi dự đoán , Hiểu về bootstrapping để xác thực và lựa chọn mô hình .
chl

Câu trả lời:


42

Một điểm khác biệt quan trọng trong cách thông thường là xác thực chéo và phương pháp ngoài bootstrap được áp dụng là hầu hết mọi người chỉ áp dụng xác thực chéo một lần (tức là mỗi trường hợp được kiểm tra chính xác một lần), trong khi xác thực ngoài bootstrap được thực hiện với số lượng lớn lặp đi lặp lại / lặp đi lặp lại. Trong tình huống đó, xác nhận chéo có thể có phương sai cao hơn do sự không ổn định của mô hình. Tuy nhiên, điều đó có thể tránh được bằng cách sử dụng ví dụ xác thực chéo lặp lại / lặp lại . Nếu điều đó được thực hiện, ít nhất là đối với các tập dữ liệu phổ mà tôi đang làm việc, tổng lỗi của cả hai sơ đồ lấy mẫu lại có vẻ giống nhau trong thực tế.k

Xác nhận chéo bỏ qua một lần không được khuyến khích, vì không có khả năng làm giảm phương sai kiểu không ổn định mô hình và có một số phân loại và vấn đề trong đó thể hiện sự thiên vị bi quan rất lớn.

.632 bootstrap thực hiện công việc hợp lý miễn là lỗi lấy mẫu lại được trộn lẫn trong đó không quá thiên vị. (Ví dụ: đối với dữ liệu tôi làm việc với các ma trận rất rộng với nhiều biến thể, nó không hoạt động tốt vì các mô hình có xu hướng bị quá mức nghiêm trọng). Điều này cũng có nghĩa là tôi sẽ tránh sử dụng .632 bootstrap để so sánh các mô hình có độ phức tạp khác nhau. Với .632+ bootstrap tôi không có kinh nghiệm: nếu quá mức xảy ra và được phát hiện đúng, nó sẽ bằng với ước tính hết bootstrap ban đầu, vì vậy tôi gắn bó với xác thực chéo oob hoặc lặp lại / lặp lại cho dữ liệu của mình.

Văn chương:

  • Kohavi, R.: Một nghiên cứu về tính hợp lệ chéo và Bootstrap để ước tính độ chính xác và lựa chọn mô hình Kỷ yếu hội thảo quốc tế nhân tạo lần thứ 14, 20 - 25. Tháng 8 năm 1995, Montréal, Québec, Canada, 1995, 1137 - 1145.
    (một tác phẩm kinh điển )

Dougherty và Braga-Neto có một số ấn phẩm về chủ đề này , vd

Lựa chọn số liệu:

Mục tiêu cuối cùng của tôi là có thể tự tin nói rằng một phương pháp học máy tốt hơn một phương pháp khác cho một tập dữ liệu cụ thể.

  • Sử dụng một bài kiểm tra ghép nối để đánh giá điều đó. Để so sánh tỷ lệ, hãy xem thử nghiệm của McNemar.

  • Câu trả lời cho điều này sẽ bị ảnh hưởng bởi sự lựa chọn số liệu. Vì các biện pháp lỗi kiểu hồi quy không có bước "cứng" trong việc cắt các quyết định có ngưỡng, chúng thường có ít phương sai hơn so với các đối tác phân loại của chúng. Các số liệu như độ chính xác về cơ bản là tỷ lệ sẽ cần số lượng lớn các trường hợp thử nghiệm để thiết lập tính ưu việt của một phân loại so với phân loại khác.

Fleiss: "Phương pháp thống kê tỷ lệ và tỷ lệ" đưa ra ví dụ (và bảng) để so sánh tỷ lệ không ghép đôi . Để cho bạn ấn tượng về ý nghĩa của tôi với "kích thước mẫu khổng lồ", hãy xem hình ảnh trong câu trả lời của tôi cho câu hỏi khác này . Các thử nghiệm được ghép nối như McNemar cần ít trường hợp thử nghiệm hơn, nhưng IIRC vẫn trong trường hợp tốt nhất một nửa (?) Kích thước mẫu cần thiết cho thử nghiệm không ghép cặp.

  • Để mô tả hiệu suất của trình phân loại (đã được làm cứng), bạn thường cần một đường cong làm việc có ít nhất hai giá trị như ROC (độ nhạy so với độ đặc hiệu) hoặc tương tự.
    Tôi hiếm khi sử dụng độ chính xác tổng thể hoặc AUC, vì các ứng dụng của tôi thường có các hạn chế, ví dụ như độ nhạy quan trọng hơn độ đặc hiệu hoặc các giới hạn nhất định đối với các biện pháp này phải được đáp ứng. Nếu bạn sử dụng các đặc điểm tổng hợp "một số", hãy đảm bảo rằng điểm làm việc của các mô hình bạn đang xem thực sự nằm trong một phạm vi hợp lý.

  • Để biết độ chính xác và các biện pháp hiệu suất khác tóm tắt hiệu suất cho một số lớp theo nhãn tham chiếu, hãy đảm bảo rằng bạn tính đến tần suất tương đối của các lớp mà bạn sẽ gặp trong ứng dụng - không nhất thiết giống như trong đào tạo hoặc kiểm tra dữ liệu.

  • Hiệu trưởng, F. et al. : Trường hợp chống lại ước tính chính xác để so sánh các thuật toán cảm ứng trong thủ tục của Hội nghị quốc tế lần thứ mười lăm về học máy, 1998


chỉnh sửa: so sánh nhiều phân loại

Tôi đã suy nghĩ về vấn đề này trong một thời gian, nhưng chưa đi đến một giải pháp (tôi cũng không gặp ai có giải pháp).

Đây là những gì tôi đã có cho đến nay:

Hiện tại, tôi quyết định rằng "tối ưu hóa là gốc rễ của mọi tội lỗi" và thay vào đó là một cách tiếp cận rất khác:
tôi quyết định càng nhiều càng tốt bởi kiến ​​thức chuyên môn về vấn đề trong tay. Điều đó thực sự cho phép thu hẹp mọi thứ khá nhiều, do đó tôi thường có thể tránh so sánh mô hình. Khi tôi phải so sánh các mô hình, tôi cố gắng rất cởi mở và rõ ràng nhắc nhở mọi người về sự không chắc chắn của ước tính hiệu suất và việc so sánh nhiều mô hình đặc biệt là AFAIK vẫn là một vấn đề chưa được giải quyết.


Chỉnh sửa 2: kiểm tra ghép nối

Trong số mô hình, bạn có thể thực hiện so sánh giữa hai mô hình khác nhau (đó là một tình huống so sánh lớn), tôi không biết làm thế nào cho đúng. Tuy nhiên, cặp1n12(n2n)của thử nghiệm chỉ đề cập đến thực tế là vì tất cả các mô hình đều được thử nghiệm với cùng một trường hợp thử nghiệm, bạn có thể chia các trường hợp thành các trường hợp "dễ" và "khó" một mặt, trong đó tất cả các mô hình đều đến đúng (hoặc sai) dự đoán. Họ không giúp phân biệt giữa các mô hình. Mặt khác, có những trường hợp "thú vị" được dự đoán chính xác bởi một số người, nhưng không phải bởi các mô hình khác. Chỉ những trường hợp "thú vị" này mới cần được xem xét để đánh giá sự vượt trội, cả những trường hợp "dễ" hay "khó" đều không giúp được điều đó. (Đây là cách tôi hiểu ý tưởng đằng sau bài kiểm tra của McNemar).

Đối với việc so sánh nhiều lần giữa các mô hình , tôi đoán một vấn đề là trừ khi bạn rất may mắn, càng nhiều mô hình bạn so sánh càng ít trường hợp bạn sẽ có thể loại trừ khỏi các cân nhắc thêm: ngay cả khi tất cả các mô hình đều thực sự bằng nhau hiệu suất tổng thể, ngày càng ít có khả năng một trường hợp kết thúc luôn được dự đoán chính xác (hoặc luôn luôn sai) bởi mô hình.nnn


Cảm ơn bạn đã trả lời chi tiết! Tôi thực sự đánh giá cao nếu bạn có thể giải thích rõ về điểm bạn đã thực hiện: " Sử dụng bài kiểm tra được ghép nối để đánh giá điều đó. Để so sánh tỷ lệ, hãy xem thử nghiệm của McNemar. " Tôi nên viết lại câu hỏi của mình: Tôi muốn so sánh một số máy phương pháp học cùng một lúc, không nhất thiết chỉ là cặp. Tôi không rõ ngay lập tức làm thế nào các bài kiểm tra ghép có thể thực hiện điều này.
kelvin_11

3
(+6) Phản hồi tốt đẹp.
chl

@cbeleites Tôi yêu bạn cho nhận xét này. Đối với tầm quan trọng của so sánh nhiều mô hình - còn phân tích phương pháp phương sai (ANOVA) thì sao? chẳng hạn như Kruskal Kiếm Wallis ?
Serendipity

1
@Serendipity: Tôi thực sự không biết đủ về Kruskal-Wallis để cho bạn câu trả lời ở đây. Nhưng tôi nghi ngờ rằng các phương thức giống ANOVA không phải là điều mong muốn ở đây vì (1) nó không sử dụng tính chất được ghép nối của dữ liệu và (2) nó có được sức mạnh so với nhiều so sánh vì giả thuyết null chỉ là "tất cả các mô hình thực hiện bình đẳng" - nếu đó bị từ chối, bạn vẫn không biết đó thuật toán (s) thực hiện khác nhau. Vì vậy, nó chỉ có thể được sử dụng để nhấn mạnh kết quả tiêu cực (không quan trọng bạn chọn thuật toán nào). Tôi nghi ngờ rằng có một khu vực rộng lớn, nơi ANOVA nói với bạn không phải tất cả các mô hình ...
cbeleites hỗ trợ Monica

... là bằng nhau nhưng bạn không có đủ thông tin để cho phép nhiều so sánh cần thiết để xác định các mô hình tốt hơn.
cbeleites hỗ trợ Monica

6

Bạn cần sửa đổi bootstrap (.632, .632+) chỉ vì nghiên cứu ban đầu sử dụng quy tắc chấm điểm không liên tục (tỷ lệ được phân loại chính xác). Đối với các điểm chính xác khác, bootstrap lạc quan thông thường có xu hướng hoạt động tốt. Để biết thêm thông tin, hãy xem http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

Quy tắc chấm điểm không đúng sẽ đánh lừa bạn về việc lựa chọn các tính năng và trọng lượng của chúng. Nói cách khác, mọi thứ có thể sai sẽ đi sai.


4

Từ 'Mô hình dự đoán ứng dụng., Khun. Johnson . tr.78

"Không có phương pháp lấy mẫu nào tốt hơn phương pháp khác, nên lựa chọn trong khi xem xét một số yếu tố. Nếu kích thước mẫu nhỏ, chúng tôi khuyên bạn nên sử dụng xác thực chéo 10 lần lặp lại vì nhiều lý do, các đặc tính sai lệch và sai lệch là tốt, và được đưa ra Kích thước mẫu, chi phí tính toán không lớn. Nếu mục tiêu là lựa chọn giữa các mô hình, trái ngược với việc có được chỉ số hiệu suất tốt nhất, trường hợp mạnh có thể được thực hiện để sử dụng một trong các quy trình bootstrap vì chúng có phương sai rất thấp. Đối với kích thước mẫu lớn, sự khác biệt giữa các phương pháp lấy mẫu lại trở nên ít rõ rệt hơn và hiệu quả tính toán tăng hiệu suất. " tr. 78

Ngoài ra, với sự lựa chọn của hai kết quả tương tự, mô hình dễ hiểu hơn thường được ưa thích hơn. Lấy ví dụ (từ cùng một văn bản), sử dụng 10 lần CV, bộ phân loại SVM có ước tính chính xác 75% với kết quả lấy mẫu lại từ 66 đến 82%. Các tham số tương tự đã được sử dụng trên một bộ phân loại hồi quy logistic với độ chính xác 74,9% và cùng một phạm vi mẫu. Mô hình hồi quy logistic đơn giản hơn có thể được ưa thích vì dễ diễn giải kết quả hơn.


4
Lưu ý rằng phương sai bạn có thể giảm bằng cách chạy số lượng lớn các lần lặp / lặp lại xác thực chéo / bootstrap chỉ là một phần của phương sai xuất phát từ sự không ổn định của các mô hình thay thế. Bạn có thể đo xem đây có phải là đóng góp chính cho tổng phương sai hay không bằng cách xác thực chéo vì nó kiểm tra chính xác từng mẫu trong mỗi lần chạy, do đó, phương sai do kích thước mẫu hữu hạn không hiển thị trong so sánh trung bình của các lần xác thực chéo hoàn chỉnh . Để phân loại "cứng", bạn có thể tính toán phương sai do kích thước mẫu hữu hạn từ phân phối nhị thức.
cbeleites hỗ trợ Monica

@cbeleites: Bạn có thể vui lòng giải thích một chút ý của bạn bằng cách "nó kiểm tra từng mẫu chính xác một lần trong mỗi lần chạy, do đó phương sai do kích thước mẫu hữu hạn không hiển thị khi so sánh trung bình của các lần chạy xác thực chéo hoàn chỉnh." (tài liệu tham khảo cũng tốt!) (+1 rõ ràng)
usεr11852 nói Phục hồi Monic

@ usεr11852: mỗi trường hợp được kiểm tra chính xác một lần cho mỗi lần xác thực chéo. Hãy tưởng tượng một bảng kết quả chạy CV n_sample xr. Nếu chúng ta có dự đoán ổn định , tất cả các dự đoán r cho cùng một trường hợp là như nhau. Tức là không có phương sai dọc theo các hàng. Nhưng các trường hợp khác nhau có thể nhận được các dự đoán khác nhau (trừ khi chúng tôi có độ chính xác 100%): chúng tôi có phương sai dọc theo các thuộc địa. Bây giờ đánh giá tiêu chuẩn của định giá chéo lặp / lặp lại là để so sánh trung bình cột. Đối với mô hình ổn định, đây là những giống hệt nhau, mặc dù chúng tôi làm có sai dọc theo cột, tức là giữa các trường hợp.
cbeleites hỗ trợ Monica

(Nếu các mô hình / dự đoán không ổn định, chúng tôi sẽ nhận được các dự đoán khác nhau bởi các mô hình thay thế khác nhau và cũng thấy phương sai dọc theo các hàng. ) Vì vậy, để đo độ ổn định của mô hình / dự đoán (trong), có thể còn trực tiếp hơn khi đi trực tiếp cho phương sai dọc theo các hàng, tức là phương sai của các dự đoán của các mô hình thay thế khác nhau cho cùng một trường hợp.
cbeleites hỗ trợ Monica

1
@cbeleites: Cảm ơn bạn rất nhiều vì đã làm rõ. Bây giờ tôi có thể đánh giá cao điểm bạn đang làm nhiều hơn.
usεr11852 nói Phục hồi Monic
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.