苏瑜蓉,顾 涛
(1. 华北科技学院 安全工程学院,北京 东燕郊 065201;2. 华北科技学院 计算机学院,北京 东燕郊 065201)
农村10 kV配电网架空线路主要故障类型分为短路故障与单相接地故障两种。当发生短路故障时,能够通过系统速断来快速隔离故障区间;当发生单相接地故障时,需要根据中性点接地方式的不同采用不同的处理方式,这便对单相接地故障的判断带来了较大的影响。而及时处理单相接地故障是实现配电网线路安全的重要一环,因此需要寻找更加适合的数据分析算法来解决这种状况的发生。除此以外,绝缘子击穿、绝缘电力线的推广使用、避雷器击穿带来的单相接地故障也加大了故障识别的难度。目前针对该问题已提出小波分析法[1-4],首半波法[5],5次谐波法、群体比幅比相法等多种选线方法。其中,小波分析法在该领域应用较为广泛,但所需计算量较大,且由于能量集中频段的不同,故障产生误判的概率也较大,并不具有普适性[6];首半波法需要捕捉线路首半波波形,因此,对硬件设备要求较高,且受故障发生时刻的影响;5次谐波法中所需检测的5次谐波含量较少,在实际使用时效果并不理想[7];群体比幅比相法虽结合了零序电流幅值比较法和零序电流相位比较法使选线准确率有所提升,但仍无法满足一些特定情况下的选线准确度。以上传统选线方法都不能很好地发现单相接地故障,同时还存在着故障识别门限值低的问题,而门限值大小的设置进而影响到故障的识别效果。因此,为解决门限值大小受限问题,引入机器学习算法来解决单相接地故障分类问题,能够在一定程度上减轻故障门限值受限问题,提高故障识别准确率。将单相接地故障抽象为机器学习中的识别算法,采用高精度数据采集终端[8-9]采集的配电网线路数据,将其作为训练样本,分别使用神经网络分类算法[10-11]和基于决策树的弱学习机制分类算法[12]对单相接地故障特征向量进行训练,构建分类模型,将特征向量中非故障向量与故障向量进行分类。之后对比两种算法针对单相接地故障识别准确率的优劣以及两者针对故障门限值问题的弱化效果并分析原因。
BP神经网络是目前应用最为广泛的神经网络,其网络结构包含三层,其中输入层与输出层都为单层,只有中间的隐藏层可以是多层结构,并通过BP学习算法实现。BP学习算法可以分为正向传播和反向传播两个过程。输入信号从输入层经隐藏层传到输出层的过程即为正向传播,此时,若输出结果符合期望值,则算法结束;若输出结果与期望值之间存在误差,则将误差经原路返向传输并利用梯度下降法来调整神经元的权值和阈值,直至符合期望值,此过程即为反向传播。具体实现步骤如下:
第一步,设置初始权系数W(0)为(-1,1)区间的随机非零值;
第二步,给定输入、输出样本空间,计算网络输出。设第k组样本输入、输出分别为:
Pk=(p1k,p2k,…,pnk)
(1)
dk=(d1k,d2k,…,dqk),k=1,2,…,L
(2)
节点i在第k组样本输入时,输出为:
(3)
其中,Ijk表示在第k组样本输入时,节点i的第j个输入。f(·)取可微分的S型激发函数
(4)
由输入层经隐藏层至输出层,求得网络输出层节点的输出;
第三步,计算网络的目标函数J。设Ek为在第k组样本输入时网络的目标函数,取L2范数,则
(5)
式中,aqk(t)为在第k组样本输入时,经t次权值调整网络的输出;q是输出层第q个节点。网络的总目标函数为
(6)
作为对网络学习的状况的评价;
第四步,若
J(t)≤ε
(7)
则算法结束;否则,进行第五步。式中ε为预先确定的大于零的数。
第五步,由输出层,依据J,按“梯度下降法”反向计算,逐层调整权值。取步长为常数,可得到神经元j到神经元i的联接权t+1次调整算式:
=wij(t)+Δwij(t)
(8)
式中,η为步长。可以证明,当η<2时,学习误差收敛。具体算法如下:
(9)
设
(10)
式中,δik为第i个节点的状态xik对Ek的灵敏度。则有
(11)
分以下两种情况计算δik。
(1) 若i为输出节点,即i=q(在输出层上),由式(9)和式(10)可得:
(12)
将式(12)代入式(11)中得
(13)
(2) 若i不是输出节点,即i≠q(不在输出层上),则有
(14)
其中
(15)
(16)
由式(7)和式(10)来对式(8)的权值进行调整计算。为加快算法收敛速度,可使用改进的BP算法,即在式(8)中加入动量因子α,则有
(17)
式中,α∈(0,1),取值原则为
(18)
弱学习机集成分类是集成学习方法的一种,它通过利用多个弱学习器构建一个更强的学习器来完成学习任务,主要针对的是训练集中难以区分的样本,本质上是从错误的样本中学习正确的信息来提高其分类性能的一种算法。其代表算法是Boosting族算法,而自适应提升迭代算法(Adaptive Boosting,AdaBoost)是Boosting族算法中的一种经典算法,该算法在机器学习领域内性能突出,提出该算法的两位科学家已经在2003年分别获得理论计算机科学界最高奖‘哥德尔奖’,来表彰他们的突出贡献,算法的基本思路是:
第一步,给定训练集D={(x1,y1),(x2,y2),…,(xn,yn)},输出为{+1,-1},规定弱分类器迭代次数为m;
第二步,初始化训练样本的权重w=1/n;
第三步,对于m个分类器进行如下操作:
(1) 根据权重产生样本,训练分类器Gm(x);
(2) 计算Gm(x)的错误率,公式如下,
(19)
(3) 计算Gm(x)的权重,公式如下,
(20)
(4) 更新样本权重,公式如下,
(21)
其中,
(22)
第四步,构建最终分类器为
(23)
其中,
(24)
Adaboost算法一般采用决策树作为基分类器进行集成分类,决策树是一种用来解决分类问题的预测模型。它针对样本中包含的一些特征和标签,通过一系列的if/else判断语句逐步地将样本数据进行划分来达到最后的决策,并将这些判断规则通过树形结构的方式记录下来,这一过程也就是构建决策树的过程。此次实验中通过最大信息熵的特征进行数据划分,构建决策树最佳分支和节点。采用迭代算法,对决策树的每个分支进行信息熵大小划分,直至叶子节点划分结束。假设决策树采用二叉树结构实现。
设k节点的信息熵定义为:
(25)
其中,p(i|k)为k节点中属于类别C的样本占有节点k中的样本总数的比例。这样可以定义信息熵增益目标函数为:
(26)
其中,IG为信息熵增益;F为特征向量;Dp与Dj分别为父节点和子节点。Np和Nj分别为父节点和子节点的样本数量。确定决策树各个节点分支后,还要对节点进行减枝操作来防止出现算法对训练数据完全拟合导致针对现实数据分类能力下降的现象。
表1 单相接地部分数据特征值
续表
根据上述实际测量计算得到的10kV架空线路状态数据,构建单相接地故障分类模型。实验使用Intel Core i7的2.8 GHz处理器计算机,利用Python的sklearn模块完成算法设计。将采集样本数据以7∶3的比例分为训练集与测试集,用于二分类问题,判断是否发生单相接地故障,进而对两种算法进行评估,找出更适用于分析单相接地故障的分类模型。
将故障特征向量与非故障特征向量通过BP神经网络算法进行分类预测,构建3层神经网络,其中输入层包含2个神经元,隐藏层设定为一层,其中包含100个神经元,输出层包含2个神经元,在进行分类算法时设置权重优化求解器为准牛顿方法族的优化器,最大迭代次数为200,通过BP神经网络得出预测值,并结合实际测量结果对比分析得出最终结果。
在相同硬件设备下,采用弱学习机分类算法进行单相接地故障判断,选择决策树作为基分类器,根据10 kV架空线路实际运行状态常规分析流程,10 kV架空线路运行状态可通过如图1所示的决策模型进行描述。
图1 10 kV架空线路决策模型
在决策树的模型构建中,采用最大信息熵特征对数据进行划分,根据决策模型规定了树的最大深度为3,模型拟合后使用fraphviz软件将决策树模型进行可视化输出,得到如图2所示的包含节点熵的分类决策树结构图。从决策树结构图中可以看出,在针对前三层的数据划分中,决策树模型在每一层划分出的两类数据都有一支数据信息熵为0,这表明决策树针对前三层的特征划分条件能够很容易地将数据进行分类,同时对照图1中的决策模型可以看出,针对“架空线路是否有电”,“电网运行有无故障”以及“是否为短路故障或接地故障”中“是否为短路故障”的数据在实际情况中都很容易进行区分,故可以将这些分支剪去,只保留对“是否为单相接地故障”的判断。因此,在进行弱学习集成分类模型的构建中,对于基分类器决策树的构建,规定决策树的最大深度为1,能够更好地防止由于模型过于依赖训练集样本而导致分类性能下降的现象。
图2 分类决策树结构图
针对基分类器迭代次数的确定,将参数n_estimators选定在区间[10,1000]进行优化,并将n_estimators=10,n_estimators=500,n_estimators=1000的分类结果展示如图3(a)(b)(c)所示。从三张分类图中能够明显看出,当n_estimators=10时的分类效率和分类效果都要优于n_estimators=500与n_estimators=1000,因此选定基分类器迭代次数为10进行模型构建。
图3 弱学习分类曲线图
最终,确定将信息熵作为特征选择标准,设置决策树最大深度为1,基分类器迭代次数为10,学习率为0.1,进而构建弱学习机分类模型,得出线路状态类型,并与实际数据类型进行对比分析得出结果。
分别利用BP神经网络算法与基于决策树的弱学习机集成分类算法对表1中的数据进行训练,与实验验证对比,使用神经网络算法得到的分类结果识别率能够达到92%以上,使用弱学习分类器的分类结果识别率能够达到99%以上,具有更强的泛化能力。
图4和图5是采用两种算法得到的接地故障分类曲线图。图4是使用BP神经网络算法得到的接地故障分类曲线图,从图中能够看出,其分类界面为弧形曲线,能够将样本空间中所有样本进行正确分类。图5是使用决策树弱学习机制进行分类得到的接地故障分类曲线,对比图4中的分类曲线可以明显看出图5中的分类曲线已经从弧形曲线转变为矩形线,在对所有样本进行正确分类的基础上,具有更好的泛化能力。
图4 神经网络分类曲线
图5 弱学习分类曲线
模型训练完成后,继续采集新的测量数据组成特征向量,从特征向量中选取分布于阈值附近的特征向量,也就是分布在分类曲线周围的数据,组成新的测试样本,针对训练好的两种模型进行单相接地故障分类的测试,对比两种模型在进行易错数据分类时的分类准确率,所选测试样本数据如表2所示,结果显示采用弱学习机集成分类模型进行数据分类时能够将所有数据都进行正确分类,准确率为100%,而采用BP神经网络分类模型进行数据分析时准确率只有70%,分类准确率明显下降。
表2 阈值附近单相接地数据特征值
分析对比两种算法针对单相接地故障的分类结果来看,采用决策树弱学习机制进行故障分类能够得到更好的分类效果。从两种算法的分类曲线图以及针对阈值附近数据的测试结果能够看出,针对具有明显故障特征的测量数据两类算法都能够很好的进行分类,而对于测量数据在阈值附近的分类数据,弱学习分类器则有更好的分类效果。从公式(21)可以看出,弱学习分类算法能够针对迭代过程中分类错误的样本,也就是测量数据中接近阈值附近的数据进行权重的重新分配,使其在下次训练中得到更多的关注,减少其分类的错误率,进一步提高这类数据分类准确率,公式(20)又是根据数据的权重也就是错误率来确定基分类器的权重,这样,每个基分类器都会关注数据集中的一部分数据,最后加权投票得出分类结果。这种分类方式更加适合解决单相接地故障分类中对于门限值附近数据的分类问题,因此,对比BP神经网络算法与基于决策树的弱学习机制算法在判断单相接地故障准确率方面,基于决策树的弱学习机制算法能够得到更好的识别效果。
另外,针对构建的两种分类模型,分析其时间复杂度与空间复杂度,在不考虑激活函数的前提下,神经网络分类模型时间复杂度可记为O(m*(2*n+n))=O(m*n),空间复杂度可记为O(m*(2*n+n+n*1+1))=O(m*n),其中m为样本数量,n为隐藏层个数,即为100;弱学习分类模型时间复杂度可记为O(m*n*log(n)*d),空间复杂度可记为O(m*h),其中m为分类器迭代次数,即m=10,n为训练集中的样本数,d为特征值的个数,即d=2,h为树的最大深度,即h=1。可以看出,无论从时间复杂度或空间复杂度来说,弱学习分类器都要优于神经网络分类器。
(1) 提出将弱学习机集成分类算法应用于单相接地故障分类判决中,确定了使用相应电场下降百分比、电流上升突变值作为单相接地故障分类预测样本特征。
(2) 通过对比分析BP神经网络算法与弱学习机集成分类算法在单相接地故障中的分类结果,同时,比较两种算法的时间复杂度与空间复杂度,得出采用弱学习机集成分类算法能够更好地实现故障门限值自适应调整问题,提高单相接地故障识别的效果,具有更好的泛化能力。
(3) 弱学习机集成分类算法在单相接地故障分类问题方面具有较好的适用性,下一步将深化算法研究与设计,将弱学习机集成分类算法应用于单相接地故障识别中,进一步提高单相接地故障识别率,促进电网可靠性建设。