李玲梅 張才坤 喬冠禹
(1.洛陽師范學院食品與藥品學院 河南省洛陽市 471934 2.中國洛陽電子裝備試驗中心 河南省洛陽市 471003)
隨著生物數據規模的不斷擴大,在實驗過程中帶來的干擾因素不斷增多[1],很容易導致記錄的實驗數據錯誤。因此,亟需一種新的方法快速鑒定實驗數據結果的真偽。傳統的方法主要是通過實驗員自身對實驗數據進行甄別,針對當前實驗數據劇增,傳統方法存在經驗不足,很難在大量數據中找到錯誤的或偏差的實驗數據,同時實驗員在分析數據易出現主觀性問題等。為了克服實驗人員的主觀性錯誤,提出了基于統計分、概率分布、回歸分析的數據分析方法,這也是目前最常用的方法之一,但是這類的數據分析方法很難處理大數據量、處理效率低等缺陷。針對這一缺陷,提出了基于聚類分類的分析方法[2],如基于貝葉斯統計分析方法,但存在建立貝葉斯模型參數眾多,自學習能力和推理效率較低等問題[3]。同時,以上方法都不能處理屬性與屬性之間的相關性。神經網絡技術[4]是一種重要的機器學習技術,它類似于大腦神經結構進行信息處理的數學模型,具有逼近任意復雜非線性函數的能力,具備強大的自學習能力,能從樣本信息中獲取知識并將其以權值和閾值的形式存儲在網絡中,具有并行計算和聯想記憶的特性,具有較好的魯棒性。雖然在生物實驗過程中會有很多不確定的因素,很可能導致實驗數據是錯誤的,但是生物實驗一般具有重復性,所以實驗結果的數據會在一定的范圍內波動,符合一定的概率分布,對于錯誤的數據,即不符合實際實驗數據分布規律的數據,可以通過神經網絡根據分布規律的規則進行網絡學習,并鑒別出不符合規律的實驗數據。同時,根據屬性間的相關性函數作為神經網絡學習規則進行神經網絡訓練[5]。因此,為了提高大規模實驗數據的分析效率,提出了基于BP 神經網絡的實驗數據錯誤辨識方法。本文通過分析數據錯誤診斷機制,建立基于BP 神經網絡的實驗數據錯誤診斷模型,通過仿真案例并運用數據擬合的方法,驗證該模型的正確性和合理性,以及模型的泛化能力和抗噪聲能力。該模型為大規模實驗數據提供高效的數據辨識方法。
數據分析是根據每一屬性的實測值概率特性,分析出不在該概率分布的實驗數據。生物實驗一般都具有重復性、服從概率分布的特點。因此將服從概率分布的特點和屬性間的相關性函數作為神經網絡學習規則,然后提取特征函數,并根據特征函數進行數據辨識,并通過數據擬合的方法驗證輸出結果的正確性和合理性。數據辨識的一般流程圖如圖1所示。
人工神經網絡是根據不同的連接方式和學習規則進行分類甄別,由于人工神經網絡具有較強的適應性、學習能力和大規模并行計算能力,目前廣泛應用在模式識別、數據分析預測、優化與控制等領域。

圖1:數據辨識流程圖

圖2:BP 神經網絡結構模型示意圖

圖3:仿真結果
由于實驗數據的量級不同、屬性值得量綱不同,所以必須對數據進行處理。在此,本文對數據進行歸一化進行處理,其目的是將不同量綱和不同數量級大小的數據轉變成具有相同量綱和相同數量級的數據,在降低各數據間差異對甄別結果影響的同時,使各類數據能夠相互進行數學運算。由于生物實驗具有重復性,所以對整體實驗數據的均值無太大影響。重復的測量的次數越多,影響就越小。因此,采用中心距離法對樣本數據處理,如式(1)所示。

圖4:原始實驗數據概率分布圖

圖5:通過x1 擬合的x5 數據與x5 的真實數據分布圖

BP 神經網絡是1986年由科學家Rumelhart 和McClelland 提出的一種按照誤差逆向傳播算法訓練的多層前饋神經網絡。BP 神經網絡具有任意復雜的模式分類能力和優良的多維函數映射能力,解決了簡單感知器不能解決的異或(Exclusive OR,XOR)和一些其他問題[6]。從結構上講,BP 神經網絡具有輸入層、隱藏層和輸出層;從本質上講,BP 神經網絡就是以網絡誤差平方為目標函數,通過不斷調整和修正網絡的權值和閥值,使得網絡誤差達到最小來計算目標函數的最小值。BP 神經網絡模型結構示意圖如圖2所示。
BP 神經網絡的數據辨識步驟為:
(1)構造實驗數據矩陣Fm×n;

其中,fmn表示第m 組數據中的第n 個值;m 表示不同屬性的實驗數據組;n 表示同一屬性組測得的次數。
(2)根據式(1)將各屬性組的數據進行歸一化,獲得矩陣Am×n,構造期望矩陣Im×m。
(3)參數設置;
主要參數設置為:BP 神經網絡層數、BP 神經網絡隱含層神經元的傳遞函數、輸出層神經元傳遞函數、最小誤差、最小訓練梯度、最大訓練步長、學習訓練算子、最小閾值、屬性之間的關系或關系函數。
(4)構造期望矩陣In×n,一般情況是單位矩陣,并計算矩陣Am×n與矩陣In×n之間的矢量差,逐層調整神經網絡的權值。

表1:原始數據表

表2:p1、p2 實驗數據

表3:噪聲測試結果
(5)重復步驟(4),直到滿足最小閾值為止,對小于閾值的數據置0,否則置1,輸出辨識矩陣Qm×n。(6)根據辨識矩陣Qm×n,確定原始數據的錯誤數據。
以某一生物實驗測得的數據為例進行仿真分析,該實驗對12個屬性進行實驗測試,并重復40 次實驗記錄,其中測試的原始數據如表1所示。其中,屬性x1與x5是正相關;屬性x6與x10是正相關;屬性x3與x11是負相關。
仿真過程中參數設置為:
(1)BP 神經網絡設置為3 層。

圖6:通過x3 擬合的x11 數據與x11 的真實數據分布圖

圖7:通過x6 擬合的x10 數據與x10 的真實數據分布圖

圖8:p1、p2 數據辨識結果
(2)隱含層神經元的傳遞函數為:

(3)輸出層神經元傳遞函數采用線性激活函數y=x。
(4)最小均方誤差為1×10-8,最小訓練梯度為1×10-20,最大訓練步長為1000,最小閾值為1×10-4。
(5)學習訓練采用Levenberg-Marquardt 算法[7]。該方法是非線性回歸中回歸參數最小二乘估計的一種估計方法,是將最速下降法和泰勒級數結合的一種法法,能夠快速尋找到最優值。該方法是通過求di的最優解來獲取搜索方向:

(6)期望矩陣如式(5)所示。

仿真環境:
(1)計算機配置為:CPU 為i5-8250U 8G 內存 64 位windows 7 系統。
(2)仿真軟件為:Anaconda 3。
(3)編譯器為:Spyder 4。
(4)仿真語言為:python 3.7 語言。
由表1 的實驗數據構造矩陣F40×12,其中f_i_j 表示F 矩陣中第i 行第j 列的數據,經過數據處理后獲取歸一化矩陣A40×12。然后,經過BP 神經網絡訓練后,通過辨識矩陣Q40×12輸出仿真結果,如圖3所示。
由仿真運行結果可知,本文所提的基于BP 神經網絡的實驗數據辨識方法是可行的。
為了證明該模型運行的結果是正確的,在此根據生物實驗數據的概率分布特性,對12 個屬性的40 組數據進行概率分布分析,其中概率分布如圖4所示。
由圖4 分析可知,數據f_18_1 不符合x1 屬性的概率分布特征,x1 的概率分布;數據f_31_2 不符合x2 屬性的概率分布特征,x2的概率分布;f_3_3 不符合x3屬性的概率分布特征,x3 的概率分布;f_5_7 不符合x7 屬性的概率分布特征,x7 的概率分布;f_36_10 不符合x10 屬性的概率分布特征,x10 的概率分布。所以可以確定這五個實驗數據是測試錯誤的數據。
由基于BP 神經網絡的實驗數據辨識結果可知,也分析出了f_18_1、f_31_2、f_3_3、f_5_7、f_36_10 這五個錯誤的實驗數據。所以本文所提的方法能夠辨別出不服從概率分布特性的錯誤數據。

圖9:x4 和數據p_1_4 的概率分布圖
為了驗證仿真結果分析出其他數據是否是錯誤的,在此根據遺傳規劃的擬合方法[23]對屬性x1與x5的相關性進行擬合。通過表1中的x1和x5這兩列數據獲取的擬合函數為:

以x1數據,通過式(6)計算x5的擬合值,并與表1 中x5列的實驗值比較,如圖5所示。
根據圖5 分析可知,分析出f_4_5、f_7_5、f_18_5 不符合擬合函數(6)的關系,其中f_4_5、f_7_5 數據與f_4_1、f_7_1 是不符合正相關;f_18_5 錯誤的原因是因為f_18_1 是錯誤數據,導致f_18_5 數據的正確性無法確定。f_4_1、f_7_1、f_4_5、f_7_5 這四個數據錯誤的的原因很可能因為實驗過程的干擾因素導致實驗數據結果的偏差。所以,這六個數據的可信性較低。
同理,根據屬性x3與x11兩列數據擬合的函數為:

以x3數據,通過式(7)計算x11的擬合值,并與表1 中x11列的實驗值比較,如圖6所示。
根據圖6 分析可知,分析出f_3_11、f_14_11 不符合擬合函數(7)的關系,其中f_14_11 數據與f_14_3 是不符合負相關;f_3_11 錯誤的原因是因為f_3_3 是錯誤數據,導致f_3_11 數據的正確性無法確定。所以,這四個數據的可信性較低。
同理,根據屬性x6與x10兩列數據擬合的函數為:

以x6數據,通過式(8)計算x10的擬合值,并與表1 中x10列的實驗值比較,如圖7所示。
根據圖7 分析可知,分析出f_13_10、f_19_10、f_36_10 不符合擬合函數(8)的關系,其中f_13_10、f_19_10 數據與f_13_6、f_19_6 是不符合正相關;f_36_10 錯誤的原因是因為不符合概率分布,導致f_36_6 數據的正確性無法確定。所以,這六個數據的可信性較低。
綜上所述,通過概率分布與屬性相關性驗證的錯誤和偏差數據與通過本文所提方法仿真結果一致。所以本文所提的方法具有很強的數據辨識能力,同時能大大的提高數據分析效率。
驗證了本文模型具有很強的辨識能力,同時還需要驗證訓練后的模型在同類數據分析中的泛化能力(generalization ability)。這也是衡量網絡性能的重要指標。
在此,再重新測量兩組數據p1、p2,如表2所示。并將p1、p2輸入到訓練后的神經網絡中,獲得數據辨識結果如圖8所示。
通過概率分布驗證p1的第4個數據p_1_4不符合x4的概率分布,如圖9所示。同時,根據公式(7),若p2的第3 個數據p_2_3 為0.0059,那么p2的第11 個數據p_2_11 應在[7.51,7.52]范圍內。所以,數據p_2_3 與數據p_2_11 不符合公式(7)的關系。由此,證明了該模型對樣本外的數據具有良好的泛化能力。
仿真驗證了基于BP 神經網絡模型具有非常好的數據辨識能力。但是要在實際中得以應用,還必須對該模型的抗噪聲能力進行測試、分析。
對表1 中的數據按照下式(9)進行噪聲疊加。

式中,β 為噪聲幅值,β 值越大表示噪聲越大;σi表示各組數據參數的標準差;通過隨機函數randn 產生服從正態分布的隨機數,其均值為0,標準差為1。
通過式(9)對原始數據進行處理;然后經過歸一化數據處理后,輸入到基于BP 神經網絡模型中,通過疊加不同層次的噪聲,觀察其數據辨別結果與圖5 輸出的仿真結果作比對,結果如表3所示。
分析表3 中的數據可以得到以下結論:基于BP 神經網絡模型具有很好的抗噪能力;隨著噪聲幅度增加到一定程度,該模型的數據識別率有一定程度的下降。
本文通過分析實驗數據辨識機制以及對原始數據采用歸一化處理,并在此基礎上建立基于BP 神經網絡的數據分析模型。最后以某一實驗數據進行仿真分析,結果表明基于BP 神經網絡模型具有很強的數據識別能力、良好的泛化能力和很強的抗噪聲能力。通過分析表明了該法都能夠滿足實際需求,為大規模實驗數據分析與鑒別提供了參考方法。特別是針對實驗過程中受到干擾因素,導致獲取的實驗數據有偏差,該方法比其他方法更高效。