Làm thế nào bạn sẽ mô tả xác thực chéo cho ai đó mà không có nền tảng phân tích dữ liệu?
Làm thế nào bạn sẽ mô tả xác thực chéo cho ai đó mà không có nền tảng phân tích dữ liệu?
Câu trả lời:
Hãy xem xét tình huống sau:
Tôi muốn bắt tàu điện ngầm để đi đến văn phòng của tôi. Kế hoạch của tôi là đi xe, đỗ tàu điện ngầm và sau đó đi tàu đến văn phòng của tôi. Mục tiêu của tôi là bắt chuyến tàu lúc 8h15 mỗi ngày để tôi có thể đến văn phòng đúng giờ. Tôi cần phải quyết định như sau: (a) thời gian tôi cần rời khỏi nhà và (b) tuyến đường tôi sẽ đi để đến ga.
Trong ví dụ trên, tôi có hai tham số (nghĩa là thời gian khởi hành từ nhà và tuyến đường để đến ga) và tôi cần chọn các tham số này để tôi đến trạm trước 8,15 sáng.
Để giải quyết vấn đề trên, tôi có thể thử các bộ 'tham số' khác nhau (nghĩa là kết hợp thời gian khởi hành và lộ trình khác nhau) vào Thứ Hai, Thứ Tư và Thứ Sáu, để xem kết hợp nào là 'kết hợp tốt nhất'. Ý tưởng là một khi tôi đã xác định được sự kết hợp tốt nhất tôi có thể sử dụng nó mỗi ngày để tôi đạt được mục tiêu của mình.
Vấn đề quá mức
Vấn đề với cách tiếp cận ở trên là tôi có thể phù hợp với điều đó về cơ bản có nghĩa là sự kết hợp tốt nhất mà tôi xác định có thể theo một cách nào đó có thể là duy nhất đối với Thứ Hai, Thứ Tư và Thứ Sáu và sự kết hợp đó có thể không hoạt động cho Tuệ và Thu. Quá mức có thể xảy ra nếu trong tìm kiếm của tôi về sự kết hợp tốt nhất giữa thời gian và tuyến đường, tôi khai thác một số khía cạnh của tình huống giao thông vào Thứ Hai / Thứ Tư / Thứ Sáu không xảy ra trên Tue và Thu.
Một giải pháp cho việc quá mức: Xác thực chéo
Xác nhận chéo là một giải pháp để vượt quá. Ý tưởng là một khi chúng tôi đã xác định được sự kết hợp tốt nhất của các tham số (trong trường hợp và thời gian của chúng tôi), chúng tôi sẽ kiểm tra hiệu suất của bộ tham số đó trong một bối cảnh khác. Do đó, chúng tôi có thể muốn thử nghiệm trên Tuệ và Thu để đảm bảo rằng các lựa chọn của chúng tôi cũng hoạt động cho những ngày đó.
Mở rộng sự tương tự để thống kê
Trong thống kê, chúng tôi có một vấn đề tương tự. Chúng tôi thường sử dụng một bộ dữ liệu hạn chế để ước tính các tham số chưa biết mà chúng tôi không biết. Nếu chúng ta quá phù hợp thì ước tính tham số của chúng ta sẽ hoạt động rất tốt cho dữ liệu hiện có nhưng cũng không tốt khi chúng ta sử dụng chúng trong bối cảnh khác. Do đó, xác thực chéo giúp tránh vấn đề quá mức ở trên bằng cách chứng minh cho chúng tôi một số đảm bảo rằng các ước tính tham số không phải là duy nhất cho dữ liệu chúng tôi sử dụng để ước tính chúng.
Tất nhiên, xác nhận chéo là không hoàn hảo. Quay trở lại ví dụ về tàu điện ngầm của chúng tôi, có thể xảy ra rằng ngay cả sau khi xác thực chéo, lựa chọn tham số tốt nhất của chúng tôi có thể không hoạt động trong một tháng vì các vấn đề khác nhau (ví dụ: xây dựng, lưu lượng giao thông thay đổi theo thời gian, v.v.).
Tôi nghĩ rằng điều này được mô tả tốt nhất với hình ảnh sau đây (trong trường hợp này hiển thị xác thực chéo k-Fold):
Xác thực chéo là một kỹ thuật được sử dụng để bảo vệ chống lại quá mức trong một mô hình dự đoán, đặc biệt trong trường hợp số lượng dữ liệu có thể bị hạn chế. Trong xác thực chéo, bạn tạo một số lần cố định (hoặc phân vùng) dữ liệu, chạy phân tích trên mỗi lần và sau đó tính trung bình ước tính lỗi tổng thể.
"Tránh học dữ liệu đào tạo của bạn bằng cách đảm bảo mô hình được đào tạo thực hiện tốt trên dữ liệu độc lập."
Giả sử bạn điều tra một số quy trình; bạn đã thu thập một số dữ liệu mô tả nó và bạn đã xây dựng một mô hình (thống kê hoặc ML, không thành vấn đề). Nhưng bây giờ, làm thế nào để đánh giá nếu nó là ok? Có lẽ nó phù hợp đáng ngờ với dữ liệu mà nó được xây dựng, vì vậy không ai sẽ tin rằng mô hình của bạn tuyệt vời đến mức bạn nghĩ.
Ý tưởng đầu tiên là tách một tập hợp con dữ liệu của bạn và sử dụng nó để kiểm tra việc xây dựng mô hình theo phương pháp của bạn trên phần còn lại của dữ liệu. Bây giờ, kết quả chắc chắn là không có quá nhiều, tuy nhiên (đặc biệt là đối với các bộ nhỏ) bạn có thể đã (không) may mắn và rút ra (ít hơn) các trường hợp đơn giản hơn để kiểm tra, giúp dự đoán dễ dàng hơn (cũng khó hơn) ước tính lỗi / độ tốt là vô ích đối với việc so sánh / tối ưu hóa mô hình, vì bạn có thể không biết gì về phân phối của nó.
Khi nghi ngờ, hãy sử dụng lực lượng vũ phu, vì vậy chỉ cần sao chép quy trình trên, thu thập một vài ước tính về độ chính xác / lỗi / độ tốt và trung bình chúng - và do đó bạn có được xác nhận chéo. Trong số ước tính tốt hơn, bạn cũng sẽ có được một biểu đồ, do đó bạn sẽ có thể ước tính phân phối hoặc thực hiện một số thử nghiệm không tham số.
Và đây là nó; các chi tiết của việc tách tàu thử nghiệm là lý do cho các loại CV khác nhau, ngoại trừ các trường hợp hiếm gặp và sự khác biệt về cường độ nhỏ, chúng tương đối giống nhau. Quả thực đó là một lợi thế rất lớn, bởi vì nó làm cho nó trở thành một phương pháp chống đạn; rất khó để lừa dối nó
Vì bạn không có quyền truy cập vào dữ liệu thử nghiệm tại thời điểm đào tạo và bạn muốn mô hình của mình hoạt động tốt trên dữ liệu thử nghiệm chưa thấy, bạn "giả vờ" rằng bạn có quyền truy cập vào một số dữ liệu thử nghiệm bằng cách liên tục lấy một phần nhỏ của dữ liệu đào tạo của bạn, giữ bộ này trong khi đào tạo mô hình, sau đó coi bộ được tổ chức là proxy cho dữ liệu thử nghiệm (và chọn tham số mô hình mang lại hiệu suất tốt nhất cho dữ liệu bị giữ). Bạn hy vọng rằng bằng cách lấy mẫu ngẫu nhiên các tập hợp con khác nhau từ dữ liệu huấn luyện, bạn có thể làm cho chúng trông giống như dữ liệu thử nghiệm (theo nghĩa hành vi trung bình), và do đó, các tham số mô hình đã học cũng sẽ tốt cho dữ liệu thử nghiệm (ví dụ: mô hình của bạn khái quát tốt cho dữ liệu chưa thấy).