基于遗传算法的bp神经网络的优化问题研究内容摘要:

遗传算法基本思想 进化论认为每一物种在不断的发展过程中都是越来越适应环境。 物种的每个个体的基本特征被后代所继承,但后代又不完全同于父代,这些新的变化若适应环境,则被保留下来。 在某一环境中也是那些更能适应环境的个体特征能被保留下来,这就是适者生存的原理。 遗传学说认为遗传是作为一种指令码封装在每个细胞中,并以基因的形式包含在染色体中,每个基因有特殊的位置并控制某个特殊的性质,每个基因产生的个体对环境都有一定的适应性,基因杂交和基因突变可能产生对环境适应性更强的后代,通过优胜劣汰的自然选择,适应 值高的基因结构就被保存下来。 遗传算法将问题的求解表示成用编码变异两种基因操作产生出新一代的更适应环境的“染色体”种群。 随着算法的运行,优良的品质被逐渐保留并加以组合,从而不断产生出更佳的个体。 这一过程就如生物进化那样,好的特征被不断地继承下来,坏的特征被逐渐淘汰。 新一代个体中包含着上一代个体的大量信息,新一代的个体不断地在总体特性上胜过旧的一代,从而使整个群体向前进化发展。 下面是遗传算法的流程: (1)、初始化群体; (2)、计算群体上每个个体的适应度值; (3)、按由个体适应度值所决定的某个规则选择将进 入下一代的个体; (4)、按交叉概率进行交叉操作; (5)、按变异概率进行变异操作; (6)、没有满足某种停止条件,则转第 (2)步,否则进入 (7); (7)、输出种群中适应度值最优的染色体作为问题的满意解或最优解。 遗传算法中的停止条件,一般依据问题的不同有不同的确定方式。 例如,可以采用以下的准则之一作为判断条件: (1)、种群中个体的最大适应度超过预先设定值; (2)、种群中个体的平均适应度超过预先设定值; (3)、世代数超过预先设定值。 重庆邮电大学本科毕业设计(论文) 9 图 遗传算法的运算过程 遗传算法的特点 常规的寻优算法 常规的寻优方法主要有四种类型:解析法、枚举法、随机法。 解析法 解析法寻优是研究最多的一种,它一般又可分为间接法和直接法。 (1)、间接法是通过让目标函数的梯度为零,进而求解一组非线性方程来寻求局部极值。 (2)、直接法是使梯度信息按最陡的方向逐次运动来寻求局部极值,通常称为爬山法。 上述两种方法的主要缺点:它们只能寻找局部极值而非全局的极值;它们要求目标函数是连续光滑的,并且需 要导数信息。 这两个缺点,使得解析寻优方法的性能较差。 相互确定 解码 编码 Y N 输出 X* 选择、交叉、变异 目标函数 初始种群体 p(t) 搜索空间 解空间 适应度评价 生成新的群体 p(t+1) 符合 输出 C* 重庆邮电大学本科毕业设计(论文) 10 枚举法 枚举法可以克服上述解析法的两个缺点,即它可以寻找到全局的极值,而且也不需要目标函数是连续光滑的。 主要缺点:计算效率太低,对于一个实际问题,常常由于太大的搜索空间而不可能将所有的情况都搜索到,对于中等规模和适度复杂性的问题,它也常常无能为力。 随机法 随机法通过在搜索空间中随机地漫游并随时记录下所取得的最好结果。 出于效率的考虑,搜索到一定程度便终止。 然而所得结果一般尚不是最优值。 本质上随机法仍然是一种枚举法。 遗传算法与常 规寻优算法的比较 遗传算法相对于常规 寻优 算法有如下的特点。 (1)、遗传算法以决策变量的编码作为运算对象。 传统的优化算法往往直接利用决策变量的实际值本身来进行优化计算,而遗传算法处理决策变量的 某种编码形式,使得我们可以借鉴生物学中的染色体和基因的概念, 模仿自然界生物的遗传和进化机理,也使得我们能够方便的应用遗传操作算子。 特别是对一些无数值或很难有数值 而只有代码概念的优化问题,编码处理方式更显示出了其独特的优越性。 (2)、遗传算法直接以目标函数值作为搜索信息。 传统的优化算法不仅需要利用目标函数值,而且往 往需要目标函数的导数值等其他一些辅助信息才能确定搜索方向。 而遗传算法仅使用由目标函数值变换来的适应度函数值,就可确定进一步的搜索方向和搜索范围,无需目标函数的导数值等其它辅助信息。 (3)、遗传算法同时使用多个搜索点的搜索信息,具有隐含并行性。 很多传统的优化算法往往是从解空间中的一个初始点开始最优解的迭代搜索过程。 单个搜索点所提供的搜索信息毕竟不多,所以搜索效率不高,有时甚至使搜索过程陷于局部最优解而停滞不前。 遗传算法是 由很多个个体所组成的一个初始群体开始最优解的搜索过程。 对这个群体进行遗传操作,产生出新 一代群体,这个过程包括了很多群体信息。 这些信息可以避免搜索一些不必搜索的点,所以实际上相当于搜索了更多的点,这是遗传算法所特有的一种隐含并行性。 (4)、遗传算法使用概率搜索技术,而非确定性规则。 很多传统的优化算法往往使用的是确定性的搜索方法,这种确定性可能使得重庆邮电大学本科毕业设计(论文) 11 搜索永远达不到最优点,因而也限制了算法的应用范围。 而遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一种概率的方式来进行的,从而增加了其搜索过程的灵活性。 (5)、遗传算法有极强的容错能力。 遗传算法的初始串集本身就带有大量与最优 解甚远的信息,通过选择、交叉、变异操作能迅速排除与最优解相差极大的串,这是一个强烈的滤波过程,并且是一个并行滤波机制。 故而,遗传算法有很高的容错能力。 本章小结 本章详细阐述了遗传算法的基本操作和特点,通过对上面知识的了解,把它与常规的寻优方法作出比较,得出遗传算法并不是一种单纯的优化算法,而是一种以进化思想为基础的全新的一般方法论,它是解决复杂问题的有力工具。 遗传算法的发展过程也是不断进化的过程。 重庆邮电大学本科毕业设计(论文) 12 第三章 神经网络 人工神经网络发展 1958 年美国计算机学家罗森布拉特 (Frank Rosenblatt)提出了一种具有三层网络特性的神经网络结构,称为“ 感知机” (Perception),这或许是世界上第一个真正优秀的人工神经网络 [7]。 1969 年, 美国著名人工智能学者 Minsk 和 Papery写了一本评论人工神经网络的书《感知机》 (Perception)。 称感知机不能解决“阈值”这一问题,这本书引起了人们对 60 年代后期神经网络发展面临过热现象的争议。 这使神经网络的研究进入低潮时期。 70 年代后期,由于传统模型距离人类自身的真实模型较远,表现出了极大的局限性。 即对于那些还找不 到有效计算方法和明确的计算方法的问题,例如:在人工智能、模糊识别、动力学过程模拟等方面,就碰到了有限时间和空间的障碍,对于人脑所具有的直觉感知、创造性思维、联想功能等,这些迫使人工智能和计算机科学家必须另外寻找发展智能计算机的途径,并把注意力重新转向人脑的信息处理模式。 人工神经网络在 80 年代中期得到了飞速的发展。 1982 年, Hopfield 将人工神经网络成功地应用在组合优化问题,提出了 HNN 模型,从而有力地推动了神经网络的研究。 他引入了“计算能量函数”的概念,给出了网络稳定性判据。 它的电子电路的实现为神经 计算机的研究奠定了基础,同时开拓了神经网络用于联想记忆和优化计算的新途径。 人工神经网络模型发展到今日已有百余种模型,建造的方法也是多种多样,有出自于热力学的,数学方法的,模糊以及混沌方法。 由于网络拓扑结构的规则性,限制了系统的自由性和无序运动,因而可以采用非效力学的其他方法,如对于前馈拓扑结构的人工神经网络,可使用感知器算法、误差反传递算法、竞争学习算法等。 神经网络基本原理 神经元模型 重庆邮电大学本科毕业设计(论文) 13 神经网络的基本处理单元是神经元,大量神经元的并行工作造就了生物神经系统惊人的识别能力 [13]。 对生物神经系统的模拟首先是对神经元的模拟。 通过对神经元细胞的研究,人们得出一系列的数学特性并提出一些基本的假设 [9]: (1)、神经元是一个多输入,多输出的系统; (2)、输入端有兴奋和抑制两种状态; (3)、神经元有阈值特性,当所有输入的总和超过阈值时,才输出; (4)、输入、输出之间有时间总和、空间总和与不应期等特性; (5)、神经元是非时变的。 人们利用数学语言,近似地描述出神经元的结构特征,它有 5 个基本要素: (1)、输入信号:是神经元的 N维输入,可以用一个 N维的列向量来表示 12[ , , , ]TnX x x x  () (2)、网络权值和阈值: W是神经元的权值,即输入与神经元之间的连接强度,权值为正表示激活,为负表示抑制;  是神经元的阈值,当输入信号加权和超过 时,则神经元被激活。 (3)、求和单元:用于求取 输入信号的加权和 (线性组合 ),即 1pi kii X W  () (4)、非线性激活函数:它是神经元 输入和输出之间的变换函数,起到一个非线性映射的作用,并将神经元输出幅度限制在一定范围内 (一般限制在 (0,1) 或( 1, 1) 之间 )。 在神经元获得网络输入信号,经过激活函数就可以得到网络输出信号。 (5)、输出信号:输入信号神经元加权求和及传递 (激活 )函数作用后,最后得到终端的输出。 表示为 ()y  () 其结构示意图 所示。 图中, 12{ , , , }inX x x x 为神经元输入信号, iS 为平移信号, i 为神经元阈值, ijW 为 j 到 i 连接的权值。 对图示神经元,其输入可表示为: i ij j i ij w x s    () 输出为: ()iiy f  () 重庆邮电大学本科毕业设计(论文) 14 其中, f是神经元激活函数。 图 神经元结构图 神经网络结构及工作方式 下面介绍神经网络的结构和工作方式: 神经网络结构 神经网络的基本结构可以描述为具有下列性质的有向图 : (1)、每个节点有一个状态向量 jx ; (2)、节点 i 到节点 j 有一个连接权系数 jiW ; (3)、每个节点有一个阈值 j ; (4)、每个节点定义一个变换函数 , , ( )i jif x W i j,最基本形式为 ()ji i jif W x  神经网络的工作方式 神经网络的工作过程主要分为两个阶段: (1)、学习期 此时各计算单元状态不变,各连线上的权值可通过学习来修改; (2)、工作期 此时各连接 权固定,计算单元状态变化,以达到某种稳定状态。 1iW 2iW iS 1x 2x nx inW iu i iy 重庆邮电大学本科毕业设计(论文) 15 神经网络原理概要 神经网络是由若干个处理单元 (神经元 )相互连接所组成的系统,第一个数学模型是 MP 模型,它的基本思想是:伸进细胞的工作方式是或者兴奋,或者拟制。 由于神经元之间的信号连接强度取决于突触状态,因此在 MP 模型中,神经元的每个突触 的活动强度用权值模拟。 于是每个神经元模型都可以从数十个甚至数百个其他神经元接受信息,产生神经兴奋和冲动;单个 MP 神经元模型可以实现与、或、与非、或非等二值逻辑运算,但不能实现异或运算,并且由于它是一种静态神经元,即固定结构,权值无法调节,因此缺乏学习能力。 BP 神经网络 BP 神经网络 (Backpropagation Neutral Network)通常是指基于误差反向传播算法 (BP 算法 )的多层前馈神经网络,采用监督学习 (需要外界存在一个“教师”,它可对一组给定输入提供应有的输出结果 (正确答案 )的训练方式 [4]。 BP算法基本思想 学习过程由信号的正向传播与误差的反向传播两个过程组成。 正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。 若输出层的实际输出与期望的输 出 (监督信号 )不符,则转入误差的反向传播阶段。 误差反传是将输出误差以某种形式通过隐层向输入层逐层反传并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。 如图 所示。 BP 网络分为输入层 (Input layer)、隐含层 (Hidden layer)、输出层 (Output layer)。 层与层间多采用全互联方式,而同层单元间无连接。 BP在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。 每一层神经元的状态值影响下一层神经元的状态。 如果输出层得不到 期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。