文/牛明航
在日益信息化的今天,每個鄰域都會產生大量的數據,然而在數據采集過程中,但由于噪聲或其他因素經常會造成采集中的數據丟失。因此如何處理丟失數據,怎樣估算缺失數據,一直是廣大國內外學者關注的熱點問題。本文提出了反饋式極限學習機優化算法,對缺失屬性進行估算填充。
極限學習機是黃廣斌教授2003年提出一個新的神經網絡。這個框架是隨機選擇輸入權重的單層前饋網絡,用Moore-Penros廣義逆分析決定輸出權重,為解決訓練時間長且容易陷入局部極值的缺點,結合最小二乘法求最優的神經網絡,學習和泛化能力得到較大提升。
本文反饋式極限學習機(FELM)對極限學習機進行改進的目的是為了估值并填充不完備數據集的缺失屬性值。利用實際輸出與預測輸出之間計算得到的誤差反饋調節輸入層,填充值趨于接近缺失屬性的原值,從而準確率。改進后的網絡模型如圖1所示。
設神經網絡的輸入參數為X=(x1,x2,...,xn),輸出參數為Y=(y1,y2,...,yk),算法步驟。步驟如下:
步驟1 初始化網絡參數:設置輸入權值ω以及偏置值b對網絡進行初始化,ω和b的初始化值取區間[-1,1]之間的隨機數。
步驟2 確定輸入向量和目標輸出向量:通過樣本離線訓練法把輸入向量和輸出向量添加進模型之中。
步驟3 確定極限學習機功能:回歸預測和分類。
步驟4 隱藏層輸出矩陣的計算:根據上述提到的介紹,利用公式(3)計算隱藏層的輸出矩陣H。

步驟5 計算輸出權值:結合輸出矩陣H以及期望輸出值根據公式(4)對輸出權重進行計算:

步驟6 誤差反饋:根據實際輸出值與預測輸出值之間的誤差,對誤差進行反饋。設預測輸出值為y,而實際輸出值為Y,誤差為E,公式如下:

步驟7 算法結束:比較求得的誤差與訓練樣本得到誤差的大小,若滿足迭代停止要求,則填充缺失的屬性值,否則重新調整填充值,返回步驟4。
2.2.1 互信息
在進行填補缺失屬性之前對數據集中屬性進行相應的處理可以避免一些屬性的干擾,提高算法的準確率。因此本算法采用互信息作為屬性間的衡量標準,互信息公式如下:

通過互信息的計算得到相關度較高屬性,選擇相關度較高的屬性選擇完備數據作為反饋式極限學習機的訓練樣本。
2.2.2 訓練樣本的選取
保證不完整數據至少含有一個完整屬性,對于數據集中的不完備數據與任意數據的度量公式如下:


圖1:反饋式極限學習機網絡模型
本文提出一種估值填充不完備數據集缺失屬性的FELM算法。該算法利用互信息進行特征評估,用卡爾曼濾波思想對極限學習機進行反饋。以完整數據作為網絡模型的訓練樣本集,建立預測缺失屬性的反饋式極限學習機(FELM)模型,基于此網絡模型求得實際輸出與期望輸出之間的均誤差,以此使用誤差檢索法調整填充值,提高缺失填充值準確性。