[0063] 以下结合附图对本发明作进一步说明。
[0064] 如图1、图2所示,本发明提出基于平均影响值数据变换的特征加权K-近邻故障诊断方法,包括以下各步骤:
[0065] 1、依据信号的前向传播和误差的反向传播来构建BP神经网络:
[0066] 步骤(1-1)网络的初始化:
[0067] 假设输入层的节点个数为n,隐含层的节点个数为l,输出层的节点个数为m;各层节点的个数无统一的标准,一般是根据输入输出序列在经过多次实验来确定。输入层到隐含层的权重ωij,隐含层到输出层的权重为ωjk',输入层到隐含层的偏置为aj,隐含层到输出层的偏置为bk'。以上权重及偏置参数的初始化是随机的,在接下来的多次迭代中进行一次次的更新修正。学习速率为η,取[0.01,0.1]之间,激励函数g(x)的输出结果是[-1,1]或者[0,1],其中激励函数g(x)有诸多形式,本方法将其取作Sigmoid函数。形式为:
[0068]
[0069] 步骤(1-2)正向传递:有了输入和初始参数以及激活函数,一个节点的输出表示如下,对应输入乘以连接隐含层的对应权值加上阈值,最后经过激活函数得到隐含层节点的一个输出,假设系统输入为X=[x1,x2,....xn],计算表达式如下。
[0070] 隐含层节点的输入:
[0071]
[0072] 隐含层节点的输出:
[0073]
[0074] 输出节点的输出:
[0075]
[0076] 其中,;i=1,2,…,n;j=1,2,…,l;k'=1,2,…,m。
[0077] 步骤(1-3)反向传递:误差计算,我们定义损失函数(loss function)如下:
[0078]
[0079] 以上,Y为期望输出,O为实际输出,权值更新即是隐含层和输出层权值更新。其表达式如下
[0080]
[0081] 隐含层到输出层的权值更新计算:
[0082]
[0083] ωjk'=ωjk'+ηHjek ' (8)
[0084] 输出层到隐含层的权值更新计算:
[0085]
[0086]
[0087]
[0088]
[0089] 测试数据的拟合程度见图5。
[0090] 步骤(1-4)判断算法迭代是否结束,一种是迭代次数达到上限,另一种是判断相邻的两次误差之间的差别是否下月指定的值。
[0091] 2、求取数据集的各输入变量对输出的MIV,MIV是用于确定输入神经元对输出神经元影响大小的一个指标,其符号代表相关的方向,绝对值大小代表影响的相对重要性。具体计算过程如下:
[0092]
[0093]
[0094]
[0095] IVi=Oi,+-Oi,- (16)
[0096] 综上,取0.1≤δ≤0.3, 表示所有样本的第i个特征分量分别增减δ后的矩阵;表示第k'个样本数据的第i个特征分量分别增减δ后的向量;xi(k')表示第k'样本数据的第i个特征分量的值。网络训练终止后,将训练样本集 和 分别作为仿真样本利用已建成的网络进行仿真,得到两个仿真结果Oi,+和Oi,-,IVi即为样本数据中第i个变量的平均影响值。同理可求得样本数据中其他各变量的平均影响值。
[0097] IV=[IV1,IV2,…,IVn]T (17)
[0098] IV(Impact Value)中的各个参数即为样本数据中各个特征变量对输出的影响值。最后,多次仿真取m组IV值,求取其中对应特征变量IV值的平均值,记作MIV。
[0099]
[0100] MIV绝对值的大小即为各自变量对网络输出影响的相对重要性,从而实现样本数据特征的加权。
[0101] 如下表1是通过以上算法求得的输入数据的各特征变量对输出的影响值,由于BP神经网络中的部分参数是随机初始化,故造成每次计算得到的各变量的IV值不同,故采用多次计算求平均值的方式确定各个特征变量最终的MIV值。
[0102] 表1输入数据的各特征变量对输出的影响值
[0103]
[0104]
[0105] 图3为BP神经网络的测试数据在网络中经过2000次的迭代,最终的误差最小为0.14468。图4表示BP神经网络的迭代方向沿着梯度下降的方向进行,并在第2000次迭代后梯度达到0.011897。图5表示BP神经网络经过2000次迭代后的回归曲线,Output=0.63*Target+0.89。
[0106] 3、K近邻算法设计
[0107] a.训练样本中找k个近邻
[0108] 计算测试样本中每一个样本x(k'),k'=1,2,…,N,与训练样本之间的欧氏距离,并找到距离它最近的k'个样本。
[0109] di,j=||x(i)-x(j)||2,i≠j (19)
[0110] 上式中,x(i)和x(j)分别表示两个样本,i,j=1,2,…,N。
[0111] b.统计计算k个近邻中属于各类的概率
[0112]
[0113] 以上k表示k个近邻,kα表示k个近邻中属于α类的样本个数,α=1,2,…,c,其中c为样本中类别个数。
[0114] c.故障诊断
[0115] 对于一个新的样本x(k),根据式(19)计算其k个近邻;根据式(20)统计计算p(α);将p(α)从大到小排序,pmax(α)所属的类就是测试样本x(k)所属的故障类。
[0116] 4、载入UI-balance数据集进行故障诊断仿真测试
[0117] 为验证本文提出算法的有效性,我们使用UCI标准数据集中balance数据集进行对比仿真实验。其中balance数据集中有625组数据,每组数据包含4个特征(4×625),共3类,1类数据49组,2类数据288组,3类数据288组。标准化处理后,由基于MIV的BP神经网络算法进行数据特征加权。然后我们采用交叉验证的方法选取500组(80%)数据作为训练样本,用于分类器构建,剩下的125组(20%)数据作为测试样本,用于测试计算本文提出的特征加权算法对分类器性能的影响。
[0118] 样本数据特征权值(MIV)的求取过程如下:
[0119] 1)原始样本数据的标准化,按照如下方式标准化
[0120]
[0121] 2)将标准化后的数据运用基于MIV的BP神经网络进行特征变量权值求取,对神经网络的部分参数进行设置,本文将神经网络的最大迭代次数设置成2000,期望目标误差最小值设为1.0*e-5。
[0122] 针对同一标准UCI-balance数据集,分别采用普通的标准化处理和MIV-BP神经网络加权处理后,用机器学习算法中的KNN算法进行分类。表2为本算法的仿真实验结果。
[0123] 表2仿真实验结果
[0124]