支持向量機這一節是看的中國mooc網上浙大胡浩基的課,感受仍是中文講課的比較清晰易懂, 再結合看了周志華的《機器學習》。看完視頻再看瓜書才明白上面那些公式是怎麼來的,可能對於初學者來講仍是 母語的視頻教學更好懂。一開始看瓜書真的是頭痛,全是各類數學公式,推導過程也沒有。markdown
定義:可分不可分
如圖若是能用一條直線把不一樣的數據給分隔開,就是線性可分的(linear separable)
若是若是不能用一條直線把不一樣的數據給分隔開,就是線性不可分的(nonlinear separable)機器學習
這個理論能夠推廣到三維,甚至思惟以上的特徵空間。三維使用平面來分隔數據,四維和四維以上由於人類 沒法直觀的感知出來,因此畫不出來,可是能分隔數據,存在這樣的平面叫作超平面。函數
二維線性可分狀況: 工具
數學定義: 學習
向量定義: 優化
問題描述:
對於線性可分的狀況下,怎麼找到最優分類的超平面 從圖上看中間的超平面是最優的,這個對於劃分數據是的容忍性最好,例如優於訓練集數據的侷限性,訓練集外的數據可能致使分類直線出現錯誤的分類結果。可是第二幅圖中的執行是受影響最小的,較小几率受新的數據影響而產生錯誤的結果。spa
支持向量機的尋找的最優分類直線應該知足:
2.1 該直線分開了兩類
2.2 該直線最大化間隔(margin)
2.3 該直線處於間隔的正中間,到全部支持向量距離相等3d
上述的規則一樣適用於線性可分的多維特徵空間,只不過直線是變成了超平面。code
理解這個部分的公式花了我很長的時間,看了不少遍視頻,對照着書和找的資料才勉強理解了。越日後面學,愈加現本身數學知識儲備太少。 首先咱們看一個點到平面的距離的公式: 能夠發現其實這個公式能夠看作是平行四邊形的面積除以底邊,而後求出的高就是點到平面的距離。orm
而後開始推導求線性可分問題的公式: 先看兩個存在的公式: 事實1:
事實2
在先看下樣本空間任意一點到超平面的距離公式是: ωx + b 這裏的ω是個法向量,決定了超平面的方向,b是位移項是超平面和原點之間的距離。
根據事實1和事實2來推導:
要找到最大的間隔的超平面,就是要找到參數ω和b,使d最大。 因此問題就轉化爲,求||ω||的最小值。
因此優化問題定爲: 最小化 1/2 * ||ω||^2 (這個和最小化||ω||是同樣的,只是爲了方便求導弄成了這種形式)
這個公式是二次規劃的問題,因此咱們求(ω,b)的爲問題變成了求二次規劃的問題。 由於二次規劃是要麼是無解,要麼就是有惟一最小值的。又由於在凸優化問題中,必定存在惟一最小值的解, 因此是凸優化問題的二次規劃問題必定有最優解。所以後面只要轉化爲了二次規劃,又是凸優化問題的。咱們就能夠用已經存在解決凸優化問題的工具去解決它。
1.支持向量機還有要學習的內容核函數,對偶問題,這些小節尚未學習完,因此這裏沒有寫出來。 2.下週要將核函數和對偶問題學習下,而後學習下拉格朗日子乘法,這個對偶問題公式推導會用到。