Nếu bạn nhìn vào vấn đề tối ưu hóa mà SVM giải quyết:
minw,ξ,b{12∥w∥2+C∑ni=1ξi}
st
cho tất cả i = 1 , ... nyi(w⋅xi−b)≥1−ξi, ξi≥0,i=1,…n
các vectơ hỗ trợ là những trong đó ξ i > 0 tương ứngxiξi>0 . Nói cách khác, chúng là các điểm dữ liệu bị phân loại sai hoặc gần với ranh giới.
wj=0j mà chúng tôi muốn loại bỏ.
Khi bạn so sánh hai vấn đề tối ưu hóa này và giải quyết vấn đề toán học, hóa ra không có mối quan hệ cứng giữa số lượng tính năng và số lượng vectơ hỗ trợ. Đi đường nào cũng được.
Thật hữu ích khi nghĩ về một trường hợp đơn giản. Hãy tưởng tượng trường hợp 2 chiều trong đó các tính năng tiêu cực và tích cực của bạn được tập hợp xung quanh (-1, -1) và (1,1), tương ứng và có thể phân tách bằng một siêu phẳng tách chéo với 3 vectơ hỗ trợ. Bây giờ hãy tưởng tượng bỏ tính năng trục y, vì vậy dữ liệu của bạn hiện được chiếu trên trục x. Nếu dữ liệu vẫn có thể tách rời, giả sử tại x = 0, có lẽ bạn chỉ còn lại 2 vectơ hỗ trợ, mỗi vectơ ở mỗi bên, vì vậy việc thêm tính năng y sẽ làm tăng số lượng vectơ hỗ trợ. Tuy nhiên, nếu dữ liệu không còn có thể tách rời, bạn sẽ nhận được ít nhất một vectơ hỗ trợ cho mỗi điểm nằm ở phía sai của x = 0, trong trường hợp đó, việc thêm tính năng y sẽ làm giảm số lượng vectơ hỗ trợ.
Vì vậy, nếu trực giác này là chính xác, nếu bạn đang làm việc trong không gian tính năng rất cao hoặc sử dụng hạt nhân ánh xạ tới không gian tính năng chiều cao, thì dữ liệu của bạn có thể được tách ra, do đó, việc thêm một tính năng sẽ có xu hướng để chỉ thêm một vector hỗ trợ khác. Trong khi đó, nếu dữ liệu của bạn hiện không thể tách rời và bạn thêm một tính năng cải thiện đáng kể khả năng phân tách, thì nhiều khả năng bạn sẽ thấy số lượng vectơ hỗ trợ giảm.