一种基于改进PSO-BP神经网络齿轮箱故障诊断方法及装置
文献发布时间:2023-06-19 12:04:09
技术领域
本发明涉及旋转机械故障诊断技术领域,具体涉及一种基于改进PSO-BP神经网络齿轮箱故障诊断方法及装置。
背景技术
齿轮箱作为机械设备的重要部件,在机械领域中有着广泛的应用,其运行状态正常与否直接决定了整台机械设备的运行情况。齿轮箱是一个结构复杂的系统,其中不仅包含起整体支撑和密封作用的箱体,还有传递动力和运动的齿轮、轴、轴承,以及其它必要的构件等。如果齿轮箱在运行过程中产生故障问题,不仅会给生产效益带来一定的损失,而且还会对人身安全造成伤害。因此,为了保障设备正常运行和保护生命财产安全,对齿轮箱的运行状态进行及时的评价具有重要的应用价值和意义。
传统齿轮箱故障诊断方法是分析收集到的振动信号的频谱,然后通过人工或机器模式识别判断是否有故障。然而,由于齿轮箱故障的原因与征兆之间关系存在不确定性、由于季节和环境等因素也会对正确诊断产生较大影响,导致齿轮箱故障错判、漏判率较高,对设备的正常运行造成较大安全隐患。因此,研究齿轮箱故障诊断方法,对于保障设备的安全运行至关重要。
近年来,由于人工智能技术的发展步伐加快,进而促进故障诊断技术也进入一个崭新的阶段。基于人工智能的齿轮箱故障诊断技术不需要故障原因与征兆之间精确的物理模型,可以很好地解决不确定性问题。因此,进一步深入研究基于人工智能的齿轮箱故障诊断方法,提高诊断效率和准确率,对于提高安全生产效率、降低经济损失,具有重要的实际工程意义。
发明内容
本发明提供了一种基于改进PSO-BP神经网络齿轮箱故障诊断方法及装置,将改进的粒子群算法(Particle Swarm Optimization,PSO)和BP神经网络相结合,提高齿轮箱故障诊断的准确率,弥补神经网络算法在故障诊断领域存在的不足。
为实现上述目的,本发明提供了如下的技术方案:
一种基于改进PSO-BP神经网络齿轮箱故障诊断方法,具体步骤如下:
步骤1000:采集齿轮箱正常状态的振动信号以及不同故障状态下的振动信号,形成第一数据集;
步骤2000:对所述第一数据集中的数据样本打标签,形成第二数据集;
步骤3000:通过归一化方法对所述第二数据集中的数据进行归一化处理,形成第三数据集;
步骤4000:采用主成分分析法对所述第三数据集中的数据进行降维处理,形成第四数据集;
步骤5000:采用改进后的PSO算法优化BP神经网络权值和阈值,基于优化后的BP神经网络建立齿轮箱故障诊断模型;
步骤6000:利用所述优化后的BP神经网络齿轮箱故障诊断模型进行训练,得到最终的BP神经网络故障诊断模型。
优选的,所述步骤2000中,采用0、1组合来表示正常工作状态和故障状态;
优选的,所述步骤3000中,数据归一化采用Min-Max归一化方法,归一化公式为:
公式(1)中,MaxValue表示样本数据的最大值;MinValue表示样本数据的最小值;x表示样本原始数据;y表示归一化之后的数据;
所述步骤4000中,采用主成分分析法对第三数据集中的数据进行降维处理,进一步包括以下步骤:
步骤4100:齿轮箱第三数据集中的n个样本,每个样本测得m个属性,将这n×m个数据构成矩阵X:
可知X
步骤4200:根据公式(2)和(3)计算每个样本各个特征属性的均值和标准差:
公式(2)中
公式(3)中s
步骤4300:根据公式(4)求解标准化矩阵:
公式(4)中z
步骤4400:根据公式(5)求解相关系数矩阵R=(r
公式(5)中s
步骤4500:求解特征值及特征向量:由特征方程|λE-R|=0(其中E为单位矩阵)求出相关系数矩阵R的特征值由大到小排序λ
步骤4600:降维:按照方差累计贡献率
公式(6)中z
所述步骤5000中,进一步包括以下步骤:
步骤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(x
公式(9)中,训练误差MSE为神经网络的实际输出和期望输出的均方误差,MSE表达式如公式(10)所示:
公式(10)中,n为训练样本总数;c为输出层第L层的神经元节点数;
步骤5050:如果该粒子当前的适应度值优于其历史最优值,用当前位置替代历史最优值,作为个体极值;
步骤5060:如果该粒子的历史最优值优于全局最优值,用该粒子的历史最优值替代全局最优值,作为全局极值;
步骤5070:迭代更新,根据公式(11)、公式(12)更新所有粒子位置和速度,并检查粒子速度和位置是否超出设置范围,如果超出范围,则用边界值作为粒子的速度和位置;
x
公式(11)中,t表示当前迭代的次数;x
v
公式(12)中,v
公式(13)中,w为粒子群算法的惯性权重;w
步骤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神经网络的初始权值和阈值,当实际输出与期望输出不符时,进入误差的反向传播阶段,误差通过输出层,以网络误差最小为目标函数,按照误差梯度下降的方式不断调整各层权值,当达到最小误差或神经网络的最大训练次数,选取此时的权值和阈值,算法结束。
一种基于改进PSO-BP神经网络齿轮箱故障诊断装置,具体包括:
数据采集模块:用于齿轮箱数据振动信号数据的采集,获得第一数据集;
数据处理模块:用于根据所述数据采集模块获得的第一数据信息进行数据预处理操作,具体包括对数据进行标签处理、数据归一化处理、主成分分析降维处理,最终获得第四数据集;
训练模块:用于建立基于改进PSO-BP神经网络故障诊断模型,通过所述第四数据集中的训练集训练基于改进PSO-BP神经网络模型,再通过所述第四数据集中的验证集验证所述基于改进PSO-BP神经网络故障诊断模型的准确性;
故障诊断模块:对齿轮箱振动实时检测数据进行预处理后得到数据样本,将所述数据样本输入训练后的基于改进PSO-BP神经网络故障诊断模型,最终得到齿轮箱故障诊断结果。
优选的,一种基于改进PSO-BP神经网络齿轮箱故障诊断装置,其特征在于,所述数据采集模块,通过在齿轮箱内安装多个传感器,通过多个传感器对齿轮箱齿轮不同的部位进行振动信号进行采样,每个传感器测得一种故障模式的一个特征,经过多次信号采集,获得第一数据集。
与现有技术相比,本发明的有益效果是:
本发明采用一种基于权重指数变化和粒子扰动策略的粒子群算法优化BP神经网络权值和阈值,解决了因神经网络算法全局寻找最优权值和阈值能力不强,而导致收敛速度慢、故障诊断准确率不高的问题,为齿轮箱故障诊断提供了一种基于人工智能的新方法,提高安全生产效率和降低经济损失。
附图说明
图1是基于改进PSO-BP神经网络齿轮箱故障诊断方法流程图;
具体实施方式
为了更清楚地理解本发明的上述方案,下面结合附图对本发明进行进一步的详细描述。需要说明的是,此处所描述的具体实施仅用于解释本申请,并不用于限定本申请。
图1是本发明一种基于改进PSO-BP神经网络齿轮箱故障诊断方法流程图,具体步骤如下:
步骤1000:采集齿轮箱正常状态的振动信号以及不同故障状态下的振动信号,形成第一数据集;
步骤2000:对所述第一数据集中的数据样本打标签,形成第二数据集;
步骤3000:通过归一化方法对所述第二数据集中的数据进行归一化处理,形成第三数据集;
步骤4000:采用主成分分析法对所述第三数据集中的数据进行降维处理,形成第四数据集;
步骤5000:采用改进后的PSO算法优化BP神经网络权值和阈值,基于优化后的BP神经网络建立齿轮箱故障诊断模型;
步骤6000:利用所述优化后的BP神经网络齿轮箱故障诊断模型进行训练,得到最终的BP神经网络故障诊断模型。
具体的,所述步骤1000中,所得第一数据集是一个n×m的矩阵,其中,n为所测数据的样本数,m是传感器个数;
具体的,所述步骤2000中,采用0、1组合来表示正常工作状态和故障状态;
具体的,所述步骤3000中,数据归一化采用Min-Max归一化方法,归一化公式为:
公式(1)中,MaxValue表示样本数据的最大值;MinValue表示样本数据的最小值;x表示样本原始数据;y表示归一化之后的数据;
所述步骤4000中,采用主成分分析法对第三数据集中的数据进行降维处理,进一步包括以下步骤:
步骤4100:齿轮箱第三数据集中的n个样本,每个样本测得m个属性,将这n×m个数据构成矩阵X:
可知X
步骤4200:根据公式(2)和(3)计算每个样本各个特征属性的均值和标准差:
公式(2)中
公式(3)中s
步骤4300:根据公式(4)求解标准化矩阵:
公式(4)中z
步骤4400:根据公式(5)求解相关系数矩阵R=(r
公式(5)中s
步骤4500:求解特征值及特征向量:由特征方程|λE-R|=0(其中E为单位矩阵)求出相关系数矩阵R的特征值由大到小排序λ
步骤4600:降维:按照方差累计贡献率
公式(6)中z
具体的,所述步骤5000中,用改进之后的PSO优化BP神经网络就是用改进后的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(x
公式(9)中,训练误差MSE为神经网络的实际输出和期望输出的均方误差,MSE表达式如公式(10)所示:
公式(10)中,n为训练样本总数;c为输出层第L层的神经元节点数;
步骤5050:如果该粒子当前的适应度值优于其历史最优值,用当前位置替代历史最优值,作为个体极值;
步骤5060:如果该粒子的历史最优值优于全局最优值,用该粒子的历史最优值替代全局最优值,作为全局极值;
步骤5070:迭代更新,根据公式(11)、公式(12)更新所有粒子位置和速度,并检查粒子速度和位置是否超出设置范围,如果超出范围,则用边界值作为粒子的速度和位置;
x
公式(11)中,t表示当前迭代的次数;x
v
公式(12)中,v
公式(13)中,w为粒子群算法的惯性权重;w
步骤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神经网络的初始权值和阈值,当实际输出与期望输出不符时,进入误差的反向传播阶段,误差通过输出层,以网络误差最小为目标函数,按照误差梯度下降的方式不断调整各层权值,当达到最小误差或神经网络的最大训练次数,选取此时的权值和阈值,算法结束。
一种基于改进PSO-BP神经网络齿轮箱故障诊断装置,具体包括:
数据采集模块:用于齿轮箱数据振动信号数据的采集,获得第一数据集;
数据处理模块:用于根据所述数据采集模块获得的第一数据信息进行数据预处理操作,具体包括对数据进行标签处理、数据归一化处理、主成分分析降维处理,最终获得第四数据集;
训练模块:用于建立基于改进PSO-BP神经网络故障诊断模型,通过所述第四数据集中的训练集训练基于改进PSO-BP神经网络模型,再通过所述第四数据集中的验证集验证所述基于改进PSO-BP神经网络故障诊断模型的准确性;
故障诊断模块:对齿轮箱振动实时检测数据进行预处理后得到数据样本,将所述数据样本输入训练后的基于改进PSO-BP神经网络故障诊断模型,最终得到齿轮箱故障诊断结果。
优选的,所述数据采集模块,通过在齿轮箱内安装多个传感器,通过多个传感器对齿轮箱齿轮不同的部位进行振动信号进行采样,每个传感器测得一种故障模式的一个特征,经过多次信号采集,获得第一数据集。
本发明提供的另一个实施例,采用QPZZ-II.旋转机械振动分析及故障诊断试验平台系统对齿轮箱数据进行采集,此系统可以对工作中此轮箱齿轮的振动信号进行提取和分析,进而得到反应齿轮状态的数据集合。数据的采集方法是用多个传感器对齿轮箱齿轮不同的部位进行采样,采样频率为2000×2.56hz,传感器的数量是9个。
9个传感器编号分别为CH1到CH8、TACH1,9个传感器后面的文字说明是每一个传感器测得一个故障模式下一个特征的含义,即一个故障数据集里的一个列数据所表示的含义:
1---TACH1 转速,光电,每周1个脉冲
2---CH1 输入轴X方向位移
3---CH2 Y方向位移
4---CH3 加速度输入轴电机侧轴承Y
5---CH4 加速度输出轴电机侧轴承Y
6---CH5 加速度输入轴负载侧轴承Y
7---CH6 加速度输出轴负载侧轴承Y
8---CH7 加速度输出轴负载侧轴承X
9---CH8 磁电式速度输出轴负载侧轴承X
所述的9个传感器测得齿轮的四种状态模式数据,每个传感器测得一种故障模式的一个特征,因此每个故障模式数据由9个特征数据组成,原始数据集共有53248个样本数据,因此每个故障模式的原始数据用53248×9的数据矩阵表示。
本实施例诊断的四种齿轮故障(包含正常模式)包括:正常模式、磨损故障、断齿故障、点蚀故障。
对故障诊断系统进行训练时,需要把正常、磨损、点蚀、断齿四种状态的数据集矩阵合在一起,样本总数共有212992个,用数据矩阵表示即212992行9列,形成第一数据集;
根据所述步骤2000对第一数据集打标签,用于识别数据所述的故障类型,形成第二数据集;在本实施例中,采用4位0、1组合来表示四种不同的故障,故障类型所对应的标签见表1。
表1故障类型对应的标签
根据所述步骤3000对第二数据集进行归一化处理,获得第三数据集。归一化处理之后的第三数据集中所有数据分布在[0,1]区间内;
根据所述步骤4000对第三数据集进行降维处理,有5个特征累计方差贡献率超过90%,即降维后的数据集由原来的9维降到5维,形成第四数据集;
根据所述步骤5000对第四数据集进行训练。各模型参数表见表2。
表2参数表
对比了BP网络模型、PSO-BP网络模型以及本发明公开的改进PSO-BP网络模型这三种故障诊断模型的诊断效果,从训练误差、迭代次数、诊断正确率这三个方面作对比,这三种模型的性能见表3。
表3三种诊断模型性能对比
从表3中三种故障诊断模型的结果对比可知,在系统学习收敛效率方面,改进PSO-BP神经网络诊断模型在第146次迭代之后,诊断模型已经收敛到设置的精度10-
本发明公开了一种基于改进PSO-BP神经网络齿轮箱故障诊断模型,解决了因神经网络算法全局寻找最优权值和阈值能力不强,而导致收敛速度慢和故障诊断准确率不高的问题,为齿轮箱故障诊断提供了一种基于人工智能的新方法,有效提高生产效率和降低经济损失。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所做的任何修改、同等替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于改进PSO-BP神经网络齿轮箱故障诊断方法及装置
- 一种基于改进PSO-BP神经网络齿轮箱故障诊断方法及装置