系列文章:
吳恩達《Machine Learning》精煉筆記 1:監督學習與非監督學習
吳恩達《Machine Learning》精煉筆記 2:梯度下降與正規方程
吳恩達《Machine Learning》精煉筆記 3:迴歸問題和正則化
吳恩達《Machine Learning》精煉筆記 4:神經網路基礎
吳恩達《Machine Learning》精煉筆記 5:神經網路
吳恩達《Machine Learning》精煉筆記 6:關於機器學習的建議
今天帶來第七週課程的筆記:關於支援向量機SVM的相關知識點。內容包含:
- 硬間隔
- 支援向量
- 軟間隔
- 對偶問題
優化目標Optimization Objectives
主要是講解如何從邏輯迴歸慢慢的推匯出本質上的支援向量機。邏輯迴歸的假設形式:
- 左邊是假設函式
- 右邊是Sigmoid啟用函式
令z=θTx,如果滿足:
- 若y=1,希望h(θ)約為1,將樣本正確分類,那麼z必須滿足z>>0
- 若y=0,希望h(θ)約為0,將樣本正確分類,那麼z必須滿足z<<0
樣本正確分類指的是:假設函式h(x)得到的結果和真實值y是一致的
總代價函式通常是對所有的訓練樣本進行求和,並且每個樣本都會為總代價函式增加上式的最後一項(還有個係數1/m,係數忽略掉)
如果y=1,目標函式中只有第一項起作用,得到了表示式 :
支援向量機
根據邏輯迴歸推導得到的支援向量機的公式 :
兩個cost函式是上面提到的兩條直線。對於邏輯迴歸,在目標函式中有兩項:
- 第一個是訓練樣本的代價
- 第二個是正則化項
大邊界的直觀解釋
下面是支援向量機的代價函式模型。
SVM決策邊界
SVM魯棒性:間隔最大化,是一種大間距分類器。
關於上圖的解釋:
1.C太大的話,將是粉色的線
2.C不是過大的話,將是黑色的線
大間距分類器的描述,僅僅是從直觀上給出了正則化引數C非常大的情形,C的作用類似於之前使用過的正則化引數1λ
- C較大,可能導致過擬合,高方差
- C較小,可能導致低擬合,高偏差
硬間隔模型
間隔和支援向量
註釋:本文中全部採用列向量:
給定一個樣本訓練集D=(x1,y1),(x2,y2),…,(xm,ym),其中yi∈(−1,+1)
分類學習的基本思想就是:基於訓練集D在樣本空間上找到一個劃分的超平面
上面紅色的線是最好的。所產生的分類結果是最魯棒的,最穩定的,泛化能力是最好的。
劃分超平面的的線性描述:
W稱之為法向量(看做是列向量),決定平面的方向;b是位移項,決定了超平面和原點之間的距離。
空間中任意一點x到超平面(w,b)的距離是:
在+區域的點滿足y=+1:
在−區域的點滿足y=−1:
綜合上面的兩個式子有:
支援向量
距離超平面最近的幾個點(帶上圓圈的幾個點)稱之為支援向量support vector,這個點到超平面到距離稱之為間隔margin
剛好在決策邊界上的點(下圖中帶上圓圈的點)滿足上式中的等號成立:
間距margin
求解間距margin就是求解向量(x+−x−)在法向量上的投影
決策邊界上的正例表示為:
決策邊界行的負例表示為:
將兩個結果帶入margin 的表示式中:
SVM的基本模型
最大間隔化只需要將||w||最小化即可:
SVM-對偶模型
模型引數推導
希望求解上面基本模型對應超平面的模型:
利用拉格朗日乘子αi,改成拉格朗日函式:
分別對w,b求導,可以得到:
對偶模型
原始問題是極大轉成最大值問題:
帶入拉格朗日函式中,得到對偶問題(全部是關於α係數):
轉換一下,變成最小值問題(上面的式子加上負號):
那麼超平面的模型 :
SMO演算法
思想
SMO演算法指的是Sequential Minimal Optimization,序列最小優化演算法。演算法的根本思路是:
所有的α滿足:
1.先選取需要更新的變數αi和αj
2.固定變數αi和αj以外的引數,求解更新後的變數αi和αj
其中c使得上式成立:
將變數αi和αj的其中一個用另一個來表示,得到關於αi的單變數二次規劃問題,就可以求出來變數αi
軟間隔最大化
上面的結論和推導都是針對的線性可分的資料。線性不可分資料意味著某些樣本點(xi,yi)不再滿足函式間隔大於等於1的約束條件,比如下圖中的紅圈中的點,故引入了鬆弛變數ξi≥0,滿足:
因此,目標函式由原來的1/2||w||*||w||變成了
其中C≥0是懲罰項引數,C值越大對誤分類的越大,C越小對誤分類的懲罰越小。
至此,第七週的課程筆記完畢!
本文首發於公眾號:AI有道(ID: redstonewill),歡迎關注!