假定資料集\(T=\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\},x_n \in R_k, y_n \in \{1,-1\}\)線性可分,SVM的優化目標是:
優化一個超平面的引數,使得這個超平面,能夠正確劃分兩類資料,並且,距離(動詞),兩類資料最近的那個點,的距離最大。
寫成數學公式為:
使得這個超平面,能夠正確劃分兩類資料[1]
距離(動詞),兩類資料最近的那個點,的距離最大。[2]
假設在所有\((w,b) \in \{(w_1,b_1),(w_2,b_2),\cdots\}\)中,最優解為\((w^*,b^*)\),該最優解對應的,離這個超平面最近的點為\((w_k,y_k)\),我們現在改寫\(\eqref{2}\),但是畢竟是需要優化的,我們就不把最優解放到裡面去,那麼\(\eqref{2}\)可以改寫為:
如果要寫進去,那麼就可以寫成:
我們繼續在上面的假設內,我們看到離超平面\((w^*,b^*)\)最近的點,到該超平面的距離為\(y_k\frac{w^*·x_k+b^*}{||w^*||}\),那麼公式\(\eqref{1}\)可以改寫為:
現在讓我們假設(注意,我現在已經在上面的假設上又假設了一次,相當於if語句裡面又來了個if語句,我現在還沒有說明對應的兩個else語句,只有說明了兩個else語句,所有情況才算全部討論到),我們找到了\((w^*,b^*)\),但是讓我們來看看這個解\((2w^*,2b^*)\)。首先,其滿足\(\eqref{2}\),另外:
我們再來看更一般的:
tip: 我這裡假設了\(k \neq 0\),其實這不是假設,而是必然的結果,因為如果\(k=0\),那麼超平面\((kw^*,kb^*)=(0,0)\),這是不滿足\(\eqref{1}\)的(把\(w\)和\(b\)均設為0,然後看看左邊是否都大於0),既然不滿足\(\eqref{1}\),\((0,0)\)就不是解,那麼\(k=0\)就不在我們的討論範圍內,所以\(k \neq 0\)。\(k \neq 0\)的原因是其不在我們的討論範圍內,而不是簡單的,聽到已經麻木了的"分母不能為0,所以\(k \neq 0\)"。另外,通過窮舉可以看出$ k \in R \space \and \neq 0$。
從上面的一個式子可以看出,就算我們找到了一個最優解\((w^*,b^*)\)(或者我們找到的是\((2w^*,2b^*)\),但是我們可以把\((kw^*,kb^*)\)記作\((w^*,b^*)\)),我們可以通過給予\(w\)和\(b\)一個非零引數\(k\),誕生出另一個解,但實際上集合\(\{(w^*,b^*),(2.2w^*,2.2b^*),(3w^*,3b^*),...\}\)都是同一個向量(如果\(w\)是一個n維向量,那麼\((w,b)\),可以看作一個n+1維向量。),另外,因為\(k \in R \space \and \neq 0\),\(y(w·x+b) > 0\)(因為\(y\frac{w·x+b}{||w||}\)為點\((x,y)\)到超平面\((w,b)\)的距離,資料集T是線性可分的,那麼該距離大於0,從而分子大於0),所以
那麼優化目標可以改寫為[3]:
注意:
所以最終優化目標為(在上面的兩個假設內):
到這裡為止,SVM的推導其實還未完,因為我們是做了兩個假設才推出SVM的優化公式的,那萬一假設不滿足呢?
我們一共做了兩個假設:
假設在所有\((w,b) \in \{(w_1,b_1),(w_2,b_2),\cdots\}\)中,最優解為\((w^*,b^*)\)
現在讓我們假設,(xxx),我們找到了\((w^*,b^*)\)
現在讓我們討論另外的情況:
至此,SVM的推導才算真正完成。
線性可分:對於資料集\(S\),若存在一個超平面\((w,b)\),能夠正確劃分資料集,即對於任意樣本\((x,y)\),如果\(y=1\),那麼\(w·x+b>0\),否則\(w·x+b<0\),則(這個字對應前面的‘若’),超平面\((w,b)\)可分資料集\(S\),資料集\(S\)線性可分。
超平面:滿足某個等式(如\(w·x-y+b=0\))的高維度(即\(x \in R_k,k>2\))點\((x,y)\)(這裡的\(x\)和\(y\)對應前面一個括號裡面的\(x\)和\(y\)),的集合。【另外可以看這裡】
[1]:公式\(\eqref{1}\)的解釋,見線性可分,運運算元號‘\(·\)’為向量的點積運算.
[2]:公式\(\eqref{2}\)最裡面的公式為點到超平面的距離,見 文章:高維空間中,點的超平面的距離 .
\(max(min(y\frac{kw·x+kb}{||kw||}))=max(y_k\frac{kw·x_k+kb}{||kw||})\)的解釋:
對於任意一個超平面\((w,b)\)可行解,都存在一個點\((x_k,y_k)\)(自己在三維空間中想一下,對於某個能完全正確劃分資料集的平面\((w,b)\),都會有一個離其最近的點\((x_k,y_k)\)),使得\(min(y\frac{kw·x+kb}{||kw||})\)=\(y_k\frac{kw·x_k+kb}{||kw||}\).
\(max(y_k\frac{kw·x_k+kb}{||kw||})=max(\frac{1}{||k_1w||})\)的解釋:
因為\(y(kw·x+kb)>0\)取任何值,都會有分母對應其值,使其回到原來的值。另外可以這樣理解:不管\(y(w·x+b)>0\)取什麼值,都存在一個值\(k_1\)使得\(y(k_1w·x+k_1b)=1\),所以我們可以把\(y(w·x+b)\)的值限制為1,至於為什麼要這麼做,應該是為了簡化表示式,但是這樣子\(b\)就沒法優化了,後面的優化還沒看。
可行解: 對於某個問題,如果某個結果滿足其約束條件,那麼該結果就是該問題的可行解。比如:
有以下問題:
那麼\(y=4\)就是可行解,因為其滿足約束條件。