Quy trình để xác thực bootstrap của cải thiện (hay còn gọi là xác định lại cách xác thực chéo) là gì?


15

"Xác thực Bootstrap" / "xác thực lại xác thực chéo" là mới đối với tôi, nhưng đã được thảo luận bởi câu trả lời cho câu hỏi này . Tôi thu thập nó bao gồm 2 loại dữ liệu: dữ liệu thực và dữ liệu mô phỏng, trong đó một tập hợp dữ liệu mô phỏng nhất định được tạo từ dữ liệu thực bằng cách lấy mẫu lại với thay thế cho đến khi dữ liệu mô phỏng có cùng kích thước với dữ liệu thực. Tôi có thể nghĩ ra hai cách tiếp cận để sử dụng các kiểu dữ liệu đó: (1) phù hợp với mô hình một lần, đánh giá nó nhiều lần trên nhiều tập dữ liệu mô phỏng; (2) phù hợp với mô hình nhiều lần bằng cách sử dụng từng bộ dữ liệu mô phỏng, mỗi lần đánh giá mô hình đó với dữ liệu thực. Mà (nếu một trong hai) là tốt nhất?

Câu trả lời:


20

Câu trả lời ngắn: Cả hai kỹ thuật xác nhận liên quan đến đào tạo và thử nghiệm một số mô hình.

Câu trả lời dài về cách làm điều đó tốt nhất: Điều đó tất nhiên phụ thuộc. Nhưng đây là một số suy nghĩ mà tôi sử dụng để hướng dẫn các quyết định của mình về việc lấy lại xác nhận. Tôi là nhà hóa học, vì vậy những chiến lược này và cả các thuật ngữ có liên quan ít nhiều đến các vấn đề hóa học phân tích.

Để giải thích suy nghĩ của tôi một chút, tôi nghĩ về việc xác nhận là đo lường chất lượng mô hình và đào tạo như đo các tham số mô hình - điều này dẫn đến sự tương tự khá mạnh mẽ với mọi loại phép đo khác.

Có hai quan điểm khác nhau đối với các phương pháp này đối với việc xác nhận:

  1. một quan điểm truyền thống để xác thực lại việc lấy mẫu lại là: tập dữ liệu được lấy mẫu lại (đôi khi được gọi là tập dữ liệu thay thế hoặc tập hợp con) thực tế giống như tập dữ liệu gốc (thực).
    Do đó, một "mô hình thay thế" phù hợp với tập dữ liệu thay thế trên thực tế giống như mô hình phù hợp với toàn bộ tập dữ liệu thực. Nhưng một số mẫu bị bỏ ngoài bộ dữ liệu thay thế, mô hình độc lập với những mẫu này. Do đó, tôi lấy các mẫu còn lại hoặc ngoài bootstrap làm bộ xác thực độc lập cho mô hình thay thế và sử dụng kết quả làm xấp xỉ mô hình toàn dữ liệu.
    Tuy nhiên, mô hình thay thế thường không thực sự tương đương với toàn bộ mô hình dữ liệu: ít mẫu được sử dụng cho đào tạo (ngay cả đối với bootstrap, số lượng mẫu khác nhau ít hơn). Chừng nào đường cong học tập ngày càng tăng, mô hình thay thế trung bình kém hơn một chút so với mô hình toàn dữ liệu. Đây là xu hướng bi quan nổi tiếng về xác thực lấy mẫu lại (nếu bạn kết thúc với xu hướng lạc quan, đó thường là một chỉ báo cho thấy bộ kiểm tra bên trái / oob không độc lập với mô hình).

  2. Quan điểm thứ hai là tập dữ liệu được ghép lại là phiên bản nhiễu của toàn bộ tập dữ liệu. Kiểm tra các mô hình thay thế (hoặc dự đoán của chúng cho các mẫu bên trái / oob) khác với mô hình toàn dữ liệu sau đó cho biết điều gì đó về tính ổn định của mô hình đối với dữ liệu huấn luyện.
    Từ quan điểm này, các mô hình thay thế là một cái gì đó giống như các phép đo lặp đi lặp lại. Nói rằng nhiệm vụ của bạn là đo hàm lượng một số khoáng chất của cả một đoàn quặng. Quặng không đồng nhất. Vì vậy, bạn lấy mẫu vật lý từ các địa điểm khác nhau và sau đó xem xét nội dung tổng thể và biến thể của nó trên tàu. Tương tự, nếu bạn nghĩ rằng mô hình của bạn có thể không ổn định, bạn có thể xem hiệu suất và biến thể tổng thể của các mô hình thay thế.

n
Tôi thường lấy mẫu lại các trường hợp, ví dụ một trường hợp = tất cả các phép đo của một bệnh nhân. Sau đó, tất cả các bệnh nhân không có phép đo nào xảy ra trong dữ liệu huấn luyện. Điều này hữu ích nếu bạn biết rằng các phép đo của một trường hợp tương tự nhau so với các phép đo của các trường hợp khác (hoặc ít nhất bạn không thể loại trừ khả năng này).

Không phải việc xác nhận lại mẫu cho phép bạn đo hiệu suất cho các mẫu chưa biết . Ngoài ra, nếu bạn muốn đo hiệu suất cho các mẫu không xác định trong tương lai (độ trôi của dụng cụ!), Thì bạn cần một bộ thử nghiệm được đo "trong tương lai", tức là một thời gian nhất định sau khi tất cả các mẫu đào tạo được đo. Trong hóa học phân tích, điều này là cần thiết, ví dụ nếu bạn muốn tìm hiểu tần suất bạn cần làm lại việc hiệu chuẩn thiết bị của mình (đối với mỗi quyết định, hàng ngày, hàng tuần, hàng tháng, ...)

Bootstrap so với thuật ngữ xác nhận chéo :

  • lấy mẫu lại với sự thay thế thường được gọi là bootstrap,
  • lấy mẫu lại mà không thay thế xác nhận chéo.

Cả hai có thể có một số loại phân tầng. Trong lịch sử, việc phân tách để xác thực chéo (ít nhất là trong hóa học) thường được thực hiện theo kiểu không ngẫu nhiên, ví dụ: xác thực chéo 3 lần của mẫu abcabc..abc (bộ dữ liệu được sắp xếp wrt. Kết quả) để hiệu chuẩn / hồi quy nếu bạn có rất ít trường hợp (mẫu vật lý) và bạn muốn đảm bảo rằng toàn bộ phạm vi dữ liệu của bạn được bảo hiểm.

Cả hai kỹ thuật thường được lặp đi lặp lại / lặp đi lặp lại một số lần. Một lần nữa vì lý do lịch sử và ít nhất là trong hóa học, xác thực chéo k thường có nghĩa là đào tạo và kiểm tra các mô hình k (mỗi mô hình được kiểm tra với 1 / kth dữ liệu không liên quan đến đào tạo). Nếu việc phân tách ngẫu nhiên như vậy được lặp lại, mọi người gọi đó là xác nhận chéo hoặc lặp lại.

kknnn

  • Lưu ý rằng bootstrap không phù hợp với một số kỹ thuật phù hợp mô hình trước tiên loại bỏ các phép đo trùng lặp.
  • Một số biến thể của bootstrap tồn tại, ví dụ: .632-bootstrap và .632 + -bootstrap

kk


Câu trả lời dài là tốt đẹp.
Momo

(+1) viễn cảnh tuyệt vời. Tôi khá chắc chắn rằng thuật ngữ thay thế sẽ gắn bó.
steffen

@steffen, cảm ơn. Tôi không phải là người phát minh ra thuật ngữ này. Tôi nghĩ rằng lần đầu tiên tôi gặp trong một số bài báo của U. Braga-Neto (có thể là bài này: ncbi.nlm.nih.gov/pubmed/14960464 ) nhưng ngay lập tức tôi đã bị thuyết phục về thuật ngữ này ...
cbeleites ủng hộ Monica

Về nhận xét trong câu hỏi về dữ liệu mô phỏng. Bootstrap per se không liên quan đến dữ liệu mô phỏng. Dữ liệu mô phỏng sẽ được sử dụng như một cách để đánh giá liệu phương thức bootstrap có hoạt động trên một vấn đề cụ thể hay không. Nhưng bản thân bootstrap chỉ là việc sử dụng lại dữ liệu dựa trên mẫu bootstrap. Các mẫu được chọn ngẫu nhiên với sự thay thế từ bộ dữ liệu gốc. Điều này thường liên quan đến việc lấy n mẫu trong đó n là kích thước của mẫu ban đầu. Monte Carlo tham gia như một cách để xấp xỉ phân phối bootstrap bằng cách thực sự tạo các mẫu bootstrap trên máy tính.
Michael R. Chernick

3

Tôi không biết về "tốt nhất" (có thể phụ thuộc vào việc bạn sử dụng nó để làm gì), nhưng tôi sử dụng xác thực bootstrap để ước tính lỗi trên dữ liệu mới theo cách sau (cách thứ ba nếu bạn muốn):

  1. Vẽ tập huấn luyện các quan sát N từ dữ liệu gốc (có kích thước N) thay thế.
  2. Lắp mô hình vào dữ liệu đào tạo.
  3. Đánh giá mô hình trên các mẫu xuất túi (oob)

Những gì trong túi không phải lúc nào cũng được xác định rõ ràng. Thường thì đó là tất cả những quan sát không phải là một phần của tập huấn luyện. Càng chặt chẽ hơn (tôi sử dụng nó theo cách này) để chỉ quan sát trong mẫu oob có hiện thực hóa toàn bộ vectơ dự đoán không phải là một phần của tập huấn luyện (đặc biệt hữu ích nếu bạn có nhiều yếu tố). Thậm chí chặt chẽ hơn là sử dụng một mẫu oob chỉ chứa những quan sát có nhận thức khác nhau về biến dự đoán trên các yếu tố dự đoán được chọn trong mô hình (đặc biệt hữu ích nếu mô hình được tìm thấy với một số quy trình chọn biến, ví dụ như cây).

Sau đó, tôi thường lặp lại số k lần này và tổng hợp kết quả qua các k lần (trung bình hoặc trung bình hoặc bất kỳ thống kê nào là tiện dụng). Mô hình được chọn theo cách này sau đó có thể được gắn vào tập dữ liệu tổng thể (như trong tùy chọn 2 của bạn) để đánh giá bổ sung nếu vẫn có xu hướng phù hợp (biện pháp hiệu suất không nên quá xa so với các mẫu bootstrap).

Nếu tôi có nhiều mô hình hoặc lưới tham số hoặc tương tự, tôi khớp tất cả chúng với từng tập huấn luyện và đánh giá tất cả chúng trên mỗi mẫu oob. Cũng có thể không sử dụng tập huấn luyện hai lần, nhưng đối với mọi mô hình hoặc kết hợp tham số điều chỉnh để vẽ một cặp huấn luyện / oob mới.

Xem ví dụ: Thiết kế và phân tích các thí nghiệm điểm chuẩ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.