Tại sao kích thước VC quan trọng?


12

Wikipedia nói rằng:

Kích thước VC là giá trị chính của tập hợp điểm lớn nhất mà thuật toán có thể phá vỡ.

Chẳng hạn, một bộ phân loại tuyến tính có số lượng thẻ n + 1. Câu hỏi của tôi là tại sao chúng ta quan tâm? Hầu hết các bộ dữ liệu mà bạn thực hiện phân loại tuyến tính có xu hướng rất lớn và chứa rất nhiều điểm.

Câu trả lời:


4

Kích thước VC là gì

Như @CPerkins đã đề cập, kích thước VC là thước đo độ phức tạp của mô hình. Nó cũng có thể được định nghĩa liên quan đến khả năng phá vỡ các biểu dữ liệu như, như bạn đã đề cập, wikipedia hiện.

Vấn đề cơ bản

  • Chúng tôi muốn một mô hình (ví dụ như một số phân loại) khái quát tốt về dữ liệu không nhìn thấy .
  • Chúng tôi giới hạn ở một lượng dữ liệu mẫu cụ thể.

Hình ảnh sau đây (được chụp từ đây ) cho thấy một số Mô hình ( cho đến ) có độ phức tạp khác nhau (kích thước VC), ở đây hiển thị trên trục x và được gọi là .S1Skh

Trao đổi Bias-Variance

Các hình ảnh cho thấy rằng kích thước VC cao hơn cho phép rủi ro thực nghiệm thấp hơn (lỗi mà một mô hình gây ra trên dữ liệu mẫu), nhưng cũng đưa ra khoảng tin cậy cao hơn. Khoảng này có thể được xem là sự tự tin về khả năng khái quát của mô hình.

Kích thước VC thấp (độ lệch cao)

Nếu chúng tôi sử dụng một mô hình có độ phức tạp thấp, chúng tôi sẽ đưa ra một số giả định (sai lệch) liên quan đến tập dữ liệu, ví dụ như khi sử dụng trình phân loại tuyến tính, chúng tôi giả sử dữ liệu có thể được mô tả bằng mô hình tuyến tính. Nếu đây không phải là trường hợp, thì vấn đề đã cho của chúng tôi không thể được giải quyết bằng mô hình tuyến tính, ví dụ vì vấn đề có tính chất phi tuyến. Chúng tôi sẽ kết thúc với một mô hình hoạt động kém mà không thể tìm hiểu cấu trúc của dữ liệu. Do đó, chúng ta nên cố gắng tránh giới thiệu một thiên vị mạnh mẽ.

Kích thước VC cao (khoảng tin cậy lớn hơn)

Ở phía bên kia của trục x, chúng ta thấy các mô hình có độ phức tạp cao hơn có thể có khả năng lớn đến mức nó sẽ ghi nhớ dữ liệu thay vì tìm hiểu cấu trúc cơ bản chung của nó, ví dụ như trang phục mô hình. Sau khi nhận ra vấn đề này, có vẻ như chúng ta nên tránh các mô hình phức tạp.

Điều này có vẻ gây tranh cãi vì chúng tôi sẽ không đưa ra một thiên vị tức là có kích thước VC thấp nhưng cũng không nên có kích thước VC cao. Vấn đề này có nguồn gốc sâu xa trong lý thuyết học thống kê và được gọi là sai lệch-sai lệch-đánh đổi . Những gì chúng ta nên làm trong tình huống này là càng phức tạp càng cần thiết và càng đơn giản càng tốt, vì vậy khi so sánh hai mô hình kết thúc với cùng một lỗi thực nghiệm, chúng ta nên sử dụng mô hình ít phức tạp hơn.

Tôi hy vọng tôi có thể cho bạn thấy rằng có nhiều hơn đằng sau ý tưởng về chiều kích của VC.


1

Kích thước VC là số bit thông tin (mẫu) người ta cần để tìm một đối tượng (hàm) cụ thể trong số một tập hợp đối tượng (hàm)N .

VCKích thước xuất phát từ một khái niệm tương tự trong lý thuyết thông tin. Lý thuyết thông tin bắt đầu từ quan sát của Shannon về những điều sau đây:

Nếu bạn có đối tượng và trong số đối tượng này, bạn đang tìm kiếm một đối tượng cụ thể. Bạn cần bao nhiêu bit thông tin để tìm đối tượng này ? Bạn có thể chia bộ đối tượng của mình thành hai nửa và hỏi "Trong một nửa đối tượng mà tôi đang tìm kiếm nằm ở đâu?" . Bạn nhận được "có" nếu nó ở nửa đầu hoặc "không", nếu nó ở nửa sau. Nói cách khác, bạn nhận được 1 bit thông tin . Sau đó, bạn hỏi cùng một câu hỏi và phân chia bộ của bạn nhiều lần, cho đến khi cuối cùng bạn tìm thấy đối tượng mong muốn của mình. Bạn cần bao nhiêu bit thông tin ( có / không trả lời)? Đó là rõ ràngNNlog2(N) bit thông tin - tương tự như vấn đề tìm kiếm nhị phân với mảng được sắp xếp.

Vapnik và Chernovenkis đã hỏi một câu hỏi tương tự trong vấn đề nhận dạng mẫu. Giả sử bạn có một tập hợp các hàm được đưa vào đầu vào , mỗi hàm xuất ra hoặc không (vấn đề phân loại nhị phân được giám sát) và trong số các hàm này, bạn đang tìm một hàm cụ thể, cung cấp cho bạn kết quả đúng / không cho một tập dữ liệu đã cho . Bạn có thể đặt câu hỏi: "Hàm nào trả về không và hàm nào trả về cho choNxND={(x1,y1),(x2,y2),...,(xl,yl)}xitừ tập dữ liệu của bạn. Vì bạn biết câu trả lời thực sự là gì từ dữ liệu đào tạo bạn có, bạn có thể loại bỏ tất cả các hàm cung cấp cho bạn câu trả lời sai cho một số . Bạn cần bao nhiêu bit thông tin? Hay nói cách khác: Bạn cần bao nhiêu ví dụ đào tạo để loại bỏ tất cả các chức năng sai đó? . Đây là một sự khác biệt nhỏ so với quan sát của Shannon trong lý thuyết thông tin. Bạn không chia bộ hàm của mình thành chính xác một nửa (có thể chỉ một hàm trong số cung cấp cho bạn câu trả lời không chính xác cho một số ) và có thể, bộ hàm của bạn rất lớn và đủ để bạn tìm thấy một hàm - đóng vào chức năng bạn muốn và bạn muốn chắc chắn rằng chức năng này làxiNxiϵϵ - bao gồm xác suất ( - khung PAC ), số bit thông tin (số lượng mẫu) bạn cần sẽ là .1δ(ϵ,δ)log2N/δϵ

Giả sử bây giờ trong số các hàm không có hàm nào không phạm lỗi. Như trước đây, bạn có thể tìm thấy một hàm là - đóng với xác suất . Số lượng mẫu bạn cần là .Nϵ1δlog2N/δϵ2

Lưu ý rằng kết quả trong cả hai trường hợp tỷ lệ thuận với - tương tự như vấn đề tìm kiếm nhị phân.log2N

Bây giờ, giả sử rằng bạn có một tập hợp các hàm vô hạn và trong số các hàm đó bạn muốn tìm hàm đó là - đóng vào hàm tốt nhất với xác suất . Giả sử (để đơn giản minh họa) rằng các hàm là affine liên tục (SVM) và bạn đã tìm thấy một hàm đó là -cold với chức năng tốt nhất. Nếu bạn di chuyển chức năng của mình một chút, nó sẽ không thay đổi kết quả phân loại, bạn sẽ có một chức năng khác phân loại có cùng kết quả như kết quả đầu tiên. Bạn có thể nhận tất cả các hàm như vậy cung cấp cho bạn cùng một kết quả phân loại (lỗi phân loại) và tính chúng là một hàm duy nhất vì chúng phân loại dữ liệu của bạn với cùng một tổn thất chính xác (một dòng trong hình).ϵ1δϵ

nhập mô tả hình ảnh ở đây

_____________ Các dòng (chức năng) sẽ phân loại các điểm có cùng thành công.

Bạn cần bao nhiêu mẫu để tìm một hàm cụ thể từ một tập hợp các hàm như vậy (nhớ lại rằng chúng ta đã chia các hàm của chúng ta cho các tập hợp hàm trong đó mỗi hàm cho kết quả phân loại giống nhau cho một tập hợp các điểm nhất định)? Đây là những gì kích thước nói - được thay thế bởi vì bạn có vô số hàm liên tục được chia cho một tập hợp các hàm có cùng lỗi phân loại cho các điểm cụ thể. Số lượng mẫu bạn cần là nếu bạn có một chức năng nhận dạng hoàn hảo vàVClog2NVCVClog(δ)ϵVClog(δ)ϵ2 nếu bạn không có một chức năng hoàn hảo trong bộ chức năng ban đầu của mình.

Nghĩa là, kích thước cung cấp cho bạn giới hạn trên (không thể cải thiện btw) cho một số mẫu bạn cần để đạt được lỗi với xác suất .VCϵ1δ


0

Kích thước VC là thước đo độ phức tạp của mô hình. Ví dụ, với kích thước Dvc của VC, một nguyên tắc nhỏ là bạn nên có n = 10xDvc điểm dữ liệu với độ phức tạp của mô hình của bạn.

Bạn cũng có thể sử dụng nó để tạo giới hạn trên cho lỗi kiểm tra.

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.