本课提纲 - PKU · 课程介绍与内容概述:优化方法概述,介绍智能优化方法的概 况、发展历程与国内外研究现状,应用实例讲解 一些经典优化算法:介绍一些经典优化算法,包括线搜索方法、
3.2 基于遗传算法的神经网络优化方法
description
Transcript of 3.2 基于遗传算法的神经网络优化方法
智能中国网提供学习支持 www.5iai.com
3.2 基于遗传算法的神经网络优化方法
概述BP 算法是人工神经网络中应用最广泛的算法,但是存在着一些缺
陷:一是学习收敛速度太慢;二是不能保证收敛到全局最小点;三是网络结构不易确定。
BP 算法优化后仍存在一定的问题网络结构确定初始连接权值选取阈值的选择
遗传算法应用于神经网络优化人工神经网络 (ANN) 的结构,学习神经网络的权值,也就是用遗传算法取代一些传统的学习
算法。
概述遗传算法( Genetic Algorithm , GA )是模拟达尔
文的遗传选择和自然淘汰的生物进化过程的计算模型。由美国密执根 (Michigan) 大学的 J.Holland 教授于
1975 年首先提出。
Hello,I’m John Holland
3.2.2 遗传算法简介算法原理
首先将问题求解表示成基因型(如常用的二进制编码串),从中选取适应环境的个体,淘汰不好的个体,把保留下来的个体复制再生,通过交叉、变异等遗传算子产生新一染色体群。依据各种收敛条件,从新老群体中选出适应环境的个体,一代一代不断进步,最后收敛到适应环境个体上,求得问题最优解
3.2.2 遗传算法简介
生物遗传学概念 遗传算法中的作用适者生存 在算法停止时,最优目标值的解有最大的可
能被留住个体( individual ) 目标函数的解 染色体( chromosom
e )解的编码(向量)
基因( gene ) 解中的每一分量的特征(或值)适应性( fitness ) 适应度函数群体( population ) 选定的一组解(其中解的个数为群体的规
模)种群( reproduction ) 根据适应函数选取的一组解交配( crossover ) 按交配原则产生一组新解的过程变异( mutation ) 编码的某一分量发生变化的过程
生物遗传学概念与遗传算法中概念的对应关系
3.2.2 遗传算法简介算法步骤
1. 随机产生一定数目的初始个体(染色体)这些随机产生的染色体组成一个种群,种群中的染色体数目称为种群的规模或大小( pop-size )。
2. 用评价函数来评价每个染色体的优劣 染色体对环境的适应程度(称为适应度),并用作以后遗传操作的依据。
3. 基于适应值的选择策略 从当前种群中选取一定的染色体作为新一代的染色体,染色体的适应度越高,其被选择的机会越大。
4. 对这个新生成的种群进行交叉(交配)操作、变异操作。
变异操作的目的使种群中的个体具有多样性,防止陷入局部最优解,这样产生的染色体群(种群)称为后代。
5. 判断是否达到预定的迭代次数,是则结束,否则返回 2 进入下一轮迭代操作
遗传算法的流程图
GEN = 0
产生初始群体
是否满足停止准则 指定结果
结 束
计算每个个体的适应度
i = 0
i = N ?
以概率选择遗传算子
GEN = GEN+ 1
选择一个个体 选择两个个体 选择一个个体
执行复制 i = i + 1 执行变异
复制到新群体 执行杂交 插入到新群体
将两个子代串插入到新群体
i = i + 1
是
否
是 否
pr pc pm
GEN— 当前代数 N— 群体规模
3.2.3 遗传算法工具箱 编码和种群生成
指令格式:Function[pop]=initializega(populationSize,variableBounds,evalFN,evalOps,options)
参数说明:pop :随机生成的初始种群 populatoinSize :种群大小即种群中个体的数目variableBounds :表示变量边界的矩阵evalFN :适应度函数evalOps :传给适应度函数的参数options :选择编码形式: 1 为浮点编码 ,0 为二进制编码
3.2.3 遗传算法工具箱 进行遗传操作
指令格式:function [x,endPop,bPop,traceInfo]=ga(bounds,evalFN,evalOps,startPop,opts, termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)
参数说明:( 1 )输出参数
X:求得的最优解 endPop :得到的最终种群bPop :最优种群的搜索轨迹traceInfo :每代的最优值和均值矩阵
( 2 )输入参数Bounds :代表变量上下界的矩阵startPop :可以从初始化函数中得到的初始解矩阵evalFN:适应度函数termFN:终止函数的名称termOps :终止函数的参数selectFN:选择函数名selectOpts :选择参数xOverFNS:交叉函数名 xOverOps :交叉参数mutFNs :变异函数名mutOps :变异参数
3.2.4 用遗传算法优化神经网络权值的学习过程 以 2.3.2 中的 BP 网络为例,其遗传算法学习权值步骤如
下1 )初始化种群 P
包括交叉规模、交叉概率 Pc 、突变概率 Pm 以及权值初始化 2 )计算每一个个体评价函数,并将其排序,可按下式
概率值选择网络个体
为个体 的适应度,可用误差平方和来衡量,即
以交叉概率 Pc 对个体 和 进行交叉操作,产生新个体 和 ,没有进行交叉操作的个体直接进行复制。
N
1
i
ii
fp
f
if i1
( )if E i 2( ) ( )o o
k o
E i d yo
iG 1iG 'iG
'1iG
3.2.4 用遗传算法优化神经网络权值的学习过程
4 )利用变异概率 Pm 突变产生 的新个体 。5 )将新个体插入到种群 P 中,并计算新个
体的评价函数。6 )判断算法是否结束。如果找到了满意的
个体或已经达到最大的迭代次数则结束,否则转 3 )进入下一轮迭代。
算法结束,如达到预先设定的性能指标后,将最终群体中的最优个体解码即可得到优化后的网络连接权值系数。
用遗传算法优化神经网络的 MATLAB实现请参阅4.5.3节
jG'jG
小结
概述遗传算法简介遗传算法工具箱函数用遗传算法优化 BP 神经网络权值的学
习过程
谢谢!