本發(fā)明涉及一種改進的超限學(xué)習(xí)機算法,尤其是一種基于尺度變換激活函數(shù)的超限學(xué)習(xí)機的改進方法,屬于人工智能的技術(shù)領(lǐng)域。
背景技術(shù):
超限學(xué)習(xí)機(extremelearningmachine,elm)是一種單隱含層前饋神經(jīng)網(wǎng)絡(luò)(single-hiddenlayerfeedforwardneuralnetworks,slfns),僅有一個隱含層。相比較于傳統(tǒng)的bp神經(jīng)網(wǎng)絡(luò)需要多次迭代進行參數(shù)的調(diào)整,訓(xùn)練速度慢,容易陷入局部極小值,無法達到全局最小等缺點,elm算法隨機產(chǎn)生輸入層與隱含層的連接權(quán)值與偏置,且在訓(xùn)練過程中無需進行隱層參數(shù)迭代調(diào)整,只需要設(shè)置隱含層神經(jīng)元的個數(shù)以及激活函數(shù),便可以通過最小化平方損失函數(shù)得到輸出權(quán)值。此時,這個問題轉(zhuǎn)化為一個最小二乘問題,最終化為求解一個矩陣的moore-penrose問題。即:對于給定的一個訓(xùn)練的數(shù)據(jù)集{(xi,ti)|xi∈rd,ti∈rm,i=1,2,...,n},其中xi是訓(xùn)練數(shù)據(jù)向量;ti是每一個樣本的目標;d是每一個輸入樣本的特征向量維數(shù);m是總共的類數(shù)。elm的目標就是達到最小的訓(xùn)練誤差,即
這里,h是隱藏層的輸出矩陣,可以表示成
此外,β是輸出權(quán)重矩陣,t是訓(xùn)練樣本的目標矩陣,可表示為
其中,
近十年來,elm已經(jīng)吸引了大量的關(guān)注。但是仍然存在一個現(xiàn)實的問題:對于固定的隱藏層的激活函數(shù),隨機生成的未經(jīng)調(diào)整的隱藏層參數(shù)可能導(dǎo)致許多經(jīng)過隱藏層參數(shù)作用后的數(shù)據(jù)落入激活函數(shù)的飽和區(qū)域(遠離原點的區(qū)域)或者原點附近的單調(diào)區(qū)域(近似一個線性函數(shù)),從而使得泛化性能變差。其原因是對輸入數(shù)據(jù)進行變換v=w·x+b后,v的值集中在激活函數(shù)的飽和區(qū)域或者原點附近(接近于線性函數(shù))。以兩個基準圖像識別數(shù)據(jù)集(ar人臉數(shù)據(jù)集和擴展yaleb數(shù)據(jù)集)為例,使用sigmoid函數(shù)
因此,如何能夠較好地克服上述問題,提高elm的穩(wěn)健性和泛化能力顯得非常重要。
技術(shù)實現(xiàn)要素:
本發(fā)明為了克服上述存在的傳統(tǒng)的超限學(xué)習(xí)機技術(shù)中的不足,提出了一種基于尺度變換激活函數(shù)的超限學(xué)習(xí)機的改進方法(selm)。這個改進的超限學(xué)習(xí)機(即selm)使用了一種基于尺度變換的激活函數(shù),能夠根據(jù)輸入數(shù)據(jù)的分布以及隨機生成的隱藏層參數(shù)值,自適應(yīng)地調(diào)節(jié)縮放和平移參數(shù),使隱藏層數(shù)據(jù)經(jīng)過尺度變換激活函數(shù)的映射后,在輸出區(qū)間上能夠服從均勻分布,從而使得信息熵達到最大,即能夠從數(shù)據(jù)中得到更多信息,具有更穩(wěn)健的泛化性能。
按照本發(fā)明提供的技術(shù)方案,提出了一種基于尺度變換激活函數(shù)的超限學(xué)習(xí)機的改進方法,包括如下步驟:
步驟1、隨機產(chǎn)生隱藏層節(jié)點參數(shù)(w,b),
其中,wi是連接第i個隱藏層節(jié)點和輸入神經(jīng)元的輸入權(quán)重,bi是第i個隱藏層節(jié)點的偏差,l是隱藏層節(jié)點個數(shù)。
步驟2、給定一個訓(xùn)練的數(shù)據(jù)集{(xi,ti)|xi∈rd,ti∈rm,i=1,2,...,n},其中,xi是訓(xùn)練數(shù)據(jù)向量;ti是每一個樣本的目標;d是每一個輸入樣本的特征向量維數(shù);m是輸出向量的維數(shù)。
經(jīng)過隱藏層節(jié)點參數(shù)(w,b),變換所得隱藏層數(shù)據(jù)矩陣v:
步驟3、將隱藏層數(shù)據(jù)矩陣v中的n×l個元素按照從小到大的順序排列成n×l維向量vasc,即:
vasc=[v1,…,vk,…,vn×l]t公式3
步驟4、給定一個激活函數(shù)g(·),并確定隱藏層的期望輸出區(qū)間為
步驟5、將區(qū)間
步驟6、計算尺度變換參數(shù)s和t,用來調(diào)整向量vasc,使得調(diào)整后的向量經(jīng)過激活函數(shù)g(·)映射后的數(shù)據(jù)在隱藏層的期望的輸出區(qū)間
通過計算
步驟7、以尺度變換激活函數(shù)g(v,s,t)求其隱藏層的輸出矩陣h,
并求得輸出權(quán)重
步驟8、對于未知的測試樣本xp,可得到h=g(w·xp+b,s,t),進而求得輸出
所述步驟5中,隱藏層的期望輸出區(qū)間為
所述步驟6中,
6-1.首先確定下采樣向量的維度nd,求得下采樣率為
6-2.定義最大迭代步數(shù)κ和一個較小的度量誤差ε>0。
6-3.隨機定義s和t的值,通過誤差函數(shù)
6-4.由定義的s和t以及計算求得的ε,根據(jù)s和t的梯度解析形式求解對應(yīng)的
6-5.通過公式9逼近s和t的目標值:
其中η為步長。
6-6.每循環(huán)一次,迭代步數(shù)κ增加一次,ε的值也更新一次。如果迭代步數(shù)小于最大迭代步數(shù):κ<κ,或誤差函數(shù)值大于度量誤差:ε>ε則繼續(xù)重復(fù)進行步驟6-3到步驟6-5,直到跳出循環(huán),得到參數(shù)s和t的目標值,進而得到尺度變換激活函數(shù)g(s,v,t)。
本發(fā)明有益效果如下:
這種基于尺度變換激活函數(shù)的改進超限學(xué)習(xí)機能夠根據(jù)輸入數(shù)據(jù)分布和隨機生成的隱藏層參數(shù),自適應(yīng)調(diào)整縮放和平移參數(shù),最后通過尺度變換激活函數(shù)映射后,能夠使隱藏層輸出均勻的分布在期望的輸出區(qū)間內(nèi),這樣,不僅避免了未經(jīng)調(diào)整的隱藏層參數(shù)可能導(dǎo)致數(shù)據(jù)墜入激活函數(shù)飽和區(qū)域的問題,而且相比于非均勻分布的傳統(tǒng)超限學(xué)習(xí)機,能從數(shù)據(jù)中得到更多信息,具有更穩(wěn)健的泛化性能。
附圖說明
圖1為極限學(xué)習(xí)機原理圖;
圖2為selm的訓(xùn)練及測試效果圖。
圖3為本發(fā)明流程圖。
具體實施方式:
下面結(jié)合具體實施例對本發(fā)明作進一步說明。以下描述僅作為示范和解釋,并不對本發(fā)明作任何形式上的限制。
如圖1-3所示,一種基于尺度變換激活函數(shù)的超限學(xué)習(xí)機的改進方法,實現(xiàn)的過程如下:
(1)選取任意一個訓(xùn)練數(shù)據(jù)集,首先由隨機函數(shù)隨機產(chǎn)生隱藏層節(jié)點參數(shù)(w,b),
將v中的(n×l)個元素以上升序列排列成(n×l)維隱藏層數(shù)據(jù)向量vasc,
且vasc=[v1,…,vk,…,vn×l]t
并對其均勻下采樣,下采樣向量的維度為nd,得到新的向量:
(2)給定一個激活函數(shù)g(·),隱藏層的期望輸出區(qū)間為
(3)以尺度變換激活函數(shù)g(s·v+t)求其隱藏層的輸出矩陣h,
并求得輸出權(quán)重
(4)測試過程,對于未知的測試樣本xp,可得到h=g(w·xp+b,s,t),進而求得輸出