1. 程式人生 > >吳恩達機器學習筆記(六) —— 支持向量機SVM

吳恩達機器學習筆記(六) —— 支持向量機SVM

次數 括號 圖片 最小 我們 支持向量機svm UNC 意思 strong

主要內容:

一.損失函數

二.決策邊界

三.Kernel

四.使用SVM

一.損失函數

技術分享圖片

二.決策邊界

對於:

技術分享圖片

當C非常大時,括號括起來的部分就接近於0,所以就變成了:

技術分享圖片

非常有意思的是,在最小化 1/2*∑θj^2的時候,最小間距也達到最大。原因如下:

技術分享圖片

技術分享圖片

所以:

技術分享圖片

即:如果我們要最小化1/2*∑θj^2,就要使得||θ||盡量小,而當||θ||最小時,又因為技術分享圖片,所以p(i)最大,即間距最大。

三.Kernel

上面介紹的都是線性可分的情況,當線性不可分時,或許我們可以用多項式進行擬合,如下:

技術分享圖片

但是多項式的次數太高,計算成本就會很大,有沒有更好的辦法?那就是SVM帶核的方法。

我們將上面的多項式改為:

技術分享圖片

然後f的公式為:

技術分享圖片

這個f函數就是高斯核函數。

我們在坐標軸上選取三個地標

技術分享圖片

其中f1就是坐標軸上某一點到L(1)距離的遠近,離得近則f1 = 1,離得遠則f1 = 0,f2、f3等以此類推。

對於高斯核函數,σ對整體分布的影響為:σ越大,分布越扁平:

技術分享圖片

於是新的決策方法就變為:

技術分享圖片

那麽如何選取地標L呢?那就是數據集的每一點都作為地標,如下:

技術分享圖片

綜上,帶核的SVM可以描述為:

技術分享圖片

四.使用SVM

支持向量機較為復雜,一般而言,我們都不會自己去實現算法,而是直接調用。但是我們需要做兩點工作,那就是:1.選擇C的值(cost function上的那個系數C),2.選擇核函數(或者直接使用無核),具體步驟如下:

技術分享圖片

吳恩達機器學習筆記(六) —— 支持向量機SVM