前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的經典神經網絡算法主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞: 模擬電路; 特征選擇; 故障診斷; 神經網絡; 粒子群算法
中圖分類號: TN710.4?34; TP183 文獻標識碼: A 文章編號: 1004?373X(2016)19?0140?04
Abstract: The analog circuit is influenced by its characteristics and external environment, and its fault is non?linear and time?varying. The available fault diagnosis models of analog circuit are difficult to solve the match problem of features and classifier parameters, an analog circuit fault diagnosis model based on particle swarm algorithm optimizing feature and neural network is presented. The current situations of analog circuit fault diagnosis are analyzed, and their shortcomings are pointed out. The features of analog circuit fault diagnosis are extracted. The neural network is used as the classifier of analog circuit fault diagnosis. The analog circuit fault features and neural network parameters are optimized with particle swarm optimization, and simula?ted with Matlab 2012. The results show that the performance of the proposed model is superior to that of other reference models, and has wide application prospects.
Keywords: analog circuit; feature selection; fault diagnosis; neural network; particle swarm optimization
0 引 言
當前電網系統規模不斷增大,各種電路越來越復雜,電路出現故障的概率急劇上升,相對于數字電路,模擬電路工作環境更加復雜,再加上自身特性,模擬電路故障診斷具有更加重要的實際應用價值,一直是電網系統研究中的重點[1]。
國內外學者對模擬電路故障診斷進行了相應的探索和研究,提出了許多有效的模擬電路故障診斷模型[2]。當前模擬電路故障方法主要分為傳統模型和現代模型兩類方法,傳統模型主要有專家系統與灰色理論等[3?4],屬于線性的模擬電路故障診斷模型,對小規模模擬電路故障診斷效果好,但對于大規模的模擬電路,建模效率低,同時由于模擬電路工作狀態與特征間是一種復雜的非線性關系,傳統模型無法描述其變化特點,故障診斷正確率急劇下降,難以滿足模擬電路故障診斷的實際應用要求[5]。現代模型基于非線性理論進行模擬電路故障診斷建模,主要有神經網絡與支持向量機等[6?7],現代模型通過自適應學習擬合電路工作狀態與特征間的非線性關系,成為當前模擬電路故障診斷的主要研究方向,其中支持向量機的訓練過程相當耗時,很難滿足模擬電路的故障診斷要求,應用范圍受到一定的限制[8]。神經網絡的學習速度要快于支持向量機,且模擬電路故障診斷結果不錯,尤其是BP神經網絡進行故障診斷時,速度較快,應用最為廣泛[9]。BP神經網絡的模擬電路故障診斷結果與參數相關,如參數選擇不當,則會導致模擬電路故障診斷性能下降[10]。模擬電路的狀態特征同時亦與診斷結果密切相關,然而當前模擬電路故障診斷模型將神經網絡參數與特征選擇問題分開考慮,完全割裂了兩者之間的關系,無法構建高準確率的模擬電路故障診斷模型[11]。
針對當前模擬電路故障診斷中的特征和神經網絡參數不匹配的問題,提出一種粒子群算法選擇特征和神經網絡的模擬電路故障診斷模型(PSO?BPNN)。在Matlab 2012平臺進行了仿真實驗。結果表明,本文提出模型的模擬電路故障診斷性能要遠遠優于其他參比模型。
1 相關理論
1.1 模擬電路工作狀態的特征提取
Step3:更新慣性權重,調整粒子的飛行速度和位置,產生新的粒子群。
Step4:若達到了結束條件,就可以得到模擬電路故障診斷的最優特征子集和最合理的BP神經網絡參數。
Step5:建立模擬電路故障診斷模型,并對待檢測的模擬電路故障進行檢測,根據檢測結果采取相應的措施。
3 結果與分析
為了分析PSO?BPNN的模擬電路故障診斷性能,采用圖2的模擬電路進行仿真實驗,在Matlab 2012平臺下進行編程實現PSO?BPNN,模擬電路故障診斷參比模型為:
(1) 原始模擬電路故障診斷特征,BP神經網絡參數隨機確定的模擬電路故障診斷模型(BPNN1);
(2) 原始模擬電路故障診斷特征,粒子群算法優化BP神經網絡參數的模擬電路故障診斷模型(BPNN2);
(3) 粒子群算法選擇模擬電路故障診斷特征,然后隨機確定BP神經網絡參數的模擬電路故障診斷模型(BPNN3)。
共收集100個模擬電路故障診斷的訓練樣本,50個模擬電路故障診斷測試樣本,采用PSO?BPNN對訓練樣本進行學習,所有模型都運行100次,然后統計測試樣本的實驗結果,其平均診斷率和誤診率如圖3,圖4所示,對圖3,圖4的模擬電路故障診斷結果進行對比和分析,可以得到如下結論:
(1) 與BPNN1的實驗結果相比較可以發現,BPNN2獲得了更優的模擬電路故障診斷結果,因為BPNN2采用粒子群算法優化了BP神經網絡參數,使得模擬電路故障診斷率更高,這表明BP神經網絡參數會影響模擬電路故障診斷的結果。
(2) BPNN3的模擬電路故障診斷也要優于BPNN1,這是由于粒子群算法對模擬電路故障特征進行了選擇和優化,得到了對電路故障診斷結果有重要作用的特征子集。
(3) 在所有模擬電路故障診斷模型中,PSO?BPNN的模擬電路故障診斷率最高,誤診率得到了降低,這是由于BPNN2和BPNN3只從一個方面對特征或者BP神經網絡參數進行了優化,沒有同時對它們進行優化,因此不可能建立性能優異的模擬電路故障診斷模型,而PSO?BPNN同時從特征和BP神經網絡參數兩個方面進行優化,因而能夠獲得更加理想的模擬電路故障診斷結果。
4 結 語
傳統模擬電路故障診斷模型僅對特征或者BP神經網絡參數進行優化,易出現特征和分類器參數不匹配的問題,為此提出基于PSO?BPNN的模擬電路故障診斷模型,首先根據Volterra級數提取模擬電路工作狀態的特征,然后采用BP神經網絡作為模擬電路故障分類器,并利用粒子群算法優化特征和BP神經網絡參數,最后進行仿真實驗,仿真結果表明,PSO?BPNN解決了當前模擬電路故障診斷模型存在的局限性,獲得了更高的模擬電路故障診斷率,在模擬電路故障診斷中具有廣泛的應用前景。
參考文獻
[1] 朱大奇.電子設備故障診斷原理與實踐[M].北京:電子工業出版社,2008.
[2] 陳圣儉,洪炳熔,王月芳,等.可診斷容差模擬電路軟故障的新故障字典法[J].電子學報,2006,4(2):129?136.
[3] 金瑜,陳光福,劉紅.基于小波神經網絡的模擬電路故障診斷[J].儀器儀表學報,2007,28(9):1600?1604.
[4] 劉本德,胡昌華,蔡艷寧.基于聚類和SVM多分類的容差模擬電路故障診斷[J].系統仿真學報,2009,21(20):6479?6482.
[5] 黃潔,何怡剛.模擬電路故障診斷的發展現狀與展望[J].微電子學,2004,34(1):21?25.
[6] 彭敏放,何怡剛,王耀南.模擬電路的融合智能故障診斷[J].中國電機工程學報,2006,26(3):19?24.
[7] 張超杰,賀國,梁述海.小波變換與主元分析相結合的模擬電路檢測方法[J].哈爾濱工程大學學報,2010,31(5):570?575.
[8] 劉美容,何怡剛,方葛豐,等.遺傳小波神經網絡在模擬電路故障診斷中的應用[J].湖南大學學報,2009,36(3):40?44.
[9] 申宇皓,孟晨,張磊,等.基于同步優化的支持向量機模擬電路故障診斷方法研究[J].太原理工大學學報,2010,41(4):420?424.
[10] 胡清,王榮杰,詹宜巨.基于支持向量機的電力電子電路故障診斷技術[J].中國電機工程學報,2008,28(12):107?111.
[11] 王承,葉韻,梁海浪,等.基于多頻測試和神經網絡的模擬電路故障診斷[J].計算機工程與應用,2013,49(5):1?3.
關鍵詞:聚類;k-means;算法;實驗
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)32-1176-02
Study on the Initial Centrists of K-means Algorithm
MOU Ying1, QUAN Tai-feng2
(1.College of Physics and Information Technology, Chongqing Normal University, Chongqing 400047,China;2.Chongqing Communication Institute, Chongqing 400035, China)
Abstract: In order to conquer the problem that k-means algorithm depends on initial cluster centrists, so this paper discusses use competition neural network and the mind of density to improve the classic k-means algorithm. The two methods are able to improve the random choice of the initial centrists in the classic k-means algorithm. Experimental results show that the two algorithms are effective.
Key words: clustering; K-means; algorithm; experiment
1 引言
聚類是將數據對象分組成為多個類或簇,在同一個簇中對象之間具有較高的相似度,而不同簇中的對象之間差別較大[1]。在聚類算法中,K-means算法是其中一種最常用最知名的劃分方法[2],它根據事先確定的K值,把樣本分為K類,使所有樣本到聚類中心的距離平方和最小。現在K-means算法已經應用到各種領域,包括圖像和語音數據壓縮,用徑向基函數網絡進行系統建模的數據處理等[3],但經典K-means算法在運行初期隨機產生聚類初始點;如果初始聚類點離數據本身中心較近,則算法運行效率較高否則反之。
本文將競爭神經網絡和經典K-means算法相結合,提出一種基于競爭神經網絡的K-means算法。另外還采用基于密度的思想進行尋找初始聚類中心,從而改變經典K-means算法對初始聚類中心的隨機選擇。實驗結果表明,這兩種方法有效的克服了K-means對初始聚類中心的依賴性。
2 經典K-means算法
經典K-means算法的基本思想是:給定一個包含n個數據對象的數據庫,以及要生成的簇的數目k,隨機選取k個對象作為初始的聚類中心,然后計算剩余各個樣本到每一個聚類中心的距離,把該樣本歸到離它最近的那個聚類中心所在的類,直到調整結束且聚類平均誤差準則函數E已經收斂。
K-means算法的具體描述如下:
1)任選k個對象特征矢量作為初始聚類中心:z1(0),z2(0)…zk(0),令t=0
2)將待分類的對象特征矢量集{xi}中的對象逐個按最小距離原則分配給k類中的某一類,即
如果
i=1,2,…N(1)
則判xi∈wi(t+1)。
其中dij(t)表示xi和wj(t)的中心zj(t)的距離,上角標表示迭代次數。于是產生新的聚類wj(t+1)(j=1,2,…,k)。
3)計算重新分類后的各類心
式中nj(t+1)為wj(t+1)類中所含對象的個數。
因為這一步采取平均的方法計算調整后各類的中心,且定為k類,故稱K-均值法。
4)如果Zj(t+1)=Zj(t)(j=1,2,…,k),則結束;否則,t=t+1,轉至(2)
經典K-means算法的計算復雜度為O(nkt),其中,n為對象個數,k為聚類個數,t為循環次數。由于它要求用戶輸入希望產生聚類的數目,而實際中的k值也很難被精確的確定,往往表現為一個模糊的取值區間[4]。并且在經典K-means算法中,首先需要根據初始聚類中心來確定一個初始劃分,然后對初始劃分進行優化。這個初始聚類中心的選擇對聚類結果有較大的影響,一旦初始值選擇得不好,可能無法得到有效的聚類結果,所以這個算法的聚類結果對初值的依賴是很強的,這也成為K-means算法的一個主要問題。然而其方法簡單,結果尚令人滿意,故應用較多。
3 兩種改進算法介紹
3.1 基于競爭神經網絡的K-means算法
競爭神經網絡是基于生物神經系統中的“側抑制”現象形成的。競爭神經網絡的顯著特點是它的輸出神經元相互競爭以確定勝者,勝者指出哪一種原型模式最能代表輸入模式。競爭神經網絡是一種“自發”分類器,一種基于感知機的無監督的神經網絡[5]。因此利用競爭神經網絡來對經典K-means算法的初始聚類點進行改進,使改進后的K-means算法的初始聚類中心穩定的靠近于數據本身的類中心,從而減少經典K-means的循環次數。
考慮到競爭神經網絡的建網速度,在訓練競爭神經網絡的時候,將原始數據按照10%進行采樣,用采樣后的數據建立競爭神經網絡。按照競爭神經網絡的聚類結果,將簇中數據的均值作為初始聚類中心輸入經典的K-means算法,從而起到優化初始聚類中心的作用。具體的采樣方法是,以α為半徑畫圓,在這個圓內隨機選取數據點的10%作為采樣數據,α越小,其采樣頻率越高,采樣到的數據越多;α越大,其采樣頻率越低,采樣到的數據越少。當α取一個較適中的值的時候,采樣到的數據可以反映原始數據的分布,也能夠有效的減少數據量。
圖1為基于競爭神經網絡的K-means算法的流程圖。
算法描述如下:
1)從文件中讀出數據。
2)利用最小-最大規范化操作將數據的每個屬性映射到 空間。
3)采用歐式距離,計算各個數據之間的相異度矩陣。
4)計算Davg=AVG(Dij),α=Davg/2即α取數據平均相異度的一半。以α為半徑,按10%的采樣頻率進行數據采樣。
5)將采樣后的數據輸入競爭神經網絡進行初始聚類。
6)將初始聚類產生的各個簇的對象的均值作為經典K-means算法的初始聚類中心。
7)運行經典K-means算法。
3.2 一種基于密度的K-means算法
由于經典的K-means算法對聚類個數和初始聚類中心存在依賴性的問題,所以其結果可能是局部最優的。如果隨機選擇的聚類初始點靠近于數據本身的中心,則算法運行的循環次數少,而且數據分類也比較合乎實際;當隨機選擇的初始聚類點不是很好的時候,算法運行的循環次數會增加,而數據分類也在一定程度上趨向于局部最優。這個改進思路就想利用數據的分布,尋找能夠代表不同簇的數據,并利用他們周圍的數據來對這些數據進行修正,試圖尋找比較靠近于數據本身中心的初始聚類點。具體來說,首先尋找相距最遠的兩個點A和B,認為他們代表數據的兩個簇。然后選取一個點C,使AC和BC的距離都大于某一個值,如此重復,直到找到k個代表點。接著在每個代表點附近尋找α?n/k個點,其中α表示采樣頻率,n表示數據個數,k表示簇數目。這些點和該代表點屬于同一簇,然后對這些認為屬于各簇的數據求平均,將得到的k個初始聚類點輸入經典K-means算法。圖2為一種基于密度的K-means算法的流程圖。
算法描述如下:
1)從文件中讀出數據。
2)輸入k,表示數據需要聚成幾類。
3)利用最小-最大規范化操作將數據的每個屬性映射到[0,1]空間。
4)采用歐式距離,計算各個數據之間的相異度矩陣。
5)尋找兩個相距最遠的點,設為A和B,將它們作為簇中心,置h=2。
6)如果k>h,尋找一個點C,使C到已有簇中心的聚類大于ymax-β,其中ymax=(Davg+MAX(Dij))/2,Davg=AVG(Dij) (0
7)在這k個點的周圍,尋找與其最近的α?n/k個點,其中α=0.1。
8)將這些認為屬于某個簇的點做平均,將他們的均值作為經典K-means算法的初始聚類中心。
9)運行經典K-means算法。
4 實驗
4.1 測試數據
本文的算法均使用matlab進行仿真實驗,并與經典K-means算法進行比較。為了便于更加直觀的觀察聚類結果,采用了主元分析(PCA)進行降維處理,將數據投影到3維空間上進行顯示。實驗測試數據采用來自UCI測試庫的專門用于測試分類、聚類算法的Iris數據庫,以及一組客觀的個人信用數據。表1列出了各測試數據集的記錄數、屬性數和類別數。
4.2 實驗結果對比
首先實驗同時使用兩種改進算法和K-means算法對Iris數據進行聚類,表2是三種算法的實驗結果對比,其中可以看出,兩種改進方法的循環次數遠遠小于經典K-means算法。
然后實驗同時使用兩種改進算法和K-means算法對Credit數據進行聚類,表3是三種算法的實驗結果對比,其中可以看出兩種改進方法的循環次數小于經典K-means算法。
4.3 實驗結果分析
通過實驗結果對比可以看出:經典的K-means算法與聚類數目和初始聚類中心的選擇有很大關系,多次運行算法,從不同的初始聚類中心出發會得到不同的聚類結果和準確性,具有一定的主觀性和隨機性,算法穩定性不好。基于競爭神經網絡的K-means算法在運行經典的K-means算法之前用競爭神網做了一個預處理,而基于密度的K-means算法在運行經典的K-means算法之前做了一個預處理。這兩種算法都改變了初始聚類中心的隨機選擇,使輸入經典K-means算法的初始聚類中心離數據本身的類中心較近,改變其對聚類初始中心的依賴問題;而在競爭神網建立網絡的時候,利用采樣數據進行訓練,有效降低了數據量,減少了競爭神網的建立速度;并且多次運行算法,結果較穩定。從實驗結果也可以看出,它在兩組測試數據上運行得較好。
5 結論
本文針對經典K-means算法的主要不足,采用優化聚類中心的方法提出了基于競爭神經網絡的K-means算法和基于密度的K-means算法,從而使K-means算法能夠自適應的確定聚類中心,避免初始聚類中心的隨機性,在一定程度上彌補了經典算法的不足。
從實驗的結果來看,采用隨機選取初始聚類點的方法,初始聚類中心靠近數據本身的類中心時近時遠,非常不穩定,用于實際的數據聚類,效果不太好。而采用了一系列的改進算法后,其初始聚類點離數據本身類中心較近,并且較穩定,用于實際的數據聚類,效果較好。
參考文獻:
[1] HAN Jia-wei, Kamber M.數據挖掘:概念與技術[M].范明,孟小峰,譯.北京:機械工業出版社,2001:223-230.
[2] Belouchrani A,Abed-meraim K,Cardoso J F,et al.A Bjind Source Separation Technique Using Second-order Statistics[J].IEEE Trans.Signal Processing,1997,45(2):434-444.
[3] Charalampidis D,Kasparis T.Wavelet-Based Rotational Invariant Roughness Features for Texture Classification and Segmentation[J].IEEE Transactions on Image Processing,2002,11(8):825-837.
[關鍵詞]無線傳感器,路由,BP神經網絡
中圖分類號:TN929.5 文獻標識碼:A 文章編號:1009-914X(2015)41-0243-01
1.概述
近年來,微電子機械系統、無線通訊和數字化電子領域快速發展,使得開發出用于短距離通信的低能耗、低成本、多功能傳感器節點成為可能。這些節點能感知環境,數據處理和通訊[1]。基于傳感器節點協作的傳感器網絡提升了應用領域與能量,傳感器網絡是傳統傳感器研究的重大改進。
傳感器網絡有廣泛的應用領域,可以用于監控和收集分布式區域中的各種目標和信息。圖1展示了一個經典的WSNs,該領域主要是設計一個有效的路由算法,增進通訊連通能力,目標是減少能量消耗、延長傳感器網絡的生命周期。與能量消耗相關的論文研究成功近年來不斷涌現。
2.無線傳感器路由問題建模
一個大的傳感器網絡由很多簇組成。傳感器節點并不直接發送數據,而是在一個簇中由一個中心節點(Sink)完成數據收集工作。但是,由于發射信號限制,一個傳感器節點只能和它發射半徑之內的其它節點相連,本文的內容就是針對一個簇之內的信息收集工作展開的。
S是所有傳感器節點的集合,E是一個節點的連接集合。是簇中的一個節點,代表著在節點u和v之間傳輸 1k的數據需要消耗的能量,本文使用如下無線通訊模型:接收1KB的數據包消耗傳感器節點 1k的電能,發送放大器的能量消耗與距離相關,節點(u, v)之間用C(u, v)代表[2]。信息收集路徑從sink節點開始,完成信息收集之后返回到同一節點,代表著一個完整的路徑,so是sink節點。路由的能量消耗按如下公式定義:
D 代表傳輸數據的大小,是一個動態值。
3.基于BP神經網絡的數據融合模型
反向傳播網絡(BP網絡)是前向神經網絡中最重要的一種,該網絡的監督學習算法采用誤差反向傳播算法。該算法[3]的學習過程主要有兩個:信號的正向傳播與誤差的反向傳播。主要是通過修正各層神經元的權值,使得總的誤差信號最小。近幾年,,研究人員開展了很多基于神經網絡的無線傳感器網絡數據融合方面的研究工作。實驗結果表明,把BP神經網絡應用傳感器數據融合中,可以大大降低傳送數據的特征維數,提高無線網絡的數據融合效率。
3.1 BP神經網絡
BP網絡是利用BP算法的前向型神經網絡,其是在多層感知器的基礎上增加了反向傳播信號,可以較好地處理非線性的數據信息,具有較好的泛化能力,廣泛地應用在系統模型辨識、預測或控制。
BP神經網絡中的神經元模型中的激發函數通常選用非線性的Sigmoid函數:
只有當系統特性在正負區間變化時,激發函數選擇對稱的Sigmoid函數,又稱為雙曲函數:
BP神經網絡的網絡結構由輸入層、輸出層和隱層組成,其中隱層可以有多層,不過最常用還是單隱層的三層BP網絡。
3.2 BP神經網絡權值調整規則
BP網絡的學習過程是就將誤差反向傳播并修正網絡權值直到網絡的總誤差最小。定義BP神經網絡的輸入輸出模型對應的系統誤差函數為:
利用梯度最速下降法解析如何調整連接權值使誤差函數E最小。
BP神經網絡訓練過程[4]:當確定網絡結構后,始對BP神經網絡進行訓練。BP神經網絡的學習是由信號的正向傳播與誤差的反向傳播兩個過程組成的,在正向傳播時,輸入樣本信號從輸入層進入網絡,通過隱層處理最后傳送給輸出層,如果輸出結果與期望值不符,則把誤差進行反向傳播,根據上面的權值調整系數調整權值的變化,直到網絡輸出層的輸出結果滿足要求為止。
4.基于BP神經網絡的 路由仿真實驗
無線傳感器網絡與神經網絡在有些地方很類似,比如無線傳感器網絡中的傳感器節點具有感知數據處理信息的能力,相當于神經網絡中的神經元;無線傳感器網絡節點之間通過一定的規則傳遞信息,則相當于連接神經元的突觸。神經網絡算法與無線傳感器網絡中應用的數據融合技術有相同的功能,即通過一定的規則對大量的數據進行運算處理,從而得到反映這些數據特征的結果。因此,可以把神經網絡算法應用到無線傳感器網絡中實現數據的融合。
實驗中,設置傳感器節點數目為 100,200,300,400 和 500。傳感器網絡環境是一個 200m*200m 的空間[5-6]。令傳輸數據的大小為 1KB,發射半徑分別為 20m 和 30m。實驗結果是 50 次運行的平均值。圖2 和圖 3現實了算法在不同數據集上最有解的變化趨勢,從中可以看出能量的逐步變化,并且,圖 3 的能量消耗更小,因為發射半徑較大。
5.結論
本文利用BP神經網絡模型解決無線傳感器網絡路由問題,實驗中,采用了不同規模的網絡實驗數據,并同該領域其它經典算法進行比較,驗證了本文所提方法在該領域的有效性。下一步的可針對模型在大規模數據集上表現沒有中小規模優秀的問題方面展開。
參考文獻
[1]張重毅,適用于無線傳感器網絡的移動路由算法[D]. 吉林: 吉林大學計算機科學與技術學院, 2007.
[2] 李鳳保,李凌.無線傳感器網絡技術綜述[J]. 儀器儀表學報, 2005,26(3):559-561.
[3] Shih E, Cho S, Ickes N, Min R, Sinha A, Wang A, Chandrakasan A. Physical layer driven protocol and algorithm design forenergy-efficient wireless sensor networks[C]. Proceedings of the ACM MobiCom 2001, Rome: ACM Press, 2001, 272-286.
[4] 唐勇,周明天,張欣.無線傳感器網絡路由協議研究進展[J]. 軟件學報,2006,17(3):410-421.
關鍵詞:人工神經網絡 峰值識別理論 洪水預報
洪水預報作為非工程性防洪措施正日益受到重視,準確及時的洪水預報為防洪決策提供了科學的依據.人工神經網絡模擬了人類大腦的結構及其功能,從而具有對模糊信息或復雜的非線性關系進行識別與處理的能力[1,2].
早期關于人工神經網絡在水文水資源系統中的應用與研究的進展情況,文獻[3]有較為詳細、系統的介紹.其中,關于洪水預報的研究成果,大多處于如何應用人工神經網絡算法進行洪水預報的階段,即如何將洪水預報的實際問題概化成人工神經網絡可以識別的算法模型.近期的研究成果表明,研究的問題更加深入,如LINDA SEE(1999)[4]將洪水過程分為上升段、洪峰段和下降段三部分,分別建立相應的預報模型,充分考慮了不同階段的洪水過程其演進規律的差異.Fi-John Chang(1999)[5]引入洪峰預報誤差和峰現誤差作為洪水預報精度的評價標準,對于洪峰預報精度給予了高度的重視.能否保證較高的洪水峰值的預報精度,是將人工神經網絡的實時洪水預報技術實際應用的關鍵性問題.
本文在總結大量實踐經驗的基礎上[6,7],提出了一種能夠進行峰值識別的改進BP算法(Error Back Propagation with Peak Recognizer,簡稱BPPR).該算法在修改網絡權重時偏重大值,即大值誤差對權重的修改起主要作用.這種改進的BP算法使人工神經網絡洪水預報模型對洪峰峰值的預報精度顯著提高,從而保證了洪峰預報的可靠性.
1人工神經網絡的峰值識別理論
洪水預報主要是為防汛服務的,通常對洪峰時段的水位(或流量)的準確預報尤為重要.但是,對于經典的BP算法,網絡訓練是根據全局誤差修改網絡權重的,這種權重修改方法很難控制洪峰水位(或流量)的訓練精度,訓練后的網絡權重所貯存的信息很可能更多地反映了樣本數量較大的中、低水位(或流量)的變化規律.所以,經過訓練的網絡對中、低水位(或流量)的預報精度相對較高,而對洪峰的預報精度往往低一些.如何提高人工神經網絡模型對洪峰水位(或流量)的預報精度,是人工神經網絡理論應用于洪水預報的關鍵問題之一.
本文是在結合實際課題廣泛研究的基礎上,提出了一種能夠提高網絡模型峰值識別精度的改進BP算法.
1.1 峰值識別的基本思想 經典BP算法的訓練過程由信號的正向傳播與誤差的逆向傳播兩個過程組成.其中,誤差的逆向傳播是基于網絡全局誤差并按“誤差梯度下降”的原則對網絡權重進行修改.如果對原來基于“全局誤差”的權重修改原則進行合理調整,使權重的修改傾向于減小輸出值較大樣本的網絡映射誤差,這是峰值識別原理的基本思想,其實質是在誤差逆向傳播的網絡權重修改過程中,遵循了側重于“峰值樣本誤差”的權重修改原則.
1.2峰值識別的算法峰值識別理論的實現方法,是在引入動量項和采用學習率自適應調整的改進BP算法[4]的基礎上,對峰值樣本的網絡誤差引入合理的修正系數,使網絡的權重向著使峰值訓練誤差減小的方向修改.
首先,從經典BP算法開始.設有輸入為x1(t)、x2(t)、…、xn(t)的n維輸入,輸出為xL1(t)、xL2(t)、…、xLm(t)、的m維輸出和若干隱層組成的多輸入、多輸出人工神經網絡模型.這里的t為樣本序列號,這樣的樣本共有P對.
第l層中第i個神經元節點所接收到的上一層輸入總和為
式中:Nl為第l層神經元節點總數;w(l)ij為第l層i節點與第l-1層j節點之間的連接權重;θ(l)i為第l層i節點的閾值.
第l層中第i個神經元節點的輸出為
x(l)i(t)=f(y(l)i(t))=1/1+exp(-σy(l)i(t)) (1≤l≤L,1≤i≤Nl) (2)
式中:f()為轉移函數,這里采用的是對數型的單極性Sigmoid函數;σ為決定Sigmoid函數壓縮程度的系數.該系數越大,曲線越陡;反之,曲線越緩.
則,當訓練次數為k時,網絡輸出層及隱層的誤差信號可表示為
式中:d(L)i(t)為訓練樣本的期望輸出.
那么,網絡權重的修改公式為
式中:η(k)為訓練次數為k時的學習率;α為動量項系數.
以上為經典BP算法的基本內容.基于峰值識別的思想,實現網絡誤差修正傾向于輸出樣本的較大值,定義誤差修正系數ξ
ξi=di(L)(t)/d(L)max(t) (7)
式中:d(L)max(t)為訓練樣本期望輸出的最大值.
為了進一步提高神經網絡模型的訓練速度,改善網絡峰值識別的精度,可以在上述修正系數的基礎上,增設誤差修正放大系數μ.那么,加入誤差修正系數ξ及誤差修正放大系數μ后,當訓練次數為k時,網絡輸出層誤差信號的向量表達式如下
應用該算法進行網絡訓練,能夠使峰值誤差修正占優,從而提高網絡對峰值的映度.
2 應用實例
2.1 工程概況及基本模型 珠江流域西江段的水系關系比較復雜,如圖1所示.從柳州站、遷江站、南寧站或貴港站預報梧州站洪水目前還是一個難題.結合現有的研究成果,介紹洪水預報峰值識別理論的有效性.選取珠江流域從對亭站、柳州站、遷江站、南寧站預報江口站洪水的江口站洪水預報模型,分別以BP算法與引入峰值識別理論的BPPR算法進行網絡訓練.以多年實測記錄數據為訓練樣本,并采用下一年的記錄數據為測試樣本,即以1988、1992~1994、1996~1998各年的水位(流量)資料為訓練樣本,以1999年水位(流量)資料作為測試樣本.
圖1 珠江流域西江段主要水情站及洪水平均傳播時間示意
*傳播時間單位:h
傳統相應水位的洪水預報方法是根據天然河道洪水波的運動原理,分析洪水波在運動過程中,波的任一相位自上游水情站傳播到下游水情站的相應水位及其傳播時間的變化規律,尋找其經驗關系,以此進行洪水預報[8].人工神經網絡對信息的分布存儲、并行處理以及自學習的能力,決定了它具有對模糊信息和復雜非線性關系的識別與處理能力.網絡的訓練學習過程,就是網絡認知事物內在規律的過程.構造基于人工神經網絡洪水預報模型的首要問題,是如何將洪水過程合理地概化成人工神經網絡可以映射的輸入、輸出關系.
以上游干流和主要支流水情站的水位(流量)資料作為網絡模型的輸入,以下游水情站所形成的相應水位(流量)作為網絡模型的輸出;同時,將下游同時水位(流量)作為網絡模型的輸入,以模擬下游初始水位的影響.洪水自上游水文站至下游水文站的傳播時間就是網絡對洪水的預見期.
本題中所建立的江口站洪水預報模型中,作為江口站的上游水文站共有對亭、柳州、遷江和南寧等站,其中的遷江站處于干流河道.值得一提的是,對亭站方向的來水屬山區洪水,特點為量小、峰高、歷時短,洪水過程線陡起陡落,其結果是水位的變化非常大,而實際的流量又很小,這無疑會影響水位預報模型的識別精度.為了減少這種小支流的干擾,在建立水位預報模型時,未將對亭站的水位作為輸入項.在建立流量預報模型時,為了保證水量的總體平衡,仍將對亭站的流量作為一項輸入.
以3h為一個間隔時段進行洪水數據采集來組織樣本,以干流遷江站t時刻水位(流量)、對亭站(t-3)時刻流量、柳州站(t-3)時刻水位(流量)、南寧站(t-8)時刻水位(流量)和江口站t時刻水位(流量)作為網絡的輸入,江口站(t+T)時刻的水位(流量)為網絡的輸出.其中,T為網絡的預見期,即洪水自上游遷江站傳播到江口站的時間,亦為峰現時間.在組織樣本時,采用洪水在各站間的實測傳播時間,但網絡預報的預見期為平均預見期,即T=9時段,約28h(洪水在各站間的傳播情況見圖1).圖2為江口站洪水預報模型的網絡拓撲結構圖.
圖2 江口站洪水預報模型的網絡拓撲結構
在網絡結構設計中,輸入與輸出節點數由實際問題而定,而隱層數及隱層節點數是網絡設計中的關鍵問題.在實際問題中,常常無法估計問題的真實復雜程度,通常采用雙隱層.關于隱層節點數目的確定,直接關系到能否成功地解決問題.實際上,隱層節點數決定于訓練樣本的多少、樣本噪音的大小以及所面對問題的復雜程度.若隱層節點數太少,網絡映射能力不足;若隱層節點數太多,不僅增加網絡的訓練時間,還會引發所謂“過度吻合”問題,即雖然增加了訓練精度,但是由于網絡過多地獲得了樣本的個性特征,而掩蓋了樣本的共性特征,從而造成預報精度的下降.目前的研究成果,還不能在理論上提供一套科學的推導方法,試算法是可靠的常規方法.本題經多次試算,合理的拓撲結構為:水位預報模型(4-40-20-1),流量預報模型(5-40-20-1).
圖3 水位預報模型中BP算法與BPPR算法映結果比較
網絡模型的初始權重在(-1,1)之間隨機產生,動量項系數α取0.9.初始學習率η0在基本BP算法中取0.001,在BPPR算法中取0.0005,初始學習率往往會因不同網絡模型而不同.BPPR算法的峰值誤差修正放大系數μ取2.0.水位模型的訓練停止條件為平均映射誤差l≤0.20m,流量模型的訓練停止條件為平均映射誤差q≤500m3/s.
2.2 計算成果 分別采取BP算法與BPPR算法進行網絡模型的訓練,兩種算法對于峰值水位(流量)的映射情況見圖3、圖4.以完成訓練的網絡模型對1999年的洪水情況進行測試預報,預報結果見圖5、圖6.
圖4 流量預報模型中BP算法與BPPR算法映射結果比較
2.3 成果分析 圖3、圖4反映了完成訓練的網絡模型對訓練樣本中洪峰水位與流量的映射情況,從圖中可以看到,BP算法對于洪水演進規律具有很高的映度,引入峰值識別理論的BPPR算法能夠進一步提高網絡對洪水峰值的映度,這種作用對于較高洪峰識別效果更為明顯.
圖5 1999年水位預報結果比較
圖6 1999年流量預報結果比較
圖5、圖6為網絡模型對1999年洪水主洪峰的預報情況.在水位預報模型中,BP算法對洪峰的預報誤差為0.13m(低于實測值);BPPR算法的預報誤差為-0.05m(高于實測值).在流量預報模型中,BP算法對洪峰的預報誤差為291m3/s;BPPR算法的預報誤差為-83m3/s.
這里所采用的峰值誤差修正放大系數μ實質上與樣本集中大值樣本所占的比例有關,大值樣本所占比例越小,μ的取值越大;反之,則小.在實際操作中,ξμ是作為一個參數進行權重調節計算的,所以μ的取值又受樣本集中最大值和最小值間比例關系的限制.
如果放大系數選取過大,網絡訓練容易失穩,造成訓練誤差增大;反之,網絡權重的修改難以體現洪峰樣本的貢獻.具體取值由實際問題而定,在珠江流域的洪水預報模型中,放大系數的取值范圍為1.5~2.5.
從網絡模型的訓練識別和測試預報兩方面的研究成果來看,人工神經網絡對于洪水演進規律的識別具有較高的精度,能夠模擬洪水的動態過程,其中,引入峰值識別理論的BPPR算法有利于提高模型對峰值的映射與預報精度,效果明顯.這些改進效果對于水文水資源預報中,可能效果并不十分顯著,但在防汛中,水位預報對防洪決策至關重要,往往十幾厘米的誤差,直接影響到防洪方案的決策.因此,峰值識別理論對基于BP算法的洪水預報模型來講,具有重要意義.
3 結束語
基于人工神經網絡的洪水預報方法作為防洪減災領域一種新的研究途徑,將智能化思想引入到對洪水過程的計算模擬,更能反映洪水復雜非線性的動態演進規律.研究結果表明,人工神經網絡算法能夠很好地映射洪水的演進規律,做到對洪水實時的監測與預報,預報精度較高.
針對洪峰預報精度在防洪減災工作中的重要性,本文提出了基于峰值修正理論的BPPR算法,該算法能夠很大程度上提高峰值的訓練與預報精度,從而保證了洪水預報網絡對洪峰水位、流量預報結果的可靠性,具有很高的實際應用價值.這種峰值識別理論與算法還可以應用于潮汐預報、地震預報等峰值預報過程起主要作用的相關領域,具有一定的普適性.
關鍵字:汽車電機故障方法
1.電機故障診斷的特點及實施電機故障診斷的意義
1.1電機故障診斷的特點
電機的功能是進行電能與機械能量的轉換,涉及因素很多,如電路系統、磁路系統、絕緣系統、機械系統、通風散熱系統等。哪一部分工作不良或其相互之間配合不好,都會導致電機出現故障。因此,電機故障要比其它設備的故障更復雜,其故障診斷所涉及到的技術范圍更廣,對診斷人員的要求也就更高。一般來說,電機故障診斷涉及到的知識領域主要有[20]:電機理論、電磁測量、信號處理、計算機技術、熱力學、絕緣技術、人工智能等。電機故障診斷的復雜性還表現在故障特征量的隱含性、故障起因與故障征兆之間的多元性。一種故障可能表現出多種征兆,有時不同故障起因也可能會反映出同一個故障征兆,這種情況下很難立即確定其真正的故障起因。另外,電機的運行還與其負載情況、環境因素等有關,電機在不同的狀態下運行,表現出的故障狀態各不相同,這進一步增加了電機故障診斷難度,所以要求對電機進行故障診斷首先必須掌握電機本身的結構原理、電磁關系和進行運行狀況分析的方法,即掌握電機各種故障征兆與故障起因間的關系的規律。
1.2實施電機故障診斷的意義
電機的驅動易受逆變器故障的影響,在交流電機驅動系統中,逆變器短路故障將會使電機產生有規律波動的或是恒定的饋電扭矩,使車輛突然減速。研究表明:逆變器出現故障時,永磁感應電機將產生較大的饋電扭矩,而且永磁電機也有存在潛在的高消磁電流的問題。而感應電機在逆變器出現故障時所產生有規律的饋電扭矩將由于有持續的負載而迅速衰減,這說明了感應電機具有較高的容錯能力,適應混合動力系統的要求。開關電機磁阻是最具有故障容錯能力的電機,而且當其有一個逆變器支路出現故障時電機仍能產生凈扭矩,另外,開關磁阻電機成本低,結構緊湊,但是開關磁阻電機有較大的噪聲和扭矩脈沖,而且需要位置檢測器,而這些缺點使得開關磁阻電機在現階段不適合應用于混合動力客車上。在混合動力客車動力系統中,電機是作為輔助動力的,而且電機屬于高速旋轉設備,如果電機出現故障,電機產生的瞬態扭矩將使車輛的穩定性和動力性將受到影響,而且,電機由高壓電池組驅動,如果電機出現故障而不能及時容錯,電機產生的瞬態電流將使電池受到損害,因此在混合動力系統中對電機進行故障診斷是非常必要的。
2.電機的故障診斷方法及典型故障診斷分析
2.1電機故障的診斷方法
(1)傳統的電機故障診斷方法
在傳統的基于數學模型的診斷方法中,經典的基于狀態估計或過程參數估計的方法被應用于電機故障檢測。圖1為用此類方法進行故障診斷的原理框圖。這種方法的優點是能深入電機系統本質的動態性質,可實現實時診斷,而缺點是需建立精確的電機數學模型,選擇適當決策方法,因此,當電機系統模型不確定或非線性時,此類方法就難以實現了。
(3)基于模糊邏輯的電機故障診斷方法
圖3為基于模糊邏輯的電機故障診斷方法框圖,故障診斷部分是一個典型的模糊邏輯系統,主要包括模糊化單元、參考電機、底層模糊規則和解模糊單元。其中,模糊推理和底層模糊規則是模糊邏輯系統的核心,它具有模擬人的基于模糊概念的推理能力,該推理過程是基于模糊邏輯中的蘊涵關系及推理規則來進行的。模糊規則的制定有兩種基本方法:第一,啟發式途徑來源于實際電機操作者的語言化的經驗。第二,是采用自組織策略從正常和故障電機測量獲得的信號進行模糊故障診斷的制定,將此方法通過計算機仿真實現,對電機故障有較好的識別能力。
(4)基于遺傳算法的電機故障診斷方法
遺傳算法是基于自然選擇和基因遺傳學原理的搜索算法,它的推算過程就是不斷接近最優解的方法,因此它的特點在于并行計算與全局最優。而且,與一般的優化方法相比,遺傳算法只需較少的信息就可實現最優化控制。由于一個模糊邏輯控制器所要確定的參變量很多,專家的經驗只能起到指導作用,很難根據指導準確地定出各項參數,而反復試湊的過程就是一個尋優的過程,遺傳算法可以應用于該尋優過程,較有效地確定出模糊邏輯控制器的結構和數量。
遺傳算法應用于感應電機基于神經網絡的故障診斷方法的框圖如圖4所示。設計神經網絡的關鍵在于如何確定神經網絡的結構及連接權系數,這就是一個優化問題,其優化的目標是使得所設計的神經網絡具有盡可能好的函數估計及分類功能。具體地分,可以將遺傳算法應用于神經網絡的設計和訓練兩個方面,分別構成設計遺傳算法和訓練遺傳算法。許多神經網絡的設計細節,如隱層節點數、神經元轉移函數等,都可由設計遺傳算法進行優化,而神經網絡的連接權重可由訓練遺傳算法優化。這兩種遺傳算法的應用可使神經網絡的結構和參數得以優化,特別是用DSP來提高遺傳算法的速度,可使故障響應時間小于300μs,不僅單故障信號診斷準確率可達98%,還可用于雙故障信號的診斷,其準確率為66%。
近年來,電機故障診斷的智能方法在傳統方法的基礎上得到了飛速發展,新型的現代故障診斷技術不斷涌現:神經網絡、模糊邏輯、模糊神經網絡、遺傳算法等都在電機故障診斷領域得到成功應用。隨著現代工業的發展,自動化系統的規模越來越大,使其產生故障的可能性和復雜性劇增,僅靠一種理論或一種方法,無論是智能的還是經典的,都很難實現復雜條件下電機故障完全、準確、及時地診斷,而多種方法綜合運用,既可是經典方法與智能方法的結合,也可是兩種或多種智能方法的結合,兼顧了實時性和精確度,因此多種方法的有機融合、綜合運用這一趨勢將成為必然,也將成為電機故障在線診斷技術發展的主流方向。
參考文獻:
[1]陳清泉,詹宜君,21世紀的綠色交通工具——電動汽車[M],北京:清華大學出版社,2001
關鍵詞:溫度控制系統;研究;實現
國內市場中的注塑機溫度控制系統大多采用比例積分微分(pid)控制和模糊控制。在塑料機械中,料桶的溫度控制非常關鍵,低于或者高于塑料的適宜熔融標準都會影響產品的最終成型質量。由于產品成型過程復雜而且可影響因素多,如果可以做好料桶的溫控就可以對整個生產起到事半功倍的效果。但是這幾種控制方式都需要建立精確的數學模型,而注塑機溫度控制系統是一個大滯后、強耦合、非線性的時變系統,建立精確的數學模型是非常困難的,因此pid溫控系統的效果并不是很理想,鑒于這種情況,本文引入一個基于bp神經網絡的溫度pid控制系統來改善注塑機溫度控制。神經網絡具有表達任意非線性映射的能力,能夠對非線性系統進行建模。利用神經網絡的這一特點建立動態模型,作為預測控制器的預測模型,可用于熱力過程的預測和控制,應用bp神經網絡,通過學習和訓練逼近對象的真實模型。對溫度控制的各相關指標的相對權重確定。影響溫度變化各相關因素在輸入預測和評估模型時, 需要一組決定其相對重要性的初始權重,權重的確定需要基本的原則作支持。例如確定溫度的上限及下限,純加熱控制段的比例,不同位置的溫度控制段的默認pid參數等。目前本文使用的是基于經驗的三層架構的bp神經網絡架構,通過輸入層對采樣數據的輸入,隱含層的各種計算,并把計算結果通過輸出傳遞出去,這樣經過在線指導后,可以滿足bpn-pids系統的算法的實現。其中各層的連接權值首先通過隨機賦值的方式進行,然后根據各指導案例的學習,得到健壯的權重值。
本文的主要工作是設計并實現了一個基于bp神經網絡的溫度pid控制系統(bp neural network pid system簡稱為bpn-pids),其核心是 pid神經網絡,如圖1-2 bpn-pids控制算法所示。本文主要參考了如下的相關技術:pid控制原理,bp神經網絡(如圖1-1神經網絡圖所示),matlab軟件,b/s軟件架構以及asp開發工具,xml數據庫存儲以及opc行業標準。對于具有多變量強耦合時變特性的溫度控制系統,本文所構建的pid神經網絡可以通過在線學習建立科學的預測和評估指標體系及設計相應的模型計算方法與學習參數;同時,根據對象參數發生變化時對系統輸出性能的影響來調整連接權值,改變網絡中比例、積分和微分作用的強弱,使系統具備良好的動態和靜態性能,達到系統解耦和溫度控制的目的。本文結合不同塑料的具體實際特性, 對指標和模型體系進行了實證分析, 解決了普通pid控制系統的非確定性、非固定性元素。
bpn-pids系統已借助matlab軟件進行了仿真與實現。系統架構如圖1-3系統框架所示,包括服務器應用端程序,注塑機端相應的應用。
服務器應用端分為通訊模塊,控制功能模塊與數據庫服務,其中控制功能模塊為核心。
通訊模塊的作用為服務器應用端與注塑機端的通訊并傳遞相應數據。
控制功能模塊為核心模塊,通過對傳遞到的數據分析與運算,進行整個系統的控制。
數據庫服務則為控制功能模塊服務,它將數據存儲到數據庫中,需要的時候則可以提取出來。
注塑機端應用分為:上位機應用,下位機應用其中,上位機應用主要作用是采集下位機的數據,經過處理后通過通訊模塊給應用程序控制模塊進行相應的分析,然后接受控制模塊的輸出指令,傳遞給下位機。
下位機的主要作用是通過a/d模塊采集料筒的實際溫度,然后傳遞給上位機。再接受上位機的控制指令,對料筒進行是否加熱的指令。
由于采用了c/s結構,本文中注塑機端最多可以接連255個客戶端。
i)總體結構
設bp神經網絡是一個采用三層bp結構,它有m個輸入節點,其中,根據算法結構,m=3,q個隱含節點,3個輸出節點。輸入節點對應所選的系統運行狀態量,如系統不同時刻和輸入量和輸出等,必要時進行歸一化處理。輸出節點分別對應pid控制器的三個參數kp、ki、kd,由于這三個參數都不能為負,所以輸出層神經元激活函數一定要取非負的sigmoid函數。此處根據經驗,當q值過小,則算法有可能失敗,當q值過大,則算法速度太慢,同時占用資源過多,所以取q=5。
ii)學習算法請參看圖1-4 bp神經網絡學習算法
(a)、確定bp網絡結構,即確定輸入層節點數m和隱含層
點數q,并給出各層的加權系數的初值,選定學習速率η和慣性系數α。初值隨機賦值,學習速率與慣性系數取習慣值,此時k=1。
(b)、采樣得r(k)和y(k),計算該時刻誤差e(k)=r(k)-y(k)
(c)、計算神經網絡各層神經元得輸入、輸出,nn得輸出即為pid控制器得三個可調參數kp、ki、kd。
(d)、根據增量式算法計算pid得輸出u(k)。
(e)、進行神經網絡得學習,通過數據庫的存儲讀取,離線調整加權系數,實現pid控制器參數得自適應調整置,重復步驟(b)-(e)。
(f)、置k=k+1,返回到b步驟
在仿真中,比較常規pid與bpn-pids系統仿真。從中可以得知通過優化和混合仿真傳統pid控制器能夠獲得很好的系統性能,bpn-pids獲得了平滑的變換,但存在靜態誤差。當模型參數變化時,比較兩者的魯棒性,顯示了當時延增大時,傳統pid出現了振蕩。傳統pid控制在注塑機溫度控制系統中能達到較好的控制性能和控制精度。但是,當系統的參數發生變化時,常規pid的魯棒性就很差了。而神經pid雖然存在靜態誤差,但仍然有很穩定的平滑性。bpn-pids同樣也能獲得更為平滑的過渡過程,但是系統存在著靜態誤差。bpn-pids具有自學習和自調整的能力,當模型參數改變時,bpn-pids仍然有平滑的過渡過程,這就證明bpn-pids的魯棒性比傳統pid更強,適應能力更強。通過matlab實現了bpn-pids算法,解決了普通pid控制方法中的非確定性,非固定的問題,通過bp神經網絡的在線自學習能力,為今后不同材料,不同模具的應用達到了良好,健壯的溫度控制。 從圖1-5信號跟蹤圖中可以看出:控制變量u變化規則,擾動較小,跟蹤曲線光滑,跟蹤誤差小,達到穩定狀態后,誤差波動小。
圖1-6誤差曲線圖為系統的誤差曲線,可以看出,系統跟蹤誤差非常小大約在(0.008~-0.008 內),跟蹤效果很理想。
圖1-7 pid參數變化圖反映了整個過程中參數kp,ki,kd 隨時間變化的情況,可以看出, kp,ki,kd 在不斷調整,從而使控制效果最佳。
本文以基于神經網絡的解耦控制和pid控制作為研究的出發點,經過查閱資料、理論研究以及實際測試,取得的研究結論可簡要的歸納如下:
(1)就基于神經網絡的參數自適應pid控制算法進行了分析研究。利用神經網絡所具有的任意性表達能力,通過對系統的學習來實現具有最佳組合的pid控制。避免了憑經驗選取pid控制參數的不確定性,而且可以實現控制器參數的在線調整和整定。算法主要由兩個部分組成:
a.經典的pid控制器,控制算法為經典增量式。直接對被控對象進行閉環控制,而且三個參數為在線調整方式。
b.神經網絡,根據系統的運行情況,根據學習算法,在線調整pid控制的參數使得給定性能指標最優,輸出層神經元的輸出狀態讀對應于pid控制器的三個可調參數。
(2)給出了一種基于神經網絡的分散解耦算法bpn-pids算法。這種分散解耦算法從本質上仍屬于串聯解耦的一種特殊情況,但他與串聯解耦又有所不同。
(3)將基于神經網絡的參數自適應pid控制算法與分散解耦算法結合,并能過matlab軟件中實現了bpn-pids算法,并實現了在線的整定的算法,既避免了當單獨采用自適應pid算法時,如多變量被控對象耦合嚴重,則控制效果不佳的問題;又避免了當采用分散解耦算法時,如出現多變量被控對象模型參數發生變化,原有的控制器參數不能適應變化后的對性的問題。將該算法應用與料筒的溫度控制,結果表明可以取得較為滿意的控制效果。
本文工作對具有多變量強耦合時變特性的控制系統的設計與實現具有較好的參考價值。
參考文獻
[1](美)martin t.hagan,等.神經網絡設計[m].機械工業出版社,2002)9).
關鍵詞:人臉識別;奇異值分解;BP神經網絡;粒子群優化算法
分類號:TP391 文獻標識碼:A
Face Recognition Classifier based on PSO and Neural Network
DUAN Xiang-jun
( Nanjing College of Information Technology, Nanjing 210046, China )
Abstract: Because BP neural network for face recognition classifier has slow convergence and easy to fall into the local minimum, using particle swarm optimization (PSO) to improve the BP network training method, establishing an algorithm based on the improved PSO-BP neural network, which can more reasonable and effectively to determine the neural network connection weights and thresholds, applying this method to the classification of the face recognition system, and compared results with using the BP neural network classification only, experiment shows that the recognition speed is quicker and recognition result is better.
Key words: face recognition; singular value decomposition; BP neural network; particle swarm optimization
0引言
通常情況下,一個人臉自動識別系統包括以下三個主要技術環節:人臉檢測、人臉特征提取、人臉識別。人臉識別即將人臉特征提取結果與庫中人臉對比得出分類結果,即識別分類;分類器的選擇在人臉識別系統整個過程中起著成敗與否的關鍵作用。因此,要慎重選擇研究分類器的設計,確保具有優秀的識別結果。
目前,應用較廣泛的人臉識別分類器主要有:最小距離分類器[1]、基于PCA的分類法[2]、支持向量機識別方法[3]、人工神經網絡[4]等模式識別方法。由于人工神經網絡具有較強的容錯能力、自適應學習能力以及并行信息處理結構、速度快等三大優勢,在模式識別領域有廣泛的應用,而人工神經網絡模型又以標準三層BP神經網絡最為經典。但由于傳統的BP算法是基于梯度下降法的,而梯度下降法通常具有收斂速度慢、易陷入局部極小等缺點而導致學習失敗,另外,BP網絡學習時間較慢,不適合大規模的網絡求解[5]。而粒子群算法(Particle Swarm Optimization, PSO)[6]源于對鳥群捕食行為的研究,系統初始化為一組隨機解,粒子在解空間追隨最優的粒子進行搜索,通過迭代搜尋最優值,所以用它來完成前期的搜索能較好的克服BP算法的缺點。
1 BP神經網絡分類器
BP算法的基本思想是:BP神經網絡的學習過程由信號的正向傳播與誤差的反向傳播兩部分組成。正向傳播時,輸入樣本從輸入層輸入,經各隱含層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。誤差的反向傳播是將輸出誤差以某種形式通過輸出層向隱含層逐層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,以此誤差信號來修正各單元權值。權值不斷調整的過程,也就是網絡的學習訓練過程。此過程一直進行到網絡輸出的誤差減少到可接受的程度,或進行到預先設定的學習次數為止。其用于人臉識別的結構模型圖如圖1所示。
2 粒子群算法原理
如果我們把一個優化問題看作是在空中覓食的鳥群,那么在空中飛行的一只覓食的“鳥”就是PSO算法在解空間中進行搜索的一個“粒子”(Particle),也是優化問題的一個解,“食物”就是優化問題的最優解。粒子的概念是一個折衷的選擇,它只有位置和速度,沒有質量和體積。
PSO算法中每個粒子就是解空間中的一個解,它根據自己的飛行經驗和同伴的飛行經驗來調整自己的飛行狀態。每個粒子在飛行過程中所經歷過的最好位置,就是粒子本身找到的最優解。整個群體所經歷過的最好位置,就是整個群體目前找到的最優解。前者叫做個體極值(pBest),后者叫做全局極值(gBest)。每個粒子都通過上述兩個極值不斷更新自己,從而產生新一代群體。實際操作中通過由優化問題所決定的適應度函數值(fitnessvalue)來評價粒子的“好壞”程度。很顯然,種群中每個粒子的行為都是:追隨著當前的最優粒子,在解空間中進行搜索[7]。
關鍵詞:Matlab;BP神經網絡;預測
中圖分類號:TP183文獻標識碼:A文章編號:1009-3044(2008)19-30124-02
Based on Matlab BP Neural Network Application
YANG Bao-hua
(Institute of Information and Computer, Anhui Agricultural University, Hefei 230036, China)
Abstract: BP learning algorithm is a one-way transmission of multi-layer to the network, Matlab toolbox is based on the theory of artificial neural network, based on Matlab toolbox, with watermelon-heavy forecasts, BP neural network forecast the feasibility of re-watermelon is verified, and fast convergence, small error, should be promoted in the forecast crop growth.
Key words: Matlab; BP Neural Networks; Forecast
1 引言
人工神經網絡是人工構造的模擬人腦功能而構建的一種網絡,BP神經網絡是結構較簡單、應用最廣泛的一種模型,BP神經網絡是Rumelhart等在1986年提出的。它是一種單向傳播的多層前向網絡,一般具有三層或三層以上的神經網絡,包括輸入層、中間層(隱層)和輸出層[1],其模型見圖1所示。
■
圖1 BP網絡模型
Matlab中的神經網絡工具箱是以人工神經網絡理論為基礎,利用Matlab語言構造出許多典型神經網絡的傳遞函數、網絡權值修正規則和網絡訓練方法。網絡的設計者可根據自己的需要調用工具箱中有關神經網絡的設計與訓練的程序,免去了繁瑣的編程過程。
紅籽瓜(Red-seed Watermelon)種子即瓜子富含有蛋白質、脂肪、鈣、磷及多種維生素,含油率達55%左右,營養頗為豐富,經過精細加工,味道鮮美,市場十分暢銷[4]。為了提高瓜子的產量,需要關注很多因素,這些因素的改變會影響瓜子的產量,所以確定哪些因素能預測產量,如何預測是本文研究的內容。本文利用紅籽西瓜的測量數據,以單果重,種子數,千粒重,種子重作為輸入因子,仁重為輸出因子,選擇合適的隱層,構建影響紅籽西瓜種仁重量的BP網絡模型,運用Matlab軟件進行預測。
2 BP神經網絡設計的基本方法
Matlab的NNbox提供了建立神經網絡的專用函數newff()[5]。用newff函數來確定網絡層數、每層中的神經元數和傳遞函數,其語法為:
net=newff(PR,[S1,S2,…,SN],{TF1,TF2,…,TFN},BTF,BLF,PF)
式中:PR表示由每個輸入向量的最大最小值構成的R×2矩陣;Si表示第i層網絡的神經元個數;TF表示第i層網絡的傳遞函數,缺省為tansig,可選用的傳遞函數有tansig,logsig或purelin;BTF表示字符串變量,為網絡的訓練函數名,可在如下函數中選擇:traingd、traingdm、traingdx、trainbfg、trainlm等,缺省為trainlm;BLF表示字符串變量,為網絡的學習函數名,缺省為learngdm;BF表示字符串變量,為網絡的性能函數,缺省為均方差“mse”。
2.1 網絡層數
BP網絡可以包含不同的隱層,但理論上已經證明,在不限制隱層節點數的情況下,兩層(只有一個隱層)的BP網絡可以實現任意非線性映射。
2.2 輸入層節點數
輸入層起緩沖存儲器的作用,它接受外部的輸入數據,因此其節點數取決于輸入矢量的維數。
2.3 輸出層節點數
輸出層節點數取決于兩個方面,輸出數據類型和表示該類型所需的數據大小。在設計輸人層和輸出層時,應該盡可能的減小系統規模,使系統的學習時間和復雜性減小。
2.4 隱層節點數
一個具有無限隱層節點的兩層BP網絡可以實現任意從輸入到輸出的非線性映射。但對于有限個輸入模式到輸出模式的映射,并不需要無限個隱層節點,這就涉及到如何選擇隱層節點數的問題,至今為止,尚未找到一個很好的解析式,隱層節點數往往根據前人設計所得的經驗和自己進行試驗來確定。一般認為,隱層節點數與求解問題的要求、輸入輸出單元數多少都有直接的關系。另外,隱層節點數太多會導致學習時間過長;而隱層節點數太少,容錯性差,識別未經學習的樣本能力低,所以必須綜合多方面的因素進行設計。
隱層節點數的初始值可先由以下兩個公式中的其中之一來確定[2,3]。
1=■+a (1)
或 1=■(2)
式中,m、n分別為輸入結點數目與輸出結點數目,a為1~10之間的常數。
2.5 數據歸一化
因為原始數據幅值大小不一,有時候還相差比較懸殊。如果直接投人使用,測量值大的波動就壟斷了神經網絡的學習過程,使其不能反映小的測量值的變化。所以,在網絡訓練之前,輸人數據和目標矢量都要經過歸一化處理。
根據公式可將數據“歸一化”,即限定在[0,1]區間內。歸一化公式為:
■ (3)
也可以使用歸一化函數Premnmx,及反歸一化函數Postmnmx。
3 BP學習算法及實例
3.1 BP學習算法
1) 初始化網絡及學習參數;
2) 從訓練樣本集合中取一個樣本,并作為輸入向量送入網絡;
3) 正向傳播過程,對給定的輸入樣本,通過網絡計算得到輸出樣本,并把得到的輸出樣本與期望的樣本比較,如有誤差超出限定范圍,則執行第4步;否則返回第2步,輸入下一個樣本;
4) 反向傳播過程,即從輸出層反向計算到第一隱層,修正各神經元的連接權值,使用誤差減小。
3.2 實例
為了提高瓜籽產量,需要關注很多因素,濾去相關度過低的因子,根據經驗確定輸入因子為單果重,種子數,千粒重,種子重,輸出因子為仁重。現以表1所示的2000~2002年測量數據作為訓練樣本進行訓練,對2003年的數據進行預測。輸出層結點代表仁重量,神經網絡的預測模型采用4-4-1,即輸入層4個神經元,根據公式(2)計算隱層神經元數確定為4,1個輸出神經元。設定最大的迭代次數為500次,系統全局誤差小于0.001。傳遞函數為tansig,訓練函數為trainlm。
根據經典的BP算法,采用Matlab編程,樣本訓練結果見圖2,2003的數據作為預測樣本,預測結果如下:
TRAINLM, Epoch 0/500, MSE 0.316381/0.001, Gradient 2.8461/1e-010
TRAINLM, Epoch 4/500, MSE 0.00056622/0.001, Gradient 0.0830661/1e-010
TRAINLM, Performance goal met.
SSE = 0.0102
y = 0.269 0.267 0.27 0.269 0.2679 0.2679
表1 紅籽西瓜數量性狀表
瓜籽仁重實際值為0.265,0.282,0.264,0.269,0.265,0.287,誤差為0.0102,當樣本較少時可以接受的誤差范圍內。并且收斂速度快。
■
圖2訓練函數為trainlm的訓練結果
采用traingd函數進行訓練,則5000次仍未達到要求的目標誤差0.001,說明該函數訓練的收斂速度很慢。見圖3所示。所以訓練函數的選擇也非常關鍵。
■
圖3 訓練函數為traingd的訓練結果
4 結論
用Matlab編編寫的基于BP網絡的仁重預測程序,計算結果表明,誤差較小,預測值與實測值吻合較好,所建立的模型具有較好的實用性,說明單果重,種子數,千粒重,種子重的數據影響瓜子的產量,同時驗證BP算法可以用于瓜仁產量的預測。
目前所進行的預測試驗中數據的樣本較少,且生長動態變化,今后擬建立一個動態預測系統,為紅籽瓜品種培育、提高產量提供新的方法,值得在預測作物生長中推廣。
參考文獻:
[1] 飛思科技產品研發中心.神經網絡理論與Matlab 7實現[M].北京:電子工業出版社.2006:100-105.
[2] 徐廬生.微機神經網絡[M].北京:中國醫藥科技出版社,1995.
[3] 高大啟.有教師的線性基本函數前向三層神經網絡結構研究[J].計算機學報,1998,21(1):80-85.
[4] 欽州農業信息網:.
關鍵詞:神經網絡技術,ANNBP網絡算法
1、人工神經網絡概述
人工神經網絡是模擬生物神經信息處理方法的新型計算機系統,它可以模擬人腦的一些基本特征,(如自適應性,自組織性和容錯性),是一個并行、分布處理結構,它由處理單元及其稱為聯接的無向信號通道互連而成。
人工神經網絡力圖模仿生物神經系統,通過接受外部輸入的刺激,不斷獲得并積累知識,進而具有一定的判斷預測能力。盡管神經網絡模型的種類很多,但基本模式都是由大量簡單的計算單元(又稱為節點或神經元)廣泛相互連接而構成的一種并行分布處理網絡。。基于神經信息傳輸的原理,各個節點通過可變的權值彼此相連接,每個節點對N個加權的輸入求和,當求和值超過某個閾值時,節點呈“興奮”狀態,有信號輸出。節點的特征由其閾值、非線性函數的類型所決定,而整個神經網絡則由網絡拓撲、節點特征以及對其進行訓練所使用的規則所決定。
2、多層前向網絡
神經網絡按拓撲結構分為前饋型網絡和反饋型網絡。前饋型網絡在結構上采用的是其信息只能從前一層到它下面一層的單元,在網絡運算過程中不存在任何反饋。從學習觀點看,前饋網絡是一種強有力的學習系統,其結構簡單,易于編程;從系統觀點看,前饋網絡是非線性映射,通過簡單非線性處理單元的復合映射可獲得復雜的非線性處理能力,因此具有較強的分類能力和模式識別能力。
反向傳播(BP)網絡是典型的前饋型網絡,結構上它屬于多層前向網絡,它的結構如圖1所示。它分為輸入層、隱含層和輸出層,層與層之間多采用全互連方式,同一層之間不存在相互連接。網絡中每一層權值都可通過學習來調節,且網絡的基本處理單元(輸入單元除外)為非線性輸入、輸出關系,處理單元的輸入、輸出值可連續變化。由于BP網絡可在多個連續的輸入和一個或多個連續的輸出之間建立非線性映射這一特性,它常被用于智能預測。
多層前向網絡是使用最廣泛的一種網絡結構,它可很好的解決XOR等經典的非線性問題,比起單層的感知器有很大的優越性,尤其80年代中期,Rumelhart和Mcclelland最先提出了多層前饋網絡的反向傳播學習算法,簡稱BP算法,它的效率很高,是目前應用最為普遍的訓練算法,這使得多層前饋網絡應用更加廣泛。應該指出,我們常說的BP網絡,嚴格說是基于BP算法的多層前向網絡。
圖 1 BP網絡結構圖
4、 BP網絡算法
BP網絡算法的思想是把一組樣本的I/O問題變為一個非線性優化問題,使用了優化中最普通的梯度下降法,用迭代運算求解權對應于學習記憶問題,加入隱含層節點使優化問題的可調參數增加,從而可得到更精確的解。BP網絡模型設計的最大特點是網絡權值是通過使用網絡模型輸出值與已知的樣本值之間的誤差平方和達到期望值而不斷調整出來的,并且確定BP神經網絡評價模型時涉及隱含層節點數、轉移函數、學習參數和網絡模型的最后選定等問題。下面簡單介紹一下基本BP算法相關數學描述:
(1)梯度下降算法
(2)S(Sigmoid)型函數
BP網絡的激活函數經常使用的是Sigmoid對數或正切激活函數和線性函數。對數S型函數 f(x)=1/(1+exp(-x)), Sigmoid 函數具有非線性放大功能,它可以把輸入從負無窮大到正無窮大的信號,變換成-1到1之間的輸出,對較大的輸入信號,放大系數較小,而較小的輸入,放大系數較大,所以采用S型激活函數可以去逼近非線性的輸入/輸出關系。
(3)BP算法
BP網絡學習是典型的有導師學習,其學習算法是對簡單的學習規則的推廣和發展。BP網絡實現了多層網絡學習的設想,其學習過程包括正向傳播和反向傳播兩部分。。
在正向傳播過程中,給定網絡的一個輸入模式時,輸入信息從輸入層經過隱含層逐層處理,并傳向輸出層,每一層神經元的狀態只影響下一層神經元的狀態,由輸出層單元產生一個輸出模式,這是一個逐層狀態更新過程,稱為前向傳播。。如果輸出響應與期望輸出的模式誤差值不滿足要求,那么就轉入誤差反向傳播,將誤差值沿連接通路逐層傳送并修正各層連接權值。對于給定的一組樣本,不斷用一個個訓練模式進行學習,重復前向傳播和誤差反向傳播過程,當各個訓練模式都滿足要求時,BP網絡訓練完畢。
其中的激發函數我們采用S型函數, 即f(x)=1/(1+exp(-x))。BP算法描述如下:
(2)提供訓練樣本:輸入矢量Xk ,k=1,2,..n 和期望輸出tk, k=1,2,…,m;對每個輸入樣本進行(3)到(5)的迭代。
(3)計算網絡的實際輸出okj 。
(4)分別計算輸出層和隱含層的訓練誤差
其中(4-2)為輸出層的誤差值, (4-3)為隱含層的誤差值。
(5)修正權值和閾值
(6)判斷實際誤差指標是否滿足規定誤差的要求,滿足則到(7)。
(7)結束 。
BP算法是人工神經網絡中最為重要的網絡之一, 也是迄今為止應用最為廣泛的網絡算法, 實踐證明這種基于誤差反傳遞算法可以解決許多實際問題, 但其算法自身也存在著局部極小點、算法的收斂速度慢等缺陷,需要我們在今后的研究中不斷完善改進。