如果w不滿足約束,也就是gi
(w)>
0 或hi
(w)≠
0 。這時由於
l 函式是無約束函式,αi
、βi 可以任意取值,因此∑k
i=1α
igi(
w)或∑li
=1βi
hi(w
) 並沒有極值,也就是說θp
(w)=
∞ 。
反之,如果w滿足約束,則∑k
i=1α
igi(
w)和∑li
=1βi
hi(w
) 都為0,因此θp
(w)=
f(w)
。綜上:θp
(w)=
,我們定義m×
m 維的矩陣k:ki
j=k(
xi,x
j)。這個矩陣被稱為核矩陣(kernel matrix)。ki
j=k(
xi,x
j)=ϕ
(x(i
))tϕ
(x(j
))=ϕ
(x(j
))tϕ
(x(i
))=k
(xj,
xi)=
kji
如果我們用ϕk
(x) 表示ϕ(
x)第k個元素的話,則對於任意向量z:zt
kz=∑
i∑jz
ikij
zj=∑
i∑jz
iϕ(x
(i))
tϕ(x
(j))
zj=∑
i∑jz
i∑kϕ
k(x(
i))ϕ
k(x(
j))z
j=∑k
∑i∑j
ziϕk
(x(i
))ϕk
(x(j
))zj
=∑k(
∑izi
ϕk(x
(i))
)2≥0
即k矩陣是半正定矩陣。事實上,k矩陣是對稱半正定矩陣,不僅是k函式有效的必要條件,也是它的充分條件。相關的證明是由james mercer給出的,被稱為mercer定理(mercer theorem)。
注:james mercer,1883-1932,英國數學家,英國皇家學會會員,畢業於劍橋大學。曾服役於英國皇家海軍,參加了日德蘭海戰。mercer定理給出了不用找到ϕ(
x),而判定k(
x,z)
是否有效的方法。因此尋找ϕ(
x)的步驟就可以跳過了,直接使用k(
x,z)
替換上面公式中的⟨x
,z⟩ 即可。例如:wt
x+b=
∑i∈s
vαiy
(i)⟨
x(i)
,x⟩+
b=∑i
∈svα
iy(i
)k(x
(i),
x)+b
(6)
核函式不僅僅用在svm上,但凡在乙個演算法中出現了⟨x
,z⟩ ,我們都可以使用k(
x,z)
去替換,這可以很好地改善我們演算法的效率。因此,核函式更多的被看作是一種技巧而非理論(kernel trick)。
我們之前討論的情況都是建立在樣例線性可分的假設上,當樣例線性不可分時,我們可以嘗試使用核函式來將特徵對映到高維,這樣很可能就可分了。然而,對映後我們也不能100%保證可分。那怎麼辦呢,我們需要將模型進行調整,以保證在不可分的情況下,也能夠盡可能地找出分隔超平面。
上面的右圖中可以看到乙個離群點(可能是雜訊),它會造成超平面的移動,從而導致邊距縮小,可見以前的模型對雜訊非常敏感。再有甚者,如果離群點在另外乙個類中,那麼這時候就是線性不可分的了。
機器學習之svm(2)神奇的拉個朗日
那麼我們才能將我們的這個式子優化呢?我們知道這種帶條件的優化很煩人,我們怎麼才能讓我們的優化問題沒有這麼複雜的約束條件呢?其是這跟廢話一樣,構造拉格朗日函式嘛,如下,我們的目標變成了 其中我們的 0,搞什麼,還是有約束,但約束簡單多了,一會我們說為什麼這裡要讓 0 進一不講,如果我們令 我們會發現,...
機器學習 SVM
svm 支援向量機是個二分類模型。給定給乙個包含正例和反例的樣本集合,svm的目的是尋找乙個超平面來對樣本根據正例和反例進行分割。保證最大間隔,間隔最大可以有效避免在分類面上的樣本的誤判率。網上也是對其推崇備至,認為不管什麼任務,先跑跑svm和rf。對於超平面的求取,是乙個凸二次規劃問題,牽扯到對偶...
機器學習 SVM
當train data線性可分時,存在多個分離超平面可以把兩類資料正確分開,感知機利用的是誤分類最小的策略,求得分離超平面。但是這是有無窮多個解,而線性svm利用了間隔最大化求分離超平面,解是唯一的,優點是不僅把正負樣本點分開,還對最難分的點 即離超平面最近的點 也有足夠大的確信度將它們分開 希望用...