<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 4 -- Soft-Margin Support Vector Machine 上節課我們主要介紹了Kernel SVM。先將特征轉換和計算內積這兩個步驟合并起來,簡化計算、提高計算速度,再用Dual SVM的求解方法來解決。Kernel SVM不僅能解決簡單的線性分類問題,也可以求解非常復雜甚至是無限多維的分類問題,關鍵在于核函數的選擇,例如線性核函數、多項式核函數和高斯核函數等等。但是,我們之前講的這些方法都是Hard-Margin SVM,即必須將所有的樣本都分類正確才行。這往往需要更多更復雜的特征轉換,甚至造成過擬合。本節課將介紹一種Soft-Margin SVM,目的是讓分類錯誤的點越少越好,而不是必須將所有點分類正確,也就是允許有noise存在。這種做法很大程度上不會使模型過于復雜,不會造成過擬合,而且分類效果是令人滿意的。 ### **Motivation and Primal Problem** 上節課我們說明了一點,就是SVM同樣可能會造成overfit。原因有兩個,一個是由于我們的SVM模型(即kernel)過于復雜,轉換的維度太多,過于powerful了;另外一個是由于我們堅持要將所有的樣本都分類正確,即不允許錯誤存在,造成模型過于復雜。如下圖所示,左邊的圖![](https://img.kancloud.cn/2e/07/2e07bb9dc5874ee7ae24bcf1a2dc0045_19x17.jpg)是線性的,雖然有幾個點分類錯誤,但是大部分都能完全分開。右邊的圖![](https://img.kancloud.cn/d6/ca/d6ca3de56e5c52d9fc924c40c981d657_20x16.jpg)是四次多項式,所有點都分類正確了,但是模型比較復雜,可能造成過擬合。直觀上來說,左邊的圖是更合理的模型。 ![這里寫圖片描述](https://img.kancloud.cn/cd/86/cd86e8291531bcfa4e1655a63f147490_581x177.jpg) 如何避免過擬合?方法是允許有分類錯誤的點,即把某些點當作是noise,放棄這些noise點,但是盡量讓這些noise個數越少越好。回顧一下我們在機器學習基石筆記中介紹的pocket算法,pocket的思想不是將所有點完全分開,而是找到一條分類線能讓分類錯誤的點最少。而Hard-Margin SVM的目標是將所有點都完全分開,不允許有錯誤點存在。為了防止過擬合,我們可以借鑒pocket的思想,即允許有犯錯誤的點,目標是讓這些點越少越好。 ![這里寫圖片描述](https://img.kancloud.cn/eb/33/eb3328f9d5698b24177e961affa8073e_575x121.jpg) 為了引入允許犯錯誤的點,我們將Hard-Margin SVM的目標和條件做一些結合和修正,轉換為如下形式: ![這里寫圖片描述](https://img.kancloud.cn/cb/32/cb320dc7c2e0f3cdb7352eb62cd4fd5c_578x130.jpg) 修正后的條件中,對于分類正確的點,仍需滿足![](https://img.kancloud.cn/1e/d0/1ed09660e5a3a86a823b4ea9de999b55_134x20.jpg),而對于noise點,滿足![](https://img.kancloud.cn/77/5b/775bc548a420e5d132aaae972c88df40_158x20.jpg),即沒有限制。修正后的目標除了![](https://img.kancloud.cn/2e/0b/2e0bc9f87024e163c5d5f0e8a1f004ab_47x37.jpg)項,還添加了![](https://img.kancloud.cn/46/14/4614f76a12459f364e6e5b5d89c4dd74_159x20.jpg),即noise點的個數。參數C的引入是為了權衡目標第一項和第二項的關系,即權衡large margin和noise tolerance的關系。 我們再對上述的條件做修正,將兩個條件合并,得到: ![這里寫圖片描述](https://img.kancloud.cn/22/d3/22d3d42213a4795eb90edc9e8b9c7f24_580x94.jpg) 這個式子存在兩個不足的地方。首先,最小化目標中第二項是非線性的,不滿足QP的條件,所以無法使用dual或者kernel SVM來計算。然后,對于犯錯誤的點,有的離邊界很近,即error小,而有的離邊界很遠,error很大,上式的條件和目標沒有區分small error和large error。這種分類效果是不完美的。 ![這里寫圖片描述](https://img.kancloud.cn/e5/5c/e55cf501bd7bd0df24182b9ecea759e1_577x102.jpg) 為了改正這些不足,我們繼續做如下修正: ![這里寫圖片描述](https://img.kancloud.cn/1d/36/1d3656620971935f87facbb033b23a7e_579x153.jpg) 修正后的表達式中,我們引入了新的參數![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)來表示每個點犯錯誤的程度值,![](https://img.kancloud.cn/2b/25/2b255bbb82789465fb1f9606c01086c2_50x16.jpg)。通過使用error值的大小代替是否有error,讓問題變得易于求解,滿足QP形式要求。這種方法類似于我們在機器學習基石筆記中介紹的0/1 error和squared error。這種soft-margin SVM引入新的參數![](https://img.kancloud.cn/5b/52/5b5213f4f4009caf17cc3c053ce840eb_9x16.jpg)。 至此,最終的Soft-Margin SVM的目標為: ![](https://img.kancloud.cn/dc/3b/dc3b14746e6e2e30ecd4bfddbaa55f02_242x54.jpg) 條件是: ![](https://img.kancloud.cn/f0/f0/f0f09d18d331b20ce5a56ee8c2bbdd04_173x20.jpg) ![](https://img.kancloud.cn/2b/25/2b255bbb82789465fb1f9606c01086c2_50x16.jpg) 其中,![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)表示每個點犯錯誤的程度,![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg),表示沒有錯誤,![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)越大,表示錯誤越大,即點距離邊界(負的)越大。參數C表示盡可能選擇寬邊界和盡可能不要犯錯兩者之間的權衡,因為邊界寬了,往往犯錯誤的點會增加。large C表示希望得到更少的分類錯誤,即不惜選擇窄邊界也要盡可能把更多點正確分類;small C表示希望得到更寬的邊界,即不惜增加錯誤點個數也要選擇更寬的分類邊界。 與之對應的QP問題中,由于新的參數![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)的引入,總共參數個數為![](https://img.kancloud.cn/40/c5/40c58499baac2486e5f4c5d47623a52d_78x19.jpg),限制條件添加了![](https://img.kancloud.cn/2b/25/2b255bbb82789465fb1f9606c01086c2_50x16.jpg),則總條件個數為2N。 ![這里寫圖片描述](https://img.kancloud.cn/29/bc/29bca71902be948985760c824be85fc7_587x297.jpg) ### **Dual Problem** 接下來,我們將推導Soft-Margin SVM的對偶dual形式,從而讓QP計算更加簡單,并便于引入kernel算法。首先,我們把Soft-Margin SVM的原始形式寫出來: ![這里寫圖片描述](https://img.kancloud.cn/d2/a8/d2a884d30e2905246fd7658145ef8296_580x102.jpg) 然后,跟我們在第二節課中介紹的Hard-Margin SVM做法一樣,構造一個拉格朗日函數。因為引入了![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg),原始問題有兩類條件,所以包含了兩個拉格朗日因子![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)和![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)。拉格朗日函數可表示為如下形式: ![這里寫圖片描述](https://img.kancloud.cn/e4/dd/e4dd8e192a8852826d084fcfe2746acf_579x162.jpg) 接下來,我們跟第二節課中的做法一樣,利用Lagrange dual problem,將Soft-Margin SVM問題轉換為如下形式: ![這里寫圖片描述](https://img.kancloud.cn/27/5a/275a672e569ee7e42286b706dfbc92b9_563x114.jpg) 根據之前介紹的KKT條件,我們對上式進行簡化。上式括號里面的是對拉格朗日函數![](https://img.kancloud.cn/80/42/8042b2db33d6fa3f5e32dd3925d87617_110x18.jpg)計算最小值。那么根據梯度下降算法思想:最小值位置滿足梯度為零。 我們先對![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)做偏微分: ![](https://img.kancloud.cn/11/ae/11aea943287ac4e644b6eb9d13d422c6_182x42.jpg) 根據上式,得到![](https://img.kancloud.cn/0a/d0/0ad00847c3d53268ee755886dcd44c40_98x16.jpg),因為有![](https://img.kancloud.cn/0e/b5/0eb5971a9cf36dda5e26f95d08b6d2fa_52x16.jpg),所以限制![](https://img.kancloud.cn/f4/15/f415ef1ff3d458fabf370faac6c4e59a_92x15.jpg)。將![](https://img.kancloud.cn/0a/d0/0ad00847c3d53268ee755886dcd44c40_98x16.jpg)代入到dual形式中并化簡,我們發現![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)和![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)都被消去了: ![這里寫圖片描述](https://img.kancloud.cn/de/47/de47a941a547ac66ee0500a2d6771358_554x67.jpg) 這個形式跟Hard-Margin SVM中的dual形式是基本一致的,只是條件不同。那么,我們分別令拉個朗日函數L對b和w的偏導數為零,分別得到: ![](https://img.kancloud.cn/be/bf/bebf63f273fc57ac9f0b34f71b4663ab_99x54.jpg) ![](https://img.kancloud.cn/69/7f/697f3951f299861336f447ed402ba84f_120x54.jpg) 經過化簡和推導,最終標準的Soft-Margin SVM的Dual形式如下圖所示: ![這里寫圖片描述](https://img.kancloud.cn/c4/3d/c43de99163c48072d1d7f024bd2f4165_576x306.jpg) Soft-Margin SVM Dual與Hard-Margin SVM Dual基本一致,只有一些條件不同。Hard-Margin SVM Dual中![](https://img.kancloud.cn/b5/f5/b5f51e0deae07262becef971a1b3e967_54x15.jpg),而Soft-Margin SVM Dual中![](https://img.kancloud.cn/f4/15/f415ef1ff3d458fabf370faac6c4e59a_92x15.jpg),且新的拉格朗日因子![](https://img.kancloud.cn/0a/d0/0ad00847c3d53268ee755886dcd44c40_98x16.jpg)。在QP問題中,Soft-Margin SVM Dual的參數![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)同樣是N個,但是,條件由Hard-Margin SVM Dual中的N+1個變成2N+1個,這是因為多了N個![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)的上界條件。 對于Soft-Margin SVM Dual這部分推導不太清楚的同學,可以看下第二節課的筆記:[2 – Dual Support Vector Machine](http://blog.csdn.net/red_stone1/article/details/73822768) ### **Messages behind Soft-Margin SVM** 推導完Soft-Margin SVM Dual的簡化形式后,就可以利用QP,找到Q,p,A,c對應的值,用軟件工具包得到![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)的值。或者利用核函數的方式,同樣可以簡化計算,優化分類效果。Soft-Margin SVM Dual計算![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)的方法過程與Hard-Margin SVM Dual的過程是相同的。 ![這里寫圖片描述](https://img.kancloud.cn/9d/20/9d209ca2ddd216603f57beb9d23fced6_581x211.jpg) 但是如何根據![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)的值計算b呢?在Hard-Margin SVM Dual中,有complementary slackness條件:![](https://img.kancloud.cn/6a/52/6a527475a5c593024eea5e94ecf5fa8a_200x20.jpg),找到SV,即![](https://img.kancloud.cn/a5/f2/a5f2147522b30f946aa8cf1a987840e6_51x15.jpg)的點,計算得到![](https://img.kancloud.cn/84/42/844247c547ea29a9fe08312453f97930_107x20.jpg)。 那么,在Soft-Margin SVM Dual中,相應的complementary slackness條件有兩個(因為兩個拉格朗日因子![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)和![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)): ![](https://img.kancloud.cn/82/9d/829dbe6f0330bbd3d5c996144036bd83_238x20.jpg) ![](https://img.kancloud.cn/ec/bd/ecbde98e6af0b84adf35e03deabac170_171x18.jpg) 找到SV,即![](https://img.kancloud.cn/a5/f2/a5f2147522b30f946aa8cf1a987840e6_51x15.jpg)的點,由于參數![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)的存在,還不能完全計算出b的值。根據第二個complementary slackness條件,如果令![](https://img.kancloud.cn/d7/3e/d73e140e491f46e3be348d6f23f9ca50_90x18.jpg),即![](https://img.kancloud.cn/57/74/57745d581f54ce80c770d0f957d7afc9_58x18.jpg),則一定有![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg),代入到第一個complementary slackness條件,即可計算得到![](https://img.kancloud.cn/84/42/844247c547ea29a9fe08312453f97930_107x20.jpg)。我們把![](https://img.kancloud.cn/e4/1c/e41c09a47d0d9c76d9943290e7328f5a_89x15.jpg)的點稱為free SV。引入核函數后,b的表達式為: ![](https://img.kancloud.cn/df/b2/dfb2c2f119359f72888f16628699e02b_210x39.jpg) 上面求解b提到的一個假設是![](https://img.kancloud.cn/9c/e8/9ce87f8383bb2f258ae03f28e0d5d767_56x15.jpg),這個假設是否一定滿足呢?如果沒有free SV,所有![](https://img.kancloud.cn/15/48/15488bfffdb2692865be9b57f991b1f6_17x11.jpg)大于零的點都滿足![](https://img.kancloud.cn/bd/34/bd347b7749e4245f76fa3639a140d926_56x15.jpg)怎么辦?一般情況下,至少存在一組SV使![](https://img.kancloud.cn/9c/e8/9ce87f8383bb2f258ae03f28e0d5d767_56x15.jpg)的概率是很大的。如果出現沒有free SV的情況,那么b通常會由許多不等式條件限制取值范圍,值是不確定的,只要能找到其中滿足KKT條件的任意一個b值就可以了。這部分細節比較復雜,不再贅述。 ![這里寫圖片描述](https://img.kancloud.cn/66/47/6647b0df2328dcc162b31bc39757cc2c_561x204.jpg) 接下來,我們看看C取不同的值對margin的影響。例如,對于Soft-Margin Gaussian SVM,C分別取1,10,100時,相應的margin如下圖所示: ![這里寫圖片描述](https://img.kancloud.cn/0a/d1/0ad1cc66fc8e434484963d2f421541ea_570x205.jpg) 從上圖可以看出,C=1時,margin比較粗,但是分類錯誤的點也比較多,當C越來越大的時候,margin越來越細,分類錯誤的點也在減少。正如前面介紹的,C值反映了margin和分類正確的一個權衡。C越小,越傾向于得到粗的margin,寧可增加分類錯誤的點;C越大,越傾向于得到高的分類正確率,寧可margin很細。我們發現,當C值很大的時候,雖然分類正確率提高,但很可能把noise也進行了處理,從而可能造成過擬合。也就是說Soft-Margin Gaussian SVM同樣可能會出現過擬合現象,所以參數![](https://img.kancloud.cn/9f/2a/9f2a97f3f7e7d6bfa824d92d0350d7ef_45x18.jpg)的選擇非常重要。 我們再來看看![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)取不同值是對應的物理意義。已知![](https://img.kancloud.cn/f4/15/f415ef1ff3d458fabf370faac6c4e59a_92x15.jpg)滿足兩個complementary slackness條件: ![](https://img.kancloud.cn/82/9d/829dbe6f0330bbd3d5c996144036bd83_238x20.jpg) ![](https://img.kancloud.cn/ec/bd/ecbde98e6af0b84adf35e03deabac170_171x18.jpg) 若![](https://img.kancloud.cn/06/e9/06e96f3dea70308a51684e60c95a2783_53x15.jpg),得![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)。![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)表示該點沒有犯錯,![](https://img.kancloud.cn/06/e9/06e96f3dea70308a51684e60c95a2783_53x15.jpg)表示該點不是SV。所以對應的點在margin之外(或者在margin上),且均分類正確。 若![](https://img.kancloud.cn/37/ca/37ca71a86b100902427018271f04ac1e_91x15.jpg),得![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg),且![](https://img.kancloud.cn/e3/38/e338226fa144adc373be876bedbf09cd_133x20.jpg)。![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)表示該點沒有犯錯,![](https://img.kancloud.cn/e3/38/e338226fa144adc373be876bedbf09cd_133x20.jpg)表示該點在margin上。這些點即free SV,確定了b的值。 若![](https://img.kancloud.cn/f7/8f/f78f2dabefe4852ca29a6ebc5066fe82_58x15.jpg),不能確定![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)是否為零,且得到![](https://img.kancloud.cn/13/48/13483a0c5a0ebabb6818521df30b00cc_172x20.jpg),這個式表示該點偏離margin的程度,![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)越大,偏離margin的程度越大。只有當![](https://img.kancloud.cn/aa/48/aa48961fb3e05ae5f97876aab6d96c14_50x16.jpg)時,該點落在margin上。所以這種情況對應的點在margin之內負方向(或者在margin上),有分類正確也有分類錯誤的。這些點稱為bounded SV。 所以,在Soft-Margin SVM Dual中,根據![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)的取值,就可以推斷數據點在空間的分布情況。 ![這里寫圖片描述](https://img.kancloud.cn/92/85/928570eddb6b7832bcdd63c21015f36f_589x190.jpg) ### **Model Selection** 在Soft-Margin SVM Dual中,kernel的選擇、C等參數的選擇都非常重要,直接影響分類效果。例如,對于Gaussian SVM,不同的參數![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg),會得到不同的margin,如下圖所示。 ![這里寫圖片描述](https://img.kancloud.cn/4b/27/4b2736f97421632f052e3c729289338e_289x285.jpg) 其中橫坐標是C逐漸增大的情況,縱坐標是![](https://img.kancloud.cn/8c/8b/8c8b9dbbd1e6b0fac772d9589e2d0ca2_10x12.jpg)逐漸增大的情況。不同的![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)組合,margin的差別很大。那么如何選擇最好的![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)等參數呢?最簡單最好用的工具就是validation。 validation我們在機器學習基石課程中已經介紹過,只需要將由不同![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)等參數得到的模型在驗證集上進行cross validation,選取![](https://img.kancloud.cn/c7/ca/c7ca9d250c81c8a0a1dd11b1926d006a_26x15.jpg)最小的對應的模型就可以了。例如上圖中各種![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)組合得到的![](https://img.kancloud.cn/c7/ca/c7ca9d250c81c8a0a1dd11b1926d006a_26x15.jpg)如下圖所示: ![這里寫圖片描述](https://img.kancloud.cn/8d/e1/8de17e93a1a57f121caaca687f1d8fd0_287x283.jpg) 因為左下角的![](https://img.kancloud.cn/26/ee/26ee2a989d74d31747fe3f1f371f602b_71x18.jpg)最小,所以就選擇該![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)對應的模型。通常來說,![](https://img.kancloud.cn/26/ee/26ee2a989d74d31747fe3f1f371f602b_71x18.jpg)并不是![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)的連續函數,很難使用最優化選擇(例如梯度下降)。一般做法是選取不同的離散的![](https://img.kancloud.cn/65/94/659406519f7d5b34b13982e58b617807_44x18.jpg)值進行組合,得到最小的![](https://img.kancloud.cn/26/ee/26ee2a989d74d31747fe3f1f371f602b_71x18.jpg),其對應的模型即為最佳模型。這種算法就是我們之前在機器學習基石中介紹過的V-Fold cross validation,在SVM中使用非常廣泛。 V-Fold cross validation的一種極限就是Leave-One-Out CV,也就是驗證集只有一個樣本。對于SVM問題,它的驗證集Error滿足: ![](https://img.kancloud.cn/9f/cd/9fcd3397825bde99fd064d8d9a328340_96x37.jpg) 也就是說留一法驗證集Error大小不超過支持向量SV占所有樣本的比例。下面做簡單的證明。令樣本總數為N,對這N個點進行SVM分類后得到margin,假設第N個點![](https://img.kancloud.cn/40/de/40de181c8e8de6f2d92615150e201e09_64x18.jpg)的![](https://img.kancloud.cn/15/68/156818b42f63f0d8af0bdb530c90b13e_57x15.jpg),不是SV,即遠離margin(正距離)。這時候,如果我們只使用剩下的N-1個點來進行SVM分類,那么第N個點![](https://img.kancloud.cn/40/de/40de181c8e8de6f2d92615150e201e09_64x18.jpg)必然是分類正確的點,所得的SVM margin跟使用N個點的到的是完全一致的。這是因為我們假設第N個點是non-SV,對SV沒有貢獻,不影響margin的位置和形狀。所以前N-1個點和N個點得到的margin是一樣的。 那么,對于non-SV的點,它的![](https://img.kancloud.cn/8e/2d/8e2d45da0c5444551ea79ad5f66e9ec2_53x15.jpg),即對第N個點,它的Error必然為零: ![](https://img.kancloud.cn/c6/e6/c6e65f65482b83d84befa472d7480444_423x18.jpg) 另一方面,假設第N個點![](https://img.kancloud.cn/e5/ff/e5ffbd78bfff4d3bd880264cf224fd7a_57x18.jpg),即對于SV的點,它的Error可能是0,也可能是1,必然有: ![](https://img.kancloud.cn/cb/16/cb16f299719bd7b1843e29d2d6b1b77b_61x15.jpg) 綜上所述,即證明了![](https://img.kancloud.cn/9f/cd/9fcd3397825bde99fd064d8d9a328340_96x37.jpg)。這符合我們之前得到的結論,即只有SV影響margin,non-SV對margin沒有任何影響,可以舍棄。 SV的數量在SVM模型選擇中也是很重要的。一般來說,SV越多,表示模型可能越復雜,越有可能會造成過擬合。所以,通常選擇SV數量較少的模型,然后在剩下的模型中使用cross-validation,比較選擇最佳模型。 ### **總結** 本節課主要介紹了Soft-Margin SVM。我們的出發點是與Hard-Margin SVM不同,不一定要將所有的樣本點都完全分開,允許有分類錯誤的點,而使margin比較寬。然后,我們增加了![](https://img.kancloud.cn/0d/25/0d257e86e15e68e2fb04463117382289_16x16.jpg)作為分類錯誤的懲罰項,根據之前介紹的Dual SVM,推導出了Soft-Margin SVM的QP形式。得到的![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)除了要滿足大于零,還有一個上界C。接著介紹了通過![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)值的大小,可以將數據點分為三種:non-SVs,free SVs,bounded SVs,這種更清晰的物理解釋便于數據分析。最后介紹了如何選擇合適的SVM模型,通常的辦法是cross-validation和利用SV的數量進行篩選。 **_注明:_** 文章中所有的圖片均來自臺灣大學林軒田《機器學習技法》課程
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看