机器学习神经网络

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

机器学习基于遗传算法一BP神经网络图像处理一.什么是神经网络二.BP(误差逆传播)神经网络三.遗传算法原理四.遗传—BP神经网络相结合五.仿真目录一.什么是神经网络神经元:生物学上的神经元人工神经元是对生物神经元的简化和模拟。生物神经元由细胞体、树突和轴突这三部分组成,如图所示。树突是细胞的输入端,通过细胞间连接的节点“突触”接触四周细胞传出的神经冲动,轴突相当于细胞的输出端,其端部的众多神经末梢为信号的输出端子,用于传出神经冲动。生物神经元具有兴奋和抑制两种工作状态。当传入的神经冲动,使细胞膜电位升高到阈值(约为40mV)时,细胞进入兴奋状态,产生神经冲动,由轴突输出。相反,若传入的神经冲动,使细胞膜电位降到低于阈时,细胞进入抑制状态,没有神经冲动输出。一.什么是神经网络神经元模型:为了模拟生物神经元,一个简化的人工神经元如图所示。它有三个基本要素:1.一组连接权(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激励,为负值表示抑制。2.一个求和单元,用于求取各输入信息的加权和(线性组合)。3.一个非线性激励函数,起非线性映射作用并限制神经元输出幅度在一定的范围之内。此外还有一个阙值。阈值也被看作是一个输入分量,也就是阈值也是一个权值。在网络的设计中,偏差起着重要的作用,它使得激活函数的图形可以左右移动而增加解决问题的可能性。一.什么是神经网络神经元模型:数学表达图给出了第j个基本BP神经元(节点),它只模仿了生物神经元所具有的三个最基本也是最重要的功能:加权、求和与转移。其中𝑥1,𝑥2…𝑥𝑖…𝑥𝑛分别代表来自神经元1,2…i…n的输入;𝑤𝑗1,𝑤𝑗2…𝑤𝑖…𝑤𝑗𝑛则分别表示神经元1,2…i…n与第j个神经元的连接强度,即权值;𝑏𝑗为阈值;f(·)为传递函数;𝑦𝑗为第j个神经元的输出。第j个神经元的净输入值为:𝑠𝑗=𝑤𝑗𝑖∗𝑥𝑖+𝑏𝑗𝑛𝑖=1设𝑤𝑗=𝑤𝑗0𝑤𝑗1𝑤𝑗2…𝑤𝑗𝑖…𝑤𝑗𝑛𝑥=[𝑥0𝑥1𝑥2…𝑥𝑖…𝑥𝑛]𝑇𝑥0=+1𝑤𝑗=𝑏𝑗则𝑆𝐽=𝑤𝑗∗𝑥+𝑏𝑗净输入通过传递(TransferFunction)f(·)后,便得到第j个神经元的输出:于是节点j的净输入可表示为:𝑦𝑗=𝑓𝑠𝑗=𝑓(𝑤𝑗∗𝑥+𝑏𝑗)一.什么是神经网络神经元模型:传递函数/激励函数阶跃函数Sigmoid(x)函数1()1xsigmoidxesgn()1xsgn()0x0x0x二.BP神经网络BP神经网络原理BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。正向传播时,传播方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元。若在输出层得不到期望的输出,则转向误差信号的反向传播流程。通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程。二.BP神经网络BP神经网络原理:正向传播设BP网络的输入层有n个节点,隐层有q个节点,输出层有m个节点,输入层与隐层之间的权值为,隐层与输出层之间的权值为,如图5.4所示。隐层的传递函数为𝑓1(∙),输出层的传递函数为𝑓2(∙),则隐层节点的输出为(将阈值写入求和项中)𝑧𝑘=𝑓1𝑥𝑖∗𝑣𝑘𝑖𝑛𝑖=0𝑘=1,2….𝑞至此B-P网络就完成了n维空间向量对m维空间的近似映射。𝑦𝑗=𝑓1𝑧𝑘∗𝑤𝑗𝑘𝑛𝑖=0𝑗=1,2….𝑞输出层节点的输出为二.BP神经网络BP神经网络原理:反向传播a)定义误差函数输入个p学习样本,用𝑥1,𝑥2…𝑥ℎ…𝑥𝑝来表示。第个样本输入到网络后得到输(j=1,2…m)。采用平方型误差函数,于是得到第p个样本的误差Ep:hjy211()2mhhjjhjtEy式中为期望输出。对于个样本,全局误差为:hjt21111()2PMphhjjhhjhEtyE二.BP神经网络BP神经网络原理:反向传播b)输出层权值的变化采用累计误差BP算法调整𝑤𝑗𝑘,使全局误差𝐸变小,即∆𝑊𝐽𝐾于是最终输出层各神经元的权值调整公式为:∆𝑊𝐽𝐾''2111η()()()pmhhjjJJKKihjtyfSwfSxη(学习效率)1ηηphhjkjkEEWW二.BP神经网络BP神经网络计算步骤二.BP神经网络BP神经网络存在的问题BP算法理论具有依据可靠、推导过程严谨、精度较高、通用性较好等优点,但标准BP算法存在以下缺点:1.收敛速度缓慢;2.容易陷入局部极小值;3.难以确定隐层数和隐层节点个数。在实际应用中,BP算法很难胜任,因此出现了很多改进算法。自适应调整学习速率:调整的基本指导思想是:在学习收敛的情况下,增大η,以缩短学习时间;当η偏大致使不能收敛时,要及时减小η,直到收敛为止。利用动量法改进BP算法:动量法权值调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量。三.遗传算法原理遗传算法(GA,GeneticAlgorithm),也称进化算法。遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。因此在介绍遗传算法前有必要简单的介绍生物进化知识。进化论知识作为遗传算法生物背景的介绍,下面内容了解即可:①种群(Population):生物的进化以群体的形式进行,这样的一个群体称为种群。②个体:组成种群的单个生物。③基因(Gene):一个遗传因子。④染色体(Chromosome):包含一组的基因。⑤生存竞争,适者生存:对环境适应度高的、牛B的个体参与繁殖的机会比较多,后代就会越来越多。适应度低的个体参与繁殖的机会比较少,后代就会越来越少。⑥遗传与变异:新个体会遗传父母双方各一部分的基因,同时有一定的概率发生基因变异。简单说来就是:繁殖过程,会发生基因交叉(Crossover),基因突变(Mutation),适应度(Fitness)低的个体会被逐步淘汰,而适应度高的个体会越来越多。那么经过N代的自然选择后,保存下来的个体都是适应度很高的,其中很可能包含史上产生的适应度最高的那个个体。三.遗传算法原理流程图三.遗传算法原理基于遗传算法的神经网络权值学习具体步骤如下:1.编码方式:神经网络的权值学习是一个复杂的连续参数优化问题,如果采用二进制编码,会造成编码串过长,且需要再解码为实数,使权值变化为步进,影响网络学习精度。这里我们采用了实数编码,如图3—4所示,神经网络的各个权值按一定的顺序级联为一个长串,串上的每一个位置对应着网络的一个权值。三.遗传算法原理基于遗传算法的神经网络权值学习2.种群的初始化:此步骤的关键是设定群体规模,即权值组合数目。群体规模作为遗传算法的主要控制参数之一,对于遗传算法效能的发挥是有很大影响的。初始染色体集中,网络的各权值是以概率分布−𝑒𝑟来随机确定的,这点有别于BP算法。在BP算法中,初始权值一般取-0.1—1.0之间均匀分布的随机数。遗传算法的这种随机分布的取法是通过以往的大量实验得出的,可以发现,当网络收敛后,权值的绝对值一般都较小,但也有一些权值是较大的。采用以上初始化方法的原因是使遗传算法能够搜索所有可行解的范围。3.评价函数:将染色体上表示的各权值分配到给定的网络结构中,网络以训练集样本为输入输出,运行后返回误差平方和的倒数作为染色体的评价函数。三.遗传算法原理基于遗传算法的神经网络权值学习4.遗传算子:对于不同的应用问题,遗传算子的形式多种多样,这里采用了权值交叉和权值变异算子。如图3—5所示。权值交叉算子:对于子代染色体中的每个权值输入位置,交叉算子从两个亲代染色体中随机选取若干个交叉位置,并将这一代染色体在交叉位胃进行交叉运算,这样子代染色体便含有两个亲代的遗传基因。权值变异算子:对于子代染色体中的每个权值输入位置,变异算子以概率𝑝𝑚在初始概率分布中随机选择一个值,然后与该输入位置上的权值相加。三.遗传算法原理基于遗传算法的神经网络权值学习5.选择方式:计算完各个体的适应度后,选择适应度大的个体遗传到下一代,从而使问题的解越来越接近于最优解空间。在此应用目前最常用的选择算子适应度比例法。在该方法中,各个个体的选择概率和其适应度成比例。对于适应度为𝐹𝑖的权值个体赋予其选择概率𝑝𝑘为:其中,N是群体规模。在实际学习中,一般将适应度最大的个体无条件地遗传给下一代。1iNkKkFpF四.遗传—BP神经网络相结合遗传—BP神经网络相结合的优势遗传算法能够收敛到全局最优解,而且遗传算法的鲁棒性较强,将遗传算法与前馈神经网络结合起来是很有意义的,不仅能发挥神经网络的非线性映射能力,而且使神经网络具有很快的收敛速度和较强的学习能力。将遗传算法用于学习神经网络权值,首先确定神经网络的结构,列出神经网络的神经元和神经元之间的连接关系,将这些连接权编码成实数码串表示的个体,随机地生成这些码串的群体;然后,进行常规的遗传算法优化计算;最后将最优个体解码,确定神经网络的权值。四.遗传—BP神经网络相结合遗传一BP结合算法在本文中设计的权值学习算法中,网络的权值是经过三个阶段的学习得到的。第一个阶段,利用BP算法进行一定次数的学习以达到选取初值的效果;第二个阶段,采用遗传算法完成接近给定精度的网络学习,完成一定精度的学习;第三个阶段,在遗传算法收敛速度较慢时,改用BP算法完成给定精度的学习。这样建立的网络模型稳定、全局收敛速度快,同时具有很强的记忆能力和推广能力。算法流程图如图所示。四.遗传—BP神经网络相结合遗传一BP神经网络模型有了上面的理论基础,我们现在开始构建用于图像识别的遗传BP网络分类器,其网络模型如图3—7所示五.仿真手写体数字识别在邮政编码识别、银行业务等方面有重要的应用,由于字体变化大,因此识别率要求较高。实验数据为美国邮政服务数据库USPS(USPostalService)中的编码集。USPS数据库以Matlab文件形式存在的。有7291个训练样本和2007个测试样本,每一个模式都以16x16的点阵形式存在,点阵的每一个元素都是-1—+l之间的双精度实数。我们从训练样本中选取200个作为训练集,从测试样本中选取100个作为测试集。表3—2、3—3给出了每一个文件的结构。其中trainarg给出了每个模式的真是类别。比如说,一个数是6,那么它在6这个位置上为1,其余位置为一1。五.仿真我们分别采用遗传一BP神经网络和标准BP神经网络进行实验。网络参数设置如下:我们都采用四层神经网络,输入节点为256,输出节点设为4(经过8421编码),为了保证网络输出O~l范围内的数,隐含层和输出层神经元的传递函数均取Sigmoid函数。交叉率选为0.3,变异率选为0.1。经过实验,各个网络收敛曲线如图3-8,图3—9所示,从曲线中我们可以发现,在相同的误差范围内,遗传一BP网络收敛速度快,训练时间短。在对数字图像进行识别时,遗传一BP网络的正确识别率达到98%,而BP网络识别率是94.7%。00.20.40.60.8101002003004005006007008009001000当前次数:640,当前误差:0.02900.20.40.60.8101002003004005006007008009001000当前次数:500,当前误差:0.022五.仿真介绍了图像识别中常用的前馈神经网络及其采用BP算法,并将具有全局优化功能的遗传算法与前馈神经网络相结合,提出了一种遗传与BP相结合的图像识别方法,解决了BP算法容易陷入局部极小的不足。并给出了仿真试验结果。

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功