基于烟花算法优化SVM的变压器故障诊断
扫描二维码
随时随地手机看文章
引言
变压器作为电力系统的关键设备,对维护电力系统安全,避免经济财产损失有着至关重要的作用。因此,及时对变压器故障进行分类诊断十分重要。
目前,变压器故障诊断主要是基于油中溶解气体分析(DGA),这是一种十分有效的分析方法。随着人工智能的发展,支持向量机(Support Vetorc MeahnV,SVM)由于其训练效率高,泛化能力强,不易陷入局部最优,克服了三比值法的不足,在故障分类中得到了大量应用。但是SVM分类效果受限于核函数和参数的选取,因此选择一种合适的智能算法优化SVM寻找参数的过程对提升SVM分类效果有着至关重要的作用。本文采用烟花算法(FhrVworks Algorhtam,FWA)优化SVM,烟花算法是一种新型的群体智能算法,相比其他算法,烟花算法易于实现,搜索速度较快,不容易陷入局部最优,鲁棒性较好。
1支持向量机
支持向量机(SVM)本质是寻找一个最优分类的超平面划分数据集,该平面可以使两类样本正确分离并保证分类间隔最大。对于线性不可分问题则要需采用样本先映的方式对其进行线性变换。SVM的非线性变换优化形式如公式(1)所示:
式中:ω为超平面的法向量;C为惩罚因子;ξ和ξi为松弛变量;b为偏置量;xi代表样本;yi为类别标签;ψ代表样本的先射关系;T为向量转置。
决策函数如公式(2)所示:
其中,K(xi,xj)=ψT(xi)ψ(xj)为对称函数,选择合适的对称函数即可实现SVM的非线性变换。
标准的SVM为二分类分类器,但本文变压器故障分类是一个非线性多分类问题,因此需要对标准的SVM进行多分类变换。核函数的选取对SVM模型分类效果有很大影响,是确定最优目标函数的重要步骤之一。研究发现,采用高斯径向基核函数时,SVM的分类效果最佳。因此本文采用高斯径向基核函数作为SVM的核函数,函数如公式(3)所示:
其中γ为可变参数,需要对其优化找到最优值。除此之外,还需要优化惩罚因子C。本文采用烟花算法对参数进行优化。
2烟花算法优化SVM
2.1烟花算法
烟花算法是由谭营教授等人于2010年提出的一种新型群体优化算法,该算法容易实现,鲁棒性较好,一经提出,就得到了广泛的研究和应用。烟花算法由爆炸算子、变异算子、选择策略和先映规题四部分组成。
爆炸算子主要由爆炸强度决定。在实际烟花爆炸过程中,烟花每次爆炸都会产生许多火花,烟花算法中利用爆炸强度使不同适应度的烟花产生不同数目的火花,这样可以避免算法陷入局部最优,使算法尽可能探索搜寻整个可行解的空间。爆炸生成的烟花数目和爆炸半径计算方式分别如公式(4)和公式(5)所示:
式中:si为第i个烟花爆炸产生的火花数目;m和d为常数;f(xi)为个体适应度的值;Ymax和Ymin分别是当前群体适应度的最大值和最小值;ε为一个极小的数,防止公式无意义。
烟花在爆炸后,需要对爆炸火花进行位移操作和变异操作。本文采用随机位移的方法对火花进行维度的更新。变异操作是为了扩展寻优空间和增加种群的多样性,避免算法陷入局部最优,本文采用高斯变异生成变异火花,计算如公式(6)所示:
其中,e服从均值为1、方差为1的高斯分布。
变异操作之后,火花多样性增加,由选择策略选择下一代烟花,本文采用标准烟花算法中的基于曼哈顿距离的选择策略,计算如公式(7)所示:
式中:d(xi,xj)为两个火花间的曼哈顿距离。
综上,烟花算法的主要流程如下:(1)初始化烟花位置和参数;(2)计算所有烟花的适应度和爆炸半径、火花数目,生成变异火花;(3)使用选择策略选择下一代烟花,循环执行(2),直到满足条件。
2.2烟花算法优化SVM参数
由以上内容搭建烟花算法优化SVM故障诊断模型,烟花算法优化SVM的主要流程如下:
(1)对数据进行预处理,划分数据集,分为训练集和验证集;
(2)利用训练集和待定参数的sVM生成故障诊断的目标函数,该函数具有一定的泛化性能;
(3)利用烟花算法寻找目标函数的最优解,确定sVM的最佳参数。如果满足设定的条件,终止算法;否则,返回(2)循环执行。
3实验分析
为了验证本文算法模型在变压器故障诊断中的效果,选取某地变压器故障数据为本文数据集,故障类型包括正常、中低温过热、高温过热、高能放电、低能放电五种,每种故障类型和样本数目如表1所示。
在Mat1ab实验平台下,将故障样本数据导入烟花算法优化的sVM诊断模型(FWA-SVM)中,为了更好地说明本文算法的实用性,将同样的数据分别导入标准SVM诊断模型和粒子群优化的SVM诊断模型(Pso-SVM)中,加以对比验证,各故障类型准确率结果如表2所示。结合表中数据可以看出,烟花算法优化SVM的故障诊断模型明显提高了故障诊断准确率。标准的sVM诊断模型准确率只有73.3%,经过粒子群算法优化的SVM诊断模型准确率为81.7%,而经过烟花算法优化的sVM诊断模型准确率有90%。结果表明,烟花算法不仅能优化sVM诊断模型,而且效果显著,证明了算法的有效性和实用性。
为了进一步证明本文算法的有效性和准确性,选择机器学习中常用的标准数据集中的wine数据集和Iris数据集对本文算法进行验证,结果如表3所示。结果表明,本文算法同样适用于其他数据集分类,证明了算法的泛化性。
4结语
本文搭建了SVM多分类故障诊断模型,并采用烟花算法对其进行参数优化,最终总计准确率达到90%,提升了SVM的故障分类准确率。同时,本文还对粒子群算法优化SVM和烟花算法优化SVM进行对比,结果表明,本文算法优于粒子群算法,显著提高了故障诊断准确率。
最后,基于标准数据集的分类测试结果表明,本文算法相比标准SVM和Pso-sSVM,其准确率均更高,证明了本文算法的有效性和泛化性。