技術(shù)
導(dǎo)讀:作為模式識(shí)別或者機(jī)器學(xué)習(xí)的愛好者,同學(xué)們一定聽說過支持向量機(jī)這個(gè)概念,這可是一個(gè),在機(jī)器學(xué)習(xí)中避不開的重要問題。
作為模式識(shí)別或者機(jī)器學(xué)習(xí)的愛好者,同學(xué)們一定聽說過支持向量機(jī)這個(gè)概念,這可是一個(gè),在機(jī)器學(xué)習(xí)中避不開的重要問題。
其實(shí)關(guān)于這個(gè)知識(shí)點(diǎn),有一則很通俗有趣的傳說:
很久以前,一個(gè)村莊里住著一位退隱的大俠,相傳大俠的劍法非常高明。
在一個(gè)月黑風(fēng)高的夜晚,魔鬼抓走了大俠的妻子。大俠取出塵封多年的劍,來到魔鬼的城堡要救他的妻子。但是魔鬼卻提出要求,要和他玩一個(gè)游戲。
魔鬼在桌子上放了兩種顏色的球,說:“用你手中的劍分開它們,要求是盡量在放更多球之后,仍然適用?!?/p>
大俠拔出利劍一揮,桌上出現(xiàn)一道裂痕,準(zhǔn)確地分開了兩種球。
然后魔鬼又在桌上放了更多的球,大俠如法炮制,手起刀落,雖然有一個(gè)球沒有準(zhǔn)確劃分,但依然干得漂亮。
大俠發(fā)現(xiàn),劍痕的最佳位置,就是讓劍痕離兩邊的球都有盡可能大的間隙。
有了這樣的思想,現(xiàn)在即使魔鬼放了再多的球,就仍然能夠很好地劃出分界線。
當(dāng)然,魔鬼不會(huì)善罷甘休,于是把一堆球隨手一扔:把它們分開。
大俠看到這樣擺放的球,也是有點(diǎn)懵逼的。就在魔鬼開啟嘲諷模式時(shí),大俠想到了新的辦法。
他左手在桌上一拍,球飛到空中。然后,凌空騰起,用手中的劍劃出一道光波,恰好穿過兩種球的中間。
從魔鬼的角度看這些球,它們看起來像是被一條曲線分開了。
大俠救回了妻子,然后故事在村里傳開了,并被杜撰成了美麗的故事。也就成了現(xiàn)在的支持向量機(jī)傳說。
聽完這個(gè)故事,是不是對(duì)支持向量機(jī)有了一些更加感性的認(rèn)知?
今天,班主任就來給大家詳細(xì)講一講線性支持向量機(jī)問題。
支持向量機(jī)(Support Vector Machine,以下簡(jiǎn)稱SVM)主要用于解決模式識(shí)別領(lǐng)域中的數(shù)據(jù)分類問題,它屬于有監(jiān)督學(xué)習(xí)算法的一種。
SVM要解決的問題可以用一個(gè)經(jīng)典的二分類問題加以描述,也就是我們?cè)陂_頭講的那則傳說。如圖a所示,在二維坐標(biāo)中有一堆紅色的球和藍(lán)色的球,能否用一條直線將它們分開呢?顯然是可以的,而且滿足這一條件的直線也顯然不止一條。
這類問題在模式識(shí)別領(lǐng)域稱為線性可分問題。
圖b和c分別給出了兩種不同的分類方案,其中黑色實(shí)線為分界線,稱為“決策面”。
不同的分類器(比如說決策樹、神經(jīng)網(wǎng)絡(luò),邏輯回歸)會(huì)給出不同的分類邊界,而它們都是在找一個(gè)“最好的”的決策邊界。SVM的意義也是如此。
以圖(b)為例,虛線的位置由決策面的方向和距離決策面最近的幾個(gè)樣本的位置決定。兩條虛線之間的垂直距離,就是這個(gè)決策面對(duì)應(yīng)的分類間隔。
顯然,每一個(gè)可能把數(shù)據(jù)集正確分開的方向都有一個(gè)最優(yōu)決策面。而不同方向最優(yōu)決策面,它們的分類間隔通常是不同的。那個(gè)具有“最大間隔”的決策面就是SVM要尋找的最優(yōu)解。而這個(gè)最優(yōu)解對(duì)應(yīng)的兩側(cè)虛線所穿過的樣本點(diǎn),就是SVM中的支持樣本點(diǎn),稱為支持向量。
回到圖(b)中的數(shù)據(jù),A決策面就是SVM尋找的最優(yōu)解,而相應(yīng)的三個(gè)位于虛線上的樣本點(diǎn),在坐標(biāo)系中對(duì)應(yīng)的向量就叫做支持向量。
最佳決策邊界
那么如何判斷一個(gè)決策邊界好呢?讓我們來看一下SVM的關(guān)鍵假設(shè):決策邊界兩邊最近的樣本到?jīng)Q策邊界的間隔最大,此時(shí)的決策邊界為最佳決策邊界。
間隔
以上舉例為二維平面中的例子。而在樣本空間中,劃分超平面可通過如下線性方程來描述:
其中w為法向量,決定了超平面的方向;b為位移量,決定了超平面與原點(diǎn)的距離。而對(duì)于訓(xùn)練樣本(xi,yi),則滿足以下公式:
公式(2)稱為最大間隔假設(shè),yi=+1 表示樣本為正樣本,yi=?1 表示樣本為負(fù)樣本。
再經(jīng)過一系列的變形,可以求出間隔的最終表達(dá)式
間隔最大化
SVM的思想是使得間隔最大化,也就是:
顯然,最大化 2||w|| 相當(dāng)于最小化 ||w||,公式(6)可以轉(zhuǎn)化成:
公式(7)即為支持向量機(jī)的基本型。
看到這類帶約束的最小值問題,很自然我們想到了拉格朗日乘子法。
由此最終求解可以得到模型:
從這個(gè)結(jié)論里我們可以看出支持向量機(jī)的重要特征:當(dāng)訓(xùn)練完成后,大部分樣本都不需要保留,最終模型只與支持向量有關(guān)。
近年來SVM已經(jīng)在圖像識(shí)別、信號(hào)處理、基因圖譜識(shí)別等方面得到了廣泛的應(yīng)用,例如在無人駕駛技術(shù)中,需要對(duì)路面箭頭指示進(jìn)行識(shí)別,這里就用到了SVM。
又比如,方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征是一種在計(jì)算機(jī)視覺和圖像處理中,進(jìn)行物體檢測(cè)的特征描述子。如今,HOG特征結(jié)合SVM分類器已經(jīng)被廣泛應(yīng)用于圖像識(shí)別中,尤其是在行人檢測(cè)中,獲得了極大的成功。
SVM和深度學(xué)習(xí)(DeepLearning,以下簡(jiǎn)稱DL)相比,有哪些特點(diǎn)和適用場(chǎng)景呢?
一般來說,SVM在解決中小數(shù)據(jù)規(guī)模(相對(duì)少)、非線性(懲罰變量)、高維(核函數(shù))模式識(shí)別方面,具有較大的優(yōu)勢(shì)。DL處理的對(duì)象主要為圖像和聲音,其優(yōu)勢(shì)在于對(duì)原始特征的表示。
但是神經(jīng)網(wǎng)絡(luò)相當(dāng)于一個(gè)黑盒模型,在一些關(guān)鍵的應(yīng)用場(chǎng)合,會(huì)有較高的風(fēng)險(xiǎn)。
例如在智能醫(yī)療方面,一個(gè)醫(yī)生使用了基于深度學(xué)習(xí)的系統(tǒng),卻由于神經(jīng)網(wǎng)絡(luò)的“黑盒”特性,無法向患者解釋診斷原理,那用戶極有可能會(huì)因?yàn)楦唢L(fēng)險(xiǎn)而拒絕。
但如果選用的是SVM,它是單純從可靠的數(shù)學(xué)理論推導(dǎo)出來的,可解釋性較好,那用戶對(duì)這類產(chǎn)品的選擇率會(huì)更高。