訓練神經網絡的方法范文
時間:2024-03-29 15:53:34
導語:如何才能寫好一篇訓練神經網絡的方法,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
關鍵詞:帶有局部搜索的量子粒子群算法;RBF神經網絡;結構優化;參數優化
中圖分類號:TP181文獻標識碼:A
文章編號:1004-373X(2010)04-157-03
RBF Neural Network Training Based on MQPSO-LQPSO
CAI Jiliang,YE Wei
(College of Science,Air Force Engineering University,Xi′ an,710051,China)
Abstract:Quantum-Behaved Particle Swarm Optimization with Generalized Local Search Operator(MQPSO -LQPSO) is a very successful algorithm of modified QPSO.This algorithm is used to find the best structure and parameters of RBF neural network.They are both determined when finishing training.Experiments on functional approach show this method is effective.
Keywords:MQPSO-LQPSO;RBF neural network;structure optimization;parameter optimization
0 引 言
徑向基函數神經網絡(Radial Basis Function Neural Network,RBFNN)是一種生物背景很強的前向神經網絡,具有逼近能力強、學習速度快、魯棒性強、泛化能力高等優點,在圖像處理、自動控制、預測、信號處理、模式識別等多個領得到了廣泛應用。
然而RBF神經網絡存在著結構難以選取、參數的問題,許多學者對其訓練方式進行了改進。與進化算法如遺傳算法GA[1]、蟻群算法ACO[2]、粒子群算法PSO[3]、量子粒子群算法QPSO[4]等相結合是一個重要的改進方向。然而GA、ACO算法較為復雜,PSO算法簡單但不能以概率1收斂到全局極小點,QPSO算能以概率1收斂到全局極小點,但搜索能力不夠好,這些使得網絡或陷入局部極小,或運算時間長,一定程度上影響了網絡的性能。本文用簡單且收斂性更好的QPSO改進型算法MQPSO-LQPSO來訓練網絡,將網絡的結構也作為編碼對象,在確定網絡參數的同時也確定了網絡的結構,提高了精度。
1 RBF神經網絡
徑向基函數神經網絡是J.Moody 和C.Darken于20世紀80年代受人腦感受野的局部調節及重疊性啟發而提出的,已經證明它能以任意精度逼近任意連續函數。徑向基函數神經網絡由輸入層、隱層和輸出層組成,其結構如圖1 所示。輸入層只傳遞輸入信號到隱層;隱層傳遞函數由輻射狀作用的非線性基函數組成,一般用Gauss徑向基函數;輸出為為線性傳遞函數。具有n個輸入,h個隱節點,m個輸出的徑向基函數網絡第i個模型輸出為:
yi=ti+∑hj=1wijexp(-x-Cj2/2σ2j)(1)
圖1 RBF神經網絡結構
2 QPSO算法[5,6]
在量子空間中,粒子的速度和位置不能同時確定,因此Sun等人用粒子運動的波函數來描述粒子的狀態,并求解薛定諤方程,得到粒子在空間某一位置的概率密度函數,進而得到位置的分布函數,應用Monte Carlo方法(詳見文獻[5,6],最后得到算法的進化方程:
Pij(t)=φij(t)Pbestij(t)+[1-φij(t)]Gbestij(t),
φij(t)~U(0,1)(2)
Mbestij(t)=1N∑nj=1pi(t)=[1N∑nj=1pi1(t),
1N∑nj=1pi2(t),…,1N∑nj=1piD(t)](3)
xij(t+1)=Pij(t)+αMbestij(t)-xij(t)ln1uij,
if rand()>0.5
Pij(t)-αMbestij(t)-xij(t)ln1uij,
otherwise uij(t)~U(0,1)(4)
式中:N為群體的規模;D為粒子的維數;P為局部吸引子;Pbest是第i個粒子的自身最優位置參數;Gbest是粒子群中所有粒子到目前為止最優位置參數;Mbest為平均最優位置,它是所有粒子自身最優位置的中心點;α為控制因子,用來控制粒子的收斂速度,是算法中惟一的控制參數。一般取1~0.5隨迭代次數線性遞減時,收斂效果最佳。
3 MQPSO-LQPSO的基本原理[7]
一個好的啟發式搜索算法不僅要具有在未知區間上良好的全局搜索能力和在已搜區間上精細的局部勘探能力,而且還要使二者達恰當的平衡。QPSO具有良好的全局收斂性,但同時還需要一種有效的局部搜索機制,以便更好地搜索全局最優解??梢岳肣PSO具的全局收斂性,將其在一個較小的局部范圍內全局搜索,以達到增強局部搜索能力?;谶@一思想,作者將較大規模的QPSO稱為MQPSO,做全局勘探,將較小規模的QPSO稱為LQPSO,做局部開發,繼續搜索當前MQPSO搜索到的以Gbest為中心的某一鄰域。LQPSO仍是一個完整的QPSO,只是其規模比MQPSO小,表現在搜索的范圍和粒子的個數和迭代次數上。MQPSO搜索的范圍是整個可行解的空間,而LQPSO的搜索范圍是當前最優解的鄰域,其鄰域表達式為:
N(Gbest,radius)=Gbest•rand(1-radius,
1+radius)(5)
式中:radius
這種改進的算法在不增加計算次數的條件下,具有更好的搜索能力。
4 基于MQPSO-LQPSO的RBF神經網絡訓練方法
建立RBF網絡的關鍵在于確定RBF網絡隱層數據中心的個數h、數據中心的位置Cj、擴展常數σj,以及輸出權值wij。設網絡訓練集X={(Pk,yk)|k=1,2,…,N},其中,Pk為輸入,yk為目標輸出,則神經網絡的輸出均方誤差為:
mse=1m×n∑nk=1(yk^-yk)2(6)
式中:m為輸入樣本的維數;yk^為Pk對應的網絡輸出。由式(1)可知,它是關于h,Cj,σj和wij的函數,基于MQPSO-LQPSO的RBF神經網絡訓練就是讓其達到最小,因此可將它作為MQPSO-LQPSO的適應度函數,而將h,Cj,σj和wij作為參數。粒子采用實數編碼,由于h表示隱層神經元的個數,是正整數,可假設hmax為事先設定好的最大隱節點數。若hi>0(i
基于MQPSO-LQPSO的RBF神經網絡訓練方法具體描述為:
(1) 歸一化處理樣本;
(2) 隨機生成初始種群,采用上述編碼方式對各粒子的位置進行編碼,并確定Pbest和Gbest;
(3) 重復下列步驟,直到滿足MQPSO最大迭代次數或達到函數全局極小值的終止條件:
① 把每一向量映射為網絡的一組神經網絡參數值,并組成網絡;
② 按照式(2)~(4)更新MQPSO中所有的粒子;
③ 輸入訓練樣本進行訓練,對每一個體進行評價,計算其適應值,并確定Pbest和Gbest;
④更新MQPSO粒子的Pbest和Gbest;
⑤按式(5)計算MQPSO的Gbest鄰域,并在Gbest的鄰域實行LQPSO操作;
⑥將LQPSO搜索到的Gbest賦給MQPSO的Gbest。
(4) 輸出最佳參數值作為優化結果,算法結束。
5 仿真實驗
Hermit多項式是一種常用的神經網絡逼近測試函數,為:
f(x)=1.1(1-x+2x2)exp(-x2/2)
下面用MQPSO-LQPSO-RBF實現Hermit多項式逼近,并與文獻[4]相比較,以0.08為步長同樣在[-4,4]之間均勻采樣101個實數值作為網絡的訓練輸入樣本,其相對應的函數值作為訓練輸出樣本以此構成網絡的訓練樣本集。同時在[-4,4]之間隨機采樣100個實數值作為網絡的測試輸入樣本,其相對應的函數值作為測試輸出樣本,以此構成網絡的測試樣本集。實驗中RBF神經網絡隱含層預設為8,輸入和輸出層各取一個神經元,徑向基函數采用高斯函數。因此網絡中需要優化的參數為8個高斯函數的中心,8個高斯函數的擴展常數以及8個輸出層的連接權值和1個輸出偏移,共33個參數,即QPSO算法和IMQPSO-LQPSO算法中的粒子將在33維的空間中搜索,尋求滿足最小均方誤差要求的參數向量。
采用MQPSO-LQPSO算法中MQPSO的學習算法參數α作為迭代次數的函數從數從1~0.5線性減小,粒子數均為30。MQPSO-LQPSO中LQPSO的規模為5×6,參數α保持0.5 不變??偟淖畲笥嬎氵m應度函數次數為12 000次,收斂最小誤差為1×10-6。經仿真知最佳隱層個數為6。仿真結果如圖2所示。比較結果如表1所示。
圖2 迭代次數為200時的仿真結果
表1 MQPSO-LQPSO-RBF和QPSO-RBF的逼近效果比較
MQPSO-LQPSO-RBFQPSO-RBF[4]
訓練集上的均方誤差8.2×10-55.17×10-4
測試集上的均方誤差9.7×10-55.10×10-4
從圖2中仿真結果可以看出,逼近圖形和原圖形幾乎重合;從表1中比較結果可以看出,改進算法有更小的均方誤差,可見改進算法能很精確地實現函數逼近。
6 結 語
本文用性能比QPSO算法強的MQPSO-LQPSO算法來訓練RBF網絡,用這種方法改進的RBF網絡不僅可以在確定網絡的結構的同時確定網絡的參數,還可以獲得更好的逼近效果,因而是有效的。但注意到若預設的隱層節點較多,會導致搜索維數增加,從而降低搜索效率,因此下一步的工作是改進網絡編碼方式,用較小的維數來表示較大規模的網絡,以增強算法的魯棒性。
參考文獻
[1]趙志剛,單曉紅.一種基于遺傳算法的RBF神經網絡優化方法[J].計算機工程,2007,33(6):221-222.
[2]滿春濤,李曉霞,張禮勇.一種基于ACO的RBF神經網絡訓練方法[J].哈爾濱理工大學學報,2007,13(1):56-58.
[3]梁桂蘭,徐衛亞,何育智,等.PSO-RBFNN模型及其在巖土工程非線性時間序列預測中的應用[J].巖土力學,2008,29(2):995-1 000.
[4]陳偉,馮斌,孫俊.基于QPSO算法的RBF神經網絡參數優化仿真研究[J].計算機應用,2006,26(8):1 928-1 931.
[5]Sun J,Feng B,Xu W B.Particle Swarm Optimization with Particles Having Quantum Behavior[A].Proceedings of 2004 Congress on Evolutionary Computation[C].2004:325-331.
[6]Sun J.A Global Search Strategy of Quantum-behaved Particle Swarm Optimization[A].Proc.2004 Congress on Cybernetics and Intelligent Systems[C].2004.
[7]Wang Jiahai,Zhou Yalan.Quantum-Behaved Particle Swarm Optimization with Generalized Local Search Operator for Global Optimization[A].ICIC 2007[C].Berlin Springer-Verlag,2007:851-860.
[8]劉興華,劉憲英,胡澤.基于RBF神經網絡系統辨識研究[J].現代電子技術,2004,27(24):57-59.
篇2
摘要:
高軌衛星是我國衛星導航系統的重要組成部分。提升該類衛星的軌道預報精度有利于用戶定位精度的提高。提出了一種改進高軌衛星軌道預報精度的新方法。該方法避開了精化動力學模型的困難,嘗試從軌道預報誤差的規律中尋找突破。利用神經網絡作為建立預報模型的工具,將某歷史時刻的軌道預報誤差作為訓練樣本,利用訓練好的神經網絡模型補償當前時刻的預報軌道以提高軌道預報精度。對影響神經網絡模型補償效果的各因素進行了詳細分析,制定了適應于高軌衛星短期、中期和長期預報的神經網絡最優模型。利用實測數據進行了試驗分析,結果表明:預報8,15及30d應選擇的訓練步長分別為10,20及25min;軌道預報8~30d時,訓練噪聲均選取0.01。神經網絡模型有效地改進了高軌衛星的軌道預報精度,預報4~30d,軌道精度提高幅度為34.67%~82.37%不等。
關鍵詞:
神經網絡;軌道預報;訓練噪聲;訓練步長;地球靜止軌道衛星;傾斜地球同步軌道衛星
高軌衛星在我國的航天系統中應用十分廣泛。特別是我國的衛星導航系統BDS(Beidousystem),其主要包括GEO衛星和IGSO衛星。導航衛星星歷的精度是定位精度的基礎,而廣播星歷本身便是軌道預報的結果。預報精度問題是制約BDS衛星導航系統服務性能的關鍵因素,因此有必要對導航系統中的高軌衛星軌道預報精度展開研究[1]。改進軌道預報精度的一種方法是建立更加精準的動力學模型[2 ̄3]。然而由于該方法需要長期精密軌道數據的支撐,周期長、難度大。改進軌道預報精度的另一種方法可以從軌道預報誤差的規律中尋找突破[4]。神經網絡作為一種新興的建模工具,特點在于處理高維性、非線性的問題時不需要準確知道輸出輸入函數的結構參數。只要通過訓練來掌握它們之間的內在關系,在輸入訓練集以外的數據時,神經網絡可以獲得它們之間正確的映射關系。該方法的優勢在于不確定性系統的控制和預測。目前在軌道預報中使用神經網絡工具的相關研究較少,文獻[5]根據GPS衛星星歷的相關周期特性,以時間系列預報作為基礎,利用神經網絡建立預報模型。在沒有任何動力學模型的情況下得到了精度為數百米(1周)的預報結果。但是由于將衛星位置量直接作為神經網絡的輸出,神經網絡算法的狀態量動態范圍大,限制了預報精度的提高。文獻[6]利用GPS衛星精密星歷已知的優勢,將神經網絡與動力學模型相結合組成混合預報模型,改進GPS導航衛星的中長期預報。該方法可以在一定程度上改進軌道預報精度,但不是每次改進均能成功,存在改進失效的情況。針對高軌衛星的高精度軌道預報這一難題展開研究。以神經網絡作為建立預報模型的工具,在動力學模型基礎上建立神經網絡模型,通過對歷史時刻預報誤差的學習及訓練,掌握其變化規律,再用于補償和改進當前時刻的預報軌道,以達到提高預報精度的目的。針對神經網絡訓練及補償特性,分析了不同因素對神經網絡模型性能的影響?;诖酥贫硕?、中、長期軌道預報的最優模型,最后利用不同類型衛星進行了試驗分析。
1基于BP神經網絡的軌道預報算法
BP神經網絡是一種多層網絡的“逆推”學習算法[7 ̄9]。利用神經網絡進行軌道預報分為訓練和補償兩個階段。在訓練階段,采用拼接方法得到一條長時間的精密軌道,用于衡量動力學模型預報誤差及神經網絡模型的訓練誤差。針對拼接處小量級的跳躍現象,采用Robust ̄loess數值濾波方法進行軌道預報誤差平滑[10]。由于預報軌道和預報誤差為訓練樣本,故需要對兩者的特性進行分析。同時神經網絡模型參數在一定程度上影響神經網絡的訓練效果,因此有必要對影響神經網絡模型的一些關鍵因素進行分析,以確定最優的神經網絡模型。在補償階段,將當前時刻的預報軌道X(T)和V(T)作為神經網絡模型的輸入;將利用函數f(X,V)計算得到神經網絡模型的輸出作為當前時刻預報軌道的補償值ΔXNN(T),將改進后的預報軌道X(T)和V(T)作為最終軌道輸出。在神經網絡具體應用中,為了提高網絡性能以完成預定任務,需要認真考慮訓練集預處理、網絡結構設定以及訓練算法等內容。網絡的性能主要表現在訓練效率及泛化能力。泛化能力是指辨識訓練樣本中所隱藏的規律并且當被輸入樣本以外數據時,網絡能正確地反應這種規律的能力。關于網絡泛化能力的相關討論及改進措施,已有文獻進行了比較詳實的總結。這里涉及到的方法主要包括下列3個方面:一是處理訓練樣本的方法[11],將神經網絡的訓練樣本進行歸一化處理,使其在[-1,1]變化,以提高神經網絡的性能;二是訓練步長的選??;三是增加隨機噪聲[12 ̄13]。
2不同因素對神經網絡模型性能的影響
分別針對預報軌道和預報誤差特征、訓練步長的選擇、訓練噪聲的大小對神經網絡模型性能的影響進行討論。
2.1預報軌道和預報誤差的特征分析
2.1.1中長期預報軌道和預報誤差特征將短期軌道預報弧長定位為1~13d,中期軌道預報弧長為14~27d,長期軌道預報弧長大于27d。以某初始時刻的預報誤差作為訓練樣本訓練得到的神經網絡可以對其他初始時刻的預報軌道提供補償,但前提是兩個初始時刻的預報誤差數值大小及波形圖要相近。對GEO衛星的預報誤差進行時間序列分析,結果可以看出,預報誤差最大值呈現以14d為周期的變化規律;IGSO衛星具有相同的特征。文中選取的訓練弧長與當前時刻的軌道預報弧長相等。對于中長期軌道預報可以采用以下方案:假設預報弧長為md(14n≤m≤14(n+1),n≥1),用當前時刻起14(n+1)d之前那天的預報誤差和預報軌道作為訓練樣本,訓練弧長為md,訓練得到神經網絡模型。采用神經網絡模型計算得到的補償誤差波形對當前的預報誤差進行補償。對于短期預報,由于預報弧長小于14d,其軌道預報方案中還考慮了預報誤差波形的最佳匹配。即充分結合預報誤差和預報軌道的動力學特性,建立了一個訓練樣本集。根據當前時刻的預報誤差波形變化特征在樣本集中搜索最佳訓練樣本,實現兩者波形變化的最優匹配,從而實現最優的補償效果。在中長期預報中未采用波形匹配算法的主要原因是,需要兼顧工程應用中的實時性,波形匹配耗時較長。
2.1.2短期預報中的波形匹配算法航天器是一個受攝動力系統,其初值不穩定性使得利用不同初始軌道得到的預報軌道和預報誤差的特性均不同。這就導致不同初始時刻的預報誤差并無規律。為了實現最佳的神經網絡模型補償效果,必須找到與當前時刻預報誤差變化波形最為相近的歷史時刻中的一條預報軌道。采用歷史時刻的預報軌道和預報誤差作為訓練樣本,訓練得到神經網絡模型。在實際工程應用中,因為當前時刻之后的預報弧段中的精密軌道無法獲取,故不能獲得當前時刻的預報誤差波形變化規律,所以并不能直接通過預報誤差波形比對來尋找補償當前時刻預報軌道的訓練樣本。但是基于動力學模型外推可以得到當前時刻的預報軌道,如果能找到預報軌道與預報誤差之間的波形變化對應關系,就可得到當前時刻的預報誤差波形變化規律。由于預報誤差的變化周期與軌道周期相同,對于GEO/IGSO衛星均為1d,通過對比預報誤差波形變化最大值和最小值出現的時刻,搜尋得到用于補償當前時刻預報誤差的訓練樣本。由于預報軌道在數值上遠遠大于預報誤差,為了便于分析問題,將兩者進行歸一化處理,即分別將兩者除以各自的最大值,這樣它們就在±1之間變化。圖2和圖3分別給出了某GEO衛星和某IGSO衛星在2013年第23天預報8d的軌道與相應的預報誤差之間的對應關系。其中,橫坐標表示預報時間,單位為d;縱坐標表示歸一化后的數值,無量綱。1)對于兩種類型的衛星,在J2000坐標系中X和Y軸方向,當預報軌道X/Y=0時,對應時刻的預報誤差為最大值(峰值)或最小值(谷值)。預報軌道從正值變化為負值經過零值的時刻對應著預報誤差的峰值,從負值變化為正值經過零值的時刻則對應著預報誤差的谷值。2)在Z軸方向,GEO衛星的預報軌道和預報誤差之間并無明顯的對應關系;IGSO衛星存在與X/Y軸相同的對應關系。將作為訓練樣本的預報誤差選擇定義在J2000坐標系中,主要是因為在該坐標系中預報誤差的規律性強,并且與預報軌道之間存在一定的對應關系。
2.2訓練步長對預報精度的影響預報誤差改進率的計算公式如下。以某GEO衛星為例,表1給出了不同預報弧長、不同訓練步長下利用神經網絡模型得到的預報誤差改進率。分析表1中的數據可以看出下列3點。1)訓練步長越小,神經網絡模型的改進率就越高。2)預報弧長的長度與對訓練步長的敏感度成反比,即弧長越長,訓練步長的延長對改進率的影響就越小。訓練步長從5min延長至40min,預報8,15和30d的改進率分別降低5.68%,3.9%和1.36%。3)由于訓練步長越小,訓練時間越長,因此改進率與訓練時間是一對矛盾體。從綜合改進率和訓練時間的要求考慮,即改進率應盡可能高,而訓練時間應盡可能短。故預報8,15和30d應選擇的訓練步長分別為10,20和25min。
2.3訓練噪聲對預報精度的影響以某初始時刻的軌道預報誤差(稱為訓練值)作為訓練樣本訓練神經網絡模型,用其補償另一個初始時刻利用動力學模型外推得到的預報誤差(稱為期望值)。如果訓練值和期望值在同一時刻吻合的很好,那么利用神經網絡模型一定能很好地修正動力學模型的預報誤差。以某GEO衛星軌道預報8d為例,圖4給出了采用不同噪聲值時訓練值和期望值之間的吻合關系。分為無噪聲、噪聲為0.01、噪聲為0.05和噪聲為0.10共4種情況。從圖4中可以看到,不加噪聲時訓練值與其期望值的差別較大,因此應加入訓練噪聲以提高神經網絡的泛化能力;加入噪聲后訓練值與期望值吻合的較好,但無法區分噪聲值為多大時預報精度最高。表2給出了采用不同訓練噪聲時,經神經網絡模型補償后的軌道預報誤差最大值的統計結果。其中原始預報誤差為未進行補償時的采用動力學模型外推得到的預報誤差。表2不同訓練噪聲下的預報分析表2中數據可以看出下列兩點。1)無噪聲時,前4d無改善,精度反而降低;預報8d及更長弧段時預報誤差略有改善,故應加入訓練噪聲。2)增加噪聲后,噪聲從0.001~0.100的變化對預報精度的改進幅度相當。但從總體來看,噪聲越小,前6d的預報精度越高;但預報8d以及更長弧段時噪聲為0.010的預報誤差最小,故應選擇訓練噪聲為0.010。
3試驗結果及分析
根據上述短、中、長期軌道預報方案,并結合不同神經網絡模型參數的優化設計分析,給出了利用神經網絡模型進行軌道預報的試驗結果。通過與精密星歷比對可以分別得到動力學模型和神經網絡模型的預報精度。表3列出了BDS系統中兩顆GEO、三顆IGSO共5顆衛星在2013年第23天利用神經網絡模型和動力學模型外推得到的預報誤差(其中NN代表神經網絡模型;Dyn代表動力學模型)。Sat02衛星由于軌道機動未能統計其中長期預報結果。表3中誤差是在一定弧段內預報誤差的最大值。從表3可得,神經網絡模型1d預報誤差有時會大于動力學模型的預報誤差;但預報4,8,15及30d各衛星采用神經網絡模型補償后的預報精度均有所提高。這主要因為1d的預報弧段規律性不強,不利于神經網絡模型的學習及訓練。隨著弧段的增長,訓練樣本的規律性增強,神經網絡模型的補償效果有所提高。為了更好地衡量神經網絡模型的改進效果,給出各衛星的預報精度提高幅度,其與預報誤差改進率的計算公式相同。表4給出了各衛星經神經網絡模型補償后的預報精度提高幅度。從表4中可以看出,預報4d各衛星的軌道精度改進幅度為40.25%~60.31%;預報8d各衛星的軌道精度改進幅度為63.28%~72.59%;預報15d改進幅度為47.01%~82.37%;預報30d改進幅度為34.67%~82.35%??梢娚窠浘W絡模型在改進軌道預報誤差中的作用顯著。
4結論
篇3
關鍵詞: 諧波; 間諧波; 全相位快速傅里葉變換; 人工神經網絡; 虛擬儀器
中圖分類號: TN711?34; TM417 文獻標識碼: A 文章編號: 1004?373X(2017)01?0125?04
Abstract: On the basis of analyzing the available harmonic detection methods, the harmonic and interharmonic detection method based on all?phase fast Fourier transform and artificial neural network is studied. A new harmonic detection method based on all?phase fast Fourier transform and BP neural network is proposed to solve the problem of low harmonic detection precision. And a harmonic detection method based on all?phase fast Fourier transform and adaptive neural network is used to further improve the accuracy of harmonic detection. A harmonic detection software based on all?phase fast Fourier transform and adaptive neural network was designed on virtual instrument software development platform LabWindows/CVI. The software can realize the detection of harmonic amplitude and phase and calculation of total harmonic distortion, and give an alarm when the total harmonic distortion is out of limit.
Keywords: harmonic; interharmonic; all?phase fast Fourier transform; artificial neural network; virtual instrument
在理想情況下,電力系統的電能應該是具有單一頻率、單一波形和若干電壓等級的正弦電壓信號。但是實際生產生活中由于一些原因,電網中的電能很難保持理想的波形,實際的波形總是存在偏差和形變,這種波形畸變稱為諧波畸變[1]。造成諧波畸變的原因是電網中存在大量的電力系統諧波。隨著諧波污染問題愈加嚴重,其產生的危害也越來越廣泛。因此,諧波檢測問題具有十分重要的研究價值和意義[2]。
1 基于全相位快速傅里葉變換和BP神經網絡
的諧波檢測
1.1 諧波相角檢測
全相位快速傅里葉變換具有相位不變性。利用該性質對電網電壓信號的采樣值進行全相位快速傅里葉變換譜分析,獲得高精度的諧波相位值[3]。其步驟如下:
(1) 采集電網信號,獲取個采樣值。
(2) 對采樣數據進行全相位快速傅里葉變換譜分析,獲得幅值譜和相位譜。
(3) 全相位快速傅里葉變換所得的幅值譜受到柵欄效應的影響無法獲得準確的諧波信號幅值,但是幅值譜在諧波相應的頻率附近會出現峰值譜線,通過讀取該峰值譜線對應的相位值即可得到精確的諧波相位[4]。
1.2 基于BP神經網絡的諧波幅值檢測
選擇BP神經網絡作為諧波幅值的檢測方法。基于BP神經網絡的諧波幅值檢測分為以下步驟:
(1) 構建諧波檢測BP神經網絡結構
傳統的BP神經網絡諧波檢測網絡由輸入層、隱含層、輸出層構成[5]。本文構建的網絡僅含有一個隱含層。由于傳統結構的BP神經網絡輸出層各神經元共用同一個隱含層,相互之間影響比較嚴重,存在諧波幅值檢測精度不高的問題。因此本文采用改進的BP神經網絡結構,輸入層、輸出層設置不變,僅使輸出層的每一個神經元分別都對應一個隱含層,解決了各待測諧波相互影響的問題,提高了諧波檢測的精度。
(2) 確定諧波檢測BP神經網絡學習算法
設電網中電壓信號為一周期性非正弦信,對做一個周期內的等時間間隔采樣。采樣數據作為神經網絡的輸入。隱含層的輸出為。輸出層為分別對應三次諧波和五次諧波幅值[6]。由于各次諧波具有相同的學習算法,在此僅以三次諧波為例,介紹其學習算法。三次諧波的隱含層和輸出層的輸出為:
(3) 選取諧波檢測神經網絡訓練樣本
在實際檢測時以檢測奇次諧波中次數較低的諧波為主。本文諧波檢測前通過濾除基波和更高次的諧波,選取由三次諧波和五次諧波組成的諧波電流為例說明訓練樣本的選取過程[7]。諧波電壓可以表示為:
(4) 學習樣本選取完成后,按照BP神經網絡的訓練過程訓練神經網絡。待訓練結束,獲取神經網絡各個連接權值,從而固定BP神經網絡結構和連接權值,完成對諧波幅值的記憶。其后只需要采集電網信號作為同相位條件下的BP神經網絡的輸入,即可從網絡輸出獲取信號中所含的各次諧波幅值。
1.3 諧波檢測仿真實驗
本仿真只對某個相位條件下的BP神經網絡對三次和五次諧波的幅值進行仿真驗證。在三次諧波的相位為30°,五次諧波的相位為60°的條件下采用訓練樣本選取方法,獲取676組訓練樣本,離線訓練諧波檢測BP神經網絡。仿真程序流程如圖1所示。
訓練完成后,選擇多組相位同為30°和60°未訓練的樣本仿真驗證諧波幅值檢測的精度。通過實驗可以看出,BP神經網絡諧波幅值檢測方法結果比插值FFT具有更高的精度。通過增加訓練樣本個數可進一步提高神經網絡諧波幅值檢測的精度。
2 基于全相位快速傅里葉變換和自適應神經網
絡諧波檢測
2.1 檢測步驟
基于全相位快速傅里葉變換和自適應神經網絡的諧波檢測方法的具體步驟如下:
(1) 采集訓練樣本。設定采樣頻率和采樣時間,采集電網電壓信號,為全相位快速傅里葉變換提供分析數據,為自適應人工神經網絡提供訓練樣本。
(2) 確定諧波初相位。將電網信號采樣數據經過全相位快速傅里葉變換分析,在分析結果的幅值譜中找出峰值譜線,并由峰值譜線對應的相位值獲取各諧波的高精度相位。
(3) 初始化諧波幅值檢測神經網絡。利用諧波相位檢測結果設置神經網絡參考輸入向量中的各次諧波相位值。
(4) 計算誤差讀取一次訓練樣本,根據采樣時間計算神經元輸出與此刻的電網信號采樣值做差,進而計算誤差函數和性能指標。
(5) 根據誤差調整神經網絡權值。
以最小均方差法(LMS)作為諧波幅值檢測自適應神經網絡的學習算法,則權值調整公式,即諧波幅值調整公式為:
(6) 判斷是否等于訓練樣本總數如果是,再判斷是否達到最大訓練次數。若達到最大訓練次數則結束訓練轉至下一步。若未達到,則需計算并判斷是否達到性能指標要求,達標則轉至下一步,不達標則返回步驟(4)再次執行。如果否,返回步驟(4)繼續執行。
(7) 訓練結束。根據所得神經網絡權值獲得各次諧波幅值。
2.2 諧波檢測仿真
取511個電網信號采樣點經過apFFT分析后,可以看出該諧波相位檢測具有很高的精度。利用apFFT分析結果初始化神經網絡,并取50組訓練樣本訓練神經網絡,可以看出性能指標函數的值在訓練次數足夠大的情況下可以達到,在經過10次以內的訓練后基波和諧波檢測值趨于穩定。由實驗數據可以看出本文采用的方法極大地提高了諧波幅值的檢測精度。
3 基于全相位快速傅里葉變換和增強型自適應
神經網絡的間諧波檢測
3.1 增強型自適應神經網絡間諧波檢測模型
諧波檢測中在基波頻率已知的情況下,由于諧波頻率為基波頻率的整數倍,因而諧波頻率無需檢測。但是對于間諧波檢測,由于間諧波頻率為基波頻率的非整數倍,無法通過基波頻率獲知間諧波頻率,因此在間諧波檢測時,需要將間諧波的頻率也作為檢測項[8]。為此,將應用于間諧波檢測的自適應神經網絡結構設計成如圖3所示的形式。
3.2 諧波檢測步驟
基于全相位快速傅里葉變換和增強型自適應神經網絡的間諧波檢測步驟如下:
(1) 信號采集和apFFT分析。將電網信號濾除已測量的基波、諧波信號后得到由間諧波構成的信號,采樣并經apFFT算法分析后,得到幅值譜和相位譜。
(2) 神經網絡結構的確定和初始化。由于神經網絡中間層神經元的個數等于間諧波個數,因此通過apFFT幅值譜峰值譜線的個數確定神經元個數。分別確定間諧波頻率和幅值的學習率和動量因子。設定神經網絡的最大訓練次數,開始人工神經網絡的訓練。
(3) 計算誤差。讀取一次訓練樣本,根據式(11)計算神經網絡實際輸出,并與此刻的采樣值做差,進而計算誤差函數和性能指標。
(5) 判斷是否等于訓練樣本總數如果是,再判斷是否達到最大訓練次數。若達到最大訓練次數則結束訓練轉至下一步。若未達到,則需計算并判斷是否達到性能指標要求,達標則轉至下一步,不達標則返回步驟(3)再次執行。如果否,返回步驟(3)繼續執行。
(6) 學習結束。學習結束后,通過激勵函數的角頻率獲取間諧波頻率,通過神經網絡權值得到間諧波幅值。
3.3 間諧波檢測仿真
設基波頻率為50 Hz,采樣頻率為2 560 Hz,采集511個點。利用apFFT的分析結果初始化神經網絡。設置間諧波幅值調整的學習因子=0.01,設置動量因子=0.3,隨后開始訓練神經網絡。從實驗數據可得,網絡經過70次左右的在線訓練后基本收斂。經過70次訓練后幅值誤差都達到了以下,頻率誤差達到了以下。通過對原始間諧波疊加信號波形和檢測得到的間諧波組合信號波形進行對比可知,基于全相位快速傅里葉變換和增強型自適應神經網絡的間諧波檢測方法具有更高的檢測精度。
4 LabWindows/CVI諧波檢測軟件實現
4.1 諧波檢測系統設計方案
針對電力系統中存在C波問題,利用LabWindows/CVI和計算機設計虛擬諧波檢測儀器。主要實現的功能是分析數據采集卡采集的電網電壓數據,利用apFFT和自適應線性神經網絡算法獲取高精度的諧波電壓幅值和諧波初相位,并通過計算機顯示出檢測結果。利用檢測結果計算總諧波畸變率,當畸變率超過標準值時給出警報。首先獲取電網電壓采樣信號,進而將采樣信號經過全相位快速傅里葉變換分析得到基波和各次諧波信號的高精度相位值,通過獲得的相位值設置自適應神經網絡激勵函數中的諧波相位值,隨后利用采樣數據在線訓練神經網絡獲得基波和各次諧波的幅值。
4.2 諧波檢測系統軟件設計過程
基于LabWindows/CVI的諧波檢測軟件設計過程可分為以下步驟:
(1) 啟動LabWindows/CVI編程環境,創建諧波檢測軟件工程。
(2) 在用戶界面編程窗口,根據諧波檢測的功能要求設計虛擬儀器用戶面板。在面板上添加相應控件,控件分布設計完成后,需要對控件屬性及其對應的回調函數進行設置,使得點擊或使用這些控件時能夠得到有效的響應。
(3) 用戶界面設計并保存完成后,LabWindows/CVI自動生成程序代碼的主體框架,并通過菜單欄CodeGenerateMain Function生成main函數和各個控件對應的回調函數框架程序。
(4) 在各個控件對應的回調函數內編寫實現其功能的程序代碼,例如本文在主面板開始檢測按鈕對應的回調函數內部編寫apFFT和神經網絡諧波檢測算法的代碼,以實現諧波檢測功能。
(5) 完成代碼編寫、調試和運行程序。
4.3 檢測軟件實驗測試
本文通過讀取兩組離線測量數據對諧波檢測功能進行實驗檢測。通過第一組數據的檢測結果可以看出諧波幅值較基波幅值低很多,且奇次諧波的幅值較偶次諧波幅值高。通過apFFT采樣數據分析的結果中,測量信號波形和基波波形的對比可以看出諧波對基波波形的影響較小。實驗結果表明該軟件具有很好的諧波檢測精度。
通過第二組數據的檢測結果看出諧波總畸變率超出設定值(4%),諧波畸變率告警燈變為紅色,同時告警對話框彈出。諧波檢測的結果同時在表格和柱形圖中顯示。將測量信號、諧波疊加信號和基波信號的波形進行對比,諧波對電網電壓的波形影響仍然很有限,保證了電網中負載的用電安全。此次諧波檢測的檢測結果,檢測精度仍然較高。
5 結 論
本文主要對基于全相位快速傅里葉變換和神經網絡的諧波、間諧波檢測方法進行了研究。針對現有成熟的諧波檢測算法檢測精度不高的問題,提出了基于全相位快速傅里葉變換和BP神經網絡的諧波檢測算法;為了進一步提高諧波檢測精度,減小對訓練樣本的依賴,擴大諧波檢測算法的適用范圍,提出了基于全相位快速傅里葉變換和自適應神經網絡的諧波檢測算法;針對電力系統間諧波檢測問題,通過調整自適應神經網絡結構,提出了基于全相位快速傅里葉變換和增強型自適應神經網絡的諧波檢測算法;利用虛擬儀器開發平臺LabWindows/CVI設計了基于全相位快速傅里葉變換和自適應神經網絡的諧波檢測軟件,最后利用兩組數據驗證了軟件功能。
參考文獻
[1] 肖雁鴻,毛筱.電力系統諧波測量方法綜述[J].電網技術,2002,26(6):61?64.
[2] 聶晶晶,許曉芳,夏安邦,等.電能質量監測及管理系統[J].電力系統自動化設備,2005,25(10):75?77.
[3] 王子績,孟鑫,張彥兵,等.基于瞬時無功功率理論的新型諧波檢測算法[J].電測與儀表,2012,49(4):9?13.
[4] 劉桂英,粟時平.利用小波傅里葉變換的諧波與間諧波檢測[J].高電壓技術,2007,33(6):184?188.
[5] 危韌勇,李志勇.基于人工神經元網絡的電力系統諧波測量方法[J].電網技術,1999,23(12):20?23.
[6] 王凱亮,曾江,王克英.一種基于BP神經網絡的諧波檢測方案[J].電力系統保護與控制,2013(17):44?48.
[7] 付光杰,曲玉辰,郭靜.RBF神經網j在諧波檢測中的應用[J].大慶石油學院學報,2005,29(6):76?79.
篇4
關鍵詞:電阻點焊;神經網絡;消音鋸片
0序言
電阻點焊過程是一個高度非線性,既有多變量靜態疊加又有動態耦合,同時又具有大量隨機不確定因素的復雜過程。這種復雜性使得傳統方法確定最佳工藝參數存在操作復雜、精度低等缺陷。
本文通過深入研究提出了一種神經網絡優化消音鋸片電阻點焊工藝參數方法。以試驗數據為樣本,通過神經網絡,建立焊接工藝參數與焊接性能之間的復雜模型,充分發揮神經網絡的非線性映射能力。為準確預測點焊質量提高依據。在運用試驗手段、神經網絡高度非線性擬合能力結合的方式,能在很大程度上克服傳統方法的缺陷,完成網絡的訓練、檢驗和最優評價,為電阻點焊過程的決策和控制提供可靠依據。
1原理
人工神經網絡是用物理模型模擬生物神經網絡的基本功能和結構,可以在未知被控對象和業務模型情況下達到學習的目的。建立神經網絡是利用神經網絡高度并行的信息處理能力,較強的非線性映射能力及自適應學習能力,同時為消除復雜系統的制約因素提供了手段。人工神經網絡在足夠多的樣本數據的基礎上,可以很好地比較任意復雜的非線性函數。另外,神經網絡的并行結構可用硬件實現的方法進行開發。目前應用最成熟最廣泛的一種神經網絡是前饋多層神經網絡(BP),通常稱為BP神經網絡。
神經網絡方法的基本思想是:神經網絡模型的網絡輸入與神經網絡輸出的數學關系用以表示系統的結構參數與系統動態參數之間的復雜的物理關系,即訓練。我們發現利用經過訓練的模型進行權值和閾值的再修改和優化(稱之為學習)時,其計算速度要大大快于基于其他優化計算的速度。
BP神經網絡一般由大量的非線性處理單元——神經元連接組成的。具有大規模并行處理信息能力和極強的的容錯性。每個神經元有一個單一的輸出,但可以把這個輸出量與下一層的多個神經元相連,每個連接通路對應一個連接權系數。根據功能可以把神經網絡分為輸入層,隱含層(一或多層),輸出層三個部分。設每層輸入為ui(q)輸出為vi(q)。同時,給定了P組輸入和輸出樣本 ,dp(p=200)。
(6)
該網絡實質上是對任意非線性映射關系的一種逼近,由于采用的是全局逼近的方法,因而BP網絡具有較好的泛化的能力。
我們主要是利用神經網絡的非線性自適應能力,將它用于消音鋸片的電阻點焊過程。訓練過程是:通過點焊實驗獲得目標函數與各影響因素間的離散關系,用神經網絡的隱式來表達輸入輸出的函數關系,即將實驗數據作為樣本輸入網絡進行訓練,建立輸入輸出之間的非線性映射關系,并將知識信息儲存在連接權上,從而利用網絡的記憶功能形成一個函數。不斷地迭代可以達到sse(誤差平方和)最小。
我們這次做的消音金剛石鋸片電焊機,通過實驗發現可以通過采用雙隱層BP神經網絡就可以很好的反應輸入輸出參數的非線性關系。輸入神經元為3,分別對應3個電阻點焊工藝參數。輸出神經元為1,對應焊接質量指標參數。設第1隱含層神經元取為s1,第2隱含層神經元取為s2。輸入層和隱含層以及隱層之間的激活函數都選取Log-Sigmoid型函數,輸出層的激活函數選取Pureline型函數。
2點焊樣本的選取
影響點焊質量的參數有很多,我們選取點焊時的控制參數,即點焊時間,電極力和焊接電流,在固定式點焊機上進行實驗。選用鋼種為50Mn2V,Φ600m的消音型薄型圓鋸片基體為進行實驗。對需要優化的參數為點焊時間,電極力和焊接電流3個參數進行的訓練。最后的結果為焊接質量,通常以鋸片的抗拉剪載荷為指標。
建立BP神經網絡時,選擇樣本非常重要。樣本的選取關系到所建立的網絡模型能否正確反映所選點焊參數和輸出之間的關系。利用插值法,將輸入變量在較理想的區間均勻分布取值,如果有m個輸入量,每個輸入量均勻取n個值(即每個輸入量有m個水平數), 則根據排列組合有nm個樣本。對應于本例,有3個輸入量,每個變量有5個水平數,這樣訓練樣本的數目就為53=125個。
我們的實驗,是以工人的經驗為參考依據,發現點焊時間范圍為2~8s,電極力范圍為500~3000N,點焊電流范圍為5~20kA時,焊接質量比較好。我們先取點焊電流,電極力為定量,在合理的范圍內不斷改變點焊時間,得到抗拉剪載荷。如此,可以得到不同點焊電流和電極力的抗拉剪載荷。根據點焊數據的情況,我們共選用200組數據。部分測試數據如表1:
神經網絡建模的關鍵是訓練,而訓練時隨著輸入參數個數的增加樣本的排列組合數也急劇增加,這就給神經網絡建模帶來了很大的工作量,甚至于無法達到訓練目的。
3神經網絡
我們用200組訓練樣本對進行神經網絡訓練,以err_goal=0.01為目標。調用Matlab神經網絡工具箱中的函數編程計算,實現對網絡的訓練,訓練完成后便得到一個網絡模型。
程序
x1=[2.1 2.5 3 3.5 4……]; %點焊時間輸入,取200組
x2=[1.3 1.5 1.9 2.1 2.3……];%電極力輸入,取200組
x3=[9 10 11 12 13……];%點焊電流輸入,取200組
y=[2756 3167 3895 3264 2877……]; %輸出量,取200組
net=newff([1 10;0.5 3;5 20],[10 10 1],{‘tansig‘‘tansig‘‘purelin‘});
%初始化網絡 轉貼于
net.trainParam.goal = 0.01;%設定目標值
net=train(net,[x1;x2;x3],y);%訓練網絡
figure; %畫出圖像
選取不同的s1,s2,經過不斷的神經網絡訓練,發現當s1=8,s2=6時,神經網絡可以達到要求。工具箱示意圖如下圖1。
圖 1工具箱示意圖
工具箱示意圖非常清晰地表示了本實驗的神經網絡的輸入,輸出以及訓練的過程。
神經網絡的訓練結果,如圖2所示:
圖2神經網絡的學習過程
圖中可以看出雙層網絡訓練的sse在訓練100次時,已經接近0.0001,效果較理想。
為了驗證經過訓練的網絡模型的泛化能力,在輸入變量所允許的區域內又另選多個樣本進行了計算。發現:利用BP神經網絡模型計算的測試輸出與期望輸出值相符,誤差小于2%。
在已經訓練好的網絡中找出最大值:
for i=2:10 %點焊時間選擇
for j=0.5:0.1:3%電極力選擇
fork=5:0.1:20%點焊電流選擇
a=sim(net,[i,j,k]);%仿真
ifan %比較仿真結果與最大值,取最大值n=a;
i(1)=i;%最大值的時間
j(1)=j;%最大值的電極力
k(1)=k; %最大值的電流
end
end
end
end
將i(1),j(1),k(1)以及n輸出,n為最大值。得到點焊時間為3.4s,電極力為12.7kN,點焊電流為11.8kA,此時的抗剪拉剪載荷為4381N,為訓練結果的最大值。將點焊時間為3.4s,電極力為12.7kN,點焊電流為11.8kA在點焊機上進行實驗,得到結果為4297N。并且通過與實際的結果相比較,發現誤差也在2%以內。
4結論
1)本文采用了插值法作為選取BP神經網絡訓練樣本的方法。并且在數據變化劇烈的地方多選取了75組數據,這樣可以得到較高精度的網絡模型,使點焊模型的可行性。
2)基于此方法建立了三個點焊參數的BP神經網絡模型,而且所建的BP模型具有較高的精度,可以很好的描述了這三個點焊參數與點焊質量的映射關系。
3)由于神經網絡模型將系統結構參數與傳統動態特性參數之間的物理關系,反映為神經網絡模型的網絡輸入與網絡輸出的數學關系,因此,在神經網絡模型上進行結構修正與優化比在其他模型上更直接,簡單與高效。
本文采用神經網絡的方法優化復合消音鋸片的點焊工藝參數,為分析點焊質量提供了很好的輔助手段。通過與以前工藝相比較,提高了點焊質量。
參考文獻
[1] 方平,熊麗云.點焊電流有效值神經網絡實時計算方法研究.[J].機械工程學報,2004(11).148-152.
篇5
關鍵詞 壓力傳感器;溫度漂移;溫度補償
中圖分類號:TP212 文獻標識碼:A 文章編號:1671-7597(2014)10-0038-02
壓力傳感器的輸出結果精度容易受到多種因素的影響,其中,唯獨是影響傳感器輸出精度的最主要因素。目前,國內經常使用硬件補償和軟件補償兩類方法對壓力傳感器進行溫度補償。硬件補償方法調試難度較高、精度低、通用性也較差,在實際工程中應用時,難以去得較好的效果;而軟件補償方法有效彌補了硬件補償的缺點,其中BP神經網絡補償在實際工程中運用十分廣泛,但是典型BP神經網絡補償法雖然精確度高,但是整個流程過于復雜、整個過程耗時較長,因此,本文提出了一種基于主成分分析的BP神經網絡補償方法,希望對提高補償效率和準確性起到一定的作用。
1 典型BP神經網絡補償原理分析
BP神經網絡是目前研究中應用范圍最廣的神經網絡模型之一,BP神經網絡術語單向傳輸網絡結構,整個信息傳輸的過程呈現出高度的非線性特點。典型的BP神經網絡結構包括輸入層、隱含層和輸出層3層結構。通常情況下BP神經網絡只有這3層結構,這主要是由于單隱層的BP神經網絡既可以完成從任意n維到m維的映射。其典型結構如下圖所示。
BP神經網絡結構模型
BP算法設計到了信息的正向傳播以及誤差的反向傳播,信息首先從輸入層傳入,然后經過隱含層的處理傳入輸出層,最終輸出的信息可以用下面的形式進行表示:
其中:、分別代表了隱含層及輸出層的權值;
n0、n1分別對應了輸入節點數及隱含層節點數。
輸出層神經元的激勵函數f1通常呈現出線性特點;而隱含層神經元的激勵函數f2通常采用如下所示的形式在(0,1)的S型函數中進行輸出:
由于BP神經網絡隱含層采用的傳遞函數為對數S型曲線,其輸出范圍在(0,1)之間。為了避免節點在短時間之內飽和而無法繼續進行訓練,需要在訓練開始之前利用下面公式對樣本數據進行預處理:
,
其中:Ui、Pi均為訓練數據的標定值;Uimin、Uimax分別表示輸出電壓的標定極值(最小和最大);Pimin、Pimax分別表示壓力的標定極值(最小和最大)。
當目標矢量為T,信息通過正向傳遞,可以得到誤差函數,具體如下所示:
如果輸出結果無法達到要求的誤差范圍,則返回誤差信號并按照一定的權值對公式中的各層權值進行修正,直到輸出結果達到期望值。
在利用典型BP神經網絡進行壓力傳感器溫度補償的過程中,算法過于復雜,而且非常耗時,因此,需要對其進行改進,以提高補償效率。
2 BP神經網絡法的改進
2.1 改進原理
基于典型的BP神經網絡,利用以下方法進行改進。
1)利用小波神經網絡的思想對神經元的激勵函數進行改進,從而實現小波特性與BP神經網絡自學功能的充分結合,提高激勵函數的逼近能力。以Morlet函數作為小波函數的母函數,可以降低不同層面神經元之間的影響,提高網絡的收斂速度。以Morlet函數作母函數的小波函數屬于幅值小波,其信號中包含了復值和相關信息,改進后的函數具體如下所示:
在本次研究中,我們選取了R個輸入樣本和N個輸出節點,則可以利用下面的公式對第l個樣本的第n個節點的輸入進行表示:
其中:K表示神經網絡隱含層的單元數量;M表示神經網絡輸入層的單元數量;ωn,k表示神經網絡隱含層第k單元與輸出層第n單元的連接權值;ak-小波伸縮因子;bk-平移因子;Sl(xm)―輸入信號。
2)在計算過程中通過,附加動量法的應用可以有效改實現梯度方向的平滑過渡,使得計算結果更具穩定性。該方法以BP法為基礎對權值進行調節,具體公式如下:
其中:t表示樣本的訓練次數;η表示學習速率;σ表示動量因子;σΔωki(t)表示附加動量項,它能夠有效降低不同神經元之間的影響,提高網絡的收斂速度。
2.2 主成分BP神經網絡算法的實現
步驟1:按照典型BP神經網絡數據預處理方法對樣本數據進行預處理。
步驟2:利用主成分分析法對預處理后的樣本數據進行分析,降低輸入向量之間的影響,使各個輸入變量的協同方差趨于統一,從而使各權值具有相同的收斂速度,并以此確定神經網絡的輸入節點。
步驟3:對神經網絡進行初始化,并對其中的部分關鍵變量進行設置。
步驟4:為神經網絡選取一組學習樣本,以輸入節點作為網絡的輸入向量,并輸入期望fn,l,n=1,2,…,N;l=1,2,…,R。
步驟5:利用輸入的網絡參數計算網絡的實時輸出能力,當輸出誤差在允許范圍之內時,停止訓練;而當輸出誤差超過允許范圍 ,則將誤差信息進行反向傳播,使權值沿誤差函數的負梯度方向發生變化,然后利用梯度下降法計算出變化后的網絡參數,然后再重復進行第4步的操作。
步驟6:BP神經網絡在訓練合格之后,對其進行樣本補償。
步驟7:對補償后的樣本進行反標準化處理,然后與實測數據進行誤差比較,判斷出網絡改進之后的變化。
2.3 壓力傳感器溫度補償
根據前文提供的BP神經網絡算法實現步驟,可以利用Matlab編程語言來實現。在實現該算法之后,我們通過在壓力傳感器量程范圍內確定n個壓力標定點,同時確定m個溫度標定點。標準值發生器會根據每個標定點的信息產生對應的標定輸入值。然后輸入樣本數據,樣本數據按照目標值要求的±20%范圍進行選擇,然后以誤差目標小于10-3進行訓練,當達到誤差目標之后,網絡的收斂速度得到有效的提升。
3 結論
通過研究結果發現,利用主成分分析法對信息進行補償之后,再利用BP神經網絡對這些信息進行訓練,其學習速度相對直接利用BP神經網絡進行訓練更高。同時,通過改進典型的BP神經網絡,利用小波函數作為激勵函數,并應用動量附加發對網絡敏感性進行控制,可以有效避免網絡發生局部極小問題。通過基于主成分的BP神經網絡溫度補償方法可以使壓力傳感器受環境溫度變化而發生的誤差問題得到高效、精確的解決。
參考文獻
篇6
關鍵詞:專家系統 神經網絡 故障診斷 旋轉機械
引 言
針對旋轉機械故障的復雜性、多樣性和診斷時對領域專家知識的依賴性,對旋轉機械的故障診斷提出了采用人工神經網絡(ANN)和傳統專家系統(ES)融合的新途徑,充分利用人工神經網絡和專家系統各自特點,使其功能互為補充。解決了傳統的專家系統在旋轉機械故障診斷中遇到的知識獲取的“瓶頸”等問題。同時也解決了單一神經網絡系統在旋轉機械故障診斷中遇到的不足。這種人工神經網絡和專家系統集成的故障診斷方法,能提高旋轉機械故障診斷的能力,更大限度地發揮人工智能技術在診斷領域的威力。
1、基于神經網絡與專家系統集成的旋轉機械故障診斷模型
基于神經網絡與專家系統集成的旋轉機械故障診斷模型如圖1所示。
圖1 神經網絡與專家系統集成的診斷系統模型
各部分的主要功能是:
1)編譯器。主要是將符號知識轉換成神經網絡所必須的數據知識。
2)神經網絡。主要完成專家系統的推理工作。其實質是神經網絡的計算,即由已知的征兆向量經過神經網絡計算獲得故障向量。
3)行為解釋。利用網絡中的各項數據(包括征兆輸入數據、故障輸出數據和隱含神經元輸出數據)及輸入神經元,輸出神經元的物理含義并結合知識庫中的連接權值來形成規則,其過程相當于神經網絡訓練的一個逆過程。
4)知識庫管理。存儲和管理知識庫的知識,豐富知識庫,以便系統不斷完善。
5)人機接口。以友好的人機界面同用戶交互。
6) 數據庫。用于存儲在線監測和診斷時所需的實時檢測到的工作數據、推理過程中所需要和產生的各種診斷信息;靜態數據庫用于存儲故障時檢測到的數據或人為檢測到的一些特征數據。
7) 知識獲取。知識獲取過程就是網絡的學習過程,主要有兩種途徑實現,一是直接從數據化的實例中學習,二是從傳統的專家系統已獲取的知識中學習。
2基于神經網絡和專家系統的旋轉機械故障診斷方法
1) 診斷參數的選取
根據故障機理,若某一故障發生,則其特征參數將發生較大變化。因受各種因索影響,盡量不以絕對值作為異常診斷的依據,而要與初始值或正常值進行比較,用其比值作為檢測參數來進行診斷。為此,診斷的監測參數定義為:
(1)
式中: ——相對于 的待檢狀態參數值;
——相對于 的正常狀態參數值。
兩者的比值與—門限值進行比較若大于門限值.故障征兆輸入取為“1”即故障征兆存在,否則取為“0”,即故障征兆不存在。
2)知識庫的建立
它包括知識獲取和知識存儲兩個過程。知識獲取表現為訓練樣本的獲得與選擇,訓練樣本來源于同類型診斷對象在正常運轉時和帶故障運行時的各種特征參數。知識存儲是將由訓練樣本對神經網絡進行訓練獲得的連續權值和閾值進行存儲,從而形成知識庫。
3)神經網絡模塊結構圖
為了進一步提高系統的推理和學習能力,建立了故障診斷神經網絡模型,其結構如圖2所示。神經網絡采用N層結構的BP網絡。抽取出故障若干信息作為網絡的輸入;并從工程實例中選取有代表性的樣本對網絡進行訓練;訓練完畢后即可利用神經網絡進行推理。當出現網絡拒識樣本時,通過專家進行判斷推理,然后將此樣本輸入到訓練樣本集中,使網絡繼續學習,對權值進行調整,直至做出正確推理為止。
圖2故障診斷神經網絡模型
4)知識處理
在旋轉機械故障診斷神經網絡專家系統中,只需將觀測到的故障現象通過編譯器轉化為數值知識,送入神經網絡,然后計算網絡輸出,最后將網絡的數值輸出經反編譯器轉化為符號知識,即得到了故障原因,這種專家系統的知識處理是與神經網絡的結構緊密相關的統一體,不需增加相應的推理機構,將數值知識轉換為符號知識的反編譯器是編譯的逆過程,有與編譯器類似的結構。
4、算例
以某一旋轉機械為例,用MATLAB工具,通過神經網絡與專家系統集成的方法實現故障診斷。
選用旋轉機械常見的不平衡、不對中、油膜渦動等常見的10種故障作為網絡的輸出。取9個頻段的譜峰能量歸一化值,作為輸入[6]。因此,該網絡的輸入神經元應為9個,輸出神經元為10個。
訓練BP網絡。將上述數據作為樣本訓練BP網絡。首先確定BP網絡的結構,BP網絡輸入神經元數為9,輸出神經元數為10,而隱含層數及每層的神經元數目經過MATLAB程序多次仿真實驗,結果表明當采用雙隱含層網絡時,第一隱含層的神經元數為9,第二隱含層神經元數為11,網絡訓練10步時誤差就可下降到0。故選擇的雙隱含層BP神經網絡結構為9-9-11-10為最佳網絡結構。
測試BP網絡。利用訓練好的神經網絡進行故障診斷,故障診斷運行的部分結果見表2。診斷結果表明,對于已經學習過的樣本知識,網絡輸出與期望結果充分相符,表明該網絡能夠正確地實現故障診斷;當輸入數據在一定范圍內偏離樣本知識時,網絡的輸出具有接近樣本的傾向,因而表明了該網絡在故障診斷方面的使用可靠性。
表2故障測試結果
續表2
5、結論
在旋轉機械故障診斷中,將神經網絡和專家系統結合,彌補了旋轉機械故障診斷專家系統存在的不足。實例證明,該方法診斷效率和精度較高,是一種有效的故障診斷途徑。
參考文獻
[1]徐敏.基于神經網絡集成的專家系統模型[J].計算機工程與設計,2006,(4).
篇7
(黑龍江民族職業學院,黑龍江 哈爾濱 150066)
摘 要:盈余預測具有引導投資者投資行為的作用,因此受到投資者的廣泛重視。然而,國內對公司未來盈利進行預測的研究還相當少。提出了以決策樹作為基分類器,采用集成學習方法,利用上市某公司2001至2005年的財務數據對該上市公司在2006年的盈利狀況進行預測研究。首先,采用有放回的隨機抽樣技術分別從訓練樣本和測試樣本中產生50個訓練子集和1個測試集;然后利用決策樹,采用CHAID算法對50個訓練子集分別進行訓練,得到50個基決策樹分類器;通過采用Bagging方法,構建決策樹集成模型。所得到的集成模型在測試集上的分類準確率達到96%以上,通過比較由不同數目的基分類器構成的集成模 型和單個分類器的預測準確率,證明了該集成模型的預測準確率高且穩定。
關鍵詞 :神經網絡;集成學習;盈利預測
中圖分類號:F275文獻標志碼:A文章編號:1000-8772(2014)31-0253-02
收稿日期:2014-10-28
作者簡介:潘道華(1981-),女,漢族,黑龍江哈爾濱人,研究生,主要研究方向:人工智能、數據挖掘與決策支持。
1 引言
公司的財務狀況及其未來盈利情況不但對公司的管理層十分重要,而且對其他投資者也非常重要。如果能夠利用公司以往的財務報表數據和其它一些宏觀經濟數據(如GDP、CPI、利率等)及早準確預測公司未來的盈利狀況的話,那么就可以更有效地對公司進行管理和指導投資者的投資行為。但是,一個公司的財務報表往往只反映了公司在過去的財政年度內的經營狀況,并不反映出公司在下一年中的管理情況。因而,一個公司的財務狀況與其未來盈利之間的關系并沒有那么明顯,它受到很多因素的影響,要構建一個精確的模型反映它們之間的關系是很困難的。針對此情況,本文提出采用決策樹集成方法,構建模型來刻畫公司財務狀況與其未來盈利之間的關系,利用上市公司已有的財務數據,并結合主要的宏觀經濟變量來預測公司未來的盈利狀況,這必將是公司財務處理的一個新發展。
數據挖掘技術越來越多地被用于預測研究。集成學習方法作為數據挖掘技術中一種較新的方法,由于其在提高預測的準確性上的優點,正被越來越多的研究者使用。
盡管許多領域都應用集成學習方法來進行研究,但在對公司未來盈利的預測研究上還很少,在國內尚未見到任何報導。雖然Takashi Washio等人對日本上市公司的未來盈利狀況進行了研究,但是他們只是將盈利狀況分為兩種情況來進行研究。本文通過利用集成學習方法,考慮宏觀經濟對公司盈利可能造成的影響,提出將宏觀經濟變量納入變量體系,同時,為了使結果更有指導意義,將上市公司的每股收益(EPS)指標將公司盈利的情況劃分為三類,即EPS為負,EPS大于均值及EPS介于二者之間,對其進行預測研究。
2 研究方法
2.1神經網絡
人工神經網絡是由大量并行分布式處理單元組成的簡單處理單元[1]。由于神經網絡具有非線性,自學習能力、自適應性強和容錯性高等優點,因而被廣泛用于各種非線性預測問題。
所有神經網絡都有一個輸入層和輸出層,一個網絡結構可以包含一個或多個隱含層。神經網絡的學習是通過調整連接權重和偏差實現的。Cybenko等人證明了如果神經網絡利用一個有界的,連續的,非遞減的激活函數時,只要不對隱含層的神經元數進行限制,一個三層網絡(包含一個隱含層)就能夠學習任意一個在輸入和輸出空間的連續映射[2]。在實際應用中用的最多的是BP神經網絡。
BP神經網絡是一種基于誤差后向傳播算法(BP算法)的多層感知器網絡。BP神經網絡的激活函數一般采用Log-Sigmoid或Tangent Sigmoid等可微函數。BP算法分為兩個階段。第一階段是前向過程,逐層計算各神經元的輸出值,第二階段是誤差后向傳播過程,從后向前逐層傳播輸出層的誤差并據此修正各層權重,直到輸出結果滿足預先設定的精度要求或達到算法設定的最大循環次數。
2.2神經網絡集成
如何根據觀測數據學習得到精確估計是機器學習領域中人們非常關注的一個問題,機器學習的一個重要目標就是對新的測試樣本盡可能給出最精確的估計。構造一個高精度估計是一件相當困難的事情,然而產生多個只比隨機猜測好的粗糙估計卻很容易。傳統的機器學習方法是在一個由各種可能的函數構成的空間中尋找最接近實際分類函數的分類器。常用的單個分類器模型主要有決策樹、人工神經網絡等。
集成學習(ensemble learning)的基本思想是在對新的實例進行分類的時候,把若干個單個分類器集成起來,通過對多個分類器的分類結果按某種方式來進行組合,決定最終的分類,以取得比單個分類器更好的結果。如果把單個分類器比作一個決策者的話,集成學習方法就相當于多個決策者共同進行一項決策。
盡管單個神經網絡在處理非線性問題上表現良好,但是用單個神經網絡來進行預測,一個不足的地方就是結果的穩定性差。因為神經網絡的預測結果受網絡各層之間的初始權重影響很大。為了克服這一不足,本文利用集成學習的思想,采用以BP神經網絡作為基分類器的神經網絡集成方法來對公司未來盈利狀況進行預測。
以神經網絡作為基分類器構建集成模型的方法主要有Bagging和Boosting。本文選擇采用Bagging方法,因為Bagging方法較易于實現,而且不容易產生過擬合現象。對一個已知的有n個數據元素的數據集,Bagging法的原理是[1]:對每次循環(=1,2,…,),采用有放回的隨機抽樣方法從數據集中抽取m個數據形成訓練集(mn),分類器模型從中學習。為了對一個未知的元素X分類,每個都返回一個分類值,將該分類值看成是一票,而最后的集成分類器,通過統計這些投票,將X歸為得票最多的那一類。
3 研究步驟與具體實例分析
3.1樣本選取
本文采用的上市公司數據樣本來自天軟數據庫。在剔除了財務變量有大量缺失值后,樣本共包含從2001年至2006年的深市和滬市A股的1174家上市公司。其中,滬市上市公司734家,深市440家。本文選取了反映上市公司償債能力,成長能力,經營能力,資本結構,盈利能力,現金流,每股指標等方面的29個財務變量作為初始變量。此外,為了研究宏觀經濟環境對公司未來盈利的影響,相應的選擇了2001年至2006年的三個宏觀經濟變量:國內生產總值增長率(GDP),居民消費價格指數增長率(CPI)及一年期金融機構貸款基準利率。這幾個變量都與公司的盈利狀況有著密切的關系。國內生產總值反映了整個國家的經濟狀況,而居民消費價格指數是反映居民購買并用于消費的商品和服務項目價格水平的變動趨勢和變動幅度的相對數,它可以全面反映多種市場價格變動因素及其對居民實際生活的影響程度。一年期金融機構貸款基準利率會影響公司的營運成本,會對公司的利潤產生直接的影響。所有變量見附表。
為了預測未來公司的盈利狀況,本文將數據樣本分為訓練樣本和測試樣本。其中,訓練樣本由2001年至2005年的公司樣本數據用有放回的隨機抽樣方法得到,每個訓練樣本包含1000個觀測,測試樣本是用相同方法得到的上市公司在2006年的數據樣本,包含400個觀測。
3.2指標選擇
對于初始變量表,變量之間存在著相關性。雖然神經網絡對變量間的相關性具有較強的容忍度,但是,變量太多會增加網絡的復雜度,還有可能使網絡過適應,從而使得網絡在測試樣本上的表現很差,而且并不是變量越多,神經網絡的預測精度就越大,所以適當選擇具有代表性的指標變量既可以達到與用所有變量相同的預測精度,又能降低網絡的復雜度,避免使網絡陷入過適應,提高網絡的訓練速度。
然而,運用神經網絡方法,對輸入變量的選取目前并沒有一個公認的方法。為了從眾多的初始變量中選擇具有代表性的變量,本文利用spss Clementine11.1數據挖掘軟件包選項面板中的建模欄中的特征選擇節點來對變量進行篩選。通過構建一個帶有特征選擇節點的流,可以為每一訓練集篩選出重要的變量。利用篩選出來的變量和全部變量分別對訓練樣本進行訓練,得到兩種神經網絡模型,分別對測試樣本進行分類,并分別構建集成模型。
3.3 建立模型
本文是對2001年至2005年上市公司的數據樣本進行訓練得到單個神經網絡模型,用該模型對測試樣本進行預測。如何產生不同的分類模型是影響集成模型準確性的一個重要因素[4]。以下四種方法——不同的初始條件,不同的網絡結構,不同的訓練數據,不同的訓練算法常用來產生分類模型。本文采用不同的訓練數據和不同的網絡結構這兩種方式結合得到基神經網絡。
按照Bagging方法的要求,本文采用有放回隨機抽樣方法,從訓練樣本中隨機抽取了15個子訓練集,并用相同的方法從測試集中抽取了400個樣本數據組成測試集。每個子訓練集含有1000個樣本,它們均由2001至2005年的200個公司樣本組成。利用特征選擇節點在每個訓練集上選出的變量分別在這15個子樣本上進行訓練得到子分類器,然后用這些子分類器對測試樣本進行分類。采用多數投票法對子分類器進行集成,得到集成方法在測試集上的預測結果。
3.4 結果分析
為了比較集成模型與單個神經網絡預測準確率的差異,按照單個神經網絡模型預測準確率按升序進行排序,分別計算了由7個、9個、11個、13個、15個基神經網絡模型構成的集成模型的預測準確率,集成模型,不論是由用全部變量進行訓練得到的基神經網絡構建還是由用篩選出的變量進行訓練得到的構建,都顯示出了很高的準確率,而且得到的預測準確率相當穩定。
4 結論
本文利用神經網絡集成的方法,以上市公司過去的財務數據和宏觀經濟數據為樣本,對上市公司的未來盈利狀況進行預測。研究結果表明,相比于單個神經網絡模型,盡管選用7個預測精度最差的單個神經網絡作為基神經網絡,其集成網絡的預測準確率仍然很高,因而集成方法得到的結果更穩定,更具有說服力。
由于上市公司管理水平的差異,影響公司盈利狀況的因素又多,所以要想較好的刻畫它們對盈利狀況的影響,是一個很有挑戰性的問題。本文的研究結果還表明,采用神經網絡集成方法來研究未來盈利狀況是可行的。進一步的研究可以從以下幾個方面考慮:
(1)變量的選取。為了使預測更為準確,在建模時,需要考慮更多的影響因素。由于公司盈利狀況跟公司的管理水平直接相關,因此,如何合理選取量化一些有關公司治理的指標變量,將它們加入到模型中去,是一個值得深入研究的問題。
(2)產生集成神經網絡的方法。除了Bagging方法,還有其他產生集成神經網絡的方法,比如Boosting方法。不同的方法會得到不同的結果,從而通過比較不同的結果,可以得到一個用來研究此類問題的最好的方法。
參考文獻:
[1] Lars Kar Hansen, Peter Salamon. Neural network ensembles,IEEE transactions on pattern analysis and machine intelligence,vol.12, pp993-1001, 1990.
[2] Li-Chiu Chia,Tseng-Chung Tang. Artificial neural networks in reorganization outcome and investment of distressed firms: The Taiwanese case, Expert Systems with Applications, vol.29,pp641-652, 2005.
[3] Jiawei Han Micheline Kamber, data mining; concepts and tech-niques(second edition)[M].北京:機械工業出版社,2006.
篇8
【關鍵詞】介損值;BP算法;人工神經網絡
1.引言
當前的電容型電氣設備絕緣在線監測與診斷還停留在一個簡單處理數據的層次上,如果能夠結合先進的數學工具進行分析,將有助于提高監測與診斷的應用水平。模糊數學、專家系統、神經網絡、灰關聯分析等理論在電氣設備的絕緣監測與診斷方面已經有了廣泛的應用,并提供較完備的知識與信息,提高了絕緣監測與診斷的準確性。
大量停電試驗和專門試驗的介損值結果統計分析表明,介損值會對溫度的變化較為敏感,環境的濕度對介損值也會有影響。在分析了各種因素影響介損值的基礎上,文獻[6]提出了基于人工神經網絡的電容型電氣設備的絕緣狀況的預測方法。人工神經網絡方法能夠根據大量的故障機理研究以及經驗性的直覺知識歸納出典型樣本,通過對神經網絡內部的競爭達到問題的求解,從本質上模擬專家的直覺。在此基礎上本文提出了基于人工神經網絡的電容型電氣設備的介損值的預測方法,以BP神經網絡作為主要的研究方法。BP網絡的預測結果的準確與否取決于學習樣本的優劣,本文根據實際情況選取了神經網絡的學習樣本并進行了仿真,結果表明該預測方法的誤差滿足工程誤差的要求,基于人工神經網絡的介質損耗值的預測方法是可行的、正確的和有效的。
2.基于BP神經網絡預測方法的確定
人工神經網絡的模型有數十種,可分為三大類:前向網絡、反饋網絡和自適應網絡。但在人工神經網絡的實際應用中,絕大部分的神經網絡模型都采用BP網絡及其變化形式。BP(Back Propagation)網絡是一種多層前饋型神經網絡,其神經元的傳遞函數是S型函數,輸出量為0到1之間的連續量,它可以實現從輸入到輸出的任意非線性映射。BP神經網絡的主要優點:
(1)BP神經網絡具有分布式信息存儲能力;
(2)BP神經網絡的容錯性和大規模并行處理能力;
(3)BP神經網絡具有自學習、自組織和自適應能力;
(4)BP神經網絡是大量神經元的集體行為,表現出一般復雜非線性系統的特性;
(5)BP神經網絡可以處理一些環境信息十分復雜、知識背景不清楚和推理規則不明確的問題。
基于以上優點,本文選用BP神經網絡作為主要研究方法。
3.BP算法基本思想和網絡的基本結構
BP神經網絡是一個多層前饋神經網絡,包括了輸入層、隱層和輸出層。這種網絡在輸入層和輸出層之間至少有一個隱含層,每一個神經元結點都與其后一層的結點相連接,但是沒有后層結點向前層結點的反饋連接。BP網絡具有結構簡單、可靠性強的優點,能夠滿足工業應用的需要,而且有關網絡的機理和算法的研究都很豐富,是眾多網絡中最為成熟,應用最為廣泛的一種,是復雜系統建模的優秀工具。
BP算法的基本思想:當一對學習樣本提供給網絡后,神經元的激活值從輸入層經隱層向輸出層傳播,在輸出層的各神經元獲得網絡的輸入響應。接下來,按照減少目標輸出與實際誤差的方向,從輸出層經過各隱層逐層修正各連接權值,最后回到輸出層,這種算法為“誤差逆傳播算法”。隨著這種誤差逆的傳播修正不斷進行,網絡對輸入模式響應的正確率也不斷升高。
三層前饋網絡中,輸入向量為X=(x1,x2, ……,xi,……,xn)T;隱層輸出向量為Y=(y1,y2,……,yj,……,ym);輸出層輸出向量為O=(o1,o2,……,ok,……,ol)T;期望輸出向量為d=(d1,d2,……,dk,……,dl)T。輸入層到隱層之間的權值矩陣用V表示,V=(v1,v2,……,vj,vm),其中列向量Vj為隱層第j個神經元對應的權向量;隱層到輸出層之間的權值矩陣用W表示,W=(W1,W2,……,Wk,……,Wl),其中列向量Wk為輸出層第k個神經元對應的權向量。如圖3-1所示。
對輸出層,有
Ok=f(netk) k=1,2,…,l (1)
netk= k=1,2,…,l (2)
對于隱層,有
yj=f(netj) j=1,2,…,m (3)
netj= j=1,2,…,m (4)
以上兩式中,轉移函數f(x)均為單極性(或雙極性)sigmoid函數,f(x)具有連續、可導的特點。式(3.1)到式(3.4)共同構成了三層前饋網的數學模型。
圖1 三層BP網絡
三層前饋網絡的BP學習算法權值調整計算公式為:
(5)
(6)
其中:
(7)
對于一般多層前饋網,設共有h個隱層,按前向順序各隱層節點數分別記為m1,m2,…,mh,各隱層輸出分別記為y1,y2,…,yh,各層權值矩陣分別記為W1,W2,…,Wh,Wh+1,則各層權值調整計算公式為:
輸出層:
j=0,1,…,mh;k=1,2,… (8)
第h隱層:
i=0,1,…,mh-1;j=1,2,…,mh (9)
按以上規律逐層類推.則第一隱層權值調整計算公式:
p=0,1,…,n;j=1,2,…,m1 (10)
容易看出,BP學習算法中,各層權值調整公式形式上都是一樣的,均由3個因素決定,即:學習率η、本層輸出的誤差信號δ以及本層輸入信號Y(或X)。
4.基于MATLAB的BP神經網絡的實現
4.1 網絡的輸入層和輸出層設計
大量停電試驗和專門試驗的介損結果統計分析表明,電容型設備的介質損耗值的大小與環境等外界因素之間有著密切的關系。基于此,本文提出了基于環境等外界因素影響分析電容型設備絕緣狀況的BP神經網絡模型,其示意圖如圖2所示。
圖2 神經網絡模型示意圖
為了更好的體現輸入和輸出變量的相應關系,輸入層神經元應盡可能多采集與輸出量相關性大的信息。本文以某一時刻設備的電壓、電流、電容、環境溫度、濕度和介質損耗值所為網絡的輸入參數,所以網絡輸入層的神經元有6個。輸出層只有一個即預測時刻的介質損耗值,則輸出層只有一個神經元。
為了統一量綱和防止因凈輸入的絕對值過大而使神經元輸出飽和,繼而使權值調整進入誤差曲面的平坦區。BP神經網絡的訓練樣本在輸入網絡之前要進行必要的歸一化,也就是通過變換處理將網絡的輸入、輸出數據限制在[0,1]或[-l,1]區間內。歸一化方法有很多種形式,本文采用如下公式來進行樣本數據的歸一化:
令P為網絡的輸入向量,t為網絡的目標向量,p_test、t_test為網絡的測試樣本向量,利用MATLAB歸一化的代碼為:
歸一化后的輸入向量P
for i=1:6
P(i,:)=(p(i,:)-min(p(i,:)))/(max (p(i,:))-min(p(i,:)));
end
歸一化后的輸入向量A
for i=1
T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));
end
測試樣本向量p_test和t-test的歸一化同輸入向量p和目標向量t的歸一化,歸一化后的向量為P_test和T_test。
4.2 隱層神經元數的選擇
在設計多層前饋網時,一般先考慮設一個隱層.當一個隱層的隱節點數很多仍不能改善網絡性能時,才考慮再增加一個隱層。由于本系統是一個比較小型的網絡,且各結點采用S型函數進行處理,故采用單隱層。
隱層的神經元數目選擇是一個非常復雜的問題,往往需要根據設計者的經驗和多次試驗來確定。隱單元的數目與問題的要求、輸入/輸出單元的數目都有直接的聯系。隱單元數目太多和會導致學習的時間過長、誤差不一定最佳,也會導致容錯性差、不能識別以前沒有看到的樣本。選擇最佳隱單元數的參考公式:
(1)
其中,k為樣本數,n1為隱單元數,n為輸入單元數。
(2)
其中,m為輸出神經元數,n為輸入神經元數,a為[1,10]之間的常數。
(3)
其中,n為輸入單元數。
由于單隱層BP網絡的非線性映射能力比較強,本文采用了單隱層的神經網絡,而中間層神經元個數需通過實驗來確定,輸入層神經元個數有6個,中間層神經元的個數選擇3個值,分別為13、15和20,并分別檢查網絡性能。通過實際的迭代訓練,設置多種不同的隱節點情況,用同一樣本集進行訓練,比較迭代訓練實驗的結果,從中確定網絡誤差最小時對應的神經元個數。
MATLAB代碼為:
隱層單元個數向量
a=[13 15 20];
for i=1:3
net=newff(threshold,[a(i),1],{‘tansig’, ‘logsig’},‘traindx’);
net.trainparam.epochs=1000;
net.trainparam.goal=0.01;
init函數用于將網絡初始化
net=init(net);
net=train(net,P,T);
Y(i,:)=sim(net,P_test);
end
figure;
繪制誤差曲線
中間神經元個數為13
polt(1:6,Y(1,:)-T_test);
hold on;
中間神經元個數為15
polt(1:6,Y(2,:)-T_test);
hold on;
中間神經元個數為20
polt(1:6,Y(3,:)-T_test);
hold off;
通過3種情況下的誤差比較發現,中間層神經元個數為13、20時網絡的誤差比較大,當隱層節點數為15時,網絡誤差較小,收斂速度較快能得到最理想的輸出,網絡的預測性能最好。
通過上述分析,可以確定本文設計的神經網絡結構為6-15-1,網絡中間層的神經元傳遞函數,采用S型正切函數tansig,輸出層神經元傳遞函數采用S型對數函數logsig。這是因為函數的輸出位于區間[0,1]中,正好滿足網絡輸出的要求。
圖3 預測誤差對比曲線
本文所要解決的問題是根據環境等外界因素對設備的絕緣狀況進行預測,對網絡的訓練速度和穩定性有較高的要求,因此選擇traingdx函數作為訓練函數,該函數結合了動量梯度下降算法和自適應學習速率梯度下降算法。
該算法的基本過程為:首先計算出網絡的輸出誤差,然后在每次訓練結束之后,利用此時的學習率計算出網絡的權值和閾值,并且計算出網絡此時的輸出誤差。如果此時的輸出誤差與前一時刻的輸出誤差的比值大于預先定義的參數max_perf_inc,那么就減小學習率(通過乘以系數lr_dec來實現),反之,就增加學習率(通過乘以系數lr_inc來實現)。再重新計算網絡的權值和閾值以及輸出誤差,直到前后輸出誤差的比值小于參數max_perf_inc為止。
4.3 網絡學習速率和動量系數的選擇
學習速率大小的選擇,直接影響訓練時間,當學習速率的選擇不當,特別在嚴重時,將導致網絡完全不能訓練,這是因為1986年Rumelhart等人在證明BP訓練算法收斂中,假設了無限小的權重調節速率。實際上這是不可能的,因為這表示需要無限的訓練時間,所以,實際上必須選一個有限的學習速率大小,即η的值取0.01到1。一般來說要根據實驗或經驗來確定,還沒有一個理論指導。若η選得太小,收斂可能很慢:若η選得太大,可能出現麻痹現象。為了避免這種現象,通常會選擇減少η,但又會增加網絡的訓練時間。動量項可以加快BP算法的學習速度,但選項的時候應當注意避免學習時產生振蕩。
因此,本文在確定網絡的學習速率和動量系數的時候,采用不同的值的組合,利用55組訓練數據進行了若干次網絡的迭代訓練。本文根據比較結果確定學習速率為0.1,動量系數為0.7作為網絡訓練時的參數。
5.基于BP神經網絡介損值的預測應用
本文所建立的BP網絡是基于MATLAB中的GUI建立。圖形用戶界面GUI (Graphical User Interfaces)是神經網絡的工具箱提供的人機交互界面,它引導工程人員一步步的建立和訓練網絡,避免了代碼的編寫過程。借助圖形用戶界面GUI,可比直接利用工具箱函數更快捷和方便的完成神經網絡的設計與分析。
利用BP神經網絡理論和經過以上訓練得到的網絡參數,利用Matlab軟件提供的GUI構造出了基于環境等外界因素影響分析設備絕緣狀況的BP神經網絡模型。表1列出了本文研究中建立的BP網絡的各個參數和函數。
網絡所用的訓練數據和測試數據均出自于某110KV變電站主變套管的在線監測的數據],本文采用其中的55組典型數據,其中50組數據用于網絡訓練(訓練次數為1000次,訓練目標為0.01),5組數據用于仿真預測,利用仿真函數獲得網絡的輸出,網絡的預測結果及誤差見表2,可見預測值與實際監測值之間的誤差非常小,能滿足實際要求。
表1 基于BP神經網絡的電容型設備絕緣診斷模型參數
名稱 參數
輸入層節點數 6
隱含層節點數 15
輸出層節點數 1
訓練函數 traingdx
學習函數 learngdm
學習速率 0.1
動量系數 0.7
表2 外界環境相同時介損值的實際值與預測值的對比
序號 電壓 電流 電容 溫度 濕度 實 際
介損值 預 測
介損值 誤差
1 119 7.047 326.479 18 50 0.003906 0.004025 0.000119
2 119 7.057 327.545 17 52 0.000440 0.004386 0.000014
3 118 7.022 328.078 17 55 0.003946 0.004108 0.000162
4 119 7.059 327.035 16 55 0.004471 0.004512 0.000041
5 119 7.069 327.406 17 59 0.003249 0.003178 0.000071
6.結束語
本章通過對BP網絡模型和學習算法的研究,深入分析了BP網絡在函數預測方面的優點,確定了用BP網絡來實現對容性設備介質損耗值的預測,得到的結論如下:
(1)通過對BP網絡結構的研究,將三層前向神經網絡結構進行了改進,適應了本文對介質損耗值的預測要求。
(2)BP網絡的預測結果的準確與否取決于學習樣本的優劣,本文根據實際情況選取了神經網絡的學習樣本并進行了仿真,結果表明該預測方法的誤差滿足工程誤差的要求,及基于人工神經網絡的介質損耗值的預測方法是可行的、正確的和有效的。
(3)數據預測具有一定的精度,但是還存在誤差,需選擇相關大的、較合理的輸入向量,還可以對網絡的結構和算法選擇方面進行改進,選擇更合適的訓練函數使其收斂速度更快,誤差更小。
參考文獻
[1]張寒,文習山,丁輝.用人工神經網絡預測基于泄漏電流、氣象因素的絕緣子等值附鹽密度預測[J].高壓電器,2003,39(6):31-35.
[2]韓力群.人工神經網絡理論、設計及應用[M].北京:化學工業出版社,2002.
[3]閆志忠.BP神經網絡模型的改進及其應用研究[D].長春:吉林大學,2003.
[4]聞新.MATLAB神經網絡仿真與應用[M].北京:科學出版社,2000.
[5]許東,吳崢.基于MATLAB6.X的系統分析與設計-神經網絡(第二版)[M].西安:西安電子科技大學出版社,2002.
[6]叢爽.面向MATLAB工具箱的神經網絡理論與應用[M].合肥:中國科技大學出版社,1998
篇9
【關鍵詞】雙目視覺;神經網絡;攝像機標定
1.引言
雙目測距技術在非接觸式測量,機器人視覺等領域都有廣泛引用。本文研究的是被動式遠距離目標的距離測量系統中系統的標定技術研究,雙目測距系統標定方法研究對計算機視覺技術發展有重要意義。攝像機標定的目的在于確定攝像機的位置,以確定物體在空間坐標系與成像平面之間相應的位置關系。
這些位置關系以及攝像機光學和幾何參數在一些場所并不需要一一解出,而只需要構建二維成像平面上像點坐標與三維空間坐標投影點之間的一種映射關系。而神經網絡有非常強的非線性映射能功能,因此我們可以通過采用神經網絡對攝像機進行標定。
2.基于神經網絡的攝像機的標定方法
2.1 神經網絡、雙目視覺神經網絡攝像機標定
人工神經網絡也稱神經網絡,是一門新興技術,用以處理一些難以用標準數學模型描述的系統,模擬人類大腦的一些機理,實現某些特定功能。它具有很強的自學習及自適應能力,而其中可自由設定隱層節點的多層前饋神經網絡,可以完成任意精度近似任意連續函數[1,2]。
由于網絡由相連的非線性單元組成,因此就具有了學習非線性過程的能力。與攝像機標定工作機制相似,神經網絡可以從一些已知數據通過計算得到未知參數。而神經網絡標定的畸變模型有任意性,可以避免傳統標定方法非線性標定可能無解、標定精度低等多種問題。本文通過運用神經網絡學維平面圖像像點與三維空間物點坐標之間的關系,提出了改進神經網絡雙目攝像機的標定方法。
本文雙目視覺神經網絡攝像機標定具有的優點是不用假設初始值,也不用建立精確的標定模型,只要輸入三維空間中物體在兩個圖像上的像點坐標,神經網絡便可輸出物體在的三維空間的世界坐標。進行多次的神經網絡學習、訓練,最后可得到相對理想的輸入、輸出非線性映射關系。
2.2 改進的RBF神經網絡
徑向基函數(Radial Basis Function, RBF)神經網絡是一種三層前向神經網絡,它結構簡單,訓練簡潔,學習收斂速度快,能夠以任意精度逼近任意連續函數,廣泛應用于眾多領域[3,4]。RBF網絡模擬了人腦中局部調整、相互覆蓋接收域的神經網絡結構,是一種局部逼近網絡。并且RBF神經網絡在逼近能力、分類能力及學習速度等多方面都優于BP神經網絡,
遺傳算法是模擬生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬生物在自然進化過程中形成的一種自適應全局優化搜索最優解的方法[5]。
本文提出了一種基于改進的RBF神經網絡的攝像機標定方法,引入了遺傳算法,優化了徑向基函數網絡的學習算法。
2.2.1 RBF網絡的結構
RBF網絡是一種三層前向網絡,三層分別是輸入層,隱藏層和輸出層。輸入層由信號源節點組成;輸出層是對輸入作出響應;隱藏層中節點數由需要而定,其中的徑向基函數是局部響應函數。
從輸入空間到隱含層空間的變換是非線性的,而從隱含層空間到輸出層空間是線性的。RBF網絡是局部逼近網絡,三層組成(m個輸入、h個隱節點、n個輸出),常用的徑向基函數是高斯函數,因此徑向基神經網絡的激活函數可表示為:
(1)
式中:是歐式范數;X是輸入樣本,;是高斯函數的中心,也是網絡隱含層節點的中心;為高斯函數的方差;i是隱含層節點數。
RBF網絡的結構輸出為:
(2)
式中:wij是隱含層到輸出層的連接權值;yj是第j個輸出節點的實際輸出。
假設d是樣本的期望輸出值,則基函數的方差為:
(3)
式中:P是樣本總數。
RBF網絡學習方法求解需要的參數:基函數的中心、方差以及隱含層到輸出層的權值。RBF網絡的輸出是隱單元輸出的線性加權和。本文采用的是自組織選取中心法。
2.2.2 優化的RBF神經網絡
本文加入遺傳算法用以優化已有的神經網絡,用全局搜索找到最優網絡結構,確定較理想非線性映射關系,進而達到雙目視覺的標定。采用實數編碼、最佳保留(elitist model)選擇機制,交叉概率采用自適應方式,再對數據做歸一化處理。
2.3 整體算法步驟
用遺傳算法對神經網路的參數進行優化,得到權值與偏差值范圍。再用RBF網絡在局部搜索得出最優網絡結構標定系統。
1)將多組對應的雙目視覺系統圖像像點坐標作為輸入的訓練樣本,組成群體;
2)采用梯度下降法學習樣本網絡個體基函數的中心、方差;
3)采用最小二乘法學習隱含層到輸出層的線性權值;
4)采用遺傳算法優化隱含層中節點數;
5)通過循環交替學習、訓練,得到相對理想的RBF網絡標定系統。
3.實驗說明
分別采用線性標定、標準BP網絡、和改進的RBF網絡做雙目視覺標定,后兩種做非線性函數逼近,對測試結果進行比較。得出結果:較其他兩種,改進的RBF網絡測試誤差最小。
表1 測試結果比較
隱節點數 訓練誤差 測試誤差
線性標定 * * 0.2945
標準BP 26 0.0935 0.0356
改進RBF 13 0.0576 0.0123
4.結論
在不考慮鏡像畸變及環境等因素的形象下,將基于改進的RBF神經網絡應用于雙目視覺攝像機標定方法中,提高了測量精度,減少了因傳統標定方法建立的模型不完善而帶來的誤差,為雙目視覺測量應用于精密測量提供了一種新的有效方法。標定后的測量系統在雙目視覺空間具有很高的測量精度。
參考文獻
[1]閻平凡,張長水.人工神經網絡與模擬進化計算[M].清華大學出版社,2000:410-420.
[2]錢光耀,楊入超,趙光興.基于人工神經網絡的壓力傳感器三維數據融合[J].傳感器與微系統,2007,26(2):79-81.
[3]Liu Hongmei,Ouyang Pingechao,Wang Shaoping.Fault detection based on RBF neural network in a hydraulic position servo system[A].The 6th World Congress on Control and Automation[C].Dalian, China,2006:5708-5712.
[4]楊耀華,李昕,江芳澤.基于OLS算法的RBF神經網絡高速公路事件探測[J].系統仿真學報,2003,15(5):709-712.
篇10
關鍵詞:灰色神經網絡;商品銷售;算法;銷售預測
中圖分類號:F71文獻標識碼:A文章編號:1009-3044(2009)27-7743-02
市場銷售是根據根據市場過去和現在的信息,運用一定的數學方法,對產品的需求進行評估推測,市場預測可以減少企業風險,為企業決策提供依據。做為市場預測組成部分的需求預測,是直接影響企業生產企業,投資取向,庫存保有量的重要依據,精確的需求預測可以減少庫存,降低訂單流失率,更有效的配置資源。對于商品銷售預測來說,有很多種方法,本文采用灰色神經網絡來預測商品銷量。
1 灰色系統和神經網絡概述
1.1 灰色系統
灰色系統理論是一種研究少數據、貧信息、不確定性問題的新方法,它以“部分信息已知,部分信息未知”的“小樣本”,“貧信息”不確定系統為研究對象,通過對“部分”已知信息的生成、開發、提取有價值的信息,實現對系統運行行為、演化規律的正確描述和有效監控。它是我國學者鄧聚龍教授在1982年首先提出的,經過20年的發展,灰色系統已基本建立起一門新興學科的結構體系,其主要內容包括以灰色朦朧集為基礎的理論體系,以灰色關聯空間為依托的分析體系,以灰色序列生成為基礎的方法體系,以灰色模型為核心的模型體系和以系統分析、評估、建模、預測、決策、控制、優化為主體的技術體系。
灰色系統中建立的模型稱為灰色模型(GreyModel)簡稱GM模型,是以原始數據序列為基礎做某種生成后建立的微分方程。建模中最有代表性的是針對時間序列的GM建模,它直接將時間序列數據轉化為微分方程,利用系統信息,使抽象的模型量化,量化的概念模型化,最后進行模型優化,從而使所建的GM模型在尋求不到系統的概率特性或隸屬特性的情況下顯示其優越性。
1.2 神經網絡
人工神經網絡理論(ArtificialNeuralNetworks)是智能算法理論的一種,由于其具有大規模并行處理、分布式信息存儲,容錯性,自組織性和自適應性等特點,目前已經得到了國內外學者的廣泛關注。目前,人工神經網絡已成功應用在函數擬合、數據預測、模式識別、優化控制等很多工程領域,并在一些傳統方法難以解決的問題上取得了滿意的結果。
人工神經是由一些稱為神經元的基本部件按一定規則組合形成的,它由神經元,神經元間連接方式和訓練規則三個因素組成。其中最主要的部分是神經元,它由由輸入,非線性變換和輸出三部分構成,是一個基本計算單元,計算過程為,輸入經過權值連接到內部后求和,和值首先與一個閥值做比較,然后經過非線性變化,得到輸出。神經元的非線性變換有多種形式,比較常用的有Sigmoid函數,限幅函數等。神經元間不同的連接方式構成了不同類型的神經網絡,比如信號由一層單向傳播到另一層的前饋型神經網絡,信號在層與層之間傳播的反饋型神經網絡等。目前,比較典型的神經網絡包括BP網絡,RBF網絡、小波網絡等。
2 基于灰色神經網絡的銷量建模
2.1 網絡建模
對于銷量預測的問題來說,灰色模型GNNM(1,N)的微分表達式為:
其中, y1是商品的銷售量,y2-yn是影響銷售量的因子。
求解微分方程(1)可得如下的離散響應方程:
令 ,則式2變為:
y1的閥值設為: 。
BP網絡LB層神經元的激活函數取為Sigmoid函數:
將式(3)變型后映射到BP網絡中,得到如下的映射銷量問題的灰色神經網絡模型,如圖1所示。
2.2 學習算法
該模型中各個參數根據網絡輸出和實際輸出的誤差進行調整,從而是網絡輸出不斷逼近實際輸出,學習算法如下:
Step 1.根據系統數據列特征,選取兩個較小的值做為 a,b1,b2,…,bn-1
Step 2.根據網絡權值定義計算ω11,ω21,ω22, …,ω2n,ω31,ω32,…,ω3n
Step 3.對每一個輸入序列(t,y(t)),(t=1,2,3,…,N)進行如下操作:
t輸入LA層節點,對LB、LC、LD層的節點進行如下計算:
計算每層輸出
計算網絡輸出與期望輸出的誤差
調整隔層權值:
調整LB到LC的連接權值:
調整LA到LB的連接權值:
調整閥值:
Step 4重復步驟3,直至滿足結束條件為止。
2.3 總體設計
采用灰色神經網絡進行銷量預測,總的步驟分為灰色神經網絡構建,灰色神經網絡訓練和灰色神經網絡預測三步,其中灰色神經網絡構建是根據輸入輸出變量構建灰色神經網絡,灰色神經網絡訓練是對網絡進行訓練,灰色神經網絡預測是對訓練好的網絡對數據進行預測,其灰色神經網絡預測系統總體框圖如圖2所示。
3 基于灰色神經網絡的銷量預測
采用灰色神經來對某型冰箱的銷售的做預測,分析得出影響該型冰箱的市場需求的因素為以下幾個指標,1)競爭對手;2)市場特征;3)成本;4)廣告力度;5)品牌認可;6)售后服務;7)價格性價比。輸出數據為銷售量,用模糊神經網絡進行訓練預測,設置輸入節點數為8,輸出節點數為1,即為預測銷售量,網絡共迭代100次,得到的預測值和實際值的結果如圖3所示。
從圖3中可以看到,灰色神經網絡預測的銷量值和實際值非常接近,說明了灰色神經網絡預測的有效性。