1.一种基于改进PSO‑BP神经网络齿轮箱故障诊断方法,其特征在于,包括以下步骤:步骤1000:采集齿轮箱正常状态的振动信号以及不同故障状态下的振动信号,形成第一数据集;
步骤2000:对所述第一数据集中的数据样本打标签,形成第二数据集;
步骤3000:通过归一化方法对所述第二数据集中的数据进行归一化处理,形成第三数据集;
步骤4000:采用主成分分析法对所述第三数据集中的数据进行降维处理,形成第四数据集;
步骤5000:采用改进后的PSO算法优化BP神经网络权值和阈值,基于优化后的BP神经网络建立齿轮箱故障诊断模型;
步骤6000:利用所述优化后的BP神经网络齿轮箱故障诊断模型进行训练,得到最终的BP神经网络故障诊断模型。
2.根据权利要求1所述的基于改进PSO‑BP神经网络齿轮箱故障诊断方法,其特征在于,所述步骤1000中,所得第一数据集是一个n×m的矩阵,其中,n为所测数据的样本数,m是传感器个数;
所述步骤2000中,采用0、1组合来表示正常工作状态和故障状态;
所述步骤3000中,数据归一化采用Min‑Max归一化方法,归一化公式为:公式(1)中,MaxValue表示样本数据的最大值;MinValue表示样本数据的最小值;x表示样本原始数据;y表示归一化之后的数据;
所述步骤4000中,采用主成分分析法对第三数据集中的数据进行降维处理,进一步包括以下步骤:
步骤4100:齿轮箱第三数据集中的n个样本,每个样本测得m个属性,将这n×m个数据构成矩阵X:
可知Xij(i=1,2,…,n;j=1,2,…,m)为第i个样本的第j个特征属性的取值;
步骤4200:根据公式(2)和(3)计算每个样本各个特征属性的均值和标准差:公式(2)中 为第j个属性的均值,Xij(i=1,2,…,n;j=1,2,…,m)为第(i=1,2,…,n;
j=1,2,…,k)个样本的第j个特征属性的取值,n为样本个数;
公式(3)中sj为第j个属性的标准差,Xij(i=1,2,…,n;j=1,2,…,m)为第i个样本的第j个特征属性的取值, 为第j个属性的均值,n为样本个数;
步骤4300:根据公式(4)求解标准化矩阵:公式(4)中zij构成标准化矩阵Z,sj为第j个属性的标准差,Xij(i=1,2,…,n;j=1,
2,…,m)为第i个样本的第j个特征属性的取值, 为第j个属性的均值;
步骤4400:根据公式(5)求解相关系数矩阵R=(rjk)m×m:公式(5)中sj为第j个属性的标准差,Xij(i=1,2,…,n;j=1,2,…,m)为第i个样本的第j个特征属性的取值, 为第j个属性的均值,n为样本数;
步骤4500:求解特征值及特征向量:由特征方程|λE‑R|=0(其中E为单位矩阵)求出相关系数矩阵R的特征值由大到小排序λ1>λ2>...>λm以及对应特征向量为l1,l2,...lm;
步骤4600:降维:按照方差累计贡献率 的原则确定k,从而通过取前k个主成分,得到主成分矩阵(Fij)n×k,主成分降维后的矩阵计算公式如公式(6)所示:公式(6)中zij是标准化矩阵Z的向量;
所述步骤5000中,用改进PSO算法优化BP神经网络的权值和阈值,进一步包括以下步骤:
步骤5010:确定BP神经网络的拓扑结构,该结构包括:神经网络输入层节点数m、隐含层节点数h和输出层节点数d;输入层节点数m取决于样本的特征个数;输出层节点数d取决于故障种类的数量;隐含层节点数h采用经验法和试凑法来确定合适的隐含层节点数;隐含层节点数h与输入层节点m、输出层节点数d满足公式(7)所示的函数关系:公式(7)中,m为输入层节点数(由实际的输入个数决定);h为隐含层节点数;d为输出层节点数;a为随机数,取值范围为[1,10];
步骤5020:计算粒子个体编码长度,并把粒子向量映射为神经网络的权值和阈值,其中粒子个体编码长度计算公式如公式(8)所示:Length=h×m+h+d×h+d (8)公式(8)中,m为输入层节点数;h为隐含层节点数;d为输出层节点数;
步骤5030:粒子群种群的初始化,包括初始化粒子的速度、位置、学习因子和迭代次数等;
步骤5040:神经网络输入训练样本前向传播通过公式(9)计算各个粒子适应度值:f(xi)=‑MSE (9)公式(9)中,训练误差MSE为神经网络的实际输出和期望输出的均方误差,MSE表达式如公式(10)所示:
公式(10)中,n为训练样本总数;c为输出层第L层的神经元节点数; 为第四数据集第k个训练样本输入神经网络后,输出层第j个节点的实际输出和期望输出的误差;
步骤5050:如果该粒子当前的适应度值优于其历史最优值,用当前位置替代历史最优值,作为个体极值;
步骤5060:如果该粒子的历史最优值优于全局最优值,用该粒子的历史最优值替代全局最优值,作为全局极值;
步骤5070:迭代更新,根据公式(11)、公式(12)更新所有粒子位置和速度,并检查粒子速度和位置是否超出设置范围,如果超出范围,则用边界值作为粒子的速度和位置;
xi+1(t+1)=xi(t)+vi+1(t+1) (11)公式(11)中,t表示当前迭代的次数;xi(t)表示第t次迭代第i个粒子位置;vi(t)表示第t次迭代第i个粒子速度;
vi+1(t+1)=wvi(t)+c1r1(pbesti(t)‑xi(t))+c2r2(gbest‑xi(t)) (12)公式(12)中,vi(t)表示第t次迭代第i个粒子速度;pbesti(t)表示第i个粒子第t次迭代搜索到的最优位置;gbest表示整个粒子群搜索到的最优位置;c1表示学习因子,影响着粒子的“自我学习”能力;c2表示学习因子,影响着粒子的“社会学习”能力;r1、r2是介于[0,1]之间的随机数;w见公式(13);
公式(13)中,w为粒子群算法的惯性权重;wmax为惯性权重最大值;wmin为惯性权重最小值;T为最大迭代次数;t为当前迭代次数,取值范围在wmin和wmax之间;
步骤5080:根据各个粒子的适应度值确定粒子的个体历史最优和群体历史最优;
步骤5090:根据群体历史最优的变化对算法进行“早熟”判断,如果出现“早熟”转到步骤5100,如果没有则转到步骤5110;“早熟”判断是通过引入一个是否对粒子施加扰动的评判指标ε,如果连续多次迭代中,邻近两次粒子历史最优适应度值差的绝对值都小于ε,则判断该粒子陷入“早熟”,然后对粒子施加一次扰动;
步骤5100:利用公式(14)给陷入“早熟”的粒子施加一次扰动,并转到步骤5090,其中公式(14)如下:
其中,
公式(14)中,X为粒子位置;v为粒子速度;i为粒子编号;k为当前迭代次数;N为粒子群的空间维度;μ和α为常数;m为粒子个数,abs()为求绝对值函数;公式(15)中,rand()为[0,
1]均匀分布的随机数,normrnd()为生成服从正态分布的随机数;
步骤5110:判断最小误差或最大迭代次数是否达到限定值;如果最小误差和最大迭代次数都没达到限定值,则转到步骤5070;如果最小误差没有达到要求,而粒子群迭代次数到达限定值,则转到步骤5120;
步骤5120:把粒子群优化的最优权值和阈值作为BP神经网络的初始权值和阈值,当实际输出与期望输出不符时,进入误差的反向传播阶段,误差通过输出层,以网络误差最小为目标函数,按照误差梯度下降的方式不断调整各层权值,当达到最小误差或神经网络的最大训练次数,选取此时的权值和阈值,算法结束。
3.一种采用如权利要求书1‑2任一项所述的一种基于改进PSO‑BP神经网络齿轮箱故障诊断方法的故障诊断装置,其特征在于,所述装置包括:数据采集模块:用于齿轮箱数据振动信号数据的采集,获得第一数据集;
数据处理模块:用于根据所述数据采集模块获得的第一数据信息进行数据预处理操作,具体包括对数据进行标签、数据归一化处理、主成分分析降维处理,最终获得第四数据集;
训练模块:用于建立基于改进PSO‑BP神经网络故障诊断模型,通过所述第四数据集中的训练集训练基于改进PSO‑BP神经网络模型,再通过所述第四数据集中的验证集验证所述基于改进PSO‑BP神经网络故障诊断模型的准确性;
故障诊断模块:对齿轮箱振动实时检测数据进行预处理后得到数据样本,将所述数据样本输入训练后的基于改进PSO‑BP神经网络故障诊断模型,最终得到齿轮箱故障诊断结果。
4.根据权利要求3所述的一种基于改进PSO‑BP神经网络齿轮箱故障诊断装置,其特征在于,所述数据采集模块,通过在齿轮箱内安装多个传感器,通过多个传感器对齿轮箱齿轮不同的部位进行振动信号进行采样,每个传感器测得一种故障模式的一个特征,经过多次信号采集,获得第一数据集。