前言:中文期刊網精心挑選了bp神經網絡范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
bp神經網絡范文1
反向傳播BP(back propagation)神經網絡是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一[1]。BP算法的思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出不符合,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。這種信號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也就是網絡的學習訓練過程。此過程一直進行到網絡輸出的誤差減少到可以接受的程度或進行到預先設定的學習次數為止[2]。
1 BP標準神經網絡算法分析
1.1 BP算法存在的不足及原因分析
標準的BP算法因其簡單、易行、計算量小、并行性強等優點,是目前神經網絡訓練采用最多也是最為成熟的訓練算法之一。與早期的人工神經網絡模型相比,BP反向傳播神經網絡無論是在網絡理論還是網絡性能方面都更加成熟,起最突出的優點就是具有很強的非線性映射能力。但人們在使用過程中發現BP算法也存在著訓練時間長、收斂速度慢、易陷入局部最小點等缺陷。
1.1.1 學習算法的收斂速度慢
BP神經網絡學習訓練次數過多,導致學習訓練過程過長,學習收斂速度太慢,即使一個比較簡單的問題,也需要幾百次甚至上千次的學習才收斂。
1.1.2 隱含層層數及節點數的選取缺乏理論指導。
BP神經網絡隱含層的層數以及節點數的選取,目前尚無理論上的指導,大多根據經驗確定。因此網絡往往具有很大的冗余性,無形中增加了學習的時間。
1.1.3 訓練時學習新樣本有遺忘舊樣本的趨勢
BP神經網絡的學習與記憶具有不穩定性。當給一個訓練結束的BP神經網絡提供新的記憶模式時,會破壞已經調整完畢的網絡連接權值,導致已經記憶的學習模式信息消失。
2 改進的BP神經網絡學習算法
2.1 學習方法的改進
對于標準的BP算法,由于其自身存在的缺點,BP算法的研究提出了一些的改進算法,如自適應調節學習率[3],引入兜度因子[4],使用雙曲正切函數[5],但是都沒有取得非常理想的效果,對此我們可以采用以下的算法來解決問題。
2.1.1 加入動量項
反向傳播算法提供使用最速下降方法在權空間計算得到的軌跡的一種近似。我們使用的學習率參數η越小,從一次迭代到下一次迭代的網絡突觸權值的變化量越小,軌跡在權值空間越光滑。我們可以設想使用一下的方法來解決這個問題。
ΔWji(n)=αΔWji(n-1)+ηδj(n)yi(n) (1)
α是動量常數,通常是整數。
為了看出動量常數在一系列模式呈現上對突觸權值的影響,我們將(1)式重新寫成帶下標t的一個時間系列。索引t從初始時間0到當前時間n,式(1)可被視為權值修正量ΔWji(n)的一階差分方程。解這個關于ΔWji(n)的方程得到
這代表一個長度為n+1的時間序列,并且我們可以知道δj(n)yi(n)等于- 因此我們可以把公式(2)重寫等等價形式
當前修正值ΔWji(n)代表指數加權的時間序列的和。欲使時間序列收斂,動量常數α必須限制在0和1之間。當α等于0,反向傳播算法運行起來沒有動量。雖然在實際中動量常數α不大可能是負的,但是還有可正可負。
當偏導數 在連續迭代中有相同的代數符號,指數加權和ΔWji(n)在數量上增加,所以權值ΔWji(n)被大幅度調整。在反向傳播算法中包含動量趨于在穩定的下降方向上加速下降。
當偏導數 在連續迭代中有相反的代數符號,指數加權和ΔWji(n)在數量上減少,所以權值ΔWji(n)調整不大。在反向傳播算法中包含動量具有穩定符號正負擺動方向的效果。
3 仿真實驗
根據以上的算法,我們對標準的BP算法和改進的BP算法進行仿真計算,仿真計算的結果如表1所示。
可以看出改進后得算法能減少迭代次數,減少實際誤差。
4 結論
從大量的實際應用來看,收斂速率慢,學習時間長,產生振蕩,甚至達不到收斂精度是常規BP算法的主要缺陷,通過對BP算法的改進,增加動量項,可以減少BP算法的迭代次數,減少誤差,提高BP算法的工作效率。
[參考文獻]
[1]Adaboost算法改進BP神經網絡預測研究[J].計算機工程與科學,2013年8月.
[2]韓立群.人工神經網絡教程[M].北京:人民郵電出版社,2007年7月.
[3]馬銳.人工神經網絡原理[M].北京:機械工業出版社,2010年9月.
bp神經網絡范文2
【關鍵詞】 BP神經網絡; 疾病預測; BP算法; 精神分裂癥
BP神經網絡是人工神經網絡的一種,它通過模仿生物大腦神經系統信息處理功能實現輸入與輸出之間的任意非線性優化映射,有著傳統統計方法無法比擬的適應性、容錯性及自組織性等優點,特別是用傳統統計方法效果不好或不能達到目的時,采用BP神經網絡往往能收到較好的效果,它在疾病預測中有著廣闊的應用前景。
1 BP神經網絡基本結構及BP算法基本原理
BP神經網絡的基本處理單元是神經元(即節點),大量神經元廣泛連接構成神經網絡。BP網絡通常含有輸入層、隱含層(中間層)和輸出層,每層均包括多個神經元,輸入層與輸出層各有一層,隱含層根據需要可以設多層,也可不設。神經元之間通過權相互連接,前一層神經元只對下一層神經元作用,同層神經元之間無相互作用,權值的大小代表上一級神經元對下一級神經元的影響程度,如圖1 所示。網絡中作用于神經元的激勵函數通常采用的是S 型函數(sigmoid 可微函數),見式(1)。
f(x)=(1+e-Qx)-1(1)
式中Q 為調節激勵函數形式的參數,稱增益值。Q 值越大,S 形曲線越陡峭;反之,曲線越平坦,通常取Q =1。
BP算法(Back Propagation) 是為了解決多層前向神經網絡的權值調整而提出來的,也稱為反向傳播算法,即網絡權值的調整規則是向后傳播學習算法,具體來說,BP算法是建立在梯度下降法的基礎上的,訓練過程由正向傳播和反向 傳播組成,在正向傳播過程中,輸入信息由輸入層經隱含層逐層處理,并傳向輸出層,如果輸出層得不到期望的輸出,則轉入反向傳播,逐層遞歸的計算實際輸入與期望輸入的差即誤差,將誤差信號沿原來的連接通道返回,通過修改各層神經元的權值,最終使得誤差信號最小。
2 BP網絡的建模過程及模型設計要點
在流行病學中,可以應用BP網絡建立疾病的預測模型,建模的基本過程如下:首先收集導致疾病發生的主要影響因素及疾病發生的結果;然后把影響因素及疾病結果輸入到設計好神經網絡模型中進行反復訓練,直到網絡收斂(即達到預期的訓練誤差),在訓練過程中可適當采用一定的技巧使網絡的訓練速度最快、誤差最小、模型最優;最后用建立好的模型進行疾病預測。下面具體探討網絡模型的設計要點。
2.1 確定訓練樣本
訓練樣本應來源于研究總體的一個隨機無偏樣本,并且按隨機、對照、重復及盲法等原則收集資料、整理資料、分析資料,保證訓練結果的無偏性。訓練樣本含量適宜,含量過大會造成訓練速度偏慢,訓練結果過分逼近訓練集(或者說是該研究的外部真實性較差),使得網絡的推廣泛化能力降低,況且,大樣本的收集大大增加了工作量;樣本過小其代表性不夠,使訓練結果不夠可靠(或者說是該研究的內部真實性較差)。一般來說,網絡的結構越復雜,所需樣本越多,結構越簡單,所需樣本可相應減少。對于單層BP網絡可參照Logistic回歸對樣本含量的一般要求,當樣本含量與連接權的個數比為10:1時[1],就基本能夠滿足要求,多層BP網絡的樣本量應在此基礎上根據網絡的復雜程度適當增加。
2.2 變量值的歸一化處理
歸一化處理的目的是把變量值歸一到區間[-1,1]內,此原因大致有兩個:一是因為BP網絡中非線性傳遞函數的值域一般在區間[-1,1]內,因此輸入及輸出變量的取值都限于這個區間之內。二是為了使輸入值(特別是那些比較大的輸入值)均落在Sigmoid傳遞函數變化較大的區間,使網絡的訓練速度最快,改善網絡的性能,當然如果輸入及輸出值原本就位于[0, 1]區間內,可不進行的歸一化處理,歸一化處理可采取以下兩種形式:
xbji=xji/ (xji,max-xji,min)(2)
xbji=xji/ (xji,max)(3)
上式中xbji 為歸一化后樣本中第j 個樣品的第i 個輸入變量,xji 為原始資料第j個樣品的第i 個輸入變量; xji,max 與xji,min 為原始資料第j 個樣品的第 i個輸入變量的最大值和最小值。
2.3 BP網絡的初始化
開始訓練時,首先進行網絡權值的初始化,這是因為如果初始權值選擇不當,有可能造成訓練時間過長,誤差平面陷入局部極?。?],甚至不收縮。所以網絡的初始權值一般?。?1 1]之間的隨機數,這樣可保證每個神經元的權值都能夠在 型傳遞函數變化梯度最大的地方進行調節。
2.4 輸入層的設計
輸入層僅設一層,輸入神經元的個數與輸入變量的個數相同。
2.5 隱含層的設計
一是隱含層的層數,對BP網絡而言,一個三層BP網絡就可以完成任意的n維到m維的映射,一般情況下,采用單隱層的網絡就可滿足要求;二是隱含層神經元的個數,隱單元數目的確定比較復雜,與資料的特點、輸入輸出單元的數目都有關系,往往根據設計者的經驗和多次試驗來確定,本文采取類似于統計學中建立"最優"多元回歸方程中逐步向前法和向后法的方式來確定隱單元的數目,該方法如下:先根據以下公式[3]確定一個隱單元數的范圍,n1=n+m+a(4) 式中n 為輸入單元數,m 為輸出單元數,a 為[1,10]之間的常數。
然后放入足夠多的隱單元,通過訓練將那些不起作用的隱單元逐步剔除,直到不收縮為止(此即靈敏度修剪算法[4]);或者在開始時放入比較少的神經元,逐步增加隱單元的數目,直到達到比較合理的隱單元數目為止。
2.6 輸出層的設計
輸出層僅有一層,輸出層神經元的個數與所希望得出的預測變量數目相等。
3 其它需要注意的問題
如何提高網絡的泛化能力。網絡的泛化能力,通俗的說就是網絡對新樣本的預測能力。網絡的泛化能力與網絡的結構和訓練樣本的特性有關,一般說來,網絡的隱節點數與隱層數越少,網絡的泛化能力越強,因此在實際應用時盡可能采用較少的隱節點數和隱層數來得到較優的網絡,另外,加入噪聲等也可以提高網絡的泛化能力[5]。
如何提高網絡的訓練速度與收斂速度。為提高訓練速度,可采用變化的學習速率或自適應的學習速率[6]。
如何克服局部極小。BP算法可以使權值收縮到某個值,但并不能保證其誤差平面的全局最小值,這是因為采用梯度下降發可能會產生一個局部最小值。對于這個問題,可采用附加動量法[7]、遺傳算法等。
4 模型擬合實例
某市通過隨機抽樣、多因素逐步Logistic回歸分析該市的4所精神病醫院的精神分裂癥新發病例及其對照各131例,篩選出影響精神分裂癥發病的主要因素共10個:X1(本人學歷)、X2(母親學歷)、X3(婚姻狀況)、X4(事件經歷史)、X5(性格)、X6(工作學習壓力)、X7(母親孕齡)、X8(出生體重)、X9(家族史)、X10(非雙親撫養史)。變量賦值如表1。表1 精神分裂癥發病影響因素及量化(略)
4.1 確定訓練樣本及測試樣本。以上述131對樣品作為訓練樣本,另外選取精神分裂癥患者及正常人各20例作為測試樣本。
4.2 設計合適的神經網絡參數。輸入神經元10個,單層隱含層,隱含層神經元數目4~13個之間,通過靈敏度修剪算法確定隱含層的最佳神經元個數,輸出層神經元個數為1;訓練次數1000次,訓練目標0.01,學習速率0.1;隱含層采用 型正切函數tansig,輸出層采用 型對數函數logsig ,網絡訓練的函數設定為trainlm。
4.3 編寫程序。應用Matlab7.0編寫BP神經網絡程序如下:p=[ 0 1 3 1 0 0 3 0 1 0;0 1 1 2 2 1 4 1 2 1;......] '; %輸入訓練樣本的輸入變量p
for i=1:10
P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
%輸入變量的歸一化處理
end t=[1 1 1 1 1 1 1...... ]'; %輸入訓練樣本的輸出變量tthreshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
%限定輸入變量的最大值與最小值no=[4 5 6 7 8 9 10 11 12 13 14];%隱含層神經元的個數 for i=1:11net=newff(threshold,K[no(i),1],{ 'tansig','logsig'},'trainlm');
%設定網絡訓練函數net.trainParam.epochs=1000; %設定訓練次數net.trainParam.goal=0.01; %設定訓練目標LP.lr=0.1;%設定學習速率net=init(net); %網絡的初始化net=train(net,P,t); %網絡訓練
p_test=[0 1 3 1 0 0 3 0 1 0;0 1 1 2 2 1 4 1 2 1;......]'; %輸入預測樣本的輸入變量for i=1:10
P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:))); %歸一化處理 end
Out=sim(net,P_test); %輸出預測變量X=[1 1 1 1 1 1 1 1......]; %輸入預測樣本的實際結果
plot(1:40,X-Out); %繪制預測誤差曲線
4.4 訓練結果。通過反復訓練發現,當隱含層神經元個數為8時,網絡的訓練速度最快,僅需要9次訓練便達到到了預期的訓練誤差,訓練的速度也比均勻,網絡振蕩最小。
4.5 測試樣本的前瞻性考核。把40個測試樣本的調查資料輸入上述訓練好的BP神經網絡模型進行前瞻性考核,如果按照預報誤差大于0.05時為預測錯誤的標準,則病例中有2例預測錯誤,正常人有3例預測錯誤,靈敏度及特異度分別為90%、85%,預測的一致率為87.5%,前瞻性考核的效果較好,通過預測誤差曲線也可看出,如圖2。
5 討論
BP神經網絡是一種非傳統的多元非線性模型,可以識別變量間復雜的非線性關系,功能十分強大,而且無論變量是何種類型,是否滿足正態性、獨立性等條件均可用于BP網絡建模。疾病的發病過程亦是一個受多因素影響的復雜過程,利用傳統的統計方法預測疾病的發生過程往往存在很大的局限性,而BP神經網絡的優點恰恰適合預測疾病的發生過程。BP神經網絡的設計直接關系到網絡的應用效果,在應用時按照資料的特點從每一細節考慮網絡的設計。當然,BP網絡在流行病學領域的應用剛剛起步,尚存在一些問題有待解決,如權重系數的假設檢驗,計算權重系數的可信區間,含隱含層時權重系數的流行病學意義,輸入變量的選擇等都還需要進一步研究。
參考文獻
1 Martin S,Werner V,Reinhard R.Neural networks and logostoc regression:Part I.Comp Stat Data Analy ,1996,21:661.
2 Haykin,S.神經網絡原理(葉世偉等譯).第2版.機械工業出版社,2004.
3 飛思科技產品研發中心.神經網絡理論與MATLAB7實現.第1版.電子工業出版社,2005 .
4 鄧偉,金丕煥,林果為.BP神經網絡修剪算法篩選白血病預后危險因素.復旦學報(醫 學版),2003,2:154~157.
5 HolmstromL,KoistinenP -Using Additive Noise in Back-Propagation-IEEE Trans·Neural Networks.1992,3:24~38.
6 張洪,鄒樂君,沈曉華. BP神經網絡在測井巖性識別中的應用.地質與勘探 ,2002,38(6):63~65.
bp神經網絡范文3
關鍵詞:網絡輿情;BP神經網絡;預警
中圖分類號:C915 文獻標識碼:A 文章編號:1009-3044(2014)22-5283-04
互聯網這些年來在我國的快速的發展,我國網民人數較之前有了大幅的提升。網絡的開放性和靈活性讓其成為反映社會輿情的主要載體之一。而近兩三年網絡輿情引發的事件激增,引起了政府的高度重視,網絡儼然已成為政府部門了解民意的又一理想窗口。顯然,能夠直觀表達網絡輿情的光定性的解讀遠遠不夠,對于決策者更希望得到一個輿論事件過程中所處的量化等級。由于輿情危機產生具有模糊性和隨機性是非線性的,因此通過建立預警指標,再利用容錯能力高,通過學習復雜數據發現規律進行識別的人工神經網絡是不二選擇。故本文的核心在于BP神經網絡[1]。
1 網絡輿情危機預警指標體系
網絡輿情危機的發生,受到多種隨機因素的影響,而且每個因素對結果所起的效果大小也是不一樣的。因此網絡輿情危機預警的關鍵是建立科學、系統的預警指標體系。依據近些年來網絡輿情方面專家的調查匯總和政府機構對輿情監督部門的考察,并結合網絡輿情與危機預警機制方面的資料,經過多次地調試整理匯總制定出,對網絡輿情信息從五個具體的指標構建了網絡輿情危機預警指標體系[2]。
1.1 輿情預警指標
1.1.1 輿情信息的敏感度
網絡上有各式各樣的信息,而這些各式各樣的信息其敏感度也是不同的,對于可能造成社會動蕩的網絡信息則是政府最為關注的。顯然各條信息所引起的社會敏感度是不同的,敏感度越高說明產生輿論危機的可能性就越高。這種指標的量化標準采用專家打分的方法得到。得分設定的范圍為[0,1],0、0.5、0.7、1表示的意義依次為“具有敏感性”、“敏感”、“很敏感”、“相當敏感”。
1.1.2 輿情信息的流通量
輿情信息的流通量反映出輿情信息在網絡上傳播情況和討論熱度。而這些網絡上的流通信息會被搜索引擎例如Google、百度等抓取。因此通過限定時間段搜索引擎搜索關鍵詞得到的搜索量可以作為流通量使用。
1.2.3 輿情觀點傾向度
輿情觀點傾向度主要量化網民對于某個輿論信息觀點傾向度。分別由1,0,-1表示正面、中立、反面觀點,用[f(x)][f(x)]表示各個觀點面傾向度,n表示發表觀點的總觀點數,此指標用[μ]表示:
其實就是求各個觀點總和的均值,其取值范圍在(-1,1)。這部分則是通過統計事件討論最熱的貼吧的跟帖信息或者微博評論進行打分得到的。
1.2.4 輿情影響范圍
輿情影響范圍是指在某一時刻或時間段內,輿情信息所影響的區域性范圍。對于這部分的評分依照我國的行政地域劃分進行評分。即村\社區、鄉\鎮\街道、縣\區、市、省、國家。其取值范圍為[0,1]。這部分的取值則是通過新聞報道中時間的發展態勢進行取值。地域對應的取值見下表:
1.2.5 網絡輿情媒體曝光度
網絡輿情信息被媒體曝光之后則將網絡信息的討論引到現實社會中,而現實中媒體的報道是有著比網絡更為嚴格的審查制度。媒體的報道無疑對網絡輿情有著更為影響力的宣傳進而推動著輿論的發展。而這部分的數據則采用Google news中通過對時間段的設定搜索關鍵詞得到相應的搜索到的新聞條數進行量化評價媒體的曝光度。
1.2.6 輿情指標
而結果評級依照《國家突發公共事件總體應急預案》將預警等級設為四個等級:特別嚴重、嚴重、較重和一般。而根據網絡輿情危機的嚴重程度、經濟程度、可控性等方面將預警設為5個等級:安全、輕警、中警、重警、急警[7]。
2 數據獲取與處理
2.1 事件的選取和回顧
在實證分析中以“寧波PX事件”為預警模型的最終目標,而選擇了“廈門PX事件”和“昆明PX事件”為學習樣本進行學習。這一連串關于PX事件其危害的對象不僅僅是政府形象更是對整個社會和諧穩定造成了較大的影響。尤其是寧波PX事件中,甚至出現了不理智的因受謠言的蠱惑沖擊政府機關掀翻執勤警車的情況。倘若能及時且準確地對此類事件進行預警并作出相應的預防措施就能對事件進行有效的控制。
2.2 指標數據的獲取
對于所建立的模型而言其關鍵不僅僅在于預警模型的指標的建立和神經網絡的識別。其數據的獲取亦是十分關鍵的一步。根據各個數據的特點,整理各個指標數據獲取方式如下。
將廈門PX事件和昆明PX事件作為一個學習樣本,其數據清單如表3所示。
同樣將模型的預警目標――“寧波PX事件”作為目標數據,其數據清單如表4所示。
2.3 輸入數據的標準化處理
網絡輿情危機預警指標體系中有5個預警指標,其中存在定性指標和定量指標兩大類,并且對各個指標的數據進行了量化處理,然而各個指標的單位的量綱是不同的,為了能夠對各個指標進行對比評分 ,需要將它們進行標準化得到[0,1]無量綱指標。
量化的指標均有正負方向均有正負方向之分,自然這些數據的標注化方法均有不同:
1)正向指標處理:正向指標表示值越大越安全,危機等級越小無量綱化以最小值為基準,正向無量綱化處理方程:
2) 負向指標處理:負向指標在文章中表示指標值越小越安全,危機等級越小。無量綱化以最大值為基準,負向的無量綱化處理方程:
其中,X 表示量化后的指標值, [xmin]表示指標的最小值, [xi] 表示指標的實際值, [xmax]表示指標的最大值。
3 輿情預警模型的建立及結果
3.1 模型的建立
神經網絡模型是一個典型的“輸入-處理-輸出”的過程。輸入是采集到的指標的實際值,輸出是模型識別的結果,即預警的敏感度,而中間過稱則采用BP神經網絡模型進行學習計算,這部分相當于“黑匣子”。在處理的時候,該文采用三層BP網絡(一個輸入層、一個隱含層、一個輸出層)的網絡結構,那么輸入、輸出節點數分別是5和1[8]。
在設置完參數之后用第四章所講述的利用Matlab軟件完成模型的建立。
3.2 結果及檢驗
通過搜集得到的數據匯編成的學習樣本,并將其中的70%作為樣本,30%作為檢驗樣本進行。
通過計算可以得到該表,從該表中容易得到,學習過程中準確率達到了91.76%。并在測過程中抽取了5項進行預測,得到的準確率為92.31%,其較高的準確率。因此有理由認為該模型在未來的預測過程中其準確率應該達到90%以上。
4 研究結論
本文的研究結果表明:基于輿情量化指標的BP神經網絡能夠對網絡輿情信息進行較為準確的預警,無論是學習還是最后實踐的識別準確率都達到了80%以上。這種預警方法通過輿情信息的預警指標利用量化評價方法可以降低人為的主管臆斷,而實驗結果也表明了其擁有較高的識別準確率。并且利用Matlab進行編程得到的預警模型具有廣泛的應用前景和使用價值。模型可以為政府提供網絡輿情的預警,也為企業的網絡聲譽進行預警為企業的公關提供預警參考。
參考文獻:
[1] 薛圈圈.基于BP神經網絡的網絡輿情危機預警研究[D].江西:江西財經大學,2010:25-30.
[2] 戴媛.我國網絡輿情安全評估指標體系研究[D].北京:北京化工大學,2008:13-22.
[3] 袁越.廈門PX時間[OL].http://.cn/c/2007-09-27/165713986641.shtml.
[4] 王秀娟.昆明PX事件[N].中國石油石化,2013.
[5] 大公網.鎮海PX項目引發[OL].http:///mainland/node_13226.htm.
[6] 周子健.基于網絡搜索量的上海世博會國際影響力研究[J].藝海,2011(5):80-82.
bp神經網絡范文4
【關鍵字】人工神經網絡;BP模型;安全庫存
一、引言
隨著ERP系統應用的深入,其分析、預測的功能就突現了出來。庫存關系到一個企業資金的流動,如何能保持一個安全的庫存量是企業現在比較重視的問題。要根據企業實際的生產和銷售情況來不斷地調整庫存,這樣才能做到既不影響生產和銷售,又避免過多的存貨。
從過去的憑經驗和通過簡單的統計來確定庫存量的方法來看,由于影響庫存有較多的因素,很難通過簡單的公式來建立一個合適的數學模型,所以實際的效果往往很差?,F在的一個解決方案就是通過用神經網絡來解決這一問題。
二、人工神經網絡介紹
人工神經網絡理論是20世紀80年代在國際上迅速發展起來的一個前沿研究領域,近年來更是掀起了一股人工神經網絡研究、開發應用的熱潮,其應用已滲透到各個領域,并在智能控制、模式識別、計算機視覺、故障檢測、適時語言翻譯、神經生理學和生物醫學工程等方面取得了顯著成效。人工神經網絡在國民經濟和國防科技現代化建設中具有廣闊的應用前景。
由Rumelhart提出的BP神經網絡,即多層神經網絡模型(如圖1所示),通常由輸入層、輸出層和若干隱含層構成,每層由若干個結點組成,每一個結點表示一個神經元,上層結點與下層結點之間通過權聯接,同一層結點之間沒有聯系。由于采用誤差反傳的學習算法,被稱為BP網絡,因其高度非線性映射能力,BP網絡的應用極廣。
圖1 BP神經網絡的拓撲結構
企業自身方面主要是有使用頻率、人為原因造成的破損率、儲存成本。使用頻率是指在某段時間內調用物資的次數,次數越多,安全庫存就越高。人為原因造成的破損率是指工人在生產的過程中人為的造成原料的破損的次數,同樣的次數越多就需要更多的安全庫存。儲存成本就是指在儲存原料時所需要的成本,它影響著企業資金的流動,儲存成本越高,安全庫存就越低。
在供應商方面就需要考慮更多的因數,具體有供應商的信用程度、物資緊缺度、運輸的方式、供貨量、供貨商處理定單的延時、次品率。供應商的信用程度直接影響企業的生產。物資緊缺度是指企業是否能在一定的時間內獲得合適價格的物資,如果一段時間價格過高,就意味著企業需求在物資價格低落的時候提高存貨量。運輸的方式是指采用任何運輸工具。供貨量是指供貨商一定的響應期內能提供的原料的數量。供貨處理定單的延時是指企業需要供貨商提供的物資的質量等級,次品率越低所需要的安全庫存就越低。
三、問題的分析和模型的建立
(一)影響安全庫存的因素分析
理論上講一個3層的BP神經網絡可以逼近任何的連續函數,所以在制造企業應用中多采用3層或多層的BP神經網絡來滿足大多數的應用。下面將討論的是原料安全庫存。安全庫存包括原料安全庫存、輔料安全庫存、成品安全庫存。
(二)BP神經網絡各層設置
根據BP算法的思想,針對實際情況,一般將工作分為兩個階段來展開。第1就是學習階段,通過輸入訓練的樣本來建立模型,利用該樣本對BP網絡的連接權系數進行學習和調整,以使網絡實現給定的輸入輸出關系。第2就是預測驗證階段,將所預測的數據輸入,通過已經訓練成型的BP網絡得到期望的預測值。
本次用來訓練的數據為影響原料安全庫存的各個因數的值以及實際應該的安全庫存值,也就是指實際生產中的缺貨量。BP神經網絡的模型是BP神經網絡的信號從輸入層經過隱含層傳遞到輸出層的輸出。在實驗中選取隱結點數可按來計算,n、m分別是輸入層和輸出層的結點數。本次采用一個隱層,其神經元個數按來進行計算。
(三)訓練、校驗數據的劃分及仿真預測
本次實驗建立一個BP神經網絡模型來解決本次需要解決的預測原料安全庫存的問題。
四、實例及結構分析
本次實驗采用9個參數(使用頻率、破損率、存儲成本、信用程度、緊缺度、運輸方式、供貨量、定單延時、次品率)作為輸入,1個參數安全庫存量作為輸出。由于各種指標之間存在著量綱、數量級不同、等一些問題,并且既有定性指標也有定量指標,為了使得各個指標在整個系統中具有可比性,應該將指標規范化,公式如下:。首先對訓練樣本的輸入值和輸出值進行規格化處理。輸入訓練樣本,對模型進行訓練和驗證。隱含層的轉移函數采用正切曲線函數tansig輸出層采用線形函數purnlin。
訓練精度ε=0.001,是訓練結果,從預測驗證來看,預測驗證值與實際值的最大相對誤差不到10%。結果與實際基本符合。
五、結論
本次實驗結果說明,采用BP算法來對安全庫存進行預測效果比較好,可以有效地預測制造企業安全庫存問題。
參考文獻
[1]袁曾任.人工神經元網絡及其應用[M].北京:清華大學出版社,1999.66-74.
bp神經網絡范文5
關鍵詞:風險;軟件需求;BP神經網絡;研究;分析
軟件開發過程中,需求分析是一個關鍵性的階段。導致它失敗的原因有很多,例如開發者和用戶之間的溝通障礙、軟件本身的隱含性、需求信息的不對稱等等。這些問題導致的返工,增加了開發的成本,也損壞了企業形象,更可能流失掉部分用戶。因此,我們必須對軟件需求分析進行風險評估管理,把負面影響降到最低?,F代商業發展中,各企業和企業之間的競爭日趨激烈,掌握最新的技術,對技術進行創新,才是企業在行業內立足腳跟,獲得更加長遠發展的方法,因此要想牢牢地把握企業的運命就需要我們保持對技術創新的熱情,并在這條道路上樂此不疲。21世紀,只有掌握了最新和最具有創造性的技術,才能贏的最后的勝利,本文把BP網絡與軟件需求分析風險評估模型相結合,具有十分重要的意義。
1BP神經網絡
BP神經網絡是開發者使用最多的神經網絡之一,它具有算法簡單、極強的魯棒性、收斂速度極快等優點。最重要的一點是能夠最大限度的接近其真實系統,非常適合于線性的、不確定的、模糊的軟件風險數據。BP算法是一種用于前向多層神經網絡的的反傳學習算法。采用BP算法的數層感知器神經網絡模型,它的基本思想是,學習過程由信號的正向傳播和誤差的反向傳播兩個過程組成。模糊理論采用模糊數學的方法,通過抽象思維,對處于多種因素作用下的事物做出總體評價。它的兩大主要特征是:第一,結果清晰;第二,系統性強,這非常適合于各種非確定性問題的解決。
2軟件需求分析風險評估模型
開發過程中,了解軟件需求是很重要的。軟件開發主要是依據需求的不同而設計出的產品。它包括了業務需求(組織和客戶高層次的目標)、用戶需求(用戶要求必須具備的需求)、功能需求(用戶可以通過完成任務滿足業務需求的產品中必須體現的軟件功能)。各種不同的需求都以不同的角度來呈現,需要進行多方位的分析方可得出準確的結論。軟件需求分析就是對用戶所需軟件應具備的屬性進行分析,滿足用戶的真正需求。在完成軟件需求分析后,我們要能得出用戶所需的軟件系統要能夠做到哪些功能,對此還要有詳細準確的說明書,也就是用戶的使用說明書,讓他們更快的了解產品。優秀的需求具有以下特點:完整性、準確性、可行性、必要性、無歧義性和可行性。軟件需求分析風險是指由于多方面的影響,如用戶參與度、用戶需求的拓展變化、多角度的考慮、設計的精準度和用戶與開發者的充分溝通等等,而造成需求分析的不準確使得用戶的軟件需求得不到滿足。該風險評估模型主要是為了降低軟件需求分析中存在的風險,從而使得評估需求分析更具加有效和更易操作。
3一種基于BP神經網絡的軟件需求分析風險評估模型
本文把BP神經網絡和模糊理論加入到軟件需求分析風險評估模型中,利用BP神經網絡的非線性映射屬性和模糊理論的超強表達能力與被理解力,幫助提高風險評估的有效性和預測性。軟件需求分析風險的評估模型包括風險識別、風險分析、風險評估三個模塊。風險識別的主要目的是考察研究軟件需求分析階段具體的情況,識別并記錄該階段存在的或潛在的風險,輸入來源是專家的經驗分析和歷史風險數據庫。一般步驟包括:a:找出軟件需求分析風險指標;b:搜索歷史數據庫,列出存在的數據庫中的歷史案例;c:通過專家分析,列出具有風險等級的列表;d:將確定了的風險列表提交數據庫并更新。風險分析是細化第一階段的風險,分析其產生的影響和等級,找出各指標與風險級別之間的線性關系亦或非線性關系。本文引入BP神經網絡和模糊理論,利用BP神經網絡實現風險評估指標和風險級別之間的非線性映射關系,還利用模糊理論的超強表達能力和容易理解的屬性,提高整個風險評估模型的學習能力和表達能力,得出更符合實際的評估報告。主要的方法包括:a:揭示原因和結果之間的聯系,追根溯源;b:建立模型進行認識和理解;C:通過嘗試各種組合找出導致失敗的因素。風險評估需最后明確所有存在的風險和它們的等級,給予開發者一個詳細的報告。本階段只要利用BP神經網絡的輸入層、輸出層、隱含層數、隱含層節點數。輸入層節點是經過模糊預處理的17個需求分析風險評估指標;輸出層節點是需求分析風險等級;隱含層數越多性能越高誤差越低;隱含節點越多,網絡功能越強大,但是過多則會使網絡功能減弱。在BP神經網絡基礎上,建立的軟件需求分析風險評估模型,它操作的流程大致是三個方向。首先,識別軟件需求分析階段存在的、潛在的風險;然后,利用BP神經網絡和模糊理論的特有屬性、眾多優點進行分析,通過歷史數據庫,專家知識、專家討論,列出風險表格;最后,對風險進行最后的評估,從而有效預測軟件開發過程中所遇到的風險,并且進行規避。
4結束語
隨著經濟的高速發展,網絡軟件也成為人們工作生活中一個非常重要的工具。軟件需求的增多帶來了很多的問題,軟件開發的過程充滿了阻礙,軟件需求的滿意度也在日漸降低。因此,提高軟件開發的速度、保證開發軟件的質量,降低風險、減少開發成本、滿足用戶真正的需求等等,對軟件需求分析風險進行評估,建立軟件需求分析風險評估模型,是一件非常值得研究和實施的事情。本文研究的內容不僅僅達到了需求分析的目的,提出了新的思維方式和參考方向,而且還能更有效的預測軟件需求分析風險,真正滿足用戶的軟件需求?;痦椖浚杭质〗逃龔d“十二五”科學技術研究項目“基于AHP和群決策向量分析高校干部綜合測評方法和系統實現”(吉教科合字第2013402號);吉林省教育科學“十二五”規劃課題“構建以學習者為主體的遠程教育支持服務體系的研究”(GH150583)。
作者:楊明莉 單位:吉林工商學院信息工程學院
bp神經網絡范文6
關鍵字:Zigbee;BP神經網絡;手勢識別;加速度傳感器
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2013)07-0013-03
0 引 言
隨著科技的發展和進步,計算機已經漸漸適應人的需求。人類在利用計算機解決問題時,并沒有將主觀能動性和計算機的高效性有機地結合起來。研究新型的人機交互工具能夠打破這一障礙。當虛擬現實越來越被人熟知時,可以使用手勢作為載體進行人機交互。目前,手勢輸入的種類有基于圖像的和基于加速度傳感器的。由于圖像的手勢識別對外部環境的依賴比較大,而加速度傳感器識別就不受外部條件的限制,甚至可以依靠單手完成操作[1],因此,基于加速度傳感器的方法能有效地識別手勢動作,完成人機交互。本文采用ADXL335三軸加速度傳感器分別采集五個手指和手背上的加速度信息,實現手勢的輸入。
1 手勢識別方法
手勢的執行是一個動態的過程,主要表現在手指彎曲引起的手的形狀和手在空間的位置和方位的變化,需要從時間和空間兩方面來描述。根據手勢的時變特征,可將手勢分為靜態手勢和動態手勢[2]。從測量的角度看,靜態手勢可用某一時刻手的空間特征的測量值來表示,而動態手勢是指需要使用隨時間變化的空間特征來描述的手勢。靜態手勢可以用各個關節測得的特征值來表示,而動態手勢需用一段時間內手的空間特征的一組測量序列值來表示[3]。人的手有多個自由度,運動十分靈活、復雜,而且不同的人,手的大小不同。因此,同樣的手勢,不同的人作出時手的運動會存在差別;同一個人在不同的時間、地點作出手勢也不一樣[4]。所以,本文主要針對靜態手勢的數據手套進行分析研究。
2 手勢的識別技術
目前,比較流行的手勢識別技術有模板匹配法、特征提取和BP算法等。
模板匹配法:主要是將傳感器輸入的原始數據與預先存儲的模板進行匹配,通過測量兩者之間的相似度來完成識別任務[5]。由于需要大量的基礎數據作為匹配對象,所以受到噪聲、光照、復雜環境影響較大,并且匹配速度慢。但是,模板匹配法簡單、易掌握,普及程度高。
特征提?。涸谔卣魈崛∵^程中,輸入數據中的低層特征被提取出來,經過分析而轉化成包含手形語義的高層特征,然后用高層特征進行手形識別[6]。
BP算法:是一種按誤差逆傳播算法訓練的多層前饋網絡。BP網絡的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。
3 BP算法
BP神經網絡是一種前向傳播的多層網絡,網絡除了輸入節點以外,還有一層或多層隱含節點。其訓練方法被稱為誤差反傳播算法,它利用實際輸出和期望輸出之差對網絡的多層連接權由后向前逐層進行校正[7]。BP網絡的最大缺點是樣本訓練的收斂速度慢。為提高網絡的收斂速度,同時防止網絡的振蕩發散,本次選取的BP神經網絡是1個3層BP網絡結構(含1個隱層),隱單元及輸出單元用sigmoid 函數輸出,輸出共分為10類,即輸出神經元個數為10。由于輸入矢量為處理后的手部加速度傳感器(用18×10的數字矩陣表示) ,因此第一層為240 個神經元,第二層為隱含層。根據經驗,其神經元數目一般為輸入矢量維數的10 %,為26 個神經元,采用改進的BP算法。 將每個樣本對應的矩陣元素值輸入神經網絡的各個輸入單元,并為每個輸出單元指定期望輸出,計算每個輸出單元的實際輸出與期望輸出的誤差以及隱含層誤差。計算實際輸出與期望輸出的誤差公式為:
式中,Ek為期望輸出,Ok為實際輸出, k=0,1,2,…,9。
將誤差定義式展開到隱含層的公式為:
網絡輸入誤差是各層權值wjk、vij ,即 :
(j=0,1,2,…,m;k=1,2,…,l)
( i=0,1,2,…,n;j=1,2,…,m)
式中的負號表示梯度下降,常數η∈(0,1)代表學習速率。
由于BP神經網絡算法的收斂速度慢,優化的目標函數非常復雜,所以需要優化學習速率。三層感知器的BP學習算法權值調整計算公式為:
將每個加速度傳感器中每個軸的數據特征向量作為神經網絡的輸入,所以神經的輸入層神經元個數等于特征向量的維數,即9×18=162個輸入神經元。輸出層神經元個數的確定因為要識別10個數字,因此輸出選擇為10×1的矩陣,即輸出節點數為l0。當0~9輸入神經網絡后在輸出神經元對應的位置上為1,其他的位置為0。輸入數字0,第1個輸出神經元為1,其他為0;輸入數字1,第2個輸出神經元為1,其他為0;依此類推。
隱含層數越多,神經網絡學習速度就越慢。根據Kosmogorov定理,在合理的結構和恰當的權值條件下,3層BP網絡可以逼近任意的連續函數。因此,我們選取結構相對簡單的3層BP網絡[10]。
一般情況下,神經元個數與函數收斂程度有關。根據經驗公式s=sqrt(n×m),其中,m為輸入神經元個數,n為輸出神經元個數,得出隱含層神經元個數為40個。
采用定義學習速率和采用帶動量因子算法兩種改進方法。識別內容為數字0~9,利用手勢特征,提取每個加速度傳感器中每個軸的數據作為BP 的數據輸入參數,為BP進行初始化及參數訓練,可以提高數據的識別率。在學習收斂的情況下,增大η,以縮短學習時間;當η偏大致使不能收斂時,要及時減小η,直到收斂為止[7]。將上一次權值調整量的一部分迭加到按本次誤差計算所得的權值調整量上,作為本次的實際權值調整量,即:
4 實驗結果分析
通過Matlab 計算所得出得神經網絡學習誤差曲線和數字識別結果如圖1所示。
圖1 神經網絡學習誤差曲線
本文將0~9共10類數據中的每類取20個做測試樣本,共200個測試樣本對系統進行性能測試。測試結果如表1所列。由表1中的數據可知,數字識別的正確率為98.5%,正確率較高,拒識率為6.5%,也比較高??傮w數字識別有效率為94.5%。Kadous用Power Gloves作為手語輸入設備,這樣的識別率僅為80%[8-9]。
表1 測試結果列表
手勢 樣本
個數 識別
個數 錯誤
識別 正確率 拒絕
識別個數 拒絕率 有效率
手勢0 20 18 0 100% 2 10% 90%
手勢1 20 19 0 100% 1 5% 95%
手勢2 20 17 0 100% 3 15% 85%
手勢3 20 18 0 100% 2 10% 90%
手勢4 20 18 0 100% 2 10% 90%
手勢5 20 20 0 100% 0 0 100%
手勢6 20 18 1 95% 1 5% 95%
手勢7 20 19 1 95% 0 0 100%
手勢8 20 18 1 95% 1 5% 95%
手勢9 20 19 0 100% 1 5% 95%
總計 200 184 3 98.5% 13 6.5% 94.5%
5 結 語
實際上,數字識別的正確率和拒識率與數字識別的判斷值有關,本文的判斷值設置為0.7。判斷值設置得高,數字識別的正確率就高,同時數字的拒識率也相應地就高,反之亦然。判斷值的選擇需要根據實際情況來定。
參 考 文 獻
[1]孔俊其. 基于三維加速度傳感器的手勢識別及交互模型研究[D]. 蘇州: 蘇州大學, 2009.
[2] HOFMANN F G, HEYER P, HOMMEL G. Velocity profile-based recognition of dynamic gestures with discrete hidden Markov models [C]// Gesture and Sign Language in Human-Computer Interaction——International Gesture Workshop Bielefeld,Germany, September 17-19, 1997 Proceedings. [s. n.]: Springer Berlin Heidelberg, 1998: 81-95.
[3] STURMAN D J, ZELTZER D. A survey of glove based input [J]. IEEE Computer Graphics and Applications, 1994, 14(1): 30-39.
[4]焦圣品,徐大海,白英彩.手勢識別的神經網絡方法[J].微型電腦應用,1999(5): 27-29.
[5]JOSEPH J, LAVIOLA J. A Survey of hand posture and gesture recognition techniques and technology [D]. Providence: Brown University NSF Science and Technology Center for Computer Graphics and Scientific Visualization, 1999.
[6]傅薈璇,趙紅.MATLAB 神經網絡應用設計[M]. 北京:機械工業出版社,2010.
[7]韓力群.人工神經網絡教程[M]. 北京:北京郵電大學出版社,2006.
[8]LIANG R H, OUHYOUNG M. A real-time continuous alphabetic sign language to speech conversion VR system[J]. Computer Graphics Forum, 1995, 14(3): 67-76.