APP下载

基于BP神经网络的生物实验数据辨识方法

2020-02-02李玲梅张才坤乔冠禹

电子技术与软件工程 2020年18期
关键词:概率分布错误神经网络

李玲梅 张才坤 乔冠禹

(1.洛阳师范学院食品与药品学院 河南省洛阳市 471934 2.中国洛阳电子装备试验中心 河南省洛阳市 471003)

1 引言

随着生物数据规模的不断扩大,在实验过程中带来的干扰因素不断增多[1],很容易导致记录的实验数据错误。因此,亟需一种新的方法快速鉴定实验数据结果的真伪。传统的方法主要是通过实验员自身对实验数据进行甄别,针对当前实验数据剧增,传统方法存在经验不足,很难在大量数据中找到错误的或偏差的实验数据,同时实验员在分析数据易出现主观性问题等。为了克服实验人员的主观性错误,提出了基于统计分、概率分布、回归分析的数据分析方法,这也是目前最常用的方法之一,但是这类的数据分析方法很难处理大数据量、处理效率低等缺陷。针对这一缺陷,提出了基于聚类分类的分析方法[2],如基于贝叶斯统计分析方法,但存在建立贝叶斯模型参数众多,自学习能力和推理效率较低等问题[3]。同时,以上方法都不能处理属性与属性之间的相关性。神经网络技术[4]是一种重要的机器学习技术,它类似于大脑神经结构进行信息处理的数学模型,具有逼近任意复杂非线性函数的能力,具备强大的自学习能力,能从样本信息中获取知识并将其以权值和阈值的形式存储在网络中,具有并行计算和联想记忆的特性,具有较好的鲁棒性。虽然在生物实验过程中会有很多不确定的因素,很可能导致实验数据是错误的,但是生物实验一般具有重复性,所以实验结果的数据会在一定的范围内波动,符合一定的概率分布,对于错误的数据,即不符合实际实验数据分布规律的数据,可以通过神经网络根据分布规律的规则进行网络学习,并鉴别出不符合规律的实验数据。同时,根据属性间的相关性函数作为神经网络学习规则进行神经网络训练[5]。因此,为了提高大规模实验数据的分析效率,提出了基于BP 神经网络的实验数据错误辨识方法。本文通过分析数据错误诊断机制,建立基于BP 神经网络的实验数据错误诊断模型,通过仿真案例并运用数据拟合的方法,验证该模型的正确性和合理性,以及模型的泛化能力和抗噪声能力。该模型为大规模实验数据提供高效的数据辨识方法。

2 数据辨识机制

数据分析是根据每一属性的实测值概率特性,分析出不在该概率分布的实验数据。生物实验一般都具有重复性、服从概率分布的特点。因此将服从概率分布的特点和属性间的相关性函数作为神经网络学习规则,然后提取特征函数,并根据特征函数进行数据辨识,并通过数据拟合的方法验证输出结果的正确性和合理性。数据辨识的一般流程图如图1所示。

3 基于BP神经网络的数据辨识方法

人工神经网络是根据不同的连接方式和学习规则进行分类甄别,由于人工神经网络具有较强的适应性、学习能力和大规模并行计算能力,目前广泛应用在模式识别、数据分析预测、优化与控制等领域。

图1:数据辨识流程图

图2:BP 神经网络结构模型示意图

图3:仿真结果

3.1 数据处理

由于实验数据的量级不同、属性值得量纲不同,所以必须对数据进行处理。在此,本文对数据进行归一化进行处理,其目的是将不同量纲和不同数量级大小的数据转变成具有相同量纲和相同数量级的数据,在降低各数据间差异对甄别结果影响的同时,使各类数据能够相互进行数学运算。由于生物实验具有重复性,所以对整体实验数据的均值无太大影响。重复的测量的次数越多,影响就越小。因此,采用中心距离法对样本数据处理,如式(1)所示。

图4:原始实验数据概率分布图

图5:通过x1 拟合的x5 数据与x5 的真实数据分布图

3.2 基于BP神经网络的数据辨识模型

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,确定原始数据的错误数据。

4 仿真分析

4.1 仿真案例与环境

以某一生物实验测得的数据为例进行仿真分析,该实验对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 语言。

4.2 仿真运行结果

由表1 的实验数据构造矩阵F40×12,其中f_i_j 表示F 矩阵中第i 行第j 列的数据,经过数据处理后获取归一化矩阵A40×12。然后,经过BP 神经网络训练后,通过辨识矩阵Q40×12输出仿真结果,如图3所示。

由仿真运行结果可知,本文所提的基于BP 神经网络的实验数据辨识方法是可行的。

4.3 仿真结果验证

为了证明该模型运行的结果是正确的,在此根据生物实验数据的概率分布特性,对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 数据的正确性无法确定。所以,这六个数据的可信性较低。

综上所述,通过概率分布与属性相关性验证的错误和偏差数据与通过本文所提方法仿真结果一致。所以本文所提的方法具有很强的数据辨识能力,同时能大大的提高数据分析效率。

4.4 模型的泛化能力分析

验证了本文模型具有很强的辨识能力,同时还需要验证训练后的模型在同类数据分析中的泛化能力(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)的关系。由此,证明了该模型对样本外的数据具有良好的泛化能力。

4.5 模型的抗噪声能力分析

仿真验证了基于BP 神经网络模型具有非常好的数据辨识能力。但是要在实际中得以应用,还必须对该模型的抗噪声能力进行测试、分析。

对表1 中的数据按照下式(9)进行噪声叠加。

式中,β 为噪声幅值,β 值越大表示噪声越大;σi表示各组数据参数的标准差;通过随机函数randn 产生服从正态分布的随机数,其均值为0,标准差为1。

通过式(9)对原始数据进行处理;然后经过归一化数据处理后,输入到基于BP 神经网络模型中,通过叠加不同层次的噪声,观察其数据辨别结果与图5 输出的仿真结果作比对,结果如表3所示。

分析表3 中的数据可以得到以下结论:基于BP 神经网络模型具有很好的抗噪能力;随着噪声幅度增加到一定程度,该模型的数据识别率有一定程度的下降。

5 结论

本文通过分析实验数据辨识机制以及对原始数据采用归一化处理,并在此基础上建立基于BP 神经网络的数据分析模型。最后以某一实验数据进行仿真分析,结果表明基于BP 神经网络模型具有很强的数据识别能力、良好的泛化能力和很强的抗噪声能力。通过分析表明了该法都能够满足实际需求,为大规模实验数据分析与鉴别提供了参考方法。特别是针对实验过程中受到干扰因素,导致获取的实验数据有偏差,该方法比其他方法更高效。

猜你喜欢

概率分布错误神经网络
在错误中成长
离散型概率分布的ORB图像特征点误匹配剔除算法
神经网络抑制无线通信干扰探究
关于概率分布函数定义的辨析
基于概率分布的PPP项目风险承担支出测算
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
依赖于时滞概率分布的不确定细胞神经网络的鲁棒稳定性
基于支持向量机回归和RBF神经网络的PID整定
《错误》:怎一个“美”字了得