基于BP神经网络决策KNN算法的缺陷尺寸反演

2019-05-08 03:16杨涛赵可天盛锴刘晓媛
中国科技纵横 2019年6期
关键词:BP神经网络

杨涛 赵可天 盛锴 刘晓媛

摘 要:本文提出一种基于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.

猜你喜欢
BP神经网络
基于神经网络的北京市房价预测研究
提高BP神经网络学习速率的算法研究