SVM支援向量機

2022-09-16 12:45:09 字數 1426 閱讀 1812

乙個比較好的學習資源:

看完了優達學城的機器學習基礎的課程,發現沒有講解具體怎麼實現學習曲線和複雜度曲線的,這裡還是需要自己去網上查一下。

原來c引數是這樣來的!鬆弛變數。

雖然我們不想深挖svm背後的數學概念,但還是有必要簡短介紹一下鬆弛變數(slack variable)

,它是由vladimir vapnik在2023年引入的,藉此提出了軟間隔分類(soft-margin)。引入鬆弛變數的動機是原來的線性限制條件在面對非線性可分資料時需要鬆弛,這樣才能保證演算法收斂。

鬆弛變數值為正,新增到線性限制條件即可:

新的目標函式變成了:

使用變數c,我們可以控制錯分類的懲罰量。和邏輯斯蒂回歸不同,這裡c越大,對於錯分類的懲罰越大。可以通過c控制間隔的寬度,在bias-variance之間找到某種平衡:

哇,這個資源太好了!很具體哦

注意看右上角子圖到右下角子圖的轉變,高維空間中的線性決策界實際上是低維空間的非線性決策界,這個非線性決策界是線性分類器找不到的,而核方法找到了:

使用svm解決非線性問題,我們通過對映函式

將訓練集對映到高維特徵空間,然後訓練乙個線性svm模型在新特徵空間將資料分類。然後,我們可以使用相同的對映函式對測試集資料分類。

上面的想法很不錯,但是如何構建新特徵是非常困難的,尤其是資料本身就是高維資料時。因此,我們就要介紹核技巧了。由於我們不會過多涉及在訓練svm時如何求解二次規劃問題,你只需要知道用

替換就可以了。為了免去兩個點的點乘計算, 我們定義所謂的核函式(kernel function):

常用的乙個核函式是radial basis function kernel(rbf核),也稱為高斯核:

通常簡寫為:

此處,,是乙個要優化的自由引數。

通俗地講,核(kernel)可以被解釋為兩個樣本之間的相似形函式。高斯核中e的指數範圍<=0,因此高斯核值域範圍

,特別地,當兩個樣本完全一樣時,值為1,兩個樣本完全不同時,值為0.

有了核函式的概念,我們就動手訓練乙個核svm,看看是否能夠對線性不可分資料集正確分類:

結果如下,可以發現核svm在xor資料集上表現相當不錯:

其中引數gamma可以被理解為高斯球面的階段引數,如果我們增大gamma值,會產生更加柔軟的決策界。為了更好地理解gamma引數,我們在iris資料集上應用rbf核svm:

我們選擇的gamma值相對比較小,所以決策界比較soft:

現在我們增大gamma值,然後觀察決策界:

雖然gamma值較大的模型對訓練集分類效果很大,但其泛化能力一般很差,所以選擇適當的gamma值有助於避免過擬合。

支援向量機(SVM)

簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...

支援向量機SVM

支援向量機svm support vector machine 是機器學習領域的乙個有監督的學習模型。一 簡介 支援向量機建立在統計學習理論的基礎之上。統計學習理論 statistical learning theory簡稱slt 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...

SVM支援向量機

在機器學習領域,很多時候會用到分類的一些演算法,例如knn,貝葉斯。我們可以把分類的樣本簡單除暴的分為兩種型別。線性可分和非線性可分。可以使用乙個非常簡單的例子來解釋什麼是線性可分,什麼是線性不可分。a 線性可分的2類樣本 b 非線性可分的2類樣 已知乙個線性可分的資料集,其中x表示乙個n維向量,當...