首页 人工智能在电力系统中的应用

人工智能在电力系统中的应用

举报
开通vip

人工智能在电力系统中的应用nullnull第一章 概述第一章 概述人工智能是那些与人的思维相关的活动,诸如决策、问题求解和学习等的自动化(Bellman,1978); 人工智能是一种使计算机能够思维,使机器具有智力的激动人心的新尝试(Haugeland,1985); 人工智能是那些使知觉、推理和行为成为可能的计算的研究(Winston, 1992); 人工智能是关于人造物的智能行为,而智能行为包括知觉、推理、学习、交流的行为(Nilsson,1998)。 像人一样思考的系统、像人一样行动的系统、理性地思考、行动的系统( Stuart Rus...

人工智能在电力系统中的应用
nullnull第一章 概述第一章 概述人工智能是那些与人的思维相关的活动,诸如决策、问题求解和学习等的自动化(Bellman,1978); 人工智能是一种使计算机能够思维,使机器具有智力的激动人心的新尝试(Haugeland,1985); 人工智能是那些使知觉、推理和行为成为可能的计算的研究(Winston, 1992); 人工智能是关于人造物的智能行为,而智能行为包括知觉、推理、学习、交流的行为(Nilsson,1998)。 像人一样思考的系统、像人一样行动的系统、理性地思考、行动的系统( Stuart Russell, 2003)。1.1 人工智能定义1.2人工智能的研究途径与研究领域1.2人工智能的研究途径与研究领域专家系统 (Expert Systems) 人工神经网络 (Artificial Neural Networks) 模糊逻辑 (Fuzzy Logic) 进化算法 (如:遗传算法Genetic Algorithm, 禁忌搜索Tabu Search, 模拟退火算法Simulated Annealing,) 多智能体系统 (Multi-agent system) 心理模拟,符号推演 生理模拟,神经计算 行为模拟,控制进化 群体模拟,仿生计算 1.3人工智能在电力系统的应用领域1.3人工智能在电力系统的应用领域机组启停 Unit Commitment 维护 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 Maintenance scheduling 负荷预测 Load Forecasting 发电控制与保护 Generation control and protection 潮流优化 Optimal Power Flow Analysis 电力系统安全 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 Security Analysis 电力系统稳定分析 Stability Analysis 无功优化分配 Var dispatch and planning 切负荷1.3人工智能在电力系统的应用领域继电保护 Relaying protection 经济调度 Economic dispatch 变电所运行控制 Substation switching and control 系统恢复供电 System reconfiguration and restoration 电力质量控制 Power quality Control 系统设计优化 System Design Optimization 电力 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 Short and long term planning 电气设备故障诊断 Fault diagnosis for electric facilities1.3人工智能在电力系统的应用领域第二章 神经网络及其在电力系统中的应用 第二章 神经网络及其在电力系统中的应用 人工神经网络是集脑科学、神经心理学和信息科学等多学科的交叉研究领域,是近年来高科技领域的一个研究热点。它的研究目标是通过研究人脑的组成机理和思维方式,探索人类智能的奥秘,进而通过模拟人脑的结构和工作模式,使机器具有类似人类的智能。它已在模式识别、机器学习、专家系统等多个方面得到应用,成为人工智能研究中的活跃领域。本章将简要介绍神经网络基本的概念、模型以及学习算法以及应用实例。2.1 神经网络的基本概念及组成特性2.1 神经网络的基本概念及组成特性 神经元及其突触是神经网络的基本器件。因此,模拟生物神经网络应首先模拟生物神经元。在人工神经网络中,神经元常被称为“处理单元”。有时从网络的观点出发常把它称为“节点”。人工神经元是对生物神经元的一种形式化描述。神经元主要由三部分构成:(1)细胞体;(2)轴突;(3)树突2.2 人工神经网络的特性 2.2 人工神经网络的特性 高度的并行性 ANN是由许多相同的简单处理单元并联组合而成,虽然每个单元的功能简单,但大量简单处理单元的并行活动,使其对信息的处理能力与效果惊人。 高度的非线性全局作用 ANN每个神经元接受大量其它神经元的输入,并通过并行网络产生输出,影响其他神经元。网络之间的这种互相制约和互相影响,实现了从输入状态到输出状态空间的非线性映射。从全局的观点来看,网络整体性能不是网络局部性能的简单迭加,而表现出某种集体性的行为。 良好的容错性与联想记忆功能 ANN通过自身的网络结构能够实现对信息的记忆。而所记忆的信息是存储在神经元之间的权值中。从单个权值中看不出所储存的信息 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ,因而是分布式的存储方式。这使得网络具有良好的容错性,并能进行聚类分析、特征提取、缺损模式复原等模式信息处理工作;又宜于模式分类、模式联想等识别工作。 十分强的自适应、自学习功能 ANN可以通过训练和学习来获得网络的权值与结构,呈现出很强的学习能力和对环境的自适应能力。2.3 人工神经网络的学习方法2.3 人工神经网络的学习方法 监督学习(有教师学习) 如图所示,这种学习方式需要外界存在一个“教师” ,他可对给定一组输入提供应有的输出结果,这组已知的输入-输出数据称为训练样本集,学习系统(神经网络)可根据已知输出与实际输出之间的差值(误差信号)来调节系统参数 非监督学习(无教师学习)2.3 人工神经网络的分类 2.3 人工神经网络的分类 前向网络中,各神经元节点接受前一层的输出信号,并将本层的输出作为下一层的输入,其特点是信号的流向是从输入流向输出。在ANN的实际应用中,80%~90%的ANN模型是采用BP网络或它的变化形式,它也是前向网络的核心部分、体现了ANN精华的部分。 前向神经网络2.3 人工神经网络的分类 2.3 人工神经网络的分类 反馈神经网络 反馈网络中,输出信号通过与输入连接而返回到输入端,从而形成一个回路。在前向网络中,有单层感知器、自适应线性网络和BP网络。在反馈网络中,有离散型和连续型霍普菲尔德网络。2.4 BP神经网络2.4 BP神经网络 2.4.1 BP神经网络概述(Error Back-propagation Training,简称BP网络 ) BP 网络神经网络是目前应用最为广泛和成功的神经网络之一。1986年由Rumelhant 和 McClelland 提出的一种多层网络的“逆推”学习算法。基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经隐层逐层处理后传向输出层。若输出层的实际输出与期望输出不符,则转向误差的反向传播。误差的反向传播是将输出误差以某种形式通过隐层向输入逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程是周而复始地进行。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。 2.4.2 BP神经网络应用领域2.4.2 BP神经网络应用领域函数逼近:用输入矢量和相应的输出矢量训练—个网络逼近一个函数; 模式识别:用一个特定的输出矢量将它与输入矢量联系起来; 分类:把输入矢量以所定义的合适方式进行分类; 数据压缩:减少输出矢量维数以便于传输或存储。2.4 BP神经网络2.4.3 BP网络模型与结构2.4.3 BP网络模型与结构BP网络具有一层或多层隐含层,其主要差别也表现在激活函数上 BP网络的激活函数必须是处处可微的 ,BP网络经常使用的是S型的对数或正切激话函数和线性函数 2.4 BP神经网络2.4.4 BP神经网路的几种常见激活函数 2.4.4 BP神经网路的几种常见激活函数 阀值型不带偏差的阀值型激活函数带偏差的阀值型激活函数 2.4 BP神经网络2.4.4 BP神经网路的几种常见激活函数 2.4.4 BP神经网路的几种常见激活函数 线形型不带偏差的线性激活函数带偏差的线形型激活函数 2.4 BP神经网络2.4.4 BP神经网路的几种常见激活函数 2.4.4 BP神经网路的几种常见激活函数 2.4 BP神经网络对数S型激活函数 双曲正切S型激活函数 对数S型函数关系为:双曲正切S型函数关系: Sigmoid 型2.4.5 BP网络学习2.4.5 BP网络学习2.4 BP神经网络BP算法的学习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。 学习过程由正向传播和反向传播组成。 正向传播用于对前向网络进行计算,即对某一输入 信息,经过网络计算后求出它的输出结果。 反向传播用于逐层传递误差,修改神经元间的连接权值,以使网络对输入信息经过计算后所得到的输出能达到期望的误差要求。2.4.5 BP网络学习2.4.5 BP网络学习2.4 BP神经网络设输入为P,输人有r个,隐含层内有s1个神经元,激话函数为F1,输出层内有个s2神经元,对应的激活函数为F2,输出为A,目标矢量力T。隐含层输出层输入层2.4.5 BP网络学习2.4.5 BP网络学习2.4 BP神经网络1、信息的正向传递(1)隐含层中第i个神经元的输出为: (2)输出层第k个神经元的输出为 (3)定义误差函数为:2.4.5 BP网络学习2.4.5 BP网络学习2.4 BP神经网络1、误差反向传播(1)输出层的权值变化: 对从第i个输入到第k个输出的权值有:其中::学习速率,过大容易震荡,过小调整过慢;:训练样本对目标输出;:神经网络实际输出;:输出层神经元传递函数的导数;:误差;2.4.5 BP网络学习2.4.5 BP网络学习2.4 BP神经网络1、误差反向传播(2)输出层的阀值变化:其中:!注意:输出层的权值变化与输出层的阈值变化的差别2.4.5 BP网络学习2.4.5 BP网络学习2.4 BP神经网络1、误差反向传播(3)隐含层的权值变化: 对从第j个输入到第i个输出的权值有:其中:(4)隐含层的阈值变化:2.4.6 BP网络的限制与不足及改进2.4.6 BP网络的限制与不足及改进2.4 BP神经网络1 不足 需要较长的训练时间 对于一些复杂的问题,BP算法可能要进行几小时甚至更长的时间的训练。这主要是由于学习速率太小所造成的。可采用变化的学习速率或自适应的学习速率加以改进。 完全不能训练 这主要表现在网络出现的麻痹现象上。在网络的训练过程中,当其权值调得过大,可能使得所有的或大部分神经元的加权总和偏大,这使得激活函数的输入工作在S型转移函数的饱和区,从而导致其导数非常小,从而使得对网络权值的调节过程几乎停顿下来。通常为了避免这种现象的发生,一是选取较小的初始权值,二是采用较小的学习速率,但这又增加了训练时间。 2.4.6 BP网络的限制与不足及改进2.4.6 BP网络的限制与不足及改进2.4 BP神经网络1 不足 局部极小值 BP 算法可以使网络权值收敛到一个解,但它并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。这是因为BP算法采用的是梯度下降法,训练是从某一起始点沿误差函数的斜面逐渐达到误差的最小值。对于复杂的网络,其误差函数为多维空间曲面,就像一个碗,其碗底是最小值点。但是这个碗的表面是凹凸不平的,因而在对其训练过程中,可能陷入某一小谷区,而这一小谷区产生的是一个局部极小值。由此点向各方向变化均使误差增加,以致于使训练无法逃出这一局部极小值。 2.4.6 BP网络的限制与不足及改进2.4.6 BP网络的限制与不足及改进2.4 BP神经网络1 改进 增加动量项 标准BP算法在调整权值时,只按t时刻误差的梯度下降方向调整,而没有考虑t时刻以前的梯度方向。为了提高训练速度,可以在权值调整公式中加一动量项,其中a为动量系数:动量项反映了以前积累的调整经验。当误差梯度出现局部极小时,虽然 但, 使其跳出局部极小区域,加快迭代收敛速度。目前,大多数BP算法中都增加了动量项,以至于有动量项的BP算法成为一种新的标准算法。2.4.6 BP网络的限制与不足及改进2.4.6 BP网络的限制与不足及改进2.4 BP神经网络1 改进 可变学习速度的反向传播算法 (1)如果平方误差(在整个训练集上)在权值更新后增加了,且超过了某个设置的百分数(典型值为1%~5%),则权值更新被取消,学习速度被乘以一个因子(0<<1),并且动量系数(如果有的话)被设置为0 。 (2)如果平方误差在权值更新后减少,则权值更新被接受,而且学习速度将乘以一个大于1的因子。如果动量系数过去被设置为0,则恢复到以前的值。 2.4.6 BP网络的限制与不足及改进2.4.6 BP网络的限制与不足及改进2.4 BP神经网络1 改进 引入陡度因子——防止饱和 误差曲面上存在着平坦区。其可预付调整缓慢的原因在于S转移函数具有饱和特性。如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的饱和区,就可改变误差函数的形状,从而使调整脱离平坦区。实现这一思路的具体作法是在转移函数中引进一个陡度因子。 null2.5 使用MATLAB神经网络工具箱 MATLAB神经网络工具箱大大降低了开发各种神经网络应用的难度。设计者只需要调用相关函数即可,甚至通过NNTOOL图形界面,不用编写一行程序,就可完成一个神经网络的设计仿真。 本节主要介绍NNTOOL图形工具,神经网络程序设计见2.6。 null2.5 使用MATLAB神经网络工具箱第一步 在MATLAB命令下打开nntool界面 null2.5 使用MATLAB神经网络工具箱第二步 通过Import从工作空间或通过New Data手动输入训练样本 null2.5 使用MATLAB神经网络工具箱第三步 点击new network建立神经网络 该页面用来建立神经网络结构,主要设置的参数有:神经网络类型、训练函数、各层神经元数目及相应的传递函数等null2.5 使用MATLAB神经网络工具箱第四步 设置训练参数 点击train进入training parameters页设置训练参数,主要包括训练代数、允许误差、显示频度等。 null2.5 使用MATLAB神经网络工具箱第四步 点击train进入training parameters页设置训练参数,主要包括训练代数、允许误差、显示频度等。 null2.5 使用MATLAB神经网络工具箱第五步 训练已经建立好的神经网络点击train network开始训练。训练过程会显示误差随代数的变化。 null2.5 使用MATLAB神经网络工具箱第六步 仿真验证,进入simulate页,设置输入,点击simulate network。 null2.6 神经网络在电力系统应用实例 实例1:短期电力负荷预测 实例2:变压器故障诊断 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用问题描述 以广东某城市的2004年7月20日到7月30日的负荷值以及2004年7月21日到7月31日的气象特征状态作为网络的训练样本,来预测7月31日的电力负荷为例 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用广东某地区7月20日—25日24小时电力负荷表 2.6.1 实例1 神经网络在负荷预测中的应用 2.6.1 实例1 神经网络在负荷预测中的应用广东某地区7月26日—31日24小时电力负荷表 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用学习样本的分析与处理 在预测日的前一天中,每隔2个小时对电力负荷进行一次测量,这样一天可以得到12组负荷数据,将前一天的实时负荷数据作为网络的样本数据; 另外电力负荷还与环境因素有关,所以本例中还考虑了气温和天气。即最高、最低气温和天气特征,可以通过天气预报得到预测日的最高、最低气温和天气特征(晴天、阴天、雨天) ,可以用0、0.5、1 分别表示晴天、阴天、雨天,将预测当天的气象特征作为网络的输入变量,这样输入变量P就是一个15 维的向量,即n = 15; 目标向量就是预测日当天的12个负荷值,即输出变量T为一个12维的向量,m = 12。 由于在输入的数据中各类型的数据大小、单位都不统一,这样大大增加了系统的运算量、运算时间还降低了精度甚至可能使神经元趋于饱和不能继续运算。为了避免神经元的饱和性,在确定输入和输出变量后,应对其进行归一化处理,将数据处理为一定范围之间。这样就降低了运算量,提高运算速度和时间。归一化的方式很多,MATLAB中也有归一化函数可对数据进归一化和反归一化 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用2.确定网络结构2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用2.确定网络结构MATLAB实现函数net=newff(minmax(P),[10,12],{‘tansig’,‘logsig’},‘trainlm’) 含义: Newff:建立BP神经网络结构函数 参数的意思指该网络隐含层、输出层神经元数目分 别为10个与12个; 传递函数分别为正切S函数与对数S函数; 训练函数选取增加动量项的BP算法; minmax(P)指定输入样本的范围,使得网络初始权值 合理化。 Net储存返回的神经网络,注意此时的神经网络还没有开始训练,只是指定了网络结构而已; 注意输入的是预测日头天的历史负荷数据与预测日的天气数据,而输出是预测日需要预测的24小时负荷。2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用3.设置训练参数训练网络前,必须设置训练参数,MATLAB神经网络设置训练参数示例如下: net.trainParam.show=10; 解释:每10代显示一次 net.trainParam.lr=0.05; 解释:设置训练速率 net.trainParam.mc=0.9; 解释: 设置动量因子 net.trainParam.epochs=100000; 解释: 设置训练的代数 net.trainParam.goal=0.01; 解释: 设置目标误差 注意!上面的net指的是上一步已经建立好的BP神经网络2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用4.训练构建好的神经网络利用MATLAB神经网络工具箱的train函数即可对前面指定好网络结构与训练参数的神经网络进行训练,train函数的调用格式如下:Net=Train(net,P,T)解释: P表示训练样本的输入矢量; T表示训练样本的输出矢量,为训练目标; 右边的参数net指得的还未开始训练的神经网 络,左边的变量net指得的练好的神经网络保 存的位置 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用5.仿真训练好的神经网络利用MATLAB神经网络工具箱的sim函数即可对使用train函数训练好的神经网络进行仿真,以便验证训练的效果是否达到预期的目标误差,sim的调用格式如下:A=sim(net,P)解释: P表示训练样本的输入矢量; 参数net指得的练好的神经网络 A指得是当训练好的神经网络net获得输入P 时的实际 输出得到实际输出A后,与训练样本目标输出T相比较,即可得到误差2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用5.仿真过程与结果下面是采用增加动量项的BP算法训练函数traingdm、隐层为10个神经元的预测结果 。 左边是训练过程误差曲线,横坐标是训练代数,纵坐标是误差,该曲线是训练过程中自动产生的; 右边是实际输出与目标输出负荷曲线,横坐标是小时,纵坐标是负荷,注意负荷已经被正规化了。2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用5.仿真过程与结果下面是采用自适应学习速率训练函数trainlm、隐层为10个神经元的预测结果 。 左边是训练过程误差曲线,横坐标是训练代数,纵坐标是误差,该曲线是训练过程中自动产生的; 右边是实际输出与目标输出负荷曲线,横坐标是小时,纵坐标是负荷,注意负荷已经被正规化了。2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用6.训练结果数据表 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用7.主要的源码 %定义训练样本 %P为输入矢量,T为输出目标矢量,注意样本的构成。 P= [0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7015 0.6981 0.6821 0.6945 0.7549 0.8215 0.2415 0.3027 0; 0.2217 0.1581 0.1408 0.2304 0.5134 0.5312 0.6819 0.7125 0.7265 0.6847 0.7826 0.8325 0.2385 0.3125 0; 0.2525 0.1627 0.1507 0.2406 0.5502 0.5636 0.7051 0.7352 0.7459 0.7015 0.8064 0.8156 0.2216 0.2701 1; 0.2016 0.1105 0.1243 0.1978 0.5021 0.5232 0.6819 0.6952 0.7015 0.6825 0.7825 0.7895 0.2352 0.2506 0.5; 0.2115 0.1201 0.1312 0.2019 0.5532 0.5736 0.7029 0.7032 0.7189 0.7019 0.7965 0.8025 0.2542 0.3125 0; 0.2335 0.1322 0.1534 0.2214 0.5623 0.5827 0.7198 0.7276 0.7359 0.7506 0.8092 0.8221 0.2601 0.3198 0; 0.2368 0.1432 0.1653 0.2205 0.5823 0.5971 0.7136 0.7129 0.7263 0.7153 0.8091 0.8217 0.2579 0.3099 0; 0.2342 0.1368 0.1602 0.2131 0.5726 0.5822 0.7101 0.7098 0.7127 0.7121 0.7995 0.8126 0.2301 0.2867 0.5; 0.2113 0.1212 0.1305 0.1819 0.4952 0.5312 0.6886 0.6898 0.6999 0.7323 0.7721 0.7956 0.2234 0.2799 1; 0.2005 0.1121 0.1207 0.1605 0.4556 0.5022 0.6553 0.6673 0.6798 0.7023 0.7521 0.7756 0.2314 0.2977 0]‘ T=[0.2217 0.1581 0.1408 0.2304 0.5134 0.5312 0.6819 0.7125 0.7265 0.6847 0.7826 0.8325; 0.2525 0.1627 0.1507 0.2406 0.5502 0.5636 0.7051 0.7352 0.7459 0.7015 0.8064 0.8156; 0.2016 0.1105 0.1243 0.1978 0.5021 0.5232 0.6819 0.6952 0.7015 0.6825 0.7825 0.7895; 0.2115 0.1201 0.1312 0.2019 0.5532 0.5736 0.7029 0.7032 0.7189 0.7019 0.7965 0.8025; 0.2335 0.1322 0.1534 0.2214 0.5623 0.5827 0.7198 0.7276 0.7359 0.7506 0.8092 0.8221; 0.2368 0.1432 0.1653 0.2205 0.5823 0.5971 0.7136 0.7129 0.7263 0.7153 0.8091 0.8217; 0.2342 0.1368 0.1602 0.2131 0.5726 0.5822 0.7101 0.7098 0.7127 0.7121 0.7995 0.8126; 0.2113 0.1212 0.1305 0.1819 0.4952 0.5312 0.6886 0.6898 0.6999 0.7323 0.7721 0.7956; 0.2005 0.1121 0.1207 0.1605 0.4556 0.5022 0.6553 0.6673 0.6798 0.7023 0.7521 0.7756; 0.2123 0.1257 0.1343 0.2079 0.5579 0.5716 0.7059 0.7145 0.7205 0.7401 0.8019 0.8136]'2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用7.主要的源码 %创建一个新的bp前向神经网络 %newff--生成一个新的bp前向神经网络 net=newff(minmax(P),[10,12],{‘tansig’,‘logsig’},‘trainlm’); %设置训练参数 net.trainParam.show=10; %每10代显示一次 net.trainParam.lr=0.05; %训练速率 net.trainParam.mem_reduc=3; net.trainParam.mc=0.9; %动量因子 net.trainParam.epochs=100000; %训练的代数 net.trainParam.goal=0.01; %目标误差 2.6.1 实例1 神经网络在负荷预测中的应用2.6.1 实例1 神经网络在负荷预测中的应用7.主要的源码 %训练bp前向神经网络 [net,tr]=train(net,P,T); %仿真 A=sim(net,P) %计算仿真误差 E=T-A SSE=sse(E) 2.6.2 实例2 基于神经网络的变压器故障诊断2.6.2 实例2 基于神经网络的变压器故障诊断1.问题提出及解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 电力变压器的安全运行对保证供电的可靠性具有重要的意义,现有的实验方法中,油中溶解气体(DGA)分析对设备的早期潜伏性故障较为敏感。但通常采用的几种分析方法均有缺陷,如特征气体分析法仅定性的说明气体含量与对应故障的关系,不利于诊断的实现;IEC三比值法和日本的改良电协研法均采用比值编码法,存在编码缺损等问题。因此,很有必要探索一种更方便、更可靠的诊断方法,以提高诊断的正确率.由于神经网络(ANN)具有并行处理、学习和记忆、非线性映射、自适应能力和鲁棒性等固有性质,使其非常适合应用在电气故障诊断领域。为此,本实例针对变压器故障特点,研究采用合适结构和算法的神经网络,用以实现变压器故障的准确诊断。2.6.2 实例2 基于神经网络的变压器故障诊断2.6.2 实例2 基于神经网络的变压器故障诊断2.变压器故障诊断的ANN设计 网络输入层节点数就是一个模式所包含的特征量数。在油色谱分析领域中,基于油中溶气体类型与内部故障性质的对应关系,以油中5种特征气体为依据的判断变压器故障的方法。其特征量为H2,CH{,C2H4,C2H2,C2H6,这样点数N为5的网络输入层定,如图3所示。在对变压器的故障识别时,变压器的故障类型选择为:中低温过热、高温过热、低能放电和高能放电。当考虑正常情况也作为一种类型时。一个M 为5节点的网络输出层被确定。2.6.2 实例2 基于神经网络的变压器故障诊断2.6.2 实例2 基于神经网络的变压器故障诊断2.变压器故障诊断的ANN设计2.6.2 实例2 基于神经网络的变压器故障诊断2.6.2 实例2 基于神经网络的变压器故障诊断3.变压器故障诊断训练样本2.6.2 实例2 基于神经网络的变压器故障诊断2.6.2 实例2 基于神经网络的变压器故障诊断4.ANN网络训练与分析 在实验测试中,收集了30组变压器样本,并随机取出20组样本用于神经网络训练,其余的样本作为仿真。2.6.2 实例2 基于神经网络的变压器故障诊断2.6.2 实例2 基于神经网络的变压器故障诊断5.结论神经网络的诊断要比三比值法准确。通过改进学习训练算法,可在同等的收敛要求下,获得较高的精度 如果输入模式与训练样本偏离较大,则网络可能得出错误的结论。这反映了网络不具备此种症状的知识,因此,可将该样本作为新的样本加入训练样本集训练网络,使之获得更多的知识 对溶解气体分析法存在的问题,将人工神经网络应用于变压器故障诊断;根据变压器故障的特点,采用了动量因子技术的神经网络BP算法,使诊断网络具有较强的学习能力、泛化能力和适应能力 第三章 遗传算法及其在电力系统中的应用第三章 遗传算法及其在电力系统中的应用3.1 概述 遗传算法的基本思想是基于Darwin进化论和Mendel的遗传学说的。Darwin进化论最重要的是适者生存原理。它认为每一物种在发展中越来越适应环境。物种每个个体的基本特征由后代所继承,但后代又会产生一些异于父代的新变化。在环境变化时,只有那些能适应环境的个体特征方能保留下来。Mendel遗传学说最重要的是基因遗传原理。它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。每个基因有特殊的位置并控制某种特殊性质。所以,由基因产生的个体对环境具有某种适应性。基因突变和基因交叉可产生更适应于环境的后代。经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。由于遗传算法不依赖于被优化对象数学模型,不需要导数信息,属于全局多点随机搜索算法,因此,目前被广泛应用于各种复杂优化中。3.2 遗传算法的特点与优点3.2 遗传算法的特点与优点 (1)自组织、自适应和学习性。 (2)遗传算法按并行方式搜索一个种群数目的点,而不是单点。 (3)遗传算法不需要求导或其他辅助知识,而只需要影响搜索方向的目标函数和适应度函数。 (4)遗传算法强调概率转化规则,而不是确定的转换规则。 (5)遗传算法对给定问题可以产生出许多潜在解,最终选择可以由使用者确定 3.3 生物进化理论和遗传学基本概念3.3 生物进化理论和遗传学基本概念染色体—— 生物细胞中含有很多微小的丝状化合物,它是遗传物质的主要再体,由多个遗传因子——基因组成。 个体——指染色体带有特征的实体。如:人就是一个个体,人的各种不同的特征可以用含有不同遗传信息的染色体表现,不同的染色体能决定人的特征的不同特征。 种群——个体的集合称为种群。该集合内个体数称为群体的大小。有时个体的集合也称为个体群。如:人类就是一个种群,种群中由各种各样不同性格,不同外观特征的人组成。3.3 生物进化理论和遗传学基本概念3.3 生物进化理论和遗传学基本概念进化——生物在其延续生存的过程中,逐渐适应其生存的环境,使得其品质不断得到改良,这种生命的现象称为进化。生物的进化以种群的形式进行的。如:如人从猿人进化到今天富有智慧的现代人,这一个过程就是进化过程。 适应度——在研究自然界中的生物的遗传和进化现象时 ,生物学家使用适应度这个术语来衡量某个物种对于生存环境的适应程度。对于生存环境的适应程度较高的物种将获得更高的繁殖机会。而对于生存环境适应度较低的物种,其繁殖机会就会较少,甚至灭绝。3.3 生物进化理论和遗传学基本概念3.3 生物进化理论和遗传学基本概念选择——指决定以一定的概率种群中选择若干个体的操作。而一般而言,选择的过程是一种基于适应度的优胜劣汰的过程。 复制——细胞在分裂时,遗传物质DNA通过复制而转移到新生的细胞中,新的细胞继承了旧的细胞的基因。 交叉——有性生殖生物在繁殖下一代时两个同源染色体之间通过交叉而重组,亦即在两个染色体的某一相同位置处DNA被切断,其前后两串分别交叉组合形成两个新的染色体。这个过程又称基因的重组。3.3 生物进化理论和遗传学基本概念3.3 生物进化理论和遗传学基本概念变异——在细胞进行复制的过程中可能以很小的概率产生某些复制的差错,从而使DNA发生某种变异,产生新的染色体,这些新的染色体表现出来新的性状。 编码——DNA中的遗传信息在一个长链上按一定的模式排列,也即进行了遗传编码。遗传编码可以看作表现型到遗传子型的映射。 解码——从遗传子型到边现型的映射。 3.4 遗传算法的基本操作3.4 遗传算法的基本操作1 选择 选择是确定交叉或者交叉个体,以及被选个体将产生多少个子代个体。首先要计算适应度:(1)按比例计算适应度,(2)基于排序的适应度计算。轮盘赌选择 3.4 遗传算法的基本操作3.4 遗传算法的基本操作2 交叉 再生之后重要的遗传操作交叉,在生物学上称为杂交,可视为生物之所以得以进化之所在,随机产生一个交叉点位置,父体1和父体2在交叉点位置之右的部分基因码互换,形成子个体1和子个体2。类似地完成其他个体的交叉操作。 个体间的单点交叉3.4 遗传算法的基本操作3.4 遗传算法的基本操作3 变异 作用:如果只考虑交叉操作实现进化机制,在大多情况下是不行的,这与生物界近亲繁殖影响进化历程是类似的。因为种群个体数是有限的,经过若干代交叉操作,因为源于一个较好祖先的子个体逐渐充斥整个种群额现象,问题会导致过早收敛,当然,最后获得的个体不能代表问题的最优解。为了避免过早收敛,有必要在进化的过程中引入具有新遗传基因码发生了突变,这对于保持生物多样性是非常重要的。 实现:模仿生物变异的遗传操作,对于二进制的基因码组成的个体种群,实现基因码的小概率翻转,即达到变异目的 变异操作3.5 遗传算法的进化过程示意3.5 遗传算法的进化过程示意 一般而言,一个世代的简单进化包括了适应度的选择和再生、交叉和变异操作。将上面的所有种群的遗传算法综合起来,初始种群第一代进化过程如下图所示。初始种群经过选择操作,适应度较高的8号和6号个体分别复制出2个,使硬度较低的2号和3号遭到淘汰,接下来按一定的概率选择了4对父个体分别完成交叉操作,在随机确定的“/”位置实行单点交叉生成4对子个体。最后按小概率选中某个个体的基因码位置,产生变异。这样经过上述的过程形成了第一代的种群。以后一代一代地进化过程如此循环下去,每一代结束都产生新的种群。演化的代数主要取决于代表问题解得收敛状态,末代种群众最佳个体作为问题的最优近似解。3.5 遗传算法的进化过程示意3.5 遗传算法的进化过程示意3.6 一个典型遗传算法流程框图3.6 一个典型遗传算法流程框图3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用 遗传算法工具箱MATLAB Genetic Algorithm Toolbox 旨在提供设计允许遗传算法的环境,和神经网络工具箱一样,遗传算法工具箱也提供了一套基于MATLAB的函数供开发者使用,利用该工具箱,可大大节省开发时间。 3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用 遗传算法工具箱MATLAB Genetic Algorithm Toolbox 旨在提供设计允许遗传算法的环境,和神经网络工具箱一样,遗传算法工具箱也提供了一套基于MATLAB的函数供开发者使用,利用该工具箱,可大大节省开发时间。 3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用一个典型的遗传算法 LIND = 8; % 染色体长度 NVAR = 2; % 优化变量数目 NIND = 10; % 种群数目 GGAP = 0.9; % 代差,指得是上代最好的10%个体 不参与下一代的复制操作 XOV = 0.7; % 设置交叉率 MUTR = 0.0175; % 设置变异率 MAXGEN = 30; % 优化代数 % 指定编码方式,变量范围,交叉方式 FieldD = [LIND LIND; 1 1; 1000 1000; 1 1; 0 0; 0 0; 0 0]; Chrom = crtbp(Nind, Lind*NVAR); % 创建初始化种群 %计算适应度 ObjV = objfun(bs2rv(Chrom, FieldD)); 3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用对FieldD 的解释 FieldD = [LIND LIND; 1 1; 1000 1000; 1 1; 0 0; 0 0; 0 0]; 解释:两列对应两个变量,上面设置的含义指染色体长度为8;1-1000是变量范围,[1 0 0 0]’指的是二进制编码与单点交叉3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用对Chrom = crtbp(NIND, LIND*NVAR)的解释 解释:crtbp函数的运行结果是产生由10个个体组成的初始种群;其中每行表示一条染色体,即种群中的一个个体,由于被优化的变量为2个,每个变量的编码长度是8,故每行由16位0、1构成的随机字符串;一共10行表示10条染色体。3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用对ObjV = objfun(bs2rv(Chrom, FieldD))的解释; Bs2rv函数是对产生的初始种群进行解码,也就是根据FieldD变量的设置把初始种群由二进制表示的染色体转化成10进制; Objfun是开发人员根据实际应用编制的适应度函数,注意该函数并不是被优化对象的数学模型,而是用来评价个体性能好坏的函数, 特别值得注意的是适应度函数必须满足两个条件:1是适应度函数必须是正的,2是其值越大表示性能越好。3.7 MATLAB遗传算法工具箱使用3.7 MATLAB遗传算法工具箱使用一个典型的遗传算法续 当遗传算法初始参数设置完毕,就转入遗传进化: Gen = 0; % 计数器 while Gen < MAXGEN % 优化循环 SelCh = select(’sus’, Chrom, FitnV, GGAP); % 复制操作 SelCh = recombin(’xovsp’, SelCh, XOV); % 交叉操作 SelCh = mut(SelCh, MUTR); % 变异操作 ObjVSel = objfun(bs2rv(SelCh, FieldD)); % 计算适应度 %把上一代最好的10%个体插入新种群里 [Chrom ObjV]=reins(Chrom, SelCh, 1, 1, ObjV, ObjVSel); Gen = Gen+1; % 计数器加一 End % 循环结束 % 优化完毕后把种群解码找出里面适应度最大的对应变量组合即为优化结果。 Phen = bs2rv(Chrom, FieldD); 3.8 遗传算法在电力系统的应用3.8 遗传算法在电力系统的应用 实例1 遗传算法实现PID控制参数优化 实例2 遗传算法实现发电厂经济调度 实例3 混合遗传算法与神经网络在小电流接地系统 故障选线中的应用 3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化1 初始化参数 对于控制系统初始化参数有Ki、Kd、Kp以及模型的参考输入ref;对于遗传算法控制有种群规模NIND、染色体长度PRECI、繁殖代数MAXGEN、交叉率、变异率。 NIND = 40; %种群规模 MAXGEN =30; %繁殖代数 NVAR = 3; % 参数个数 PRECI =10; % 变量二进制编码的位数 GGAP = 0.9; % 保留最好个体的代沟系数,如:设置GGAP=0.9就说适应度最好的10%个体直接进入下一代,其余90%的个体进行交叉和变异 CO=0.85; %变异概率为0.85 FieldD = [rep([PRECI],[1,NVAR])];%设置编码位数,种群规模 FieldD(2:3,1)=[rep([0;10],[1,1])];%设置KP的取值范围 FieldD(2:3,2)=[rep([0;10],[1,1])];%设置KI的取值范围 FieldD(2:3,3)=[rep([0;10],[1,1])];%设置KD的取值范围 FieldD(4:7,1:3)=rep([1;0;1;1],[1,NVAR]);%设置编码与交叉方式3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化2 初始化种群 待优化参数采用二进制编码,根据精度要求,每个参数用N(N为任意正整数)位二进制表示,3个参数KP、KI、KD组成一个由3N位二进制编码的染色体。 种群初始化的程序如下: Chrom = crtbp(NIND, NVAR*PRECI)3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化3 解码 解码时,按每个参数对应的二进制位数均匀地把个体截开,根据每个参数的搜索范围进行解码。 解码代码如下: A=bs2rv(Chrom,FieldD) 3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化4 适应度的选择 遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群中每个个体的适应度值来进行搜索,因此适应度函数至关重要,直接影响到遗传算法的收敛速度以及能否达到最优解。适应度函数一般由目标函数变换而成。 对于PID控制系统而言,PID控制的目的就是使系统性能达到最优,系统性能的评价方法多样,在MATLAB中较易实现的是通过评价系统时域方面的各项动态性能指标来确定系统性能的好坏,即对系统给定参考输入量,观察输出的超调量mp,调节时间ts,峰值时间tp。mp越小,系统跟参考输入的偏差越少;tp、ts越小,系统快速性能越好。PID调节器的寻优,就是寻找合适的PID参数,使得各动态性能指标最小,以满足实际控制系统的性能要求。3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化5 对适应度的几点说明 适应度必须是正数且其值愈大表示性能愈好; w1,w2,w3,w4 是mp,tp,ts,f四个指标在适应度函数中的权值,对各个性能指标的偏重会有所不同; T1,T2,T3,T4分别是mp,ts,tp,f的性能期望值,对mp,ts,tp,,f起到约束的作用,加入T1,T2,T3,T4可以消除各个指标的物理量,把性能指标归一化; 要计算mp,ts,tp,f,就必须先要将解码后的Kp、Ki、Kd代入仿真模型中,通过仿真得到输出的数据,然后对数据进行运算分析; 仿真模型得到系统输出数据的程序是: [t,x,y]=sim('test') %对模型“test”仿真,将数据送入工作空间,仿真时间为t,模型状态量为x,模型输出量为y3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化6 复制 为了防止上一代中最好的结果丢失,本文把上一代种群中适应度最大的10%的染色体不参加交叉和变异,而直接进入下一代种群,其余的90%个体由交叉和变异两种遗传算子产生子代个体,复制的方法采用轮盘赌选择法。其对应程序如下: SelCh = select('rws', Chrom, FitnV, GGAP) %“rws”是轮盘赌选择法,“select”是选择操作命令。根据适应度FitnV,代沟系数GGAP,对种群Chrom用轮盘赌选择法选择参加交叉和变异的个体。3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化7 交叉与变异 个体复制后进行交叉操作,交叉操作是随机选择个体编码的位数,以这个位数为交叉点,按照交叉概率在种群中选择进行交叉的个体,在个体之间两两进行编码互换,从而产生新的个体。一般而言,交叉概率应取得比较大,这样可以加快种群的更新量,经交叉操作后的个体按照变异概率进行变异操作,变异是按照变异概率选择进行变异操作的个体,随机确定个体编码的某一位码元,使该码元翻转;。变异概率应取得很小,这样能够保证种群的稳定性。3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化7 交叉与变异 交叉变异的程序如下: SelCh = recombin('xovsp',SelCh,CO); %“xovsp”是单点交叉法,“recombin” 是交叉操作的命令。对选择后的种群按照0.85的交叉概率进行个体的两两交叉。 SelCh = mut(SelCh)“mut” %是变异操作的命令,默认交叉概率是0.01。对“selch”按0.01的概率进行变异。 JS1 %“JS1”是计算适应度函数的m文件,运行该文件计算经交叉和变异后的个体适应度 [ChromObjVCh]=reins(Chrom,SelCh,1,1,ObjVCh,ObjVSel) %将上一代最好的10%的个体插入当前代 3.8.1 实例1 遗传算法实现PID控制参数优化3.8.1 实例1 遗传算法实现PID控制参数优化8 停止条件 停止条件可以设为以下两种情况: 1、判断性能指标是否达标来确定运算是否停止。如mp
本文档为【人工智能在电力系统中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_391405
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:
上传时间:2013-07-09
浏览量:52