文/牛明航
在日益信息化的今天,每個鄰域都會產(chǎn)生大量的數(shù)據(jù),然而在數(shù)據(jù)采集過程中,但由于噪聲或其他因素經(jīng)常會造成采集中的數(shù)據(jù)丟失。因此如何處理丟失數(shù)據(jù),怎樣估算缺失數(shù)據(jù),一直是廣大國內(nèi)外學者關(guān)注的熱點問題。本文提出了反饋式極限學習機優(yōu)化算法,對缺失屬性進行估算填充。
極限學習機是黃廣斌教授2003年提出一個新的神經(jīng)網(wǎng)絡(luò)。這個框架是隨機選擇輸入權(quán)重的單層前饋網(wǎng)絡(luò),用Moore-Penros廣義逆分析決定輸出權(quán)重,為解決訓練時間長且容易陷入局部極值的缺點,結(jié)合最小二乘法求最優(yōu)的神經(jīng)網(wǎng)絡(luò),學習和泛化能力得到較大提升。
本文反饋式極限學習機(FELM)對極限學習機進行改進的目的是為了估值并填充不完備數(shù)據(jù)集的缺失屬性值。利用實際輸出與預(yù)測輸出之間計算得到的誤差反饋調(diào)節(jié)輸入層,填充值趨于接近缺失屬性的原值,從而準確率。改進后的網(wǎng)絡(luò)模型如圖1所示。
設(shè)神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)為X=(x1,x2,...,xn),輸出參數(shù)為Y=(y1,y2,...,yk),算法步驟。步驟如下:
步驟1 初始化網(wǎng)絡(luò)參數(shù):設(shè)置輸入權(quán)值ω以及偏置值b對網(wǎng)絡(luò)進行初始化,ω和b的初始化值取區(qū)間[-1,1]之間的隨機數(shù)。
步驟2 確定輸入向量和目標輸出向量:通過樣本離線訓練法把輸入向量和輸出向量添加進模型之中。
步驟3 確定極限學習機功能:回歸預(yù)測和分類。
步驟4 隱藏層輸出矩陣的計算:根據(jù)上述提到的介紹,利用公式(3)計算隱藏層的輸出矩陣H。
步驟5 計算輸出權(quán)值:結(jié)合輸出矩陣H以及期望輸出值根據(jù)公式(4)對輸出權(quán)重進行計算:
步驟6 誤差反饋:根據(jù)實際輸出值與預(yù)測輸出值之間的誤差,對誤差進行反饋。設(shè)預(yù)測輸出值為y,而實際輸出值為Y,誤差為E,公式如下:
步驟7 算法結(jié)束:比較求得的誤差與訓練樣本得到誤差的大小,若滿足迭代停止要求,則填充缺失的屬性值,否則重新調(diào)整填充值,返回步驟4。
2.2.1 互信息
在進行填補缺失屬性之前對數(shù)據(jù)集中屬性進行相應(yīng)的處理可以避免一些屬性的干擾,提高算法的準確率。因此本算法采用互信息作為屬性間的衡量標準,互信息公式如下:
通過互信息的計算得到相關(guān)度較高屬性,選擇相關(guān)度較高的屬性選擇完備數(shù)據(jù)作為反饋式極限學習機的訓練樣本。
2.2.2 訓練樣本的選取
保證不完整數(shù)據(jù)至少含有一個完整屬性,對于數(shù)據(jù)集中的不完備數(shù)據(jù)與任意數(shù)據(jù)的度量公式如下:
圖1:反饋式極限學習機網(wǎng)絡(luò)模型
本文提出一種估值填充不完備數(shù)據(jù)集缺失屬性的FELM算法。該算法利用互信息進行特征評估,用卡爾曼濾波思想對極限學習機進行反饋。以完整數(shù)據(jù)作為網(wǎng)絡(luò)模型的訓練樣本集,建立預(yù)測缺失屬性的反饋式極限學習機(FELM)模型,基于此網(wǎng)絡(luò)模型求得實際輸出與期望輸出之間的均誤差,以此使用誤差檢索法調(diào)整填充值,提高缺失填充值準確性。