Mối quan hệ giữa số lượng vectơ hỗ trợ và số lượng tính năng


12

Tôi đã chạy một SVM dựa trên một tập dữ liệu nhất định và thực hiện quan sát sau: Nếu tôi thay đổi số lượng tính năng để xây dựng trình phân loại, số lượng vectơ hỗ trợ kết quả cũng sẽ được thay đổi.

Tôi muốn biết làm thế nào để giải thích loại kịch bản này.


Loại và phong cách của các tính năng bổ sung là gì? Trường hợp chúng trông giống như các biến thể của các tính năng hiện có hoặc một số tính năng mới hơn mà bạn nghĩ có thể có thêm khả năng phân giải?
Philip Oakley

Đây là một vấn đề phân loại tài liệu và các tính năng bổ sung chỉ là từ ngữ. Tôi đã sử dụng unigram để xây dựng không gian tính năng.
dùng3269

Đưa ra câu trả lời của @ marc, đã thay đổi, số lượng vectơ tăng lên với số lượng tính năng hoặc ngược lại.
Philip Oakley

@Phillip, phản hồi ban đầu của tôi là sai. Tôi nghĩ rằng câu trả lời chỉnh sửa là chính xác bây giờ.
Marc Shivers

Câu trả lời:


13

Nếu bạn nhìn vào vấn đề tối ưu hóa mà SVM giải quyết:

minw,ξ,b{12w2+Ci=1nξi}

st cho tất cả i = 1 , ... nyi(wxib)1ξi,    ξi0,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.

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.