一種基于樣本增量驅(qū)動的神經(jīng)網(wǎng)絡增量型前饋算法
【技術領域】
[0001] 本發(fā)明涉及在線學習神經(jīng)網(wǎng)絡領域,尤其是一種在線學習單隱層前饋神經(jīng)網(wǎng)絡的 算法。
【背景技術】
[0002] 從上個世紀八十年代至今,神經(jīng)網(wǎng)絡已經(jīng)衍生出多種模型結(jié)構和學習規(guī)則,像最 早提出的基于誤差反傳學習方式的BP神經(jīng)網(wǎng)絡、徑向基神經(jīng)網(wǎng)絡、離散和連續(xù)型Hopfield 神經(jīng)網(wǎng)絡、SOM神經(jīng)網(wǎng)絡等。上述各種神經(jīng)網(wǎng)絡可用于分類和回歸問題,而且都取得了很好 的模型效果。近年來提出的極端學習機算法成為研究熱點,其屬于一種單隱層前饋神經(jīng)網(wǎng) 絡,單隱層前饋神經(jīng)網(wǎng)絡具有良好的非線性辨識能力,而且具有結(jié)構簡單、可調(diào)參數(shù)少、學 習速度快、模型精度高等優(yōu)點,單隱層前饋神經(jīng)網(wǎng)絡既可用于基于數(shù)據(jù)塊的離線學習模式, 也可用于時間序列數(shù)據(jù)的在線學習模式,在各個領域得到廣泛應用。
[0003] 目前,所有的實際工程應用系統(tǒng)建模都是基于時間序列數(shù)據(jù)的,而且大部分的神 經(jīng)網(wǎng)絡的輸入權值和隱層閾值都是隨機初始化產(chǎn)生的,產(chǎn)生的模型參數(shù)與實際系統(tǒng)的輸入 樣本數(shù)據(jù)沒有內(nèi)在的規(guī)律性,這導致神經(jīng)網(wǎng)絡的預測效果和穩(wěn)定性較差。因此建立一種在 線學習模式神經(jīng)網(wǎng)絡具有很強的應用使用價值。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明目的在于提供一種模型穩(wěn)定性高、預測精度高、泛化能力強、具有前饋調(diào)節(jié) 功能的基于樣本增量驅(qū)動的神經(jīng)網(wǎng)絡增量型前饋算法。
[0005] 為實現(xiàn)上述目的,采用了以下技術方案,本發(fā)明所述算法步驟如下:
[0006] 步驟1,在神經(jīng)網(wǎng)絡中,選取任意時刻L〇個訓練樣本進行模型參數(shù)初始化;
[0007] 步驟2,計算得出輸入權值和隱層閾值;
[0008] 步驟3,再計算得出隱層輸出矩陣Ho;
[0009] 步驟4,根據(jù)最小二乘法和MP廣義逆法計算得出輸出權值矩陣β〇;
[0010] 步驟5,引入新樣本心,計算新樣本與初始訓練樣本的第L〇個樣本之間是否有增量, 如果有樣本增量,根據(jù)樣本增量對輸入權值和隱層閾值進行更新;如果沒有樣本增量,則不 修改輸入權值和隱層閾值,不進行更新;
[0011] 步驟6,計算新樣本的隱層輸出矩陣;
[0012] 步驟7,動態(tài)更新輸出權值矩陣,計算得到模型輸出權值矩陣;
[0013] 步驟8,判斷所有樣本是否測試完畢,若測試完畢,則模型建立完成,否則返回步驟 5重新檢測新舊樣本增量繼續(xù)學習;
[0014] 建立模型參數(shù)與輸入樣本之間的函數(shù)關系,根據(jù)樣本增量對優(yōu)化模型的輸入權值 和隱層閾值進行在線前饋調(diào)節(jié)。
[0015] 在步驟5中,當樣本增量的秩等于0時,即樣本增量為0,此時輸入權值和隱層閾值 不進行更新;當樣本增量的秩不等于〇時,輸入權值和隱層閾值進行更新。
[0016] 在步驟8中,當有新增樣本時,需刪除遠端的舊樣本,使輸出權值只依賴于限定個 數(shù)的最新數(shù)據(jù)信息。
[0017] 與現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)點:
[0018] 1、建立了輸入權閾值和輸入樣本之間的函數(shù)關系,根據(jù)輸入樣本確定模型參數(shù), 實現(xiàn)模型參數(shù)的樣本自適應性,即根據(jù)不同的樣本,產(chǎn)生不同的模型。
[0019] 2、本發(fā)明算法是在線學習模式,神經(jīng)網(wǎng)絡的輸入權值和隱層閾值也會隨著樣本的 序列增加,實現(xiàn)模型參數(shù)在線更新。相對于模型輸出誤差反傳機制更新方式,樣本增量驅(qū)動 的神經(jīng)網(wǎng)絡具有前饋調(diào)節(jié)功能。
[0020] 3、本發(fā)明算法提高了模型的穩(wěn)定性,提高了神經(jīng)網(wǎng)絡模型的預測精度和泛化能 力,滿足了變工況運行時的動態(tài)優(yōu)化控制要求。
【附圖說明】
[0021] 圖1是本發(fā)明算法的流程圖。
【具體實施方式】
[0022] 下面結(jié)合附圖對本發(fā)明做進一步說明:
[0023] 如圖1所示,本發(fā)明所述算法步驟如下:
[0024] 步驟1,在神經(jīng)網(wǎng)絡中,選取任意時刻Lo個訓練樣本*5。匕進行模型參數(shù)初始 化;隨機設置一個mXn的矩陣P,m為隱層節(jié)點個數(shù),η為輸入節(jié)點個數(shù)。計算復合矩陣貧1:;
[0025] 步驟2,計算得出輸入權值和隱層閾值;
[0026]步驟3,再計算得出隱層輸出矩陣Ho;
[0027] 步驟4,根據(jù)最小二乘法和MP廣義逆法計算得出輸出權值矩陣設置參數(shù)k = 0,k 為樣本增加的序列數(shù)。
[0028] 步驟5,引入新樣本心,計算新樣本與初始訓練樣本的第Lo個樣本之間是否有增量, 如果有樣本增量,根據(jù)樣本增量對輸入權值和隱層閾值進行更新;如果沒有樣本增量,則不 修改輸入權值和隱層閾值,不進行更新;當樣本增量的秩等于〇時,即樣本增量為〇,此時輸 入權值和隱層閾值不進行更新;當樣本增量的秩不等于〇時,輸入權值和隱層閾值進行更 新。
[0029] 步驟6,計算新樣本的隱層輸出矩陣;
[0030] 步驟7,動態(tài)更新輸出權值矩陣,計算得到模型輸出權值矩陣;
[0031]步驟8,判斷所有樣本是否測試完畢,若測試完畢,則模型建立完成。否則,設置k = k+1,返回步驟5重新檢測新舊樣本增量繼續(xù)學習;當有新增樣本時,需刪除遠端的舊樣本, 使輸出權值只依賴于限定個數(shù)的最新數(shù)據(jù)信息。
[0032]建立模型參數(shù)與輸入樣本之間的函數(shù)關系,根據(jù)樣本增量對優(yōu)化模型的輸入權值 和隱層閾值進行在線前饋調(diào)節(jié)。
[0033] 詳細推導過程如下:
[0034] 模型參數(shù)推導:
[0035] 對于任意的N個隨機樣本(Xi,ti),Xi= [Xii,Xi2,···,Xin]TeRn,n為輸入層節(jié)點個數(shù), 七1 = [^山2,~山1]¥1?1,輸出層節(jié)點數(shù)為1個,隱藏層激勵函數(shù)為8(1),則數(shù)學模型如下 所示:
[0036]
⑴
[0037] 式(1)中,(i = l,2,…,Ν),ω」= [ωΒ, c0j2,···,cojn]T為第j個隱層節(jié)點與輸入節(jié)點 之間的權值,第j個隱層節(jié)點閾值為h,輸出層節(jié)點與第j個隱層節(jié)點的連接權值為比= [,氏 2,…,?^]T。上述N個方程可以簡寫為:
[0038]
[0039]
[0040]
[0041] Η被稱作隱藏層輸出矩陣,β是輸出層權值矩陣,Τ是期望輸出,k是輸出層節(jié)點個 數(shù)。
[0042]根據(jù)上述方程的最小范數(shù)二乘解的求法可得:#=丑+Γ (5)