使用 RBF 核的非線性 SVM 分類
我正在使用 RBF 內核實現非線性 SVM 分類器。有人告訴我,與普通 SVM 的唯一區別是我必須簡單地將點積替換為核函數:
我知道一個正常的線性 SVM 是如何工作的,也就是說,在解決了二次優化問題(對偶任務)之後,我將最優劃分超平面計算為
和超平面的偏移量
分別,其中是我的訓練向量列表,是它們各自的標籤(),是拉格朗日係數和是一組支持向量。之後,我可以使用和單獨輕鬆分類:. 但是,我不認為我可以用 RBF 內核做這樣的事情。我發現一些材料表明. 那會很容易。儘管如此,我認為這個內核不存在這樣的分解,並且在任何地方都沒有提到它。這種情況是否需要所有的支持向量來進行分類?如果是這樣,在這種情況下我該如何分類?
讓代表您的輸入空間,即您的數據點所在的空間。考慮一個函數這樣它會從您的輸入空間中獲取一個點並將其映射到. 現在,讓我們說我們已經映射了您的所有數據點到這個新空間. 現在,如果你嘗試在這個新空間中求解正常的線性支持向量機代替,你會注意到所有早期的工作看起來都一樣,除了所有的點表示為而不是使用(點積)是歐幾里得空間的自然內積,我們將其替換為它代表了新空間中的自然內在產物. 所以,最後,你的看起來像,
因此,
相似地,
您的分類規則如下所示:.
到目前為止一切順利,沒有什麼新東西,因為我們只是將正常的線性 SVM 應用到了不同的空間。然而,神奇的部分是這個——
假設存在一個函數這樣. 然後,我們可以將上面所有的點積替換為. 這樣一個稱為核函數。
因此,您的和看起來像,
上述替換對哪些內核函數有效?嗯,這是一個稍微複雜的問題,您可能需要使用適當的閱讀材料來理解這些含義。但是,我只想補充一點,上述內容適用於 RBF 內核。
要回答您的問題,“這種情況是否需要所有支持向量來進行分類?” 是的。正如您在上面可能注意到的,我們計算的內積和而不是計算明確地。這要求我們保留所有支持向量進行分類。
注意:的最後一節是空間中 SVM 對偶的解決方案並不是. 這是否意味著我們需要知道明確地發揮作用?幸運的是,沒有。如果你看雙重目標,它只包含內積,因為我們有這允許我們直接計算內積,我們不需要知道明確地。雙重目標看起來像,