<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)分析入門(mén)系列教程-SVM原理

          共 3242字,需瀏覽 7分鐘

           ·

          2020-11-19 00:49


          SVM 的英文全稱是 Support Vector Machines,我們叫它支持向量機(jī),支持向量機(jī)是用于分類的一種算法,當(dāng)然也有人用它來(lái)做回歸。


          SVM 原理

          我們先通過(guò)一個(gè)分類的例子來(lái)看一下 SVM 的定義


          在一個(gè)二維平面上,有實(shí)心和空心兩組圓點(diǎn),如果我們想用一條線分開(kāi)它們,那么其實(shí)可以畫(huà)出無(wú)數(shù)條這種區(qū)分線。

          而 SVM 就是試圖把線放在最佳位置,好讓在線的兩邊到兩組圓點(diǎn)邊界點(diǎn)的距離盡可能大。體現(xiàn)在圖上就是:


          線 A 正好緊挨實(shí)心點(diǎn)的最邊界點(diǎn),線 C 正好緊挨空心點(diǎn)的最邊界點(diǎn),而線 A,B,C是三條平行線且線 B 處于線 A 和 C 距離的中心處,且圖中的綠線和黃線為最大距離,則此時(shí)的線 B 即為支持向量機(jī)算法下的最優(yōu)解。而點(diǎn)1,2,3就稱為支持向量,即 support vector。

          當(dāng)然,還可以擴(kuò)展到三維空間中,那么就是使用平面進(jìn)行分割


          此時(shí)我們也稱線 B 或者三維中的綠色平面為“決策面”。

          決策面和分類間隔

          在保證決策面方向不變且不會(huì)出現(xiàn)錯(cuò)分樣本的情況下移動(dòng)決策面,會(huì)在原來(lái)的決策面兩側(cè)找到兩個(gè)極限位置(越過(guò)該位置就會(huì)產(chǎn)生錯(cuò)分現(xiàn)象),如圖中的兩條藍(lán)線。藍(lán)線的位置由決策面的方向和距離原決策面最近的幾個(gè)樣本的位置決定(即黃線和綠線)。而這兩條平行藍(lán)線正中間的分界線就是在保持當(dāng)前決策面方向不變的前提下的最優(yōu)決策面。兩條藍(lán)線之間的垂直距離就是這個(gè)最優(yōu)決策面對(duì)應(yīng)的分類間隔。這個(gè)具有“最大間隔”的決策面就是 SVM 要尋找的最優(yōu)解。而這個(gè)真正的最優(yōu)解對(duì)應(yīng)的兩側(cè)藍(lán)線所穿過(guò)的樣本點(diǎn),就是 SVM 中的支持樣本點(diǎn),稱為“支持向量”,這個(gè)概念我們上面也提到了。

          由上面的圖示可以看出,要想找到最優(yōu)的決策面,其實(shí)就是一個(gè)求解最優(yōu)的問(wèn)題,即最優(yōu)化問(wèn)題。

          當(dāng)然以上我們討論的都屬于線性的 SVM,對(duì)于非線性問(wèn)題,在后面再做討論

          線性 SVM 數(shù)學(xué)建模

          下面我們就來(lái)看看如何使用數(shù)學(xué)公式來(lái)表示 SVM

          在一個(gè)最優(yōu)化問(wèn)題中,一般有兩個(gè)最基本的因素需要解決:

          1. 目標(biāo)函數(shù),就是我們希望什么東西的什么達(dá)到最好。

          2. 優(yōu)化對(duì)象,就是我們希望通過(guò)改變哪些因素來(lái)使目標(biāo)函數(shù)達(dá)到最優(yōu)

          在 SVM 算法中,目標(biāo)函數(shù)對(duì)應(yīng)的應(yīng)該是“分類間隔”,因?yàn)槲覀兿M鶕?jù) SVM 的定義,我們需要找到這個(gè)最大的距離,才是 SVM 的最優(yōu)解。而優(yōu)化對(duì)象就是決策面,我們需要移動(dòng)決策面的位置和方向,來(lái)使得分類間隔達(dá)到最大。

          決策面方程

          這里我們考慮的是一個(gè)兩類的分類問(wèn)題,數(shù)據(jù)點(diǎn)用 x 來(lái)表示,這是一個(gè) n 維向量,而類別用 y 來(lái)表示,可以取 1 或者 -1 ,分別代表兩個(gè)不同的類(這里類別用1和-1就是為了 SVM 公式的推導(dǎo))。一個(gè)線性分類器就是要在 n 維的數(shù)據(jù)空間中找到一個(gè)超平面,其方程可以表示為


          一個(gè)超平面,在二維空間中的例子就是一條直線。我們希望的是,通過(guò)這個(gè)超平面可以把兩類數(shù)據(jù)分隔開(kāi)來(lái),比如,在超平面一邊的數(shù)據(jù)點(diǎn)所對(duì)應(yīng)的 y 全是 -1 ,而在另一邊全是 1 。


          這里的 w 和 x 都是向量,因?yàn)橄蛄磕J(rèn)都是列向量,所以把 w 轉(zhuǎn)置一下就變成行向量了,然后它們的乘積就是一個(gè)標(biāo)量,這樣就可以達(dá)到加一個(gè)標(biāo)量 y 使得結(jié)果為0。

          分類間隔

          分類間隔說(shuō)白了,就是點(diǎn)到直線的距離,公式為:


          ||w|| 就是向量 w 的模,即向量的長(zhǎng)度;x 就是支持向量樣本點(diǎn)的坐標(biāo);y 等同于決策面方程中的 y。


          SVM 約束條件

          我們假設(shè)超平面(w, b)可以將訓(xùn)練樣本完全正確的分類,所以如果類別 y = 1,則有 wx + b > 0,如果 y = -1,則有 wx + b < 0。此時(shí)再根據(jù) SVM 的定義,要想正確分類,我們需要有如下約束:


          記為約束條件1

          由因?yàn)閮蓷l邊界線(藍(lán)線)之間的距離 y 等于 2r,而此時(shí) wx + b 是等于1的,所以可以得到 γ 的距離為


          此時(shí)求解最優(yōu) SVM 就變成了求解在約束條件1下的 γ 的最大值,


          注意因?yàn)轭悇e y 和 wx + b 是同號(hào)的,所以它們的乘積永遠(yuǎn)為正數(shù)

          也即是求 ||w|| 的最小化,即:


          這個(gè)就是支持向量機(jī)的基本數(shù)學(xué)描述。

          最后就是對(duì)上面的公式進(jìn)行求解了,這中間會(huì)用到拉格朗日乘子和 KKT 等條件,就不再繼續(xù)擴(kuò)展了,有興趣的同學(xué)可以查看周志華老師的《機(jī)器學(xué)習(xí)》支持向量機(jī)一篇,里面有非常詳細(xì)的推導(dǎo)過(guò)程。

          SVM 擴(kuò)展

          我們現(xiàn)在假設(shè)樣本數(shù)據(jù)是完全線性可分的,那么學(xué)習(xí)到的模型就可以稱之為硬間隔支持向量機(jī),即硬間隔就是指完全正確的分類,不存在錯(cuò)誤的情況。

          但是在真實(shí)的世界中,數(shù)據(jù)往往都不是那么“干凈”的,存在異常數(shù)據(jù)是再正常不過(guò)了,此時(shí)就需要軟間隔。軟間隔就是指允許一部分?jǐn)?shù)據(jù)樣本分類錯(cuò)誤,從而使得訓(xùn)練的模型可以滿足絕大部分其他樣本。

          還存在另外一種情況,就是非線性的數(shù)據(jù)集。我們前面討論的都是線性情況下的分類,那么對(duì)于非線性的情況,SVM 也是支持的,就是非線性支持向量機(jī)。


          比如該類數(shù)據(jù)集,任何線性模型都沒(méi)有辦法處理,SVM 也是不可用的。此時(shí),我們就需要引入一個(gè)新的概念:核函數(shù)。它可以將樣本從原始的空間映射到一個(gè)更高緯度的空間中,從而使得在新的空間中樣本是線性可分的,這樣就可以繼續(xù)使用 SVM 來(lái)做分類了。

          在非線性 SVM 中,核函數(shù)的選擇是影響 SVM 的最大因素。常用的核函數(shù)有線性核、多項(xiàng)式核、高斯核、拉普拉斯核,sigmoid 核等,或者是使用它們的組合核函數(shù)。通過(guò)這些核函數(shù)的轉(zhuǎn)換,我們就可以把樣本空間投射到新的高維度空間中。

          SVM 實(shí)現(xiàn)多分類

          SVM 本身是一個(gè)二值分類器,但是我們可以很方便的把它擴(kuò)展到多分類的情況,這樣就可以很好的應(yīng)用到文本分類,圖像識(shí)別等場(chǎng)景中。

          擴(kuò)展 SVM 支持多分類,一般有兩種方法,OVR(one versus rest),一對(duì)多法;OVO(one versus one),一對(duì)一法。

          OVR:對(duì)于 k 個(gè)類別發(fā)情況,訓(xùn)練 k 個(gè)SVM,第 j 個(gè) SVM 用于判斷任意一條數(shù)據(jù)是屬于類別 j 還是非 j。

          舉個(gè)栗子:一組數(shù)據(jù) A,B,C,我們先把其中的一類分為1,其他兩類分為2,則可以構(gòu)造 SVM 如下:

          1. 樣本 A 為正集,B,C 為負(fù)集;

          2. 樣本 B 為正集,A,C 為負(fù)集;

          3. 樣本 C 為正集,A,B 為負(fù)集。



          這種方法需要針對(duì) k 個(gè)分類訓(xùn)練 k 個(gè)分類器,分類的速度比較快,但是訓(xùn)練的速度較慢。當(dāng)新增一個(gè)分類時(shí),需要重新對(duì)分類進(jìn)行構(gòu)造。

          OVO:對(duì)于 k 個(gè)類別的情況,訓(xùn)練 k * (k-1)/2 個(gè) SVM,每一個(gè) SVM 用來(lái)判斷任意一條數(shù)據(jù)是屬于 k 中的特定兩個(gè)類別中的哪一個(gè)。

          相同的栗子:一組數(shù)據(jù) A,B,C,我們把任意兩類樣本之間構(gòu)造一個(gè) SVM,那么可以構(gòu)造如下:

          1. 分類器1,A,B;

          2. 分類器2,B,C;

          3. 分類器3,A,C。



          對(duì)于一個(gè)未知的樣本,每一個(gè)分類器都會(huì)有一個(gè)分類結(jié)果,記票為1,最終得票最多的類別就是未知樣本的類別。這樣當(dāng)新增類別時(shí),不需要重新構(gòu)造 SVM 模型,訓(xùn)練速度快。但是當(dāng) k 較大時(shí),訓(xùn)練和測(cè)試時(shí)間都會(huì)比較慢。

          SVM 優(yōu)缺點(diǎn)

          優(yōu)點(diǎn)

          SVM 既可以用于分類,也可以用于回歸,學(xué)習(xí)能力強(qiáng),學(xué)習(xí)到的結(jié)果具有很好的推廣性。

          SVM 是深度學(xué)習(xí)網(wǎng)絡(luò)出現(xiàn)之前,機(jī)器學(xué)習(xí)領(lǐng)域的絕對(duì)王者

          SVM 可以很好的解決小樣本,高緯度問(wèn)題

          缺點(diǎn)

          對(duì)于參數(shù)調(diào)節(jié)和核函數(shù)的選擇很敏感

          當(dāng)數(shù)據(jù)量特別大時(shí),訓(xùn)練很慢

          總結(jié)

          今天我們一起學(xué)習(xí)了 SVM 算法,可以說(shuō)它是機(jī)器學(xué)習(xí)領(lǐng)域必備的算法,沒(méi)有之一。

          它本身是處理二值分類問(wèn)題的,但是同樣可以通過(guò)構(gòu)造多個(gè) SVM 分類器來(lái)靈活的處理多分類問(wèn)題。

          我們還簡(jiǎn)單的推導(dǎo)了在線性可分的情況下 SVM 的數(shù)學(xué)公式,而對(duì)于非線性可分的數(shù)據(jù),我們需要引入核函數(shù),來(lái)映射原始數(shù)據(jù)到一個(gè)新的高緯度空間中,再進(jìn)行 SVM 構(gòu)建。

          瀏覽 70
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  九色PORNY9l原创自拍 | 无码中文字幕视频在线观看 | 超碰国内自拍 | 无码毛片在线看 | 2021国产免费自拍视频 |