国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BP神經(jīng)網(wǎng)絡(luò)和SVM的分類方法研究

2016-01-12 09:09:20王宏濤孫劍偉
軟件 2015年11期
關(guān)鍵詞:支持向量機(jī)BP神經(jīng)網(wǎng)絡(luò)

王宏濤++孫劍偉

摘要:介紹了BP神經(jīng)網(wǎng)絡(luò)和SVM算法的分類原理。附加動(dòng)量因子和隨機(jī)梯度下降法是對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化的重要方法,利用Google實(shí)驗(yàn)室的MNIST手寫數(shù)字庫研究了動(dòng)量因子和隨機(jī)數(shù)以及SVM不同核函數(shù)對(duì)分類性能影響,為實(shí)際應(yīng)用中模型的選擇提供一定依據(jù)。同時(shí)也研究了兩個(gè)算法在不同樣本數(shù)下的性能表現(xiàn),實(shí)驗(yàn)表明樣本數(shù)較少時(shí)SVM比BP具有更高的泛化能力。最后結(jié)合兩個(gè)算法特點(diǎn),給出層次分類法并做為今后研究方向。

關(guān)鍵詞:MNIST數(shù)字庫;BP神經(jīng)網(wǎng)絡(luò);支持向量機(jī);分類性能

中圖分類號(hào):TP391.41

文獻(xiàn)標(biāo)識(shí)碼:A

DOI:10.3969/j.issn.1003-6970.2015.11.024

0 引言

很多實(shí)際應(yīng)用問題都可歸為分類問題,如故障診斷、模式識(shí)別等,分類過程包括分類器構(gòu)造和運(yùn)用模型進(jìn)行分類兩個(gè)步驟。神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(SVM)是分類領(lǐng)域中兩種重要方法。神經(jīng)網(wǎng)絡(luò)是模擬人腦神經(jīng)系統(tǒng)的數(shù)學(xué)模型,具有高度并行性、較強(qiáng)的自學(xué)習(xí)自適應(yīng)和聯(lián)想記憶功能特點(diǎn)。Vapnik在20世紀(jì)90年代基于統(tǒng)計(jì)學(xué)習(xí)理論提出支持向量機(jī),它是借助最優(yōu)化方法解決問題的,求解支持向量轉(zhuǎn)化為解凸二次優(yōu)化問題,它能夠獲得全局最優(yōu)解,是結(jié)構(gòu)風(fēng)險(xiǎn)最小化的算法。經(jīng)過多年發(fā)展神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)在很多領(lǐng)域取得成功,但是神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)參數(shù)選擇沒有理論上支撐,參數(shù)選擇優(yōu)化是算法應(yīng)用成功的關(guān)鍵,挖掘模型參數(shù)對(duì)算法性能影響具有重要意義。本文在Google的手寫數(shù)字庫上研究了BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的附加動(dòng)量因子、隨機(jī)數(shù)和不同核函數(shù)等變量對(duì)準(zhǔn)確率、計(jì)算時(shí)間以及收斂曲線的影響,比較兩個(gè)算法在不同訓(xùn)練樣本數(shù)時(shí)性能表現(xiàn)。最后結(jié)合BP神經(jīng)網(wǎng)絡(luò)算法和SVM的各自特點(diǎn)提出分層分類模型,該方法適用于具有結(jié)構(gòu)分解、功能分解特點(diǎn)的對(duì)象,為復(fù)雜對(duì)象分類提供了一種思路。

1 BP神經(jīng)網(wǎng)絡(luò)和SVM算法

1.1 BP神經(jīng)網(wǎng)絡(luò)技術(shù)

神經(jīng)網(wǎng)絡(luò)是對(duì)人腦的抽象、模擬和簡(jiǎn)化的信息處理模型,其中神經(jīng)元數(shù)學(xué)模型、網(wǎng)絡(luò)連接方式以及神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方式是神經(jīng)網(wǎng)絡(luò)的三個(gè)關(guān)鍵。神經(jīng)網(wǎng)絡(luò)原理是利用網(wǎng)絡(luò)的學(xué)習(xí)和記憶功能,讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)各個(gè)類別中的樣本特征,在遇到待識(shí)別樣本時(shí)神經(jīng)網(wǎng)絡(luò)利用記住的特征信息對(duì)比輸入向量,從而確定待測(cè)樣本所屬類別。該算法通過學(xué)習(xí)機(jī)制得出決策信息,并不需要模式先驗(yàn)知識(shí)。BP神經(jīng)網(wǎng)絡(luò)是目前最流行的一種神經(jīng)網(wǎng)絡(luò)模型,它是一種按誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò),包括輸入層、隱含層和輸出層。Kolmogorov定理已經(jīng)證明BP神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的非線性映射能力和泛化能力,任一連續(xù)函數(shù)或映射函數(shù)均可采用三層網(wǎng)絡(luò)加以實(shí)現(xiàn)。

BP神經(jīng)網(wǎng)絡(luò)算法包括兩個(gè)階段:從輸入層經(jīng)過隱層逐層計(jì)算輸出結(jié)果的過程,從輸出層逐層誤差反向傳播的學(xué)習(xí)過程。正向傳播過程中訓(xùn)練樣本從輸入層逐層處理傳到輸出層,將輸出結(jié)果與期望值比較計(jì)算誤差,若誤差較大將誤差按學(xué)習(xí)規(guī)則反向逐層分?jǐn)偟礁鞴?jié)點(diǎn)。學(xué)習(xí)規(guī)則用最快梯度下降法,通過反向傳播不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值使網(wǎng)絡(luò)的誤差平方和最小。

1.2 BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的優(yōu)化

傳統(tǒng)BP算法采用梯度下降法,由于梯度下降法易陷入局部極小點(diǎn)而得不到全局最優(yōu)解,在權(quán)值調(diào)整時(shí)增加動(dòng)量因子項(xiàng)可以使算法對(duì)誤差曲面局部細(xì)節(jié)不敏感能調(diào)出局部極小值。式1是學(xué)習(xí)算法的權(quán)值更新函數(shù),其中△Wji(n)是第n次迭代時(shí)權(quán)值的更新,α(0≤α≤1)是動(dòng)量系數(shù),權(quán)值更新時(shí)不僅考慮了第n+l步梯度方向而且增加了以前梯度方向,目的是減少震蕩。

△Wji(n+1)=(1-α)θδjxji+α△Wji(n)

(1)

由于批梯度下降法將所有用樣本誤差進(jìn)行反饋學(xué)習(xí)而使得效率低下,訓(xùn)練次數(shù)多收斂速度慢。隨機(jī)梯度下降法做為批梯度下降法的改進(jìn),每輪迭代時(shí)隨機(jī)選取有限個(gè)樣本誤差進(jìn)行學(xué)習(xí),對(duì)于樣本規(guī)模很大時(shí)可大大減少運(yùn)行時(shí)間。隨機(jī)個(gè)數(shù)選取是關(guān)鍵。

1.3 支持向量機(jī)方法

支持向量機(jī)是基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理的算法。分類原理是建立一個(gè)超平面作為決策面,該決策面在能夠正確分類樣本的情況下,使樣本中離分類面最近的點(diǎn)的“間隔”最大。如圖1中實(shí)線作為決策面可以將不同顏色的兩類樣本分開,虛線是由離決策面最近的點(diǎn)并且平行于決策面。虛線間距離稱為間隔,當(dāng)間隔最大時(shí)虛線上的點(diǎn)便是支持向量。SVM學(xué)習(xí)過程即是求支持向量。

對(duì)于非線性分類問題,將原始數(shù)據(jù)通過一個(gè)非線性映射Φ從原始R維空間映射到高維空間Ω,再在高維特征空間Ω中求最優(yōu)分類面。Ω的維數(shù)可能會(huì)非常高,利用核函數(shù)可似解決維數(shù)災(zāi)難。根據(jù)相關(guān)定理,如果核函數(shù)K(xi,xj)滿足Mercer條件,它就對(duì)應(yīng)某一變換空間的內(nèi)積K(xi,xj)=<φ(xi),φ(xj)>使得在原始空間中計(jì)算的結(jié)果等價(jià)于在高維空間計(jì)算內(nèi)積。在實(shí)例中應(yīng)用核函數(shù)可有效分類而計(jì)算量沒有大幅增加,核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)和徑向基核函數(shù)等。

支持向量機(jī)可以看做具有單隱層的前饋神經(jīng)網(wǎng)絡(luò),支持向量是隱層的神經(jīng)元,神經(jīng)元的權(quán)值是通過二次規(guī)劃算法優(yōu)化獲得。但是二者只是結(jié)構(gòu)上相似,優(yōu)化原理及具體含義有著本質(zhì)區(qū)別。SVM中支持向量是由算法自動(dòng)確定不需要人為指定數(shù)目和權(quán)值,而BP神經(jīng)網(wǎng)絡(luò)的隱含層個(gè)數(shù)及單元數(shù)都需要事先人為確定。

2 基于MNIST的分類實(shí)驗(yàn)設(shè)計(jì)

2.1 MNIST手寫數(shù)字庫描述

Google實(shí)驗(yàn)室的Corinna Cortes和紐約大學(xué)克朗研究所的Yann LeCun建有一個(gè)手寫數(shù)字?jǐn)?shù)據(jù)庫,訓(xùn)練樣本有60000張圖像,測(cè)試樣本有10000張,都是0到9的手寫數(shù)字圖片灰度級(jí)為8,每個(gè)圖片是28*28像素矩陣,可以使用一個(gè)784大小的向量表示。endprint

數(shù)據(jù)預(yù)處理:MNIST樣本灰度值在0-256之間,而且大部分等于0,部分大于230,數(shù)據(jù)范圍跨度大,對(duì)BP神經(jīng)網(wǎng)絡(luò)來說可能導(dǎo)致收斂慢、訓(xùn)練時(shí)間長(zhǎng),對(duì)輸出精度也有影響。對(duì)SVM算法如果直接將圖像的像素值進(jìn)行建模學(xué)習(xí),分類正確率只有10%左右。所以在實(shí)驗(yàn)時(shí)將灰度值進(jìn)行歸一化處理映射到到[0,1]之間。

2.2 BP神經(jīng)網(wǎng)絡(luò)分類實(shí)驗(yàn)設(shè)計(jì)

(1)網(wǎng)絡(luò)設(shè)計(jì):隱層個(gè)數(shù)、隱層神經(jīng)元個(gè)數(shù)、轉(zhuǎn)移函數(shù)等參數(shù)需要事先確定,我們參考文獻(xiàn)資料給出最優(yōu)取值如圖2。在此基礎(chǔ)上分別研究動(dòng)量因子和隨機(jī)梯度下降法中隨機(jī)數(shù)選取對(duì)分類性能影響。

(2)性能評(píng)價(jià)指標(biāo):從分類準(zhǔn)確率、收斂時(shí)間和曲線特征三個(gè)方面考察算法性能。高準(zhǔn)確率是算法的首要目標(biāo),而隨機(jī)梯度下降法和附加動(dòng)量因子作用是減少運(yùn)行時(shí)間提高學(xué)習(xí)效率,所以選擇收斂時(shí)間和曲線特征做為評(píng)價(jià)項(xiàng)。

2.3 SVM分類實(shí)驗(yàn)設(shè)計(jì)

SVM算法中參數(shù)相比BP算法少,主要考察不同核函數(shù)以及樣本數(shù)對(duì)分類性能影響,其中關(guān)于訓(xùn)練樣本數(shù)同BP算法性能進(jìn)行比較。常用核函數(shù)有以下4種:

(1)線性核函數(shù)K(x,y)=x*y

(2)多項(xiàng)式核函數(shù)K(x,y)=[x*y+1]*d

(3)徑向基核函數(shù)K(x,y)=exp(-(|x-y|)22

( 4) Sigmoid核函數(shù)K(x,y)=tanh(b(x*y)-c)

多分類方法:SVM本身是二分類方法,不能直接進(jìn)行多分類需要轉(zhuǎn)換。實(shí)驗(yàn)中我們采用一對(duì)一分類法。實(shí)驗(yàn)具有10個(gè)分類目標(biāo),訓(xùn)練建立個(gè)分類函數(shù)。當(dāng)對(duì)未知樣本進(jìn)行分類時(shí),每個(gè)分類器都對(duì)其類別進(jìn)行判斷,并為相應(yīng)的類別投票,最后得票多的即為該樣本的類別。

3 實(shí)驗(yàn)仿真

實(shí)驗(yàn)在Matlab7.6上編程實(shí)現(xiàn),其中SVM性能實(shí)驗(yàn)應(yīng)用了LIBSVM工具包。LIBSVM是臺(tái)灣大學(xué)教授林智仁博士等人開發(fā)的關(guān)于SVM軟件仿真工具。

3.1 BP神經(jīng)網(wǎng)絡(luò)分類性能

實(shí)驗(yàn)1 附加動(dòng)量因子對(duì)性能影響

實(shí)驗(yàn)樣本個(gè)數(shù)取5000,動(dòng)量因子在0到1之間選擇。

由表1可以看到,動(dòng)量因子似乎沒有起到平滑隨機(jī)梯度下降法收斂曲線的作用。甚至,過小的動(dòng)量因子會(huì)導(dǎo)致抖動(dòng)更加明顯。但準(zhǔn)確率和運(yùn)行時(shí)間上都區(qū)別不大。說明本身不加動(dòng)量因子的情況下收斂曲線的抖動(dòng)就不明顯。引入動(dòng)量因子不能使其收斂到全局最優(yōu),反而加劇了震蕩。

實(shí)驗(yàn)2隨機(jī)梯度下降法中隨機(jī)數(shù)對(duì)性能影響

實(shí)驗(yàn)1表明附加動(dòng)量因子未起到平滑作用,此實(shí)驗(yàn)不加入動(dòng)量因子。

如果BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法采用隨機(jī)梯度下降法,由表2可看到當(dāng)選取的隨機(jī)樣本數(shù)為5000時(shí)算法性能已經(jīng)很優(yōu)秀,說明此時(shí)隨機(jī)樣本已足夠代表樣本規(guī)律,而隨著隨機(jī)樣本數(shù)增加運(yùn)行時(shí)間急速增加但正確率并未顯著提高。當(dāng)選取的隨機(jī)數(shù)逐漸減小時(shí),收斂曲線抖動(dòng)開始加劇,準(zhǔn)確率也有所下降。

3.2 SVM分類性能

實(shí)驗(yàn)3不同核函數(shù)對(duì)算法性能影響

實(shí)驗(yàn)分別選擇線性核函數(shù)、多項(xiàng)式核函數(shù)及徑向基核函數(shù)在MNIST上進(jìn)行分類,最優(yōu)參數(shù)參考文獻(xiàn)給出,實(shí)驗(yàn)結(jié)果如表3,可知三個(gè)核函數(shù)的分類結(jié)果正確率都很接近,支持向量個(gè)數(shù)也都很接近,不同核函數(shù)對(duì)分類正確率影響很小。

實(shí)驗(yàn)4 訓(xùn)練樣本數(shù)對(duì)算法性能影響

在核函數(shù)研究基礎(chǔ)上此實(shí)驗(yàn)選取徑向基核函數(shù)中高斯核函數(shù),樣本數(shù)分別取100/500/1000/2000/5000/10000/20000/50000進(jìn)行實(shí)驗(yàn)。

圖3比較了SVM和BP算法分類準(zhǔn)確率和收斂時(shí)間性能。在樣本數(shù)即使只有500時(shí)支持向量機(jī)準(zhǔn)確率已經(jīng)很高,提高訓(xùn)練樣本數(shù)對(duì)預(yù)測(cè)準(zhǔn)確率沒多大意義,但是會(huì)使算法運(yùn)行時(shí)間大大提高,當(dāng)樣本數(shù)達(dá)到50000時(shí)預(yù)測(cè)準(zhǔn)確率反而下降,主要是由于支持向量過多會(huì)使模型對(duì)有效信息“過度解讀”。樣本數(shù)過多帶來另一個(gè)問題是支持向量增多導(dǎo)致運(yùn)算量增大。

BP神經(jīng)網(wǎng)絡(luò)隨著樣本數(shù)上升實(shí)驗(yàn)準(zhǔn)確率顯著上升,樣本數(shù)較少時(shí)準(zhǔn)確率較低,樣本數(shù)達(dá)到20000時(shí)準(zhǔn)確率得到提升但迭代運(yùn)行時(shí)間也大幅提高。另外利用樣本數(shù)500訓(xùn)練的網(wǎng)絡(luò)模型進(jìn)行分類實(shí)驗(yàn),分類結(jié)果很不穩(wěn)定,說明即使樣數(shù)很少時(shí)訓(xùn)練準(zhǔn)確率很高但不能保證具有較高泛化能力。綜合比較樣本數(shù)較少時(shí)SVM比BP具有更高的泛化能力。

3.3 實(shí)驗(yàn)分析

BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法引入動(dòng)量因子可以防止陷入局部最優(yōu),但在手寫數(shù)字分類中反而會(huì)加劇抖動(dòng)使算法不能收斂,不是所有情況適合加入動(dòng)量因子。學(xué)習(xí)算法選取隨機(jī)梯度下降法時(shí),當(dāng)隨機(jī)樣本足夠表示樣本規(guī)律時(shí)能有效減少運(yùn)行時(shí)間,但是過少會(huì)使預(yù)測(cè)準(zhǔn)確率下降,過多等同于批量梯度法會(huì)加大運(yùn)算量。BP和SVM分類準(zhǔn)確率與樣本數(shù)沒有嚴(yán)格量化關(guān)系,但足夠的樣本可以提高BP算法分類準(zhǔn)確率及泛化能力,樣本數(shù)較少時(shí)SVM在比BP具有更高的泛化能力。

4 結(jié)論

BP神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)在分類、模式識(shí)別和故障診斷中是常用的兩種方法。研究了BP神經(jīng)網(wǎng)絡(luò)和SVM算法幾個(gè)關(guān)鍵參數(shù)對(duì)算法性能影響。BP神經(jīng)網(wǎng)絡(luò)中動(dòng)量因子不是在所有場(chǎng)合下都適用,與樣本的數(shù)學(xué)特征有關(guān),不合理引入動(dòng)量因子反而會(huì)加劇抖動(dòng)。隨機(jī)梯度下降法中選擇合適的隨機(jī)數(shù)在保證分類效果同時(shí)可有效降低運(yùn)行時(shí)間,這對(duì)于大規(guī)模數(shù)據(jù)學(xué)習(xí)具有重要意義。SVM算法對(duì)核函數(shù)選取不敏感,同時(shí)SVM算法在小樣本上表現(xiàn)優(yōu)秀,好于BP神經(jīng)網(wǎng)絡(luò),對(duì)于大樣本支持向量過多可能會(huì)產(chǎn)生過擬合,基于這一特點(diǎn)提出結(jié)合BP神經(jīng)網(wǎng)絡(luò)和SVM算法的分層分類方法。

如果分類對(duì)象復(fù)雜,類別具有模糊性,結(jié)合BP神經(jīng)網(wǎng)絡(luò)和SVM算法進(jìn)行層次分類,可避免分類空間組合爆炸。層次分類可以發(fā)揮BP神經(jīng)網(wǎng)絡(luò)在大樣本上泛化能力高以及避免在小樣本上學(xué)習(xí)率不足和SVM在小樣本上分類優(yōu)秀的特點(diǎn)。算法思想:類別層次是一個(gè)樹形結(jié)構(gòu),越靠近根節(jié)點(diǎn)分類模糊度越高數(shù)據(jù)量越大,越靠近葉子節(jié)點(diǎn)分類越具體。分類即是從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的尋優(yōu)過程,各節(jié)點(diǎn)依據(jù)IR(Vk)←f(w1,w2…,wi)值選擇BP神經(jīng)網(wǎng)絡(luò)或SVM分類器,其中f表示綜合數(shù)據(jù)規(guī)模和維數(shù)等因素度量函數(shù)。這些是后續(xù)工作需要進(jìn)一步研究。endprint

猜你喜歡
支持向量機(jī)BP神經(jīng)網(wǎng)絡(luò)
基于改進(jìn)支持向量機(jī)的船舶縱搖預(yù)報(bào)模型
基于SVM的煙草銷售量預(yù)測(cè)
動(dòng)態(tài)場(chǎng)景中的視覺目標(biāo)識(shí)別方法分析
論提高裝備故障預(yù)測(cè)準(zhǔn)確度的方法途徑
就bp神經(jīng)網(wǎng)絡(luò)銀行選址模型的相關(guān)研究
基于DEA—GA—BP的建設(shè)工程評(píng)標(biāo)方法研究
基于BP神經(jīng)網(wǎng)絡(luò)的旅行社發(fā)展方向研究
商情(2016年39期)2016-11-21 09:30:36
基于熵技術(shù)的公共事業(yè)費(fèi)最優(yōu)組合預(yù)測(cè)
復(fù)雜背景下的手勢(shì)識(shí)別方法
BP神經(jīng)網(wǎng)絡(luò)在軟件質(zhì)量評(píng)價(jià)中的應(yīng)用研究 
长汀县| 钟祥市| 浦东新区| 山东省| 赤城县| 阿克陶县| 纳雍县| 舒兰市| 甘泉县| 莱阳市| 金山区| 镇雄县| 富川| 杨浦区| 昌宁县| 社会| 西宁市| 定兴县| 北辰区| 山东| 赞皇县| 新平| 小金县| 绥宁县| 黎川县| 和龙市| 昌黎县| 信阳市| 长海县| 洛川县| 宁波市| 黎平县| 界首市| 惠来县| 寻甸| 邢台县| 浮梁县| 沅江市| 济阳县| 铁岭县| 边坝县|