摘 要:本文主要介紹了目前使用比較廣泛的人工神經網絡中的BP算法和使用不多的局部線性模型樹(LOLIMOT)算法,從幾個方面比較兩種算法,指出各自的優缺點。
關鍵詞:人工神經網絡;BP算法;局部線性模型樹算法;訓練
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1674-7712 (2014) 06-0000-02
一、引言
綜合人工神經網絡的特點、來源及各種解釋,可以簡單描述為:人工神經網絡是一種旨在模仿人腦結構及其功能的腦式智能信息處理系統,人工神經網絡以其信息處理的并行性、信息儲存的分布性、高度的非線性和自適應性已應用于很多領域如信息處理領域、自動化領域、工程領域和經濟等領域,其中神經網絡的模型又分為幾種,使用較為廣泛的有線性神經網絡、BP神經網絡和徑向基函數神經網絡等[1]。
二、BP神經網絡
(一)BP神經網絡模型的構造和評述
通常BP算法是通過一些學習規則來調整神經元之間的連接權值。在學習過程中學習規則以及網絡的拓撲結構不變,然而一個神經網絡的信息處理功能不僅僅取決于神經元之間的連接強度,而且與網絡的拓撲結構(神經元的連接方式),神經元的輸入輸出特性和神經元的閥值有關,因而神經網絡模型要加強自身的適應和學習能力,應該知道如何合理地自組織網絡的拓撲結構,改變神經元的激活特性以及在必要時調整網絡的學習參數等。
BP神經網絡是一種無反饋前向網絡。它由輸入層、隱含層和輸出層構成。典型的三層前向型BP網絡的拓撲結構如圖1所示。
(二)BP網絡模型的設計
在進行BP網絡的設計時,一般應從以下幾個方面來進行考慮。
1.網絡的層數
增加層數主要可以進一步降低誤差,提高精度,但同時也使網絡復雜化,從而增加了網絡權值的訓練時間。而誤差精度的提高實際上也可以通過增加隱含層中的神經元數目來獲得,其訓練效果也比增加層數更容易觀察和調整。所以一般情況下,應優先考慮增加隱含層中的神經元數。
2.隱含層的神經元數
網絡訓練精度的提高,可以通過采用一個隱含層而增加其神經元數的方法來獲得,這在結構實現上要比增加更多的隱含層要簡單的多。那么究竟選取多少個隱含層節點才合適?這在理論上并沒有一個明確的規定。在具體設計時,比較實際的做法是通過對不同神經元數進行訓練對比,然后適當地加上一點余量。
3.初始權值的選取
初始權值按以下方式確定:(1)置隱結點的初始值為均勻分布在零附近的很小的隨機值;(2)置每個輸出結點所連權值數的一半為+1,另一半為-1;若連至輸出結點的權值數是奇數,便置該輸出結點的偏置為零。
4.學習速率
大的學習速率可能導致系統的不穩定;但小的學習速率導致較長的訓練時間,可能收斂很慢,不過能保證網絡的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下學習速率的選取范圍為0.01~0.8。
5.期望誤差的選取
在設計網絡的訓練過程中,期望誤差值也應當通過對比訓練后確定一個適合的值,這個所謂‘合適’,是相對于所需要的隱含層的節點數來確定的,因為較小的期望誤差值要靠增加隱含層的節點以及訓練時間來獲得。
三、局部線性模型樹算法
(一)算法介紹
局部線性模型樹算法首先由Pedram et al在2006年提出,他證明了在研究非線性系統和模式識別方面局部線性模型樹算法與其他神經網絡相比是一種更有效的網絡。
(二)算法基本概念
這種局部線性模型樹是一個增長樹的構建算法,通過正交的方法來分割輸入區間。通過迭代,一種新的局部線性模型被添加到模型中去,之后,有效函數被計算出來并且局部線性模型適應了局部最小二乘法。局部線性模型樹算法包含一種外部算法由模型的結構決定的和一種內部算法通過最小二乘法由模型的參數估算出來。有效函數的數量和他們的參數定義了輸入區間的分割。
(三)局部線性模型樹算法簡單描述
(1)開始于一個初始模型。構建有效函數對于初始輸入空間的劃分,并且通過局部最小二乘法估算局部線性模型的參數。設置M為局部線性模型的初始數字,若沒有初始分割輸入空間可以被利用,那么使M=1并且開始于一個局部線性模型,接著覆蓋整個輸入空間;(2)找到最差的局部線性模型。找出最差的LLM,i定義最差LLM的指數;(3)檢查所有可能的分割法。最差局部線性模型i將被考慮為了長遠的優化。每個局部線性模型的矩形將被正交分解沿著軸向分成兩部分。每個P尺寸的分割完成了,在每次的分割中要遵循以下步驟:①對于每個矩形要構建n維空間的隸屬函數;②構建有效函數;③局部參數識別屬于新創造的局部線性模型;④計算整個模型的損失函數;(4)找出最佳分割。在可供選擇的P之間最好的就是在步驟3中被選擇,有效函數在①步驟中構建,最優局部線性模型在③中,將被加入模型,局部線性模型的數字由M增加到M+1;(5)檢查收斂性。如果最后的準則滿足了,那么就停止算法,否則轉回步驟2。
在LLMT的算法對于最初5步的迭代是用一種兩空間的輸入空間被描述的。尤其兩個特點使算法極其的快,首先,在每一部的迭代中不是所有的局部線性模型都考慮分割,步驟2選擇唯一最差的LLM有可能獲得最大性能提高。例如,在第4步迭代中只有LLM4-4考慮長遠優化,所有其他的LLM保持不變。第二,在步③中局部最小二乘法使它成為可能就是兩個新創造的LLM需要估算的只有參數。例如,在第4步迭代中LLM4-4被分割為LLM5-4和5-5,LLM4-1,4-2和4-3可以直接帶到下一步的迭代中,使5-1,5-2,5-3成環,不用任何改變[2],如圖2所示。
四、兩種算法優缺點比較
BP神經網絡具有以下優點:(1)非線性映射能力:BP神經網絡實質上實現了一個從輸入到輸出的映射功能,數學理論證明三層的神經網絡就能夠以任意精度逼近任何非線性連續函數。這使得其特別適合于求解內部機制復雜的問題;(2)自學習和自適應能力:BP神經網絡在訓練時,能夠通過學習自動提取輸出、輸出數據間的“合理規則”,并自適應的將學習內容記憶于網絡的權值中;(3)泛化能力:所謂泛化能力是指在設計模式分類器時,即要考慮網絡在保證對所需分類對象進行正確分類,還要關心網絡在經過訓練后,能否對未見過的模式或有噪聲污染的模式,進行正確的分類。
鑒于BP神經網絡的這些優點,國內外不少研究學者都對其進行了研究,并運用網絡解決了不少應用問題。但是隨著應用范圍的逐步擴大,BP神經網絡也暴露出了越來越多的缺點和不足,比如:
(1)局部極小化問題:從數學角度看,傳統的 BP神經網絡為一種局部搜索的優化方法,它要解決的是一個復雜非線性化問題,網絡的權值是通過沿局部改善的方向逐漸進行調整的,這樣會使算法陷入局部極值,權值收斂到局部極小點,從而導致網絡訓練失敗;(2)BP 神經網絡算法的收斂速度慢:由于BP神經網絡算法本質上為梯度下降法,它所要優化的目標函數是非常復雜的,因此,必然會出現“鋸齒形現象”,這使得BP算法低效;又由于優化的目標函數很復雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓,導致了BP神經網絡算法收斂速度慢的現象;(3)應用實例與網絡規模的矛盾問題:BP神經網絡難以解決應用問題的實例規模和網絡規模間的矛盾問題,其涉及到網絡容量的可能性與可行性的關系問題,即學習復雜性問題;(4)BP神經網絡樣本依賴性問題:網絡模型的逼近和推廣能力與學習樣本的典型性密切相關,而從問題中選取典型樣本實例組成訓練集是一個很困難的問題。
而局部線性模型樹只有少部分人研究,不是很廣泛。局部線性模型樹算法有一些優于人工神經網絡的地方,例如它擁有更簡單的訓練算法,訓練時間比其他神經網絡要短,它不需要初始權重因子,在尋找最優神經元數量的時候它不需要迭代計算,對噪音有弱的敏感性,它可以使用少量神經元有效地模擬一個系統的非線性行為與人工神經網絡相比較。由于它的這些優點,局部線性模型樹算法比較人工神經網絡更容易被接受在研究黑箱模型的時候。
五、結束語
綜合兩種算法的優缺點,我們在使用時一定要考慮哪種算法更合適我們的實際研究問題。
參考文獻
[1]韓力群.人工神經網絡教程[M].北京:北京郵電大學出版社,2006.
[2]Pedram A.,Jamali M.R., Pedram T., Fakhraie S.M. and Lucas C. 2006. Local linear model tree (LOLIMOT) reconfigurable parallel hardware.Transactions on Engineering Computing and Technology 13, 96-101.
[作者簡介] 孔令文(1989-),男,黑龍江齊齊哈爾人,在讀研究生,研究方向:計算機仿真。