基于Adaboost算法的变压器故障诊断
2018-12-08李文君子王梦沈
李文君子 王梦沈
摘 要:DGA技术能够及时探查到充油型设备在使用过程中不易发现的隐性问题,k近邻算法是一种惰性分类算法,但是单一故障诊断算法准确性无法满足实际工程需求。为了提高变压器故障诊断精确性,本文用Adaboost算法对k近邻算法进行提升,并对Adaboost算法进行延伸,从而发展出了Adaboost.M2-kNN算法,能够处理多类分类任务。试验发现利用Adaboost.M2-kNN算法能够有效提高变压器故障诊断的准确性,该方法逐步应用于工程实践中。
关键词:变压器;kNN算法;Adaboost算法;故障诊断;实例分析
DOI:10.16640/j.cnki.37-1222/t.2018.22.117
1 引言
在Boosting的基础上诞生了Adaboost算法,而Boosting的理論框架则是从机器学习模型PAC中发展而来到。由于Adaboost算法只能用来应对二分类的问题,因此本文利用Adaboost的扩展算法Adaboost.M2来解决多分类问题。
2 Adaboost.M2-kNN算法
2.1 Adaboost.M2的基本原理
Adaboost.M2属于软分类的一种形式,在输入样本(xi,yi)后,当y不等于yi时,ht弱分类器就会根据(k-1)的顺序进行询问,通过伪误差的方法来重新调整分类器。首先选择大小为m的训练集,S={(xi,yi),(x2,y2),...,(xm,ym)}进行输入,而x可以是训练空间中的任何训练例子,也可以由多种属性值组成。而y则是和x对称的类别标签。同时在每轮循环中,都要调整弱学习器,当循环到第t轮时,弱学习器就会针对训练样本D进行分类计算,从而得出弱假设ht,在进行t轮循环后,进行加权投票,能够在全部的弱假设h中得出最终结果hfin。
2.2 Adaboost.M2算法的误差
强分类器Adaboost.M2中的训练误差是:
在上列公式中,=0.5-。从公式中可以看出,当弱假设的准确率高于随机猜测时,训练的误差就会通过指数的方式快速降低,能够提升分类的准确性[1]。……
