前言:
眼前大家对“改进灰狼算法代码”可能比较讲究,大家都想要了解一些“改进灰狼算法代码”的相关内容。那么小编同时在网摘上搜集了一些有关“改进灰狼算法代码””的相关内容,希望你们能喜欢,姐妹们快快来学习一下吧!文丨初六睡不醒
编辑丨初六睡不醒
颤振是一种复杂的非线性、非平稳的自激振动,在铣削、车削、钻削、磨削等过程中均会发生。
铣削加工由于具有高效率、高精度等优点,逐渐广泛应用于切削加工过程中,然而铣削属于断续加工,相较于其他加工方式,复杂性更强,容易发生颤振。
颤振会使切削加工的质量和效率降低,刀具和机床的工作寿命减少,因此在颤振早期阶段将其准确识别出来对于铣削加工具有重要意义。
切削颤振识别的关键在于信号特征提取的准确性与快速性,使用传感器获得的原始信号难以直观有效地体现颤振特征,需对其进行处理才能获取有效信息。
颤振早期阶段,信号冲击能量微弱,容易被噪声干扰,采用传统的时域和频域分析方法难以准确识别颤振的发生,而时频域分析能高精度地从时间和频率两方面分析信号。
变分模态分解(VMD)是一种较新的时频域分析方法,在切削颤振识别领域应用广泛。
将变分模态分解和连续小波变换结合的方法来进行颤振识别,VMD中存在分解模态个数K和惩罚因子α对分解效果影响显著。
在故障诊断方面,为了保证颤振识别的快速性和准确性,颤振识别模型需要解决小样本分类问题。
支持向量机(SVM)适用于解决小样本、非线性和高维问题,是一种常用的故障诊断方法。
SVM中存在惩罚因子和核函数参数对故障识别的结果起到十分明显的作用。顾云青等采用灰狼算法优化SVM参数并用于滚动轴承的故障诊断。
与上述算法相比,麻雀搜索算法(sparrowsearchalgorithm,SSA)收敛速度快、寻优精度高,因此本文采用SSA对VMD和SVM的关键参数进行寻优。
针对铣削颤振识别中特征提取和识别准确率问题,本文使用经SSA优化的VMD将原始信号分解得到IMF分量,并根据相关系数法筛选敏感的IMF分量从而重构信号;
提取重构信号的小波包能量熵构造特征向量矩阵输入SSA-SVM模型实现颤振识别;最后,通过铣削实验证明了本文所提方法的有效性。
麻雀搜索算法优化VMD
使用VMD分解信号需预设K和α。K值决定分解的IMF分量个数,α值决定IMF分量的带宽。
K值过大会过分解,反之会欠分解;α值过大,信号会缺失频带信息,反之会信息冗杂。
铣削颤振信号复杂多变,选择合适的K和α是VMD算法分析信号的关键所在,所以本文提出使用SSA对VMD的关键参数进行优化。
麻雀搜索算法(SSA)是一种收敛速度快、寻优精度高的启发式算法,在参数寻优问题上应用广泛。
SSA将麻雀划分成发现者、加入者与警戒者,发现者一般具有较高的适应度值,任务是为加入者提供搜索区域和方向。
加入者为了寻得足够的多的食物会追随发现者,同时不断监视发现者并可能会抢夺食物,以此保证自身的食物获取率。
警戒者的作用是侦察捕食者,发现危险后立即对全体种群发出警戒信号,使之做出保护自身安全的反捕食行为。
SSA优化VMD步骤
麻雀搜索算法对VMD的K和α寻优时要有一个合适的适应度函数,在迭代时根据适应度函数值对寻优参数进行更新。
为了能够准确搜索到VMD分解的全局最优解,以平均包络熵(averageenvelopeentropy,AEE)最小为全局优化目标。
K为本征模态分量个数,Epi为各本征模态分量的包络熵值。若信号中含有充足的颤振特征,则稀疏性较强。
包络熵可以有效反应信号的稀疏性,熵值越小则稀疏性越强。
SSA优化VMD关键参数的流程,具体步骤为:步骤1:初始化各项参数,如参数(K,α)的取值范围、发现者和警戒者的比例、示警阈值、麻雀数量、迭代次数等;
步骤2:计算寻优过程的适应度函数即平均包络熵值;步骤3:计算预警值;步骤4:更新发现者、加入者、警戒者位置;
步骤5:根据更新得到的适应度函数值来确定麻雀最优位置;步骤6:判断是否满足停止条件,满足后输出VMD的最优参数组合。
实验条件与数据分析
为验证所提算法对铣削颤振识别的实际效果,选用压电加速度传感器采集轴向变切深铣削实验的加工信号并进行分析与讨论。
在DM4600数控铣床上开展轴向变切深铣削实验,工件材料为铝合金6160,铣削加工的刀具是三齿高速钢螺旋铣刀。
该刀具的刀刃轴向长为80mm,直径为20mm。采用PCB352C33型号的压电加速度传感器,安装在主轴外壳的X、Y轴方向,采样频率设置为5120Hz,采用PXI-1042型号的采集器进行数据采集。
铣削实验的具体切削参数,在保持其它参数不变的情况下,逐渐增加铣削刀具的轴向切深,由初始的1mm切深每次增加1~25mm,得到铣削加工的稳定、孕育、爆发3种不同颤振状态的加速度时域信号。
以轴向切深为19mm时的数据为例进行验证,分别为刀具X、Y轴方向的加速度信号。
加工状态由稳定铣削向颤振加工状态转换时,加速度信号在幅值方面明显增大。截取第1~2s的X轴方向加速度信号数据进行处理并对所提方法进行验证。
首先采用EMD算法对上述的X轴方向加速度信号进行分解,EMD分解的有效IMF分量为IMF1,其余均为残差部分,分解效果极不均匀。
同时从频域图部分可知,相邻模态都发生了混叠。在其它轴向切深的EMD信号分解结果中均发现有上述现象,因此分解效果较差。
采用VMD算法同样对上述信号进行分解。如上文所述,使用SSA对VMD的K和α进行寻优,SSA的基本参数设置。
其中,k为麻雀个体的数量,M为优化参数的维度值,Z为迭代次数,L为K和α的最小值,T为K和α的最大值,ST为示警阈值,PD和SD分别为发现者和警戒者的比例。
第7次迭代时寻得的6.75236为最佳适应度即极小平均包络熵,并且此后迭代逐渐收敛,与此对应的最优参数组合(K,α)是(5,1527.72)。以此设置VMD的预设参数并对铣削信号进行分解。
信号经SSA优化的VMD分解的时频域图,通过对比,可看出经过优化后的VMD的信号分解效果明显比EMD分解效果更好,在时域上分解效果均匀。在频域上不同频率区分清晰,没有模态混叠现象。
为了准确高效地提取信号特征,采用分解后的敏感IMF分量重构原信号,相关系数可以准确界定各IMF分量和原始信号的相关性,相关系数值越大则相关性越高,分量包含原信号的故障信息越多,反之则表明该分量是噪声。
S为原信号,si为第i个频带重构的信号,cov(si,S)为si与S的协方差,s和S分别为si、S的均值,D(si)和D(S)分别为si、S的方差,n为VMD分解的层数。
一般认为:当ρ(si,S)≤0.1时表示分量信号与原信号微弱相关;0.1<ρ(si,S)≤0.5时表示分量信号与原信号实相关;
0.5<ρ(si,S)≤1时表示分量信号与原信号强相关,将相关系数阈值定为0.5,对符合标准的IMF分量选作重构信号的组成频带,表3为铣削信号经EMD和VMD分解的IMF分量的相关系数值。
在信号重构后,对信号特征进行表示是一个关键问题,在振动信号分析中,熵可以有效地对信号的不确定性和复杂度进行描述。
小波包能量熵涉及到了小波包分解以及信息熵,可以准确表征机床铣削振动信号的故障类别,提取重构信号的小波包能量熵构造特征向量矩阵用来进行铣削颤振识别。
SSA-SVM铣削颤振识别
支持向量机(SVM)是一种主流的机器学习算法,在故障状态分类上表现良好,SVM的惩罚参数C和核函数参数g决定了它的分类效果。
C越大对样本分类准确度越高,但容易产生过拟合使得泛化能力降低,反之泛化能力强,但会欠拟合。
核函数参数g越大分类效果越好,但会使模型复杂化,易造成过拟合,反之会欠拟合。
为找到合适的上述参数,同样采用SSA进行参数寻优,首先初始化参数,将测试集的平均识别准确率用作适应度函数,求得最优的麻雀位置。
对发现者、加入者、警戒者位置进行逐步更新,然后最优麻雀位置随之迭代更新,直到满足终止条件,输出寻优得到的C和g,获得最优SVM模型。
利用优化后的SVM进行颤振分类识别,在SSA图8SSA-SVM颤振识别结果SVM的训练和测试中,用数字标签代表铣削刀具的工作状态,标签1为稳定铣削;标签2为颤振孕育;标签3为颤振爆发。
为了进一步验证所提方法的优越性,分别建立EMD-SVM模型和不进行优化的VMD-SVM模型与经SSA优化的VMD-SVM模型识别结果进行比较。
3种模型的颤振识别准确率如表5所示。结果表明,3类模型中SSA-VMD-SVM模型的识别准确率最高,而EMD-SVM模型识别的误差最大,VMD-SVM模型的识别准确率介于两者之间。
针对在线颤振识别中特征提取和识别准确率问题,提出采用麻雀搜索算法优化变分模态分解和支持向量机关键参数的铣削颤振识别方法。
采用SSA算法优化VMD和SVM的关键参数,提取经SSA-VMD降噪后重构信号的小波包能量熵构造特征向量矩阵输入SSASVM中进行铣削颤振识别。
优化后的颤振识别模型准确率达到98.55%,识别结果精确分为稳定铣削,颤振孕育,颤振爆发3类,由此验证了本文所提方法的有效性。
标签: #改进灰狼算法代码