首页 / 专利库 / 电信 / 波峰因数 / 一种改进粒子群算法及其应用

一种改进粒子群算法及其应用

阅读:928发布:2020-09-09

专利汇可以提供一种改进粒子群算法及其应用专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种改进粒子群 算法 及其应用,改进粒子群算法步骤如下:(1)初始化算法;(2)随机初始化粒子的 位置 x和速度v;(3)初始化 迭代 次数t=1;(4)计算当前种群中每个粒子的适应值如果那么如果那么(5)如果适应值小于设定的最小误差ε或者达到最大迭代次数Maxiter,算法终止,否则,转向步骤(6);步骤(6)计算并更新粒子的速度和位置。(7)令迭代次数t=t+1,转向(4)。本发明改进的粒子群算法,使得在迭代初期,种群具有较大的自我学习能 力 和较小的社会学习能力,保持了种群的多样性,而在迭代后期,具有较小的自我学习能力和较大的社会学习能力,加快了种群的收敛速度。,下面是一种改进粒子群算法及其应用专利的具体信息内容。

1.一种改进粒子群算法,其步骤如下:
(1)初始化算法,包括设定种群大小N、粒子维数D、最大迭代次数Maxiter、误差精度ε,同时限定粒子的最大速度Vmax和位置Xmax;
(2)随机初始化粒子的位置x和速度v;
(3)初始化迭代次数t=1;
(4)计算当前种群中每个粒子的适应值 如果 那么 如果
那么 其中, 表示第i个粒子的适应值, 表示第i个粒子
的最优适应值, 表示第t此迭代时粒子的最优适应值, 表示第t此迭代时第i个粒子的第k维位置分量, 表示第t次迭代时最优粒子的第k维位置分量;
(5)如果适应值小于设定的最小误差ε或者达到最大迭代次数Maxiter,算法终止,否则,转向步骤(6);
(6)按公式(1)和(2)计算并更新粒子的速度和位置;若v(i,d)>Vmax,则v(i,d)=Vmax;若v(i,d)<-Vmax,则v(i,d)=-Vmax;若x(i,d)>Xmax,则x(i,d)=Xmax;若x(i,d)<-Xmax,则x(i,d)=-Xmax;其中,v(i,d)表示第i个粒子在第d维上的速度分量;x(i,d)表示第i个粒子的第d维上的位置分量;Vmax表示最大速度和Xmax表示最大位置;
Vi(t+1)=wVi(t)+c1r1[Pi-Xi(t)]+c2r2[Pg-Xi(t)] (1)
Xi(t+1)=Xi(t)+Vi(t) (2)
其中,c1和c2为正的学习因子,分别表示粒子的自我学习能和社会学习能力,也被称为加速系数,其大小分别定义了个体最优Pi和全局最优Pg方向上粒子速率大小的影响;r1和r2为0到1之间均匀分布的随机数;Pi=(Pi,1,Pi,2,…,Pi,d)表示粒子自身所搜索到的最优解,Pg=(pg,1,Pg,2,…,Pg,d)表示整个种群目前找到的最优解,t表示当前的迭代次数;w代表惯性权重,惯性权重w按公式(3)进行调整:
其中di表示的是第i个粒子到最优粒子之间的欧式距离,di的表达式如式(4)所示:
D表示每个粒子的维数。Xi,j表示第i个粒子的第j维上的位置分量,Pg,j表示第t次迭代时最优粒子的第j维位置分量;
wset是一个常数;dmax、dmin分别表示所有粒子与最优粒子的最大距离;
当 时,说明此时粒子不是当前的最优粒子,其值越小,距离越近,说明越靠近当前最优粒子;其值越大,距离越远说明距当前最优粒子越远; 是一个随着迭代次数的增加线性递减的函数,t表示当前的迭代次数,tmax表示算法的最大迭代次数;
用当前迭代中每个粒子距最优粒子的距离的平均值,即平均距离对两个学习因子进行调节,调节公式为:
其中,C是设定的一个常数, 表示所有粒子到最优粒子间的平均距离,其表达式为:
其中N表示粒子种群的个数;
dmax的表达式如式(7)所示:
dj,max为粒子第j维上的位置分量的限幅值,随着迭代次数的增加,粒子都会向最优粒子靠近,最后趋向于一点,因此 (t)与dmax的比值是逐渐较小的;学习因子c1逐渐减小,而c2则逐渐增大;
按上述步骤调节两个学习因子后,粒子最终是趋于最优解:粒子群优化方法中所有粒子位置xi最终都会收敛于(c1Pi+c2Pg)/(c1+c2),即粒子的最终位置将位于局部最优解与全局最优解的连线上;前述的c1是从设定的常数C逐渐减小到0,c2是从0逐渐增加到设定的常数C,即c1→0,c2→C,此时,粒子的位置xi最终收敛于(c1Pi+c2Pg)/(c1+c2),即整个种群目前找到的最优解Pg,如公式(8)所示:
(7)令迭代次数t=t+1,转向(4)。
2.一种基于权利要求1所述改进粒子群方法,优化BP神经网络,建立改进粒子群的BP神经网络(IPSO-BP)模型过程如下:
依据权利要求1所述,计算得到最优粒子P,最后将最优粒子的位置向量映射Pg为BP网络的权值,由此构成IPSO-BP网络模型。
3.一种将权利要求2所述的粒子群的BP神经网络(IPSO-BP)模型,用于滚动轴承故障诊断的方法,其步骤如下:
(1)信号采样:对运行状态的滚动轴承振动信号进行监听,并转换成计算机可处理的数字信号
(2)信号处理:对采样数据执行去噪预处理,得到干净信号;
(3)特征参数的选择:根据处理后的信号,计算6个时域统计特征参数,生成诊断特征:
正常特征、内圈特征、外圈特征、滚动体特征;分别提取每种状态下的20组特征,总共80组数据;其中,用每种状态下的12组共48组数据作为训练样本,用每种状态下的8组共32组数据作为测试样本;
所述的6个时域特征参数为使用统计学原理根据采集的振动信号选取的六个时域特征描述如公式(9)-(14)所示:
a范围:指的是振动信号的最大值和最小值之差。
Max(xi)-Min(xi) (9)
b均值:振动信号的平均值。
c标准偏差:
d倾斜度:
e峰值:
f波峰因数
(4)根据实验数据设定参数:实验中,设定N=40,D=50,Maxiter=150,ε=0.001,Vmax=0.5,Xmax=10,C=4;依据权利要求1计算得到粒子群中最优粒子的位置向量,将其作为BP神经网络的权值,构成权利要求2所述的IPSO-BP网络模型。采用6个统计特征参数作为BP神经网络的输入,轴承诊断类型为4种,分别为正常,内圈,外圈和滚动体,当输入神经元个数为6,输出神经元个数为4时,隐含层神经元个数为5时,网络能达到最优性能,采用6-5-4的三层IPSO-BP网络结构进行滚动轴承的故障诊断。

说明书全文

一种改进粒子群算法及其应用

技术领域

[0001] 本发明涉及一种改进粒子群算法及其应用,属于滚动轴承故障诊断和预防技术领域。

背景技术

[0002] 粒子群算法由于其需要设置的参数少、结构简单、易于实现,一经提出便受到众多研究学者的关注。所以该算法常被用来求解组合优化问题、进行神经网络的训练等。虽然人工神经网络是有用的黑箱测试方法,能够在关于底层模型没有做出任何假设的情况下逼近任意的连续函数,但是,它们遭受了局部最优解的问题,在传统的分析中找到最优解是非常困难的,同时还要求有大量的训练数据和较长的训练时间。所以,我们需要寻找一种能够实现全局最优解的方法。

发明内容

[0003] 为了解决上述存在的技术问题,本发明提供一种改进粒子群算法,并基于该算法来优化BP神经网络的权重,并将其应用于滚动轴承故障诊断中。
[0004] 本发明的目的是通过下述技术方案实现的:一种改进粒子群算法,其步骤如下:
[0005] (1)初始化算法,包括设定种群大小N、粒子维数D、最大迭代次数Maxiter、误差精度ε,同时限定粒子的最大速度Vmax和位置Xmax;
[0006] (2)随机初始化粒子的位置x和速度v;
[0007] (3)初始化迭代次数t=1;
[0008] (4)计算当前种群中每个粒子的适应值 如果 那么如果 那么 其中, 表示第i个粒子的适应值, 表示第i个
粒子的最优适应值, 表示第t此迭代时粒子的最优适应值, 表示第t此迭代时第i个粒子的第k维位置分量, 表示第t次迭代时最优粒子的第k维位置分量;
[0009] (5)如果适应值小于设定的最小误差ε或者达到最大迭代次数Maxiter,算法终止,否则,转向步骤(6);
[0010] (6)按公式(1)和(2)计算并更新粒子的速度和位置;若v(i,d)>Vmax,则v(i,d)=Vmax;若v(i,d)<-Vmax,则v(i,d)=-Vmax;若x(i,d)>Xmax,则x(i,d)=Xmax;若x(i,d)<-Xmax,则x(i,d)=-Xmax;其中,v(i,d)表示第i个粒子在第d维上的速度分量;x(i,d)表示第i个粒子的第d维上的位置分量;Vmax表示最大速度和Xmax表示最大位置;
[0011] Vi(t+1)=wVi(t)+c1r1[Pi-Xi(t)]+c2r2[Pg-Xi(t)] (1)
[0012] Xi(t+1)=Xi(t)+Vi(t) (2)
[0013] 其中,c1和c2为正的学习因子,分别表示粒子的自我学习能和社会学习能力,也被称为加速系数,其大小分别定义了个体最优Pi和全局最优Pg方向上粒子速率大小的影响;r1和r2为0到1之间均匀分布的随机数;Pi=(Pi,1,Pi,2,…,Pi,d)表示粒子自身所搜索到的最优解,Pg=(pg,1,Pg,2,…,Pg,d)表示整个种群目前找到的最优解,t表示当前的迭代次数;w代表惯性权重,惯性权重w按公式(3)进行调整:
[0014]
[0015] 其中di表示的是第i个粒子到最优粒子之间的欧式距离,di的表达式如式(4)所示:
[0016]
[0017] D表示每个粒子的维数。Xi,j表示第i个粒子的第j维上的位置分量,Pg,j表示第t次迭代时最优粒子的第j维位置分量;
[0018] wset是一个常数;dmax、dmin分别表示所有粒子与最优粒子的最大距离;
[0019] 当 时,说明此时粒子不是当前的最优粒子,其值越小,距离越近,说明越靠近当前最优粒子;其值越大,距离越远说明距当前最优粒子越远; 是一个随着迭代次数的增加线性递减的函数,t表示当前的迭代次数,tmax表示算法的最大迭代次数;
[0020] 用当前迭代中每个粒子距最优粒子的距离的平均值,即平均距离对两个学习因子进行调节,调节公式为:
[0021]
[0022] 其中,C是设定的一个常数, 表示所有粒子到最优粒子间的平均距离,其表达式为:
[0023]
[0024] 其中N表示粒子种群的个数;
[0025] dmax的表达式如式(7)所示:
[0026]
[0027] dj,max为粒子第j维上的位置分量的限幅值,随着迭代次数的增加,粒子都会向最优粒子靠近,最后趋向于一点,因此 与dmax的比值是逐渐较小的;学习因子c1逐渐减小,而c2则逐渐增大;
[0028] 按上述步骤调节两个学习因子后,粒子最终是趋于最优解:粒子群优化方法中所有粒子位置xi最终都会收敛于(c1Pi+c2Pg)/(c1+c2),即粒子的最终位置将位于局部最优解与全局最优解的连线上;前述的c1是从设定的常数C逐渐减小到0,c2是从0逐渐增加到设定的常数C,即c1→0,c2→C,此时,粒子的位置xi最终收敛于(c1Pi+c2Pg)/(c1+c2),即整个种群目前找到的最优解Pg,如公式(8)所示:
[0029]
[0030] (7)令迭代次数t=t+1,转向(4)。
[0031] 一种基于上述改进粒子群方法,优化BP神经网络,建立改进粒子群的BP神经网络(IPSO-BP)模型过程如下:
[0032] 依据权利要求1所述,计算得到最优粒子Pg,最后将最优粒子的位置向量映射为BP网络的权值,由此构成IPSO-BP网络模型。
[0033] 一种将上述的粒子群的BP神经网络(IPSO-BP)模型,用于滚动轴承故障诊断的方法,其步骤如下:
[0034] (1)信号采样:对运行状态的滚动轴承振动信号进行监听,并转换成计算机可处理的数字信号
[0035] (2)信号处理:对采样数据执行去噪预处理,得到干净信号;
[0036] (3)特征参数的选择:根据处理后的信号,计算6个时域统计特征参数,生成诊断特征:正常特征、内圈特征、外圈特征、滚动体特征;分别提取每种状态下的20组特征,总共80组数据;其中,用每种状态下的12组共48组数据作为训练样本,用每种状态下的8组共
32组数据作为测试样本;
[0037] 所述的6个时域特征参数为使用统计学原理根据采集的振动信号选取的六个时域特征描述如公式(9)-(14)所示:
[0038] a范围:指的是振动信号的最大值和最小值之差。
[0039] Max(xi)-Min(xi) (9)
[0040] b均值:振动信号的平均值。
[0041]
[0042] c标准偏差:
[0043]
[0044] d倾斜度:
[0045]
[0046] e峰值:
[0047]
[0048] f波峰因数
[0049]
[0050] (4)根据实验数据设定参数:实验中,设定N=40,D=50,Maxiter=150,ε=0.001,Vmax=0.5,Xmax=10,C=4;依据权利要求1计算得到粒子群中最优粒子的位置向量,将其作为BP神经网络的权值,构成权利要求2所述的IPSO-BP网络模型。采用6个统计特征参数作为BP神经网络的输入,轴承诊断类型为4种,分别为正常,内圈,外圈和滚动体,当输入神经元个数为6,输出神经元个数为4时,隐含层神经元个数为5时,网络能达到最优性能,采用6-5-4的三层IPSO-BP网络结构进行滚动轴承的故障诊断。
[0051] 本发明的有益效果:本发明首先针对基本粒子群算法易出现“早熟”收敛的现象,提出了改进的粒子群算法,该算法通过每个粒子与最优粒子间的距离以及粒子间的平均距离来自适应的调节惯性权重和两个学习因子。首先计算当前种群中的粒子与最优粒子的欧式距离,根据欧氏距离的大小来自适应的调节各个粒子的惯性权重,以加快粒子的收敛速度,同时,为了避免粒子群的领导者(当前最优粒子)陷入局部最优解,在每次迭代过程中赋予领导者一个适当的惯性权重;改进惯性权重时计算的欧式距离对两个学习因子进行了该进,这样做的好处是使得在迭代初期,种群具有较大的自我学习能力和较小的社会学习能力,保持了种群的多样性,而在迭代后期,具有较小的自我学习能力和较大的社会学习能力,加快了种群的收敛速度;其次,本发明将利用改进粒子群算法优化BP神经网络的权值,即将最优粒子的对应的权值作为BP神经网络的权值。这样做的好处是:改善了应用基于梯度下降法对网络的权值和阈值进行修正所存在的不足,如容易陷入局部极小值,并且迭代次数多,学习速度太慢等。最后,为了说明本发明提出的改进粒子群(IPSO)算法的有效性,分别同基本的BP算法、基本粒子群(PSO)和线性粒子群(LPSO)优化的神经网络进行了对比。实验结果表明,在进行滚动轴承故障诊断时,本文提出的IPSO-BP与传统的BP相比在收敛速度和收敛精度上都有明显提高,而PSO-BP虽然收敛速度快,但易出现“早熟”现象。LPSO-BP和本发明提出的IPSO-BP可以在很大程度上减小PSO-BP陷入局部最小的机会,并且IPSO-BP与LPSO-BP相比在收敛精度上有一定提高且平均收敛速度要比LPSO-BP快。同时,IPSO-BP比上述其它算法平均绝对误差低而且对轴承四种类型的故障诊断正确率有所提高。
附图说明
[0052] 图1是未经小波去噪的四种状态下的时域信号图。
[0053] 图2是小波去噪后的四种状态下的时域信号图。
[0054] 图3训练样本均方误差对比图。

具体实施方式

[0055] 本发明主要针对粒子群算法的这种缺陷,受精英学习算法的启示对粒子群算法中的惯性权重和学习因子进行了改进,本发明利用改进的粒子群来优化BP神经网络,将最优粒子的位置向量映射为BP神经网络的权值,构成IPSO-BP网络模型,并将其应用于滚动轴承故障诊断中。
[0056] 1.改进粒子群算法
[0057] 1.1 改进算法的基本思想
[0058] 为了克服传统的BP神经网络学习效率低、收敛速度慢,容易陷入局部最优解的缺陷,以及粒子群出现的“早熟”现象,受精英学习策略的粒子群算法的启示,对粒子群算法中的惯性权重和学习因子进行了改进。
[0059] 改进算法的基本思想是:首先计算当前种群中的粒子与最优粒子的欧式距离,根据欧氏距离的大小来自适应的调节各个粒子的惯性权重,以加快粒子的收敛速度,同时,为了避免粒子群的领导者(当前最优粒子)陷入局部最优解,在每次迭代过程中赋予领导者一个适当的惯性权重;改进惯性权重时计算的欧式距离对两个学习因子进行了改进,使得在迭代初期,种群具有较大的自我学习能力和较小的社会学习能力,保持了种群的多样性,而在迭代后期,具有较小的自我学习能力和较大的社会学习能力,加快了种群的收敛速度。
[0060] 1.2 惯性权重的改进
[0061] 惯性权重w用来平衡PSO的全局和局部的搜索能力,在PSO中起着重要的色。较大的惯性权重能促使粒子进行全局搜索但可能导致粒子飞出全局最优解;而较小的惯性权重有利于粒子进行局部搜索但极易使其陷入局部最优解。一般来说,最坏的粒子(在群体中有最差的适应值)应该有一个大的速度朝着当前最优的粒子(到目前为止发现的)移动,使自己能获得全局搜索。最优的粒子(在群体中有最好的适应值)应该有一个小的速度,以搜寻围绕自身完善的搜索解决方案。
[0062] 基于粒子群中惯性权重的重要性,受精英学习算法的启示,本文对惯性权重w按公式(3)调整:
[0063] 1.3 学习因子的改进
[0064] 除了相应的权值之外,通过适当的调节c1和c2,也可以加快粒子群的收敛速度。在优化的前期,自我学习能力较大而社会学习能力较小,能够加强全局的搜索能力,而在优化后期,赋予粒子较小的自我学习能力和较大的社会学习能力,有助于粒子收敛到全局最优解。高哲等人用当前迭代中每个粒子速度的平均值即平均速度对两个学习因子进行了改进,使得随着平均速度的减小,学习因子c1逐渐减小,c2逐渐增大。这样不但可以使各个粒子收敛于最优解,而且加快了粒子群整体的收敛速度。
[0065] 借鉴用平均速度对学习因子进行改进,本文用当前迭代中每个粒子距最优粒子的距离的平均值,即平均距离对两个学习因子进行调节,调节公式如公式(5)所示。
[0066] 1.4 改进粒子群(IPSO)算法
[0067] 改进粒子群算法步骤如下:
[0068] (1)初始化算法,包括设定种群大小N、粒子维数D、最大迭代次数Maxiter、误差精度ε,同时限定粒子的最大速度Vmax和位置Xmax。
[0069] (2)随机初始化粒子的位置和速度。
[0070] (3)初始化迭代次数t=1。
[0071] (4)计算当前种群中每个粒子的适应值 如果 那么 如果 那么
[0072] (5)如果适应值小于设定的最小误差ε或者达到最大迭代次数Maxiter,算法终止,否则,转向步骤6。
[0073] (6)按本文提出的公式(1)和(2)计算并更新每个粒子的速度和位置。若v(i,d)>Vmax,则v(i,d)=Vmax;若v(i,d)<-Vmax,则v(i,d)=-Vmax;若x(i,d)>Xmax,则x(i,d)=Xmax;若x(i,d)<-Xmax,则x(i,d)=-Xmax。
[0074] (7)令迭代次数t=t+1,转向(4)。
[0075] 2.改进粒子群的BP神经网络(IPSO-BP)模型
[0076] BP网络是一种非线性的模拟系统,在模式识别和故障诊断中有潜在的应用。传统的BP主要采用误差反向传播算法,应用基于梯度下降法对网络的权值和阈值进行修正,导致其容易陷入局部极小值,并且迭代次数多,学习速度太慢,需要不断地进行测试以确保其达到最优解。
[0077] 针对传统BP网络的不足以及神经网络的智能性主要体现在神经元之间的连接权值上,本节用提出的新的改进的粒子群(IPSO)算法优化BP神经网络的权值。每个粒子都有一个位置向量和一个速度向量,位置向量代表了神经元之间的连接权重,而速度向量主要是用来更新权值,表明在多大程度上对位置进行了更新。如果一个粒子距离当前最优粒子较远,那么它就会比其它粒子在更大程度上调整自己的位置(权值)。最后将最优粒子的位置向量映射为BP网络的权值,由此构成IPSO-BP网络模型。
[0078] 3.特征参数的选择
[0079] 目前,在滚动轴承的故障诊断中,主要有时域特征参数和频域特征参数两种类型。时域特征参数包括有量纲参数和无量纲参数两种,其中有量纲参数包括峰值、绝对平均值、均方根值、倾斜度、峭度、方根幅值等,无量纲参数包括脉冲因子、峰值因子、波形因子、欲度因子、峭度因子等。频域特征参数主要包括均方频率、均方根频率、重心频率、频率方差以及频率标准差等。
[0080] 使用统计学原理根据采集的振动信号选取的六个时域特征描述如公式(9)-(14)所示。
[0081] 4.改进粒子群神经网络的滚动轴承故障诊断算法步骤
[0082] (1)数据预处理。采集来的数据进行处理。首先对采集的数据进行小波去噪,为了满足较大的信噪比及较小的均方误差,本文经过大量的仿真研究最终选择尺度为3的db5小波进行去噪处理,并选择Stein无偏似然估计阈值(’rigrsure’)。即对故障信号执行尺度为3的db5小波分解,并选择阈值长度为3的Stein无偏似然估计阈值进行降噪处理,将小于阈值的数据置为0,大于阈值的数据保留。去噪前后变化如附图1和附图2所示。
[0083] (2)生成特征向量。用公式(9)-(14)对小波去噪后的数据进行特征提取,作为神经网络的输入向量。本文在四种状态下,分别提取每种状态下的20组特征,[0084] 总共80组数据。其中,用每种状态下的12组共48组数据作为训练样本,用每种状态下的8组共32组数据作为测试样本。
[0085] (3)根据实验数据设定参数。实验中,设定N=40,D=50,Maxiter=150,ε=0.001,Vmax=0.5,Xmax=10,C=4。依据权利要求1计算得到粒子群中最优粒子的位置向量,将其作为BP神经网络的权值,构成权利要求2所述的IPSO-BP网络模型。采用6个统计特征参数作为BP神经网络的输入,轴承诊断类型为4种,分别为正常,内圈,外圈和滚动体,根据大量实验验证,当输入神经元个数为6,输出神经元个数为4时,隐含层神经元个数为5时,网络能达到最优性能,因此采用6-5-4的三层IPSO-BP网络结构进行滚动轴承的故障诊断。
[0086] (4)对比实验。为了说明本发明提出的改进粒子群(IPSO)算法的有效性,分别同基本的BP算法、基本粒子群(PSO)和线性粒子群(LPSO)优化的神经网络应用于滚动轴承故障进行了对比。
[0087] 对训练样本进行测试,测试的均方误差变化曲线如附图3所示:
[0088] 用四种训练好的模型分别对测试样本进行测试,测试的对比结果如表1所示:
[0089] 表1 实验对比结果表
[0090]
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈