單類(lèi)SVM:SVDD

話(huà)接上文(SVM的簡(jiǎn)單推導(dǎo))列敲,這篇文章我們來(lái)看單類(lèi)SVM:SVDD岛宦√ù裕可能大家會(huì)覺(jué)得很奇怪,我們?yōu)槭裁葱枰獑畏诸?lèi)呢?有篇博客舉了一個(gè)很有意思的例子挽霉。

花果山上的老猴子防嗡,一生閱猴無(wú)數(shù),但是從來(lái)沒(méi)有見(jiàn)過(guò)其它的物種侠坎。有一天蚁趁,豬八戒來(lái)到花果山找它們的大王,老猴子一聲令下实胸,把這個(gè)東西給我綁起來(lái)他嫡!

這里老猴子很清楚的知道這個(gè)外來(lái)物種不是同類(lèi),但是它究竟是什么庐完,不得而知钢属。老猴子見(jiàn)過(guò)很多猴,它知道猴子的特征假褪,而外來(lái)生物明顯不符合這個(gè)特征署咽,所以它就不是猴子。

這就是一個(gè)單分類(lèi)的簡(jiǎn)單例子生音。

而美猴王看到這個(gè)場(chǎng)景后宁否,哈哈一笑,把這呆子抬過(guò)來(lái)缀遍!

對(duì)比二分類(lèi)慕匠,顯著的區(qū)別就是,二分類(lèi)不但能得出來(lái)這個(gè)東西不是猴子域醇,他還能告訴你這個(gè)東西叫“呆子”(當(dāng)然我們的美猴王見(jiàn)多識(shí)廣台谊,肯定不止是二分類(lèi)那么簡(jiǎn)單了)

今天要介紹的SVDD的全稱(chēng)是Support vector domain description。首先讓我們簡(jiǎn)單了解一下domain description譬挚,也就是單分類(lèi)問(wèn)題锅铅。

單分類(lèi)問(wèn)題

不像常見(jiàn)的分類(lèi)問(wèn)題,單分類(lèi)問(wèn)題的目的并不時(shí)將不同類(lèi)別的數(shù)據(jù)區(qū)分開(kāi)來(lái)减宣,而是對(duì)某個(gè)類(lèi)別的數(shù)據(jù)生成一個(gè)描述(description)盐须。這里的description比較抽象,可以理解為是樣本空間中的一個(gè)區(qū)域漆腌,當(dāng)某個(gè)樣本落在這個(gè)區(qū)域外贼邓,我們就認(rèn)為該樣本不屬于這個(gè)類(lèi)別。

單分類(lèi)問(wèn)題

單分類(lèi)方法常用于異常檢測(cè)闷尿,或者類(lèi)別極度不平衡的分類(lèi)任務(wù)中塑径。

當(dāng)我們假設(shè)數(shù)據(jù)服從一個(gè)概率分布,我們就可以對(duì)這個(gè)分布中的參數(shù)進(jìn)行估計(jì)了填具。對(duì)于一個(gè)新樣本统舀,如果這個(gè)樣本在給定類(lèi)別的概率分布中的概率小于閾值,就會(huì)被判定為異常樣本。

但是這樣的方法存在的問(wèn)題是,

  1. 預(yù)先假定的概率分布對(duì)模型性能的影響很大。
  2. 當(dāng)特征的維度很大的時(shí)候疲恢,該方法需要一個(gè)很大的數(shù)據(jù)集铡溪。
  3. 一些低密度區(qū)域的樣本點(diǎn)會(huì)被誤判為異常樣本。

另一種思路就是衡蚂,在樣本空間中為此類(lèi)數(shù)據(jù)劃定一個(gè)大致的邊界窿克。如何劃定這個(gè)邊界,就是SVDD要研究的問(wèn)題啦毛甲。

目標(biāo)函數(shù)

假設(shè)我們有m個(gè)樣本點(diǎn)年叮,分別為x^{(1)},x^{(2)},\cdots,x^{(m)}

我們假設(shè)這些樣本點(diǎn)分布在一個(gè)球心為a玻募,半徑為R的球中只损。那么樣本x^{(i)}滿(mǎn)足
(x^{(i)}-a)^T(x^{(i)}-a)\leq R^2.
引入松弛變量,我們?cè)试S部分樣本不再這個(gè)球中七咧,那么
(x^{(i)}-a)^T(x^{(i)}-a)\leq R^2+\xi_i,\xi\geq 0.
我們的目標(biāo)是最小球的半徑R和松弛變量的值跃惫,于是目標(biāo)函數(shù)是
\begin{align} \min_{a,\xi_i}\ \ & R^2+C\sum_{i=1}^m\xi_i\\ {\rm s.t.}\ \ & (x^{(i)}-a)^T(x^{(i)}-a)\leq R^2+\xi_i, \\ &\xi_i\geq 0,i=1,2,\cdots,m. \end{align}
其中,C>0是懲罰參數(shù)艾栋,由人工設(shè)置爆存。

對(duì)偶問(wèn)題

使用拉格朗日乘子法,得到拉格朗日函數(shù)
\begin{align} L(R,a,\alpha,\xi,\gamma)=& R^2+C\sum_{i=1}^m\xi_i\\ & -\sum_{i=1}^m\alpha_i\left(R^2+\xi_i({x^{(i)}}^Tx^{(i)}-2a^Tx^{(i)}+a^2)\right)-\sum_{i=1}^m \gamma_i\xi_i. \end{align}
其中蝗砾,\alpha_i\ge 0,\gamma_i\ge 0是拉格朗日乘子先较。令拉格朗日函數(shù)對(duì)R,a,\xi_i的偏導(dǎo)為0,得到
\begin{align} &\sum_{i=1}^m \alpha_i=1,\\ &a=\sum_{i=1}^m \alpha_ix^{(i)},\\ &C-\alpha_i-\gamma_i=0 \end{align}
我們可以將\alpha_i看作樣本x^{(i)}的權(quán)重悼粮。上式表明所有樣本的權(quán)重之和為1闲勺,而球心a是所有樣本的加權(quán)和。將上式帶入到拉格朗日函數(shù)中扣猫,得到原問(wèn)題的對(duì)偶問(wèn)題
\begin{align} \max_\alpha\ \ &L(\alpha)=\sum_{i=1}^m\alpha_i{x^{(i)}}^Tx^{(i)}-\sum_{i=1}^m\sum_{j=1}^m \alpha_i\alpha_j{x^{(i)}}^Tx^{(j)}\\ {\rm s.t.}\ \ & 0\le\alpha_i\le C,\\ & \sum_{i=1}^m\alpha_i=1,i=1,2,\cdots,m. \end{align}
當(dāng)通過(guò)求解對(duì)偶問(wèn)題得到\alpha_i后菜循,可以通過(guò)a=\sum_{i=1}^m \alpha_ix^{(i)}計(jì)算球心a。至于半徑R苞笨,則可以通過(guò)計(jì)算球與支持向量(\alpha_i< C)之間的距離得到债朵。當(dāng)\alpha_i=C時(shí),意味著樣本x^{(i)}位于球的外面瀑凝。

判斷新樣本是否為異常點(diǎn)

對(duì)于一個(gè)新的樣本點(diǎn)z序芦,如果它滿(mǎn)足下式,那么我們認(rèn)為它是一個(gè)異常點(diǎn)粤咪。
(z-a)^T(z-a)> R^2.
展開(kāi)上式谚中,得
z^Tz-2\sum_{i=1}^m \alpha_iz^Tx^{(i)}+\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_j{x^{(i)}}^Tx^{(j)}>R^2.

引入核函數(shù)

正常情況下,數(shù)據(jù)并不會(huì)呈現(xiàn)球狀分布,因此有必要使用核函數(shù)的方法提高模型的表達(dá)能力宪塔。

只需將\cal K(x^{(i)},x^{(j)})替換{x^{(i)}}^Tx^{(j)}即可磁奖。于是對(duì)偶問(wèn)題的目標(biāo)函數(shù)變?yōu)?br> L(\alpha)=\sum_i \alpha_i\cal K(x^{(i)},x^{(i)})-\sum_i\sum_j \alpha_i\alpha_j\cal K(x^{(i)},x^{(j)}).
判別函數(shù)變?yōu)?br> {\cal K}(z,z)-2\sum_i \alpha_i {\cal K}(z,x^{(i)})+\sum_i\sum_j \alpha_i\alpha_j {\cal K}(x^{(i)},x^{(j)})- R^2.
下面考慮核函數(shù)的影響。

多項(xiàng)式核

多項(xiàng)式核函數(shù)的表達(dá)式如下
{\cal K}\left({x^{(i)}}^Tx^{(j)}\right)=\left({x^{(i)}}^Tx^{(j)}+1\right)^d.
如下圖所示某筐,多項(xiàng)式核實(shí)際上不太適合SVDD比搭。特別是當(dāng)d取值非常大的時(shí)候。

在不同的d值下南誊,超球體邊界的變化

高斯核

高斯核函數(shù)的表達(dá)式如下
{\cal K}\left({x^{(i)}}^Tx^{(j)}\right)=\exp\left(\frac{-\left(x^{(i)}-x^{(j)}\right)^2}{s^2}\right).
如下圖身诺,相比于多項(xiàng)式核函數(shù),高斯核函數(shù)的結(jié)果就合理多了抄囚∶股模可以看到模型的復(fù)雜程度隨著s的增大而減小。

在不同的s值下幔托,超球體邊界的變化

在python中使用

可通過(guò)下面的代碼在python中使用單類(lèi)SVM

from sklearn.svm import OneClassSVM

參考文獻(xiàn)

  1. Tax D M J, Duin R P W. Support vector domain description[J]. Pattern recognition letters, 1999, 20(11-13): 1191-1199.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末穴亏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子重挑,更是在濱河造成了極大的恐慌嗓化,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件攒驰,死亡現(xiàn)場(chǎng)離奇詭異蟆湖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)玻粪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)隅津,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人劲室,你說(shuō)我怎么就攤上這事伦仍。” “怎么了很洋?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵充蓝,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我喉磁,道長(zhǎng)谓苟,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任协怒,我火速辦了婚禮涝焙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘孕暇。我一直安慰自己仑撞,他們只是感情好赤兴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著隧哮,像睡著了一般桶良。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沮翔,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天陨帆,我揣著相機(jī)與錄音,去河邊找鬼鉴竭。 笑死歧譬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的搏存。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼矢洲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼璧眠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起读虏,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤责静,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后盖桥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體灾螃,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年揩徊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腰鬼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡塑荒,死狀恐怖熄赡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情齿税,我是刑警寧澤彼硫,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站凌箕,受9級(jí)特大地震影響拧篮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牵舱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一串绩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仆葡,春花似錦赏参、人聲如沸志笼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纫溃。三九已至,卻和暖如春韧掩,著一層夾襖步出監(jiān)牢的瞬間紊浩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工疗锐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坊谁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓滑臊,卻偏偏與公主長(zhǎng)得像口芍,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雇卷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354