從文學(xué)典故雜談SVM算法

本人水平有限,如果有錯誤的地方挨措,希望各位大神能夠不吝賜教挖滤,及時指正崩溪。

老規(guī)矩浅役,喝水不忘掘井人,首先要感謝發(fā)明SVM算法的前輩Vapnik伶唯。其次觉既,也要感謝Sean的引領(lǐng),把我?guī)脒@一行乳幸,否則瞪讼,光靠我自己摸索,會花去更多的時間粹断、精力符欠。最后,要感謝無數(shù)的人瓶埋,那些對我的思考方式產(chǎn)生影響的人希柿。

【我們生在一個不算太壞的時代,Vapnik前輩剛剛提出SVM算法的時候养筒,局限于那個年代計算機計算能力的不足曾撤,根本沒有多少人重視SVM算法≡畏啵】

又是一次喜憂參半挤悉,喜的是,技多不壓身巫湘,又多了一個解決問題的手段装悲,憂的是昏鹃,這個手段....好像也不能指望其預(yù)測股價啊。

SVM算法的推導(dǎo)過程中诀诊,將使用到拉格朗日乘數(shù)盆顾,還有一些向量知識。SVM其實也是一種分類算法畏梆,當(dāng)然了您宪,分類算法可以有很多,不過奠涌,SVM確有其強大的地方宪巨。【較之于上一篇的神經(jīng)網(wǎng)絡(luò)溜畅,SVM是一個凸空間捏卓,所以不會存在局部極值的問題〈雀瘢】

【這里又要插句題外話怠晴,你們可能在其它某個地方,會看到“聚類”這個詞浴捆,雖然只和“分類”差了一個字蒜田,但是在算法上,意義完全不同选泻。假如冲粤,你看到一群人,如果我讓你用肉眼去觀察页眯,超過178公分(為什么是178梯捕,因為Binhao的身高是178)的為一類人,不超過的為另一類人窝撵,那么傀顾,這個就叫分類。如果我不給定“178公分”這個指標或者說標簽碌奉,讓你把這些人歸類短曾,那你可能會這樣做:自己衡量一個度,高的為一類道批,矮的為一類错英,或者以胖的-中等-瘦的歸類,或者戴不戴眼鏡隆豹、頭發(fā)長中短椭岩、膚色等等,所有這些,我都沒有指定某個指標或貼上某個標簽判哥,完全是你根據(jù)這群人當(dāng)中每個人的特點献雅,來自己歸類,這個就叫聚類塌计。所以也可以看出挺身,分類是有監(jiān)督的,聚類是無監(jiān)督的锌仅≌录兀】

來看這樣一副圖:


圖-1

如果要把圖中的紅點和藍點,用界線區(qū)分開热芹,那不同的分類算法劃出來的線可能會不同:


圖-2

綠色的界線可能來自神經(jīng)網(wǎng)絡(luò)贱傀,黃色的界線可能來自決策樹,紫色的界線就是單純的一條直線伊脓,也可能是來自KNN(最近鄰居算法)府寒。

然而,雖然我畫圖不怎么樣报腔,但是審美還是可以的株搔,而且估計強迫癥犯了,總覺得這些線條都不太完美纯蛾。但是我一下子又想不出來更完美的線條纤房。大自然是神奇而美妙的,它給了我們無數(shù)的饋寶茅撞。于是帆卓,我夜觀天象,(我們應(yīng)該致力于環(huán)境的保護米丘,不然晚上看到的天空都是灰蒙蒙一片。但愿AI能夠在環(huán)保也做出巨大貢獻糊啡。)無意之中拄查,神奇而美妙的星空,給了我靈感棚蓄。如果我把圖-1稍加修飾一下


圖-3

我把圖-1中的藍點用藍線連了起來预茄,紅點用紅線連了起來舱污,這看起來像什么?藍色的點陣就好像夜空中的天鷹座,紅色的點陣就好像夜空中的天琴座屉佳。你不太知道這兩個星座沒關(guān)系,不過你一定聽說過钝尸,牛郎星和織女星挎狸。仔細再看一下,最大的那顆藍色的點就是牛郎星,最大的那顆紅色的點就是織女星科平。

雖然我肉眼無法觀測到銀河褥紫,但是我可以想到,把天鷹座和天琴座隔開的瞪慧,是銀河髓考。所以,又可以改動下圖片:


圖-4

我們知道弃酌,在天文學(xué)角度氨菇,牛郎星和織女星是不可能碰到一塊的。但是在我國的古典文學(xué)典故里妓湘,為了分開牛郎和織女门驾,這條銀河被設(shè)計為盡可能最寬。

感謝大自然多柑,感謝宇宙奶是,這些靈感很重要。接下去竣灌,就該把這副圖交給擁有七十二般變化的數(shù)學(xué)了聂沙。

SVM:Support Vector Machine,支持向量機初嘹。圖-4虛線經(jīng)過的點及汉,如果把它們看作是一個個向量的坐標的話,這些坐標將有助于確定一個幾何空間中的超平面屯烦,這個超平面用來區(qū)分這些數(shù)據(jù)坷随,所以稱之為支持向量,那么“機”呢驻龟?我不知道温眉,我真的不知道。但Sean說得是對的翁狐,就是算法的意思类溢。漢語里,我們會說露懒,“我寫了一套【代碼\程序\軟件\系統(tǒng)】”闯冷,很多時候,中括號里的四個詞都是可以互換的懈词,細微的差別只在于聽的人感受到的高大上的程度不同而已蛇耀,所以,英語里“Learning坎弯、Machine纺涤、Algorithm”也是同一個道理译暂。

那么我們來看看,向量究竟能幫助我們解決那些困惑:


圖-5

(這些直線都不太直洒琢,希望你們能體諒一下秧秉。)

假設(shè),有向量w衰抑,對向量w暫且只有一個要求象迎,在方向上,它垂直于作為分割的那條實線呛踊。同時砾淌,我們知道,銀河之中還有很多星星點點谭网,分布于實線兩側(cè)汪厨、虛線之內(nèi),假設(shè)其中就有一點x愉择,我們看作向量x劫乱。

因為w是垂直于實線的,所以向量x在w上的投影锥涕,如下圖所示:


圖-6

黃色線條即為x在w上的投影衷戈,記為wx【老規(guī)矩,鍵盤輸入限制层坠,也是為了節(jié)省時間殖妇,箭頭就不畫了,但這里實際表示的是向量】破花。

如果這條黃色投影的長度越過了實線谦趣,也就是超過了某個長度,我們認為它就是一類(或者說正例)座每,記為 wx - c >=0前鹅,反之,就是另一類(反例)尺栖,記為 wx - c <0嫡纠。

多么熟悉的片段,故伎重演延赌,令c = -b,則有:wx + b >0 和 wx +b <0叉橱。

到這里還沒有完挫以,因為x是在兩條虛線內(nèi)的,我們現(xiàn)在是要對兩條虛線外的點進行分類窃祝,所以我們不得不再次使用數(shù)學(xué)上的便利掐松。

假設(shè)有一個正例的x(右側(cè)虛線外),則我們要求 wx + b >= 1,對于反例的x(左側(cè)虛線外)大磺,則 wx + b <= -1抡句。【注意杠愧,這一行的x只是名字上和上面幾行的x一樣待榔,代表的意義已經(jīng)不同。這正是之前提到的流济,不要被公式的不同表達形式給蒙蔽锐锣。】

再假設(shè)有一個變量y绳瘟,當(dāng)wx + b >= 1時雕憔,y等于1;當(dāng)wx + b <= -1時糖声,y等于-1斤彼。

在等式兩邊都乘以y,對于正例的x蘸泻,有:y(wx + b) >= 1琉苇;對于反例的x,也有:y(wx + b) >= 1 【wx + b <= -1的兩邊同時乘以了值為-1的y】蟋恬。

y(wx + b) >=1翁潘,即y(wx + b) - 1 >= 0。

但我現(xiàn)在要讓y(wx + b) - 1 = 0歼争,等于0在圖像上意味著拜马,在那兩條虛線上。

在我國古典文學(xué)典故里沐绒,七夕是牛郎織女相會的日子×┟В現(xiàn)在假設(shè)在七夕那天,織女來到銀河邊乔遮,牛郎早就已經(jīng)等在銀河的那邊了扮超。因為銀河被設(shè)計為盡可能寬,所以蹋肮,接下來出刷,在喜鵲搭建鵲橋的時候,數(shù)學(xué)是否能夠幫助我們計算出這個最大寬度呢坯辩?


圖-7

由圖可知馁龟,向量z代表織女星,向量n代表牛郎星漆魔,兩點之間的直線距離為:向量z-向量n坷檩,記作(z-n)【箭頭省略了却音,你們懂的】。

w是條垂直于直線的向量矢炼。所以系瓢,河的寬度為:(z-n)w / ‖w‖

雖然這里n代表了牛郎星句灌,z代表了織女星夷陋,但是往上翻一翻,n其實就是之前“反例的x”涯塔,z就是“正例的x”肌稻。由y(wx+b) -1 = 0以及正反例下y的取值(-1,1),可得:nw = -b - 1,? zw = -b + 1匕荸。所以:(z-n)w / ‖w‖ = [-b + 1 - (-b - 1)] /??‖w‖ = 2 /??‖w‖爹谭。

現(xiàn)在要求河的寬度( 2 /??‖w‖)的最大值也就是求‖w‖的最小值榛搔,又是老生常談了诺凡,也就是求1/2 *?‖w‖^2的最小值

但是践惑,這次的求極值腹泌,與以往有些不一樣。因為:1/2 *?‖w‖^2是有約束條件的尔觉,w必須滿足y(wx+b) -1 = 0凉袱。在帶有約束條件的函數(shù)求極值的情況下,我們要引入拉格朗日乘數(shù)侦铜,從而擺脫約束條件的束縛专甩。?

我們用R表示河寬:【要求極值的函數(shù) - 總和(拉格朗日乘子 * 約束條件函數(shù))】

R =?1/2 *?‖w‖^2 -?∑λ[y(wx + b) - 1]?

? ? = 1/2 *?‖w‖^2 - (∑λywx + ?∑λyb -?∑λ)?【敲黑板,w钉稍,x是向量涤躲,原因你們懂的】

接下去又回到熟悉的套路了,對w求偏導(dǎo)贡未,并令偏導(dǎo)函數(shù)結(jié)果為0:

ΔR/Δw = w -?∑λyx = 0【上一篇提到的种樱,對w求偏導(dǎo),就把除w以外的皆看作常數(shù)俊卤,常數(shù)的導(dǎo)數(shù)為零嫩挤,再配合函數(shù)加法及乘法求導(dǎo)規(guī)則】

所以 w =?∑λyx。

對b求偏導(dǎo):

ΔR/Δb = ∑λy = 0消恍,所以俐镐,∑λy = 0。

再把?w =?∑λyx?代入R哺哼,得:

R = 1/2 * (∑λyx)(∑λyx) - (∑λyx)(∑λyx) -? b∑λy + ∑λ佩抹,代入∑λy = 0,得:

R =?∑λ - 1/2 (∑λyx)(∑λyx)?=?∑λ?- 1/2 ∑∑λλyyxx 【兩個樣本點積】

河的最大寬度取決于兩個樣本的點積取董。

于是就有:wx + b = (∑λyx)x + b(也取決于兩個樣本間的點積)

這兩個式子(河寬與虛線)都與樣本的線性和有關(guān)聯(lián)棍苹。我們來反思一下,我們?yōu)槭裁匆肜窭嗜粘藬?shù)茵汰?因為要求河寬的極值枢里。河寬邊界上有什么?支持向量蹂午,因為落在邊界(虛線)上的的向量可以確定一個超平面栏豺,所以叫支持向量。那也就是說豆胸,拉格朗日乘數(shù)只參與到支持向量的確認中奥洼,如果某個向量不是支持向量,那么拉格朗日乘數(shù)就對它沒有效果晚胡,也就是λ=0灵奖。而非支持向量的數(shù)量一般來說,總是多于支持向量估盘,所以在∑λyx中瓷患,很多項都為0


【本段粗斜體部分遣妥,包括圖-12擅编,為今早追加部分。是昨晚入睡時箫踩,突然頓悟Sean曾經(jīng)舉例過的兩個圓相切的例子爱态。但愿你們還記得上一篇神經(jīng)網(wǎng)絡(luò)提到的等高線圖,不同的是班套,上一回是用來爬山肢藐,所以越里面的圓,高度越高吱韭,這一回吆豹,1/2 *?‖w‖^2是個多維空間的凸空間(圖-12紅圈部分),所以又回到了梯度下降理盆,即越往里面痘煤,高度越低。為了簡化形式猿规,令f(w) =?1/2 *?‖w‖^2衷快;g(w) =?y(wx + b) - 1 = 0(河的邊界,也就是那兩條虛線)姨俩。由已知情況可得蘸拔,f(w)是在朝里移動师郑,f(w)朝里意味著河的邊界在擴大,也就是g(w)在朝外側(cè)移動(圖-12綠圈部分)调窍,當(dāng)f(w)與g(w)外切時宝冕,這一切點上,它們兩個方向相反邓萨,大小不等地梨。所以要令f(w) =?λg(w),這樣缔恳,f(w)的導(dǎo)數(shù) =?λg(w)?的導(dǎo)數(shù)宝剖,推得:f(w)的導(dǎo)數(shù)? - λg(w)?的導(dǎo)數(shù) = 0,也就是 (f(w) - λg(w))的導(dǎo)數(shù) = 0歉甚,就是再上面的一大串公式推導(dǎo)了万细。從圖里也能看出,λ大于等于0铃芦,而且它不是對所有的滿足f(w)的w有約束雅镊。】

當(dāng)然刃滓,如果遇到噪音仁烹,或者一些脫離群體的數(shù)據(jù),比方說咧虎,圖-7中的織女星z卓缰,如果通過鵲橋來到銀河對岸,那么這個時候砰诵,銀河就不能把她和牛郎星分開征唬,即“線性不可分”【圖-8】


圖-8

這個時候,我們引入松弛變量茁彭,希臘字母'ζ'总寒,以及懲罰因子,C理肺,放棄這類點摄闸。


圖-9

【C是事先我們自行指定的值,可以調(diào)整妹萨∧暾恚】

如果僅僅是平面線性分類,那似乎SVM也沒有體現(xiàn)出多少強大乎完,反而展現(xiàn)了其計算復(fù)雜的一面熏兄。我們古人怎么形容一個人的能力的,如果要表示一個人的能力非常非常非常非常厲害?

“斗轉(zhuǎn)星移摩桶、扭轉(zhuǎn)乾坤桥状、神鬼莫測、奪天地造化 ....”典格。假設(shè)出現(xiàn)了這樣一種能力岛宦,宇宙空間被改變了,天鷹座和天琴座擬合到一塊去了耍缴,見圖-10:

圖-10

顯然,這是線性不可分的挽霉。

“天地之初防嗡,一片混沌,盤古一劃侠坎,開天辟地蚁趁。”

還記得上一篇提到的等高線圖么实胸?假設(shè)圖-10也是俯瞰所得他嫡,現(xiàn)在,你跑到平地庐完,從側(cè)面正視钢属,應(yīng)該就是圖-11的樣子:


圖-11

“盤古一劃,開天辟地”门躯,從平面的線性不可分淆党,被拔高到多維平面的可分。這個時候再回過頭去看圖-10讶凉,你腦海里會自動繪制一條曲線來分割不同色彩的點染乌。手中無劍,心中有劍懂讯,這就是一個看山是山-看山不是山-看山是山的過程荷憋。

以上大部分都是文學(xué)修辭色彩,在數(shù)學(xué)上褐望,我們繼續(xù)引入其它功能:核函數(shù)勒庄。

【我曾詢問過Sean,核函數(shù)可不可以我們自己寫一個譬挚,Sean說可以锅铅,但是要遵循Mercer定理,我去簡單查了查Mercer定理减宣,意識到這是一個關(guān)于矩陣的“深淵”盐须,我決定暫時先不往里跳了∑犭纾】

很明顯贼邓,從圖-10的二維平面阶冈,到圖-11的多維平面,向量的坐標被變化了塑径,假設(shè)變化后的x為:

change(x)女坑,我們已經(jīng)知道,最大寬度與邊界只與樣本間的點積有關(guān)(change(x1) change(x2))统舀,所以匆骗,核函數(shù)的功能就是為了計算出變化后的樣本向量的點積。

假設(shè)核函數(shù)K誉简,那么有:K(x1, x2) =?change(x1) change(x2) 【鑒于鍵盤輸入限制碉就,也為了節(jié)省時間,向量的箭頭省略了闷串∥驮浚】

那我們可以采用哪些現(xiàn)有的核函數(shù)K呢?

e^(-?‖x1-x2‖ / σ)

【看到這個函數(shù)烹吵,我們應(yīng)該能自然聯(lián)想到碉熄,它可能會導(dǎo)致過擬合±甙危】

還是那句話锈津,沒有哪個算法是萬能的,關(guān)鍵還是在于把實際問題抽象到輸入向量只损。

本人水平有限一姿,如果有錯誤的地方,希望各位大神能夠不吝賜教跃惫,及時指正叮叹。

拋了兩塊磚了,寫得不好爆存,望輕拍蛉顽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市先较,隨后出現(xiàn)的幾起案子携冤,更是在濱河造成了極大的恐慌,老刑警劉巖闲勺,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曾棕,死亡現(xiàn)場離奇詭異,居然都是意外死亡菜循,警方通過查閱死者的電腦和手機翘地,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衙耕,你說我怎么就攤上這事昧穿。” “怎么了橙喘?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵时鸵,是天一觀的道長。 經(jīng)常有香客問我厅瞎,道長饰潜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任磁奖,我火速辦了婚禮囊拜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘比搭。我一直安慰自己,他們只是感情好南誊,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布身诺。 她就那樣靜靜地躺著,像睡著了一般抄囚。 火紅的嫁衣襯著肌膚如雪霉赡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天幔托,我揣著相機與錄音穴亏,去河邊找鬼。 笑死重挑,一個胖子當(dāng)著我的面吹牛嗓化,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谬哀,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼刺覆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了史煎?” 一聲冷哼從身側(cè)響起谦屑,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎篇梭,沒想到半個月后氢橙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡恬偷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年悍手,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡谓苟,死狀恐怖官脓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涝焙,我是刑警寧澤卑笨,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站仑撞,受9級特大地震影響赤兴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜隧哮,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一桶良、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沮翔,春花似錦陨帆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至榆鼠,卻和暖如春纲爸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妆够。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工识啦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人神妹。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓颓哮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親灾螃。 傳聞我的和親對象是個殘疾皇子题翻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容