吳恩達機器學習13--支援向量機(Support Vector Machines)
第13章 支援向量機(Support Vector Machines)
一,優化目標(Optimization objective)
SVM也是廣泛的應用於工業界和學術界的監督學習演算法。
類似於logistic的代價函式,SVM的代價函式如圖是斜直線加上平直線。所以是類似的,在之後的優化問題中,這會變得更堅定,並且為支援向量機,帶來計算上的優勢。例如,更容易計算股票交易的問題等等。
二,直觀上對大間距的理解
人們有時將支援向量機看作是大間距分類器。
SVM可以建立一個安全間距,雖然logistic也會做類似的事情。
支援向量機是一種大間距分類器,間距margin。
三,大間距分類器的數學原理
向量的內積,vector inner product
我的推導
這不是一個非常好的選擇,因為它的間距很小。這個決策界離訓練樣本的距離很近。我們來看一下為什麼支援向量機不會選擇它。
對於這樣選擇的引數theta,可以看到引數向量theta事實上是和決策界是90度正交的,因此這個綠色的決策界對應著一個引數向量theta這個方向,順便提一句theta_0=0的簡化僅僅意味著決策界必須通過原點。現在讓我們看一下這對於優化目標函式意味著什麼。
比如這個樣本,我們假設它是我的第一個樣本x^(1),如果我考察這個樣本到引數theta的投影,投影是這個短的紅線段,就等於p^(1),它非常短。類似地,這個樣本如果它恰好是x^(2),我的第二個訓練樣本,則它到的投影在這裡。我將它畫成粉色,這個短的粉色線段是p^(2),即第二個樣本到我的引數向量的投影。因此,這個投影非常短。p^(2)事實上是一個負值,是在相反的方向,這個向量和引數向量theta的夾角大於90度,p^(2)的值小於0。
我們會發現這些p^(i)將會是非常小的數,因此當我們考察優化目標函式的時候,對於正樣本而言,我們需要,但是如果p^(i)在這裡非常小,那就意味著我們需要theta的範數非常大.因為如果p^(1)很小,而我們希望,令其實現的唯一的辦法就是這兩個數較大。如果 p^(1)小,我們就希望theta的範數大。類似地,對於負樣本而言我們需要。我們已經在這個樣本中看到p^(2)會是一個非常小的數,因此唯一的辦法就是的範數變大。但是我們的目標函式是希望找到一個引數theta,它的範數是小的。因此,這看起來不像是一個好的引數向量theta的選擇。
四,核函式1
採用別的方法來構造非線性的特徵量
高斯核函式,範數部分是歐式距離取平方。
基於x和l的相似度,計算新的特徵量。
五,核函式2
六,使用svm
可以先對資料進行縮放
已有的核函式演算法包
許多SVM包已有多分類功能了,也可以採用一對多方法
什麼時候要用核函式,特徵量特別少,樣本多。
無核函式的SVM法與logistic regression類似。