人工智能之機器學(xué)習(xí)有5大流派: 1) 符號主義靠益,2) 貝葉斯派丧肴,3) 聯(lián)結(jié)主義,4) 進化主義胧后,5) Analogizer芋浮。今天我們重點探討一下Analogizer中最擅長算法-支持向量機(SVM)
SVM概述:
支持向量機(SVM)是由Vapnik領(lǐng)導(dǎo)的AT&T Bell實驗室研究小組在1995年提出的一種新的非常有潛力的分類技術(shù)。剛開始主要針對二值分類問題而提出壳快,成功地應(yīng)用子解函數(shù)回歸及一類分類問題纸巷,并推廣到大量應(yīng)用中實際存在的多值分類問題中。支持向量機(SVM)是一種與相關(guān)學(xué)習(xí)算法有關(guān)的監(jiān)督學(xué)習(xí)模型濒憋。
支持向量機(SVM)自誕生起便由于它良好的分類性能席卷了機器學(xué)習(xí)領(lǐng)域何暇,并牢牢壓制了神經(jīng)網(wǎng)絡(luò)領(lǐng)域好多年。如果不考慮集成學(xué)習(xí)的算法凛驮,不考慮特定的訓(xùn)練數(shù)據(jù)集裆站,在分類算法中的表現(xiàn)SVM可以說是排第一的。
支持向量機(SVM)在解決小樣本黔夭、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢宏胯,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學(xué)習(xí)問題中。
SVM原理介紹:
支持向量機(SVM)方法是建立在統(tǒng)計學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險最小原理基礎(chǔ)上的本姥,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折中肩袍,以求獲得最好的推廣能力。支持向量機(SVM)與神經(jīng)網(wǎng)絡(luò)類似婚惫,都是學(xué)習(xí)型的機制氛赐,但與神經(jīng)網(wǎng)絡(luò)不同的是SVM使用的是數(shù)學(xué)方法和優(yōu)化技術(shù)。SVM背后的數(shù)學(xué)理論基礎(chǔ)(概率論與數(shù)理統(tǒng)計先舷、泛函分析和運籌學(xué)等)是近代人類的偉大數(shù)學(xué)成就艰管。由于數(shù)學(xué)上比較艱澀,剛開始SVM研究一直沒有得到充分的重視蒋川。直到統(tǒng)計學(xué)習(xí)理論SLT的實現(xiàn)和由于神經(jīng)網(wǎng)絡(luò)等較新興的機器學(xué)習(xí)方法的研究遇到一些重要的困難牲芋,才使得SVM迅速發(fā)展和完善。
支持向量機(SVM)可以分析數(shù)據(jù)捺球,識別模式缸浦,用于分類和回歸分析。給定一組訓(xùn)練樣本氮兵,每個標(biāo)記為屬于兩類裂逐,一個SVM訓(xùn)練算法建立了一個模型,分配新的實例為一類或其他類泣栈,使其成為非概率二元線性分類絮姆。一個SVM模型的例子醉冤,如在空間中的點,映射篙悯,使得所述不同的類別的例子是由一個明顯的差距是盡可能寬劃分的表示蚁阳。新的實施例則映射到相同的空間中,并預(yù)測基于它們落在所述間隙側(cè)上屬于一個類別鸽照。
除了進行線性分類螺捐,支持向量機可以使用核技巧,它們的輸入隱含映射成高維特征空間中有效地進行非線性分類矮燎。一個支持向量機的構(gòu)造一個超平面定血,或在高或無限維空間,其可以用于分類诞外,回歸澜沟,或其它任務(wù)中設(shè)定的超平面的。一個良好的分離通過具有到任何類的最接近的訓(xùn)練數(shù)據(jù)點的最大距離的超平面的一般實現(xiàn)中峡谊,由于較大的裕度下分類器的泛化誤差茫虽。而原來的問題可能在一個有限維空間中所述,經(jīng)常發(fā)生以鑒別集是不是在該空間線性可分既们。出于這個原因濒析,有人建議,在原始有限維空間映射到一個高得多的立體空間啥纸,推測使分離在空間比較容易号杏。保持計算負荷合理,使用支持向量機計劃的映射被設(shè)計成確保在點積可在原空間中的變量而言容易地計算斯棒,通過定義它們中選擇的核函數(shù)k(x盾致,y)的計算以適應(yīng)的問題。
在高維空間中的超平面被定義為一組點的點積與該空間中的向量是恒定的荣暮。限定的超平面的載體可被選擇為線性組合與參數(shù)alpha_i中發(fā)生的數(shù)據(jù)的基礎(chǔ)上的特征向量的圖像绰上。這種選擇一個超平面,該點中的x的特征空間映射到超平面是由關(guān)系定義:字型sum_ialpha_ik(x_i中渠驼,x)=mathrm{常數(shù)}。注意鉴腻,如果k(x迷扇,y)變小為y的增長進一步遠離的x,在求和的每一項測量測試點x的接近程度的相應(yīng)數(shù)據(jù)基點x_i的程度爽哎。以這種方式蜓席,內(nèi)核上面的總和可以被用于測量各個測試點的對數(shù)據(jù)點始發(fā)于一個或另一個集合中的要被鑒別的相對接近程度。
SVM分類器分類:
1)線性分類器:一個線性函數(shù)课锌,可以用于線性分類厨内。一個優(yōu)勢是不需要樣本數(shù)據(jù)祈秕。線性分類器公式如下:
--(1)
2)非線性分類器:支持線性分類和非線性分類。需要部分樣本數(shù)據(jù)(支持向量)雏胃,也就是αi≠0的數(shù)據(jù)请毛。非線性分類器公式如下:
--(2)
其中,α瞭亮, σ 和 b 是訓(xùn)練數(shù)據(jù)后產(chǎn)生的值方仿。可以通過調(diào)節(jié)σ來匹配維度的大小统翩,σ越大仙蚜,維度越低。
SVM核心思想:
SVM目的是找到一個線性分類的最佳超平面 f(x)=xwT+b=0厂汗。求 w 和 b委粉。首先通過兩個分類的最近點,找到f(x)的約束條件娶桦。有了約束條件贾节,就可以通過拉格朗日乘子法和KKT條件來求解,這時趟紊,問題變成了求拉格朗日乘子αi 和 b氮双。對于異常點的情況,加入松弛變量ξ來處理霎匈。使用序列最小化SMO(Sequential Minimal Optimization)來求拉格朗日乘子αi和b戴差。注意:有些αi=0的點,可以不用在分類器中考慮铛嘱。
1)線性分類可以使用公式(1)和公式(2)暖释,對于公式(1)需要求解 w 和 b;對于公式(2)需要求解拉格朗日乘子αi和b墨吓;
2)非線性分類只能使用公式(2)球匕,不能使用公式(1),因為公式(1)是線性函數(shù)帖烘。非線性分類的問題將向量映射到高維度亮曹,需要使用核函數(shù)。
SVM實質(zhì):
支持向量機(SVM)將向量映射到一個更高維的空間里秘症,在這個空間里建立有一個最大間隔超平面照卦。在分開數(shù)據(jù)的超平面的兩邊建有兩個互相平行的超平面。建立方向合適的分隔超平面使兩個與之平行的超平面間的距離最大化乡摹。其假定為役耕,平行超平面間的距離或差距越大,分類器的總誤差越小聪廉。
SVM關(guān)鍵因素:
SVM的關(guān)鍵在于核函數(shù)瞬痘。低維空間向量集通常難于劃分故慈,解決的方法是將它們映射到高維空間。但這個辦法帶來的困難就是計算復(fù)雜度的增加框全,而核函數(shù)正好巧妙地解決了這個問題察绷。也就是說,只要選用適當(dāng)?shù)暮撕瘮?shù)竣况,可以得到高維空間的分類函數(shù)克婶。在SVM理論中,采用不同的核函數(shù)將導(dǎo)致不同的SVM算法丹泉。在確定了核函數(shù)之后情萤,由于確定核函數(shù)的已知數(shù)據(jù)也存在一定的誤差,考慮到推廣性問題摹恨,因此引入了松弛系數(shù)以及懲罰系數(shù)兩個參變量來加以校正筋岛。在確定了核函數(shù)基礎(chǔ)上,再經(jīng)過大量對比實驗等將這兩個系數(shù)取定晒哄,則問題基本搞定睁宰。
SVM常用方法:
1)一對多法:把某一種類別的樣本當(dāng)作一個類別,剩余其他類別的樣本當(dāng)作另一個類別寝凌,這樣就變成了一個兩分類問題柒傻。然后,在剩余的樣本中重復(fù)上面的步驟`這種方法箱要構(gòu)造k個SVM模型较木,其中红符,k是待分類的個數(shù)。這種方案的缺點是訓(xùn)練樣本數(shù)目大伐债,訓(xùn)練困難预侯。
2)一對一法: 在多值分類中,每次只考慮兩類樣本峰锁,即對每兩類樣本設(shè)計一個SVM模型萎馅,因此,總共需要設(shè)計k(k一l) /2個SVM模型虹蒋。需要構(gòu)造多個二值分類器糜芳,且測試時需要對每兩類都進行比較,導(dǎo)致算法計算復(fù)雜度很高魄衅。
SVM決策樹法:它通常和二叉決策樹結(jié)合起來峭竣,構(gòu)成多類別的識別器。這種方法的缺點是如果在某個節(jié)點上發(fā)生了分類錯誤徐绑,將會把錯誤延續(xù)下去,該節(jié)點后續(xù)下一級節(jié)點上的分類就失去了意義莫辨。weston雖然提出了用一個優(yōu)化式解多值分類問題傲茄,但由于其變量t數(shù)目過多毅访,所以只能在小型問題的求解中使用。
SVM是一種基于統(tǒng)計學(xué)習(xí)理論的模式識別方法盘榨,是一個二分類算法喻粹,它可以在N維空間找到一個(N-1)維的超平面,這個超平面可以將這些點分為兩類草巡。也就是說守呜,平面內(nèi)如果存在線性可分的兩類點,SVM可以找到一條最優(yōu)的直線將這些點分開山憨。它在解決小樣本查乒、非線性及高維模式識別問題中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學(xué)習(xí)問題中郁竟。SVM應(yīng)用范圍很廣玛迄,已經(jīng)在許多領(lǐng)域,如生物信息學(xué)棚亩,文本和手寫識別等中都取得了成功的應(yīng)用蓖议。目前主要應(yīng)用于模式識別領(lǐng)域。
結(jié)語:
在機器學(xué)習(xí)中讥蟆,支持向量機(SVM)是與相關(guān)的學(xué)習(xí)算法有關(guān)的監(jiān)督學(xué)習(xí)模型勒虾,可以分析數(shù)據(jù),識別模式瘸彤,用于分類和回歸分析修然。在解決小樣本、非線性及高維模式識別問題中表現(xiàn)出許多特有的優(yōu)勢钧栖,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學(xué)習(xí)問題中低零。已經(jīng)在許多領(lǐng)域,比如生物信息學(xué)拯杠,文本和手寫識別等中都取得了成功的應(yīng)用掏婶。目前主要應(yīng)用于模式識別領(lǐng)域。