130 likes | 386 Views
3.2 基于遗传算法的神经网络优化方法. 概述. BP 算法是人工神经网络中应用最广泛的算法,但是存在着一些缺陷: 一是学习收敛速度太慢; 二是不能保证收敛到全局最小点; 三是网络结构不易确定。 BP 算法优化后仍存在一定的问题 网络结构确定 初始连接权值选取 阈值的选择 遗传算法应用于神经网络 优化人工神经网络 (ANN) 的结构, 学习神经网络的权值,也就是用遗传算法取代一些传统的学习算法。. 概述. 遗传算法( Genetic Algorithm , GA )是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。
E N D
概述 • BP算法是人工神经网络中应用最广泛的算法,但是存在着一些缺陷: • 一是学习收敛速度太慢; • 二是不能保证收敛到全局最小点; • 三是网络结构不易确定。 • BP算法优化后仍存在一定的问题 • 网络结构确定 • 初始连接权值选取 • 阈值的选择 • 遗传算法应用于神经网络 • 优化人工神经网络(ANN)的结构, • 学习神经网络的权值,也就是用遗传算法取代一些传统的学习算法。
概述 • 遗传算法(Genetic Algorithm, GA)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。 • 由美国密执根(Michigan)大学的J.Holland教授于1975年首先提出。 Hello,I’m John Holland
3.2.2 遗传算法简介 • 算法原理 首先将问题求解表示成基因型(如常用的二进制编码串),从中选取适应环境的个体,淘汰不好的个体,把保留下来的个体复制再生,通过交叉、变异等遗传算子产生新一染色体群。依据各种收敛条件,从新老群体中选出适应环境的个体,一代一代不断进步,最后收敛到适应环境个体上,求得问题最优解
3.2.2 遗传算法简介 • 生物遗传学概念与遗传算法中概念的对应关系
3.2.2 遗传算法简介 • 算法步骤 • 1.随机产生一定数目的初始个体(染色体) • 这些随机产生的染色体组成一个种群,种群中的染色体数目称为种群的规模或大小(pop-size)。 • 2.用评价函数来评价每个染色体的优劣 • 染色体对环境的适应程度(称为适应度),并用作以后遗传操作的依据。 • 3.基于适应值的选择策略 • 从当前种群中选取一定的染色体作为新一代的染色体,染色体的适应度越高,其被选择的机会越大。 • 4.对这个新生成的种群进行交叉(交配)操作、变异操作。 • 变异操作的目的使种群中的个体具有多样性,防止陷入局部最优解,这样产生的染色体群(种群)称为后代。 • 5.判断是否达到预定的迭代次数,是则结束,否则返回2进入下一轮迭代操作
GEN=0 结 束 产生初始群体 是 是否满足停止准则 指定结果 以概率选择遗传算子 否 计算每个个体的适应度 pc pm pr 选择一个个体 选择两个个体 选择一个个体 i=0 执行变异 i=i+1 否 执行复制 是 GEN=GEN+1 i=N ? 插入到新群体 复制到新群体 执行杂交 GEN—当前代数 N—群体规模 将两个子代串插入到新群体 i=i+1 遗传算法的流程图
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对个体 和 进行交叉操作,产生新个体 和 ,没有进行交叉操作的个体直接进行复制。
3.2.4 用遗传算法优化神经网络权值的学习过程 • 4)利用变异概率Pm突变产生 的新个体 。 • 5)将新个体插入到种群P中,并计算新个体的评价函数。 • 6)判断算法是否结束。如果找到了满意的个体或已经达到最大的迭代次数则结束,否则转3)进入下一轮迭代。 • 算法结束,如达到预先设定的性能指标后,将最终群体中的最优个体解码即可得到优化后的网络连接权值系数。 • 用遗传算法优化神经网络的MATLAB实现请参阅4.5.3节
小结 • 概述 • 遗传算法简介 • 遗传算法工具箱函数 • 用遗传算法优化BP神经网络权值的学习过程