楊濤 趙可天 盛鍇 劉曉媛
摘 要:本文提出一種基于BP神經網絡決策KNN算法的缺陷尺寸反演方法,利用檢測裝置獲取的大量實驗數據驅動該算法,建立了基于BP神經網絡決策KNN算法的缺陷反演模型,改進了傳統KNN算法反演效果受K值影響較大的問題。模型可根據多頻電磁缺陷檢測裝置獲得的檢測電壓信號對缺陷尺寸預測。
關鍵詞:BP神經網絡;KNN算法;缺陷尺寸反演
中圖分類號:TP301.6 文獻標識碼:A 文章編號:1671-2064(2019)06-0018-02
0 引言
本文中用于數據分析的電磁信號是經過頻率分離之后的正弦電壓信號,提取檢測電壓信號的峰值和峰值變化檢測線圈的距離作為特征量進行缺陷尺寸的反演,用采集到的電壓信號與缺陷尺寸組成的構成總樣本集。利用KNN算法構建缺陷尺寸預測模型,當K取不同的值的時候會得到不同的反演結果,但整體反演效果不太好。針對這一問題,利用BP神經網絡對KNN算法進行改進,將反演結果中誤差小于10%的數據集作為BP神經網絡的輸入生成神經網絡模型,并將反演結果的準確率與KNN算法比較。利用KNN算法構建缺陷尺寸預測模型,當K取不同的值的時候會得到不同的反演結果,但整體反演效果不太好。
1 基于BP神經網絡-KNN算法的缺陷尺寸反演
1.1 BP神經網絡算法
1.1.1 算法介紹
BP神經網絡是按照誤差逆向傳播訓練的分類和回歸算法[1-3],其算法以負梯度作為目標方向對權值和閾值進行調節,使得訓練集中不同樣本之間的距離逐漸減小,神經網絡運行過程中,能自動的地調節神經網絡的輸入在各個隱藏層中所占的比重,對缺陷反演模型進行優化,得到較好的缺陷尺寸反演模型[4]。
BP神經網絡是一種多層前饋人工神經網絡,有輸入層、隱藏層和輸出層組成,可實現輸入到輸出的非線性映射[5]。以訓練樣本集進行神經網絡模型訓練,將檢測電壓信號特征量作為輸出缺陷的尺寸作為輸出,將實際缺陷尺寸與目標缺陷尺寸差值的平方和作為目標函數,通過調節權值大小使目標函數最優。
(7)判斷是否達到給定的停止條件,若達到條件則輸出確定好的連接權值和閾值神經網絡,若不滿足條件則重復步驟(2)和(5)直到滿足要求。
1.2 改進KNN算法缺陷反演過程
基于KNN算法的缺陷尺寸反演模型受值影響很大,反演結果準確率差異較大這一問題,提出了利用KNN算法對樣本數據集先做一個預處理,再將樣本數據集中特征量明顯的數據作為BP神經網絡算法的訓練集的方法。該算法首先利用多個不同值的KNN算法對缺陷的尺寸進行初步的反演,本文中值分別取3、5、7、9,將取不同值時反演結果中誤差小于10%的數據集作為BP神經網絡的訓練集,其中神經網絡的輸入檢測電壓信號的特征量,神經網絡的輸出為缺陷的尺寸信息。通過這種方法可以有效剔除樣本集中的特征量不明顯的數據集,用該訓練集再進行訓練得到缺陷反演的模型,從總樣本集中選出30%作為測試集,來驗證模型反演結果的準確性。將通過BP神經網絡反演得到的結果與不同值反演結果的誤差率對比分析,通過實驗結果驗證了本文提出的KNN算法對樣本數據集先做一個預處理,再將樣本數據集中特征量明顯的數據作為BP神經網絡算法的訓練集的方法的正確性,提高了反演的精度。BP-KNN算法缺陷尺寸反演過程如下:
步驟1:獲取數據集,將使用KNN算法對缺陷反演過程中取值為3、5、7、9反演誤差小于10%的數據集作為BP神經網絡的訓練集,其中神經網絡的輸入時檢測電壓信號的特征量,神經網絡的輸出是缺陷的尺寸。
步驟2:設置神經網絡的層數、權值、學習率、閾值等。基于神經網絡的缺陷尺寸反演模型為三層,分別為輸入層、隱藏層、輸出層。由于提取檢測電壓信號的特征量個數為3所以輸入層的神經節點個數為3,缺陷反演尺寸包括長、寬、深三個值,所示輸出層神經節點個數也為3。隱藏層節點個數將在步驟3中根據樣本數量和輸入輸出層神經節點個數求出,神經網絡中的權值、閾值在(0,1)范圍內隨機初始化。
步驟3:隱藏層神經元個數,隱藏層節點數可以用公式(2.8)表示。本文中輸入層的神經節點數,輸出層神經節點數,樣本數量,是一個常數,通常選擇個位數取3,計算可得隱藏層的神經節點個數為12。
(2.8)
步驟4:設置訓練樣本集,以檢測電壓信號特征量為神經網絡的輸入,以缺陷的長、寬、深等尺寸信息作為神經網絡的輸出。
步驟5:神經網絡計算權值,將輸出層輸出的缺陷長、寬、深尺寸信息與實際檢測得到的尺寸信息相比較,計算神經網絡輸出誤差,根據誤差結果自動更行連接權值與閾值。
步驟6:生成BP神經網絡模型,判斷各個神經元是否滿足輸出要求,將反演結果和實際缺陷尺寸對比,誤差小于10%則認為滿足要求則結束,生成基于BP神經網絡的缺陷尺寸反演模型,否則進入步驟3進一步訓練模型修改權值和閾值。
步驟7:從KNN測試樣本集中誤差大于10%的數據集中選取125組作為BP神經網絡的測試集,來計算反演的準確率,并與KNN算法中值取3、5、7、9時反演準確率對比。
將使用KNN算法進行缺陷尺寸反演過程中,測試集中預測誤差率小于10%的數據集,作為BP神經網絡的訓練集進行訓練,從總樣本集中取30%作為測試集進行驗證,將預測誤差率小于10%的結果定義為預測結果準確,通過BP神經網絡預測準確率與不同值KNN算法反演結果分析,驗證了BP算法對于KNN算法改進比直接使用KNN算法做缺陷尺寸反演效果更好,通過這種方法可以有效剔除樣本集中的特征量不明顯的數據集,將通過BP神經網絡反演得到的結果與不同值反演結果的誤差率對比分析,通過實驗結果驗證了本文提出的KNN算法對樣本數據集先做一個預處理,再將樣本數據集中特征量明顯的數據作為BP神經網絡算法的訓練集的方法的正確性,提高了反演的精度。
2 對比結果分析
為了驗證利用KNN算法對樣本數據集先做一個預處理,再將樣本數據集中特征量明顯的數據集作為BP神經網絡算法的訓練集這一方法的正確性,訓練集的方法為了驗證本文提出的基于BP神經網絡算法決策KNN算法的有效性,將值分別取3、5、7、9時對缺陷長、寬、深三個尺寸反演的結果與改進算法之后的結果進行對比分析。由于BP神經網絡的訓練集是通過KNN算法進行初步預測之后優選出來的,所以在樣本集選擇之初就將特征量不明顯的數據排除在外,反演結果準備率更高。將反演結果與實際結果誤差不超過10%的數據定義為準確數據。將測試樣本集中滿足誤差要求的數據占整個數據集的比例作為算法反演的準確率,最終通過準確率的對比來驗證改進算法的有效性,準確率對比如表1所示。
從表格中數據可以看出,其中對于缺陷長的反演準確率可以達到85.9%,對于缺陷寬度反演的準確率可以達到83.2%,對于缺陷深度的反演準確率可以達到76.8%,滿足要求可以實現缺陷反演檢測。
3 結語
本文以檢測電壓信號的特征量作為樣本集樣本特征,以缺陷的尺寸信息作為樣本集樣本標簽,基于KNN算法進行缺陷尺寸反演模型的建立。實驗分析中發現,K值的變動對反演結果影響較大,但整體反演結果的準確率都較低。針對這一問題,提出了一種基于BP神經網絡決策KNN算法的缺陷尺寸反演方法,將KNN反演結果中特征量明顯的數據集作為BP神經網絡的訓練集,訓練BP神經網絡反演模型,并將反演結果與KNN方法反演結果對比分析,實驗效果明顯改善。
參考文獻
[1] Hakeem M A, Kamil M. Analysis of artificial neural network in prediction of circulation rate for a natural circulation vertical thermosiphon reboiler[J]. Applied Thermal Engineering,2017,112:1057-1069.
[2] 俞慶英,李倩,陳傳明,林文詩.基于BP神經網絡的異常軌跡檢測方法研究[J/OL].計算機工程:1-9.
[3] Li W, Wu X, Jiao W, et al. Modelling of dust removal in rotating packed bed using artificial neural networks (ANN)[J]. Applied Thermal Engineering,2017,112:208-213.
[4] Wang D, Luo H, Grunder O, et al. Multi-step ahead electricity price forecasting using a hybrid model based on two-layer decomposition technique and BP neural network optimized by firefly algorithm[J]. Applied Energy,2017,190:390-407.
[5] 張彬.融合遺傳算法和BP神經網絡對基坑地表沉降預測的應用研究[J].北京測繪,2018(10):1152-1155.
[6] 魏蔚,王公寶.基于徑向基神經網絡的偵察目標意圖識別研究[J].艦船電子工程,2018,38(10):37-40.