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 có 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ề có 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−δϵ
_____________ 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àVClog2NVCVC−log(δ)ϵVC−log(δ)ϵ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−δ