• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      王宏濤++孫劍偉

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

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

      中圖分類號:TP391.41

      文獻標識碼:A

      DOI:10.3969/j.issn.1003-6970.2015.11.024

      0 引言

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

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

      1.1 BP神經(jīng)網(wǎng)絡技術

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

      BP神經(jīng)網(wǎng)絡算法包括兩個階段:從輸入層經(jīng)過隱層逐層計算輸出結果的過程,從輸出層逐層誤差反向傳播的學習過程。正向傳播過程中訓練樣本從輸入層逐層處理傳到輸出層,將輸出結果與期望值比較計算誤差,若誤差較大將誤差按學習規(guī)則反向逐層分攤到各節(jié)點。學習規(guī)則用最快梯度下降法,通過反向傳播不斷調整網(wǎng)絡的權值和閾值使網(wǎng)絡的誤差平方和最小。

      1.2 BP神經(jīng)網(wǎng)絡學習算法的優(yōu)化

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

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

      (1)

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

      1.3 支持向量機方法

      支持向量機是基于結構風險最小化原理的算法。分類原理是建立一個超平面作為決策面,該決策面在能夠正確分類樣本的情況下,使樣本中離分類面最近的點的“間隔”最大。如圖1中實線作為決策面可以將不同顏色的兩類樣本分開,虛線是由離決策面最近的點并且平行于決策面。虛線間距離稱為間隔,當間隔最大時虛線上的點便是支持向量。SVM學習過程即是求支持向量。

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

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

      2 基于MNIST的分類實驗設計

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

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

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

      2.2 BP神經(jīng)網(wǎng)絡分類實驗設計

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

      (2)性能評價指標:從分類準確率、收斂時間和曲線特征三個方面考察算法性能。高準確率是算法的首要目標,而隨機梯度下降法和附加動量因子作用是減少運行時間提高學習效率,所以選擇收斂時間和曲線特征做為評價項。

      2.3 SVM分類實驗設計

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

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

      (2)多項式核函數(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本身是二分類方法,不能直接進行多分類需要轉換。實驗中我們采用一對一分類法。實驗具有10個分類目標,訓練建立個分類函數(shù)。當對未知樣本進行分類時,每個分類器都對其類別進行判斷,并為相應的類別投票,最后得票多的即為該樣本的類別。

      3 實驗仿真

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

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

      實驗1 附加動量因子對性能影響

      實驗樣本個數(shù)取5000,動量因子在0到1之間選擇。

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

      實驗2隨機梯度下降法中隨機數(shù)對性能影響

      實驗1表明附加動量因子未起到平滑作用,此實驗不加入動量因子。

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

      3.2 SVM分類性能

      實驗3不同核函數(shù)對算法性能影響

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

      實驗4 訓練樣本數(shù)對算法性能影響

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

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

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

      3.3 實驗分析

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

      4 結論

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

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

      猜你喜歡
      支持向量機BP神經(jīng)網(wǎng)絡
      基于改進支持向量機的船舶縱搖預報模型
      中國水運(2016年11期)2017-01-04 12:26:47
      基于SVM的煙草銷售量預測
      軟件導刊(2016年11期)2016-12-22 21:52:38
      動態(tài)場景中的視覺目標識別方法分析
      論提高裝備故障預測準確度的方法途徑
      價值工程(2016年32期)2016-12-20 20:36:43
      就bp神經(jīng)網(wǎng)絡銀行選址模型的相關研究
      基于DEA—GA—BP的建設工程評標方法研究
      價值工程(2016年30期)2016-11-24 13:17:31
      基于BP神經(jīng)網(wǎng)絡的旅行社發(fā)展方向研究
      商情(2016年39期)2016-11-21 09:30:36
      基于熵技術的公共事業(yè)費最優(yōu)組合預測
      價值工程(2016年29期)2016-11-14 00:13:35
      復雜背景下的手勢識別方法
      BP神經(jīng)網(wǎng)絡在軟件質量評價中的應用研究 
      軟件導刊(2016年9期)2016-11-07 18:25:50
      嘉荫县| 河西区| 耿马| 武汉市| 江安县| 华坪县| 瓦房店市| 当雄县| 洛南县| 镇安县| 博湖县| 同仁县| 朝阳市| 吉首市| 武陟县| 正镶白旗| 临安市| 兰考县| 罗平县| 竹北市| 西城区| 那曲县| 乾安县| 北票市| 崇阳县| 夏津县| 三穗县| 宁乡县| 永城市| 句容市| 锡林郭勒盟| 台州市| 黎城县| 呼图壁县| 昌吉市| 鄂温| 望谟县| 宁阳县| 达日县| 九寨沟县| 民县|