基于烟花算法优化SVM的变压器故障诊断
2021-09-10张邵杰
张邵杰
摘 要:提出了一种基于烟花算法优化支持向量机的变压器故障诊断模型。标准的支持向量机是二分类,现对其进行非线性处理及多分类变换,使其能适用于变压器故障分类。针对支持向量机参数难以确定的情况,采用烟花算法优化支持向量机,从而搭建烟花算法优化支持向量机的故障诊断模型。实验分析结果表明,所提方法的故障诊断准确率优于其他算法。最后,进一步将算法用于机器学习的其他标准数据集,证明了该算法具有泛化性。
关键词:变压器;故障诊断;支持向量机;烟花算法
0 引言
变压器作为电力系统的关键设备,对维护电力系统安全,避免经济财产损失有着至关重要的作用[1]。因此,及时对变压器故障进行分类诊断十分重要[2]。
目前,变压器故障诊断主要是基于油中溶解气体分析(DGA),这是一种十分有效的分析方法[3]。随着人工智能的发展,支持向量机(Support Vector Machine,SVM)由于其训练效率高,泛化能力强,不易陷入局部最优,克服了三比值法的不足,在故障分类中得到了大量应用[4]。但是SVM分类效果受限于核函数和参数的选取,因此选择一种合适的智能算法优化SVM寻找参数的过程对提升SVM分类效果有着至关重要的作用[5]。本文采用烟花算法(Fireworks Algorithm,FWA)优化SVM,烟花算法是一种新型的群体智能算法,相比其他算法,烟花算法易于实现,搜索速度较快,不容易陷入局部最优,鲁棒性较好。
1 支持向量机
支持向量机(SVM)本质是寻找一个最优分类的超平面划分数据集,该平面可以使两类样本正确分离并保证分类间隔最大。对于线性不可分问题,则需要先采用样本映射的方式对其进行线性变换。SVM的非线性变换优化形式如公式(1)所示:
min ?(ω,ξ)
=||ω||2+C
ξi,
s.t. yi[ωTψ(xi)+b]≥1-ξi(ξi≥0,i=1,2,…,l) (1)
式中:ω为超平面的法向量;C为惩罚因子;ξ和ξi为松弛变量;b为偏置量;xi代表样本;yi为类别标签;ψ代表样本的映射关系;T为向量转置。
决策函数如公式(2)所示:
f(x)=sign
aiyiK(xi,xj)+b (2)
其中,K(xi,xj)=ψT(xi)ψ(xj)为对称函数,选择合适的对称函数即可实现SVM的非线性变换。
标准的SVM为二分类分类器,但本文变压器故障分类是一个非线性多分类问题,因此需要对标准的SVM进行多分类变换。核函数的选取对SVM模型分类效果有很大影响,是确定最优目标函数的重要步骤之一。研究发现,采用高斯径向基核函数时,SVM的分类效果最佳。因此本文采用高斯径向基核函数作为SVM的核函数,函数如公式(3)所示:
K(xi,xj)=exp(-γ||xi-xj||2) (3)
其中γ为可变参数,需要对其优化找到最优值。除此之外,还需要优化惩罚因子C。本文采用烟花算法对参数进行优化。
2 烟花算法优化SVM
2.1 烟花算法
烟花算法是由谭营教授等人于2010年提出的一种新型群体优化算法[6],该算法容易实现,鲁棒性较好,一经提出,就得到了广泛的研究和应用[7]。烟花算法由爆炸算子、变异算子、选择策略和映射规则四部分组成。
爆炸算子主要由爆炸强度决定。在实际烟花爆炸过程中,烟花每次爆炸都会产生许多火花,烟花算法中利用爆炸强度使不同适应度的烟花产生不同数目的火花,这样可以避免算法陷入局部最优,使算法尽可能探索搜寻整个可行解的空间。爆炸生成的烟花数目和爆炸半径计算方式分别如公式(4)和公式(5)所示:
Si=m (4)
Ai=d (5)
式中:Si为第i个烟花爆炸产生的火花数目;m和d为常数;f(xi)为个体适应度的值;Ymax和Ymin分別是当前群体适应度的最大值和最小值;ε为一个极小的数,防止公式无意义。
烟花在爆炸后,需要对爆炸火花进行位移操作和变异操作。本文采用随机位移的方法对火花进行维度的更新。变异操作是为了扩展寻优空间和增加种群的多样性,避免算法陷入局部最优,本文采用高斯变异生成变异火花,计算如公式(6)所示:
i=xi×e (6)
其中,e服从均值为1、方差为1的高斯分布。
变异操作之后,火花多样性增加,由选择策略选择下一代烟花,本文采用标准烟花算法中的基于曼哈顿距离的选择策略,计算如公式(7)所示:
Pi= (7)
式中:d(xi,xj)为两个火花间的曼哈顿距离。
综上,烟花算法的主要流程如下:(1)初始化烟花位置和参数;(2)计算所有烟花的适应度和爆炸半径、火花数目,生成变异火花;(3)使用选择策略选择下一代烟花,循环执行(2),直到满足条件。