一种基于改进BP神经网络状态估计中不良数据的检测方法与流程

文档序号:16934876发布日期:2019-02-22 20:36阅读:452来源:国知局
一种基于改进BP神经网络状态估计中不良数据的检测方法与流程

本发明涉及电力系统状态估计技术领域,尤其涉及一种基于改进bp神经网络状态估计中不良数据的检测方法。



背景技术:

对电力系统状态估计中的数据进行检测和辨识是状态估计中数据处理最基本的环节,如何准确实时的对数据进行检测和辨识,是电力系统状态估计的关键所在。目前,bp神经网络已经广泛应用于数据处理领域,成为智能处理数据的基础平台。bp神经网络是一种按误差反向传播的前馈神经网络。神经网络由输入层、隐含层、输出层构成。神经网络的每一层由各层神经元的节点组成,每一个神经元节点都与上一层所有节点相连。上一层的输出数据为下一层的输入数据,原始输入数据通过隐含层计算得到输出层的输入数据,然后通过输出层计算得出输出数据。

神经网络的训练核心在于误差的反向传播过程,其目的是为了调整权值,使误差不断减小,最速下降法为传统bp神经网络的调整原则,其具体的修正公式为:

输出层权值修正公式:wjk(n+1)=wjk(n)+δwjk(n)

输出层阈值修正公式:

隐含层权值修正公式:wij(n+1)=wij(n)+δwij(n)

隐含层阈值修正公式:

然而bp神经网络训练时间过长,训练结果不易收敛,对状态估计中的数据进行处理仍然存在着不小的难题。

目前传统bp神经网络主要存在三个缺点,首先,传统的激活函数为sigmoid函数,当输入量过小时,调整容易进入一个饱和区,使得更新缓慢,甚至没有更新;其次,参数调整量的计算精度比较低,收敛速度也比较慢,容易受到其他不稳定因素的影响,不易求得最优解;最后,学习速率一般设置定值,此定值过大或过小时,都不利于得出最终结果。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于改进bp神经网络状态估计中不良数据的检测方法,克服电力系统状态估计中对不良数据进行检测与辨识时bp神经网络训练时间过长,且精度较低的问题,实现对电力系统状态估计中不良数据的检测。

为解决上述技术问题,本发明所采取的技术方案是:一种基于改进bp神经网络状态估计中不良数据的检测方法,包括以下步骤:

步骤1、对传统的bp神经网络进行改进,选择新的激活函数并增加调节因子、增加动量项和偏置调整、对学习速率的迭代参数进行动态调整,具体方法为:

步骤1.1、选择新的激活函数并为其增加调节因子;

采用如下公式所示的函数作为bp神经网络的激活函数:

f(x)=2sigmoid(2x)-1

该函数把数据压缩在区间(-1,1)内,当输入数据过大或过小的时候,不会导致神经网络的互联神经元之间的权值没有更新;

为bp神经网络的激活函数增加调节因子,增加调节因子后的激活函数如下公式所示:

其中,λ为激活函数的调节因子;

步骤1.2、利用迭代法对bp神经网络的参数调整量进行计算,增加动量项和偏置调整;

所述采用迭代算法计算bp神经网络的参数调整量的调整公式如下所示:

δw(t)=ηg(t)+αδw(t-1)+β

其中,δw(t)为第t次计算的参数调整量,η为学习率,δw(t-1)为第t-1次计算的参数调整量,g(t)为第t次迭代所计算出的梯度,α为动量调整系数,α∈(0,1),β为参数调整的偏置调整量;

步骤1.3、对bp神经网络的学习速率的迭代参数进行动态调整;

所述bp神经网络的学习速率的调整公式如下所示:

η(t)=β(t)η(t-1)

其中,β(t)为第t次迭代时的学习速率动态调整参数,η(t)为第t次迭代时的学习速率,η(t-1)为第t-1次迭代时的学习速率;

采用梯度下降法对bp神经网络进行训练时,当梯度沿同一方向变化时,梯度变化量小,学习速率小,需适当提升学习速率;当梯度沿不同方向变化时,梯度变化量大,学习速率大,需适当降低学习速率;学习速率的迭代参数动态调整的表达式如下公式所示:

步骤2、将电力系统状态估计中的良好数据输入到改进的bp神经网络中,对改进的bp神经网络进行训练,在每次训练后返回一个误差值,具体方法为:

所述bp神经网络的训练包括向传播和反向传播,通过前向传播得到系统总误差,利用反向传播将误差分配给互联的神经元之间,以此来调节互联神经元之间的权值和偏置,具体为:

(1)计算电力系统的总误差:

其中,etotal为电力系统的总误差,ytarget为电力系统的目标输出值,youtput为电力系统的实际输出值;

(2)计算电力系统的总误差在改进的bp神经网络中每层神经元的分配误差,如下公式所示:

其中,δwij为改进的bp神经网络的输入层和隐含层之间的权值,δym为电力系统的目标输出值与实际输出值的差值,ξ为电力系统总误差分配在δwij上的误差,qj为隐含层神经元的输出值,如下公式所示:

其中,δαj为输入层到隐含层的偏置,其由上一次训练的偏置和隐含层的输出值决定;

(3)将相邻两次训练返回的电力系统总误差分配在δwij上的误差做差,当差的绝对值小于人为界定的一个阈值ε0时,即|ξ(t+1)-ξ(t)|<ε0时,改进的bp神经网络训练完成;

步骤3、通过训练好的改进bp神经网络模型,筛选出电力系统中的可疑数据集;

将电力系统中的pmu和scada采集的数据输入到训练好的改进bp神经网络模型中,每次输入数据时都会在输入层神经元返回一个相应的误差ξ′,当|ξ′|>ψ时,ψ为界定可疑数据的阈值,该数据被定义为可疑数据,并将其存入可疑数据集合中;

步骤4、利用传统的四分位数法检测和辨识电力系统中的不良数据;

利用传统的四分位数法对可疑数据集合中的数据进行逐一判定,检测出不良数据并剔除,将剩余的数据归到良好的数据集合中,完成电力系统状态估计中不良数据的检测,从而提高电力系统状态估计中数据的准确度,从而提高状态估计的精度。

采用上述技术方案所产生的有益效果在于:本发明提供的一种基于改进bp神经网络状态估计中不良数据的检测方法,通过对bp神经网络学习速率的迭代参数进行动态调整,可以加快网络的收敛速度,缩短训练时间,提高网络的精度。采用改进的bp神经网络能够更好的对电力系统状态估计中所得数据进行检测和辨识,同时能够缩短检测数据的时间,有效的剔除不良数据,提高状态估计中数据的精度。

附图说明

图1为本发明实施例提供的一种基于改进bp神经网络状态估计中不良数据的检测方法的流程图;

图2为本发明实施例提供的传统的bp神经网络的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本实施例以某电力系统状态估计的数据为例,使用本发明的基于改进bp神经网络状态估计中不良数据的检测方法对这些数据中的不良数据进行检测。

一种基于改进bp神经网络状态估计中不良数据的检测方法,如图1所示,包括以下步骤:

步骤1、对如图2所示的传统的bp神经网络进行改进,选择新的激活函数并增加调节因子、增加动量项和偏置调整、对学习速率的迭代参数进行动态调整,具体方法为:

步骤1.1、选择新的激活函数并为其增加调节因子;

bp神经网络一般采用sigmoid函数作为激励函数,本发明采用如下公式所示的函数作为bp神经网络的激活函数:

f(x)=2sigmoid(2x)-1

该函数把数据压缩在区间(-1,1)内,当输入数据过大或过小的时候,不会导致神经网络的互联神经元之间的权值没有更新;

对bp神经网络各层神经元的权值和输出层的阈值进行调整时,调整容易进入一个饱和区间,使得权值更新速度缓慢,甚至没有更新。给激活函数加入调节因子,使神经元的输入得到一定程度的压缩,使其可以退出激活函数的饱和区间;误差函数和权重得到有效的改变,使其脱离饱和区。

为bp神经网络的激活函数增加调节因子,增加调节因子后的激活函数如下公式所示:

其中,λ为激活函数的调节因子;

步骤1.2、利用迭代法对bp神经网络的参数调整量进行计算,增加动量项和偏置调整;

采用迭代算法计算bp神经网络的参数调整量的调整公式如下所示:

δw(t)=ηg(t)+αδw(t-1)+β

其中,δw(t)为第t次计算的参数调整量,η为学习率,δw(t-1)为第t-1次计算的参数调整量,g(t)为第t次迭代所计算出的梯度,α为动量调整系数,α∈(0,1),β为参数调整的偏置调整量;

用迭代法对bp神经网络的参数调整量进行计算的原理主要是,通过上一时刻的权值来提高此时刻权值的更新速度,同时增加bp神经网络学习的稳定性和可靠性,还可以使bp神经网络模型排除一些不稳定因素的影响,提高正确率和准确率。增加的动量调整项代表了原来梯度改变的大小和方向对当前梯度变化造成的影响,偏置调整量可以有效提高计算的精度。

步骤1.3、对bp神经网络的学习速率的迭代参数进行动态调整;

当神经网络的权值变化量较大时,学习率会变大,会使得最终的结果产生振荡;当权值变化量较小时,学习率会相应的变小,会使得收敛速度变慢,不利于最终结果的收敛。下一时刻的学习速率由上一时刻的学习速率决定,人为设定一个固定的学习速率会对最终的结果产生影响,因此对学习速率的调整参数进行动态自适应性变化。迭代参数动态变化可以有效的提高学习速率精确度和收敛速度,加快神经网络模型的训练速度。

所述bp神经网络的学习速率的调整公式如下所示:

η(t)=β(t)η(t-1)

其中,β(t)为第t次迭代时的学习速率动态调整参数,η(t)为第t次迭代时的学习速率,η(t-1)为第t-1次迭代时的学习速率;

采用梯度下降法对bp神经网络进行训练时,当梯度沿同一方向变化时,梯度变化量小,学习速率小,需适当提升学习速率;当梯度沿不同方向变化时,梯度变化量大,学习速率大,需适当降低学习速率;学习速率的迭代参数动态调整的表达式如下公式所示:

步骤2、将电力系统状态估计中的良好数据输入到改进的bp神经网络中,对改进的bp神经网络进行训练,在每次训练后返回一个误差值,具体方法为:

bp神经网络的训练包括向传播和反向传播,通过前向传播得到系统总误差,利用反向传播将误差分配给互联的神经元之间,以此来调节互联神经元之间的权值和偏置,具体为:

(1)计算电力系统的总误差:

其中,etotal为电力系统的总误差,ytarget为电力系统的目标输出值,youtput为电力系统的实际输出值;

(2)计算电力系统的总误差在改进的bp神经网络中每层神经元的分配误差,如下公式所示:

其中,δwij为改进的bp神经网络的输入层和隐含层之间的权值,δym为电力系统的目标输出值与实际输出值的差值,ξ为电力系统总误差分配在δwij上的误差,qj为隐含层神经元的输出值,如下公式所示:

其中,δαj为输入层到隐含层的偏置,其由上一次训练的偏置和隐含层的输出值决定;

将相邻两次训练返回的电力系统总误差分配在δwij上的误差做差,当差的绝对值小于人为界定的一个阈值ε0时,即|ξ(t+1)-ξ(t)|<ε0时,改进的bp神经网络训练完成。

步骤3、通过训练好的改进bp神经网络模型,筛选出电力系统中的可疑数据集;

将电力系统中的pmu和scada采集的数据输入到训练好的改进bp神经网络模型中,每次输入数据时都会在输入层神经元返回一个相应的误差ξ’,当|ξ′|>ψ时,ψ为界定可疑数据的阈值,该数据被定义为可疑数据,并将其存入可疑数据集合中;

步骤4、利用传统的四分位数法检测和辨识电力系统中的不良数据;

利用传统的四分位数法对可疑数据集合中的数据进行逐一判定,检测出不良数据并剔除,将剩余的数据归到良好的数据集合中,完成电力系统状态估计中不良数据的检测,从而提高电力系统状态估计中数据的准确度,从而提高状态估计的精度。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1