(1)首先考慮,咱們要想邏輯迴歸幹啥。當樣本y=1時,假設函數h趨近1,即向量乘積遠大於0;當樣本y=0時,假設函數h趨近0,即向量乘積遠小於0
(2)接着咱們觀察邏輯迴歸的代價函數只有一個樣本即m=1時的樣子。咱們令y=1,獲得如圖曲線,這時想讓代價函數小的話,要求z遠大於0;咱們將這條曲線修改成兩條線段,右邊水平,這做爲支持向量機代價函數的一項。令y=0,獲得如圖曲線,想要代價函數小的話,要求z遠小於0;咱們繼續用兩條線段代替曲線,獲得支持向量機的另外一項。這兩項定義爲cost1(z)、cost0(z)算法
(1)將邏輯迴歸代價函數的負號放到裏邊去,而後兩個對數項替換成cost函數
(2)去掉1/m這一項。由於在一個樣本集中,由於m是相同的,帶不帶對代價函數的大小比較沒影響
(3)概念上的變化,不用正則化參數權衡平均偏差和正則化項,而是用C參數權衡(實際是同樣的,能夠看作1/正則化參數)
通過三步加工,咱們就獲得了支持向量機的代價函數安全
(1)邏輯迴歸輸出的是機率,而後咱們人爲規定一個臨界值,判斷0仍是1
(2)而支持向量機直接預測y是0仍是1網絡
(1)當y=1時,後邊一項爲0,只有z大於等於1時前邊一項逼近0
(2)當y=0時,前邊一項爲0,只有z小於等於-1時後邊一項逼近0機器學習
所以與邏輯迴歸僅要求正負或者本身定臨界值不一樣,支持向量機要求更高,要求1和-1(我的理解:不是非黑即白了,在正負標籤間有一段空白間距,有了過渡地帶)。這就至關於嵌入了額外的安全因子,增大了準確性函數
(1)y=1時,偏差項大小由cost1決定,要求z大於1
(2)y=0時,偏差項大小由cost0決定,要求z小於-1性能
U轉置乘V=V乘U的轉置=V投影到U上的投影,乘U的模(投影是有符號的)學習
(1)當知足前邊偏差項爲0的條件之一時,代價函數只有正則化項一項,能夠寫做假設函數參數模的平方
(2)咱們假設樣本集只有一個樣本,那麼z能夠寫做參數向量的模乘特徵向量在參數向量上的投影,將乘積和1或者-1比較
(3)由於參數0爲0,因此決策邊界經過原點。由於參數變量和決策邊界是正交的,因此參數向量和距離是平行的。當最短距離小時,特徵向量的投影值也小,要符合一、-1的話,要求參數向量的模大,而參數向量的模大的話,代價函數的值就會變大,這與咱們儘可能要求代價函數小矛盾。這就是支持向量機能產生大間距分類的緣由spa