算法设计与分析耿国华第九章.ppt_第1页
算法设计与分析耿国华第九章.ppt_第2页
算法设计与分析耿国华第九章.ppt_第3页
算法设计与分析耿国华第九章.ppt_第4页
算法设计与分析耿国华第九章.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章 神经网络智能算法,算法,设计与分析,算法设计与分析,主编 耿国华,本章内容,9.1 神经网络简介 9.1.1 神经网络组成 9.1.2 神经网络的分类 9.1.3 神经网络的学习规则 9.1.4 神经网络的特征 9.2 反向传播(BP)模型及其算法 9.2.1 BP神经网络学习算法 9.2.2 BP神经网络设计 9.2.3 BP神经网络的缺点 9.3 BP模型示例 9.3.1 神经网络字母识别过程 9.3.2 用BP神经网络实现两类模式分类 9.3.3 神经网络实现医学影像乳腺癌分类 9.4 本章小结,Chapter,9,引言,智能算法和人工神经网络 智能算法是人们受自然(生物)界规律

2、的启迪,根据其原理,模仿求解问题的算法,是利用仿生原理进行设计的算法。 人工神经网络(Artificial Neural Networks, ANN),也简称为神经网络(Neural Networks, NN),是一种应用类似于大脑神经突触连接的结构进行信息处理的数学模型。神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果。,Chapter,9,神经网络的应用 主要集中在分类、预测、模式识别、逻辑推理、优化与控制、联想记忆和信号处理等领域。,9.1 神经网络简介,9.1.1神经网络组成 9.

3、1.2神经网络的分类 9.1.3神经网络的学习规则 9.1.4神经网络的特征,Chapter,9,9.1 神经网络简介,神经元结构 神经网络是对人脑的模拟,它的神经元结构、构成与作用方式都是在模仿人脑,但是仅仅是粗糙的模仿。 生命科学中,神经细胞一般称作神经元,它是整个神经结构的最基本单位。每个神经细胞就像一条胳膊,其中像手掌的地方含有细胞核,称作细胞体,像手指的称作树突,是信息的输入通路,像手臂的称作轴突,是信息的输出通路。神经元之间错综复杂地连在一起,互相之间传递信号,而传递的信号可以导致神经元电位的变化,一旦电位高出一定值,就会引起神经元的激发,此神经元就会通过轴突传出电信号。,Chap

4、ter,9,9.1 神经网络简介,人工神经网络 人工神经网络(后面简称神经网络)是一种运算模型,由大量的节点(或称“神经元”,或“单元”)和节点之间相互连接构成。每两个节点间的连接代表一个对于通过该连接信号的加权值,称为权重,这相当于人工神经网络的记忆。网络的输出则依网络连接方式、权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。,Chapter,9,人工神经网络的工作过程 第一阶段:学习期,此时各计算单元状态不变,各 连线上的权值通过学习来修

5、正; 第二阶段:工作期,此时连接权固定,根据输入单元和连接权值计算输出。,9.1.1 神经网络组成,(1)神经元 神经网络由一组神经元组成,这决定了神经网络的并行处理能力。 神经元是以生物神经系统细胞为基础的生物模型。神经网络中的每个 神经元都采用MP模型,其包含输入层、输出层和隐含层单元。 神经元是神经网络基本的计算单元,具有多个输入和一个输出。神 经元的基本的结构如下图所示。,Chapter,9,9.1.1 神经网络组成,x1,x2,x3,xn是输入;y是输出;为内部状态的反馈信息和;为阈值; F为表示神经元活动的特性函数。 若n个输入x1,x2,x3,xn对这个神经元的作用强度分别为1,

6、2,3,n,则这个神经元的综合输入为: 通常神经元所接受的输入信号的加权总和不能反映神经元输入和输出之间的真实关系。为此,需要对综合输入进行必要的调整: 在对综合输入进行适当的调整后,还需要进一步用一个特性函数来刻画这种关系,产生新的输出:,Chapter,9,神经元网络结构图,9.1.1 神经网络组成,(2)激活状态 神经网络的激活状态是由全体神经元的激活状态构成的状态向量,表示系统的激活模式,刻画了系统在时刻t所表示的某一对象。单元的激活值可以是连续值,也可以是离散值。 (3)连接模式 连接模式是指各单元之间的相互连接。连接模式构成了系统所具有的知识,体现神经网络的分布式能力。,Chapt

7、er,9,9.1.1 神经网络组成,(4)激励函数 激励函数可以是线性的,也可以是非线性的,常用的激励函数有: 线性函数 硬极限函数 饱和线性函数 高斯函数 Sigmoid函数,Chapter,9,9.1.2 神经网络的分类,从网络结构角度,人工神经网络可分为前馈网络和反馈网络. 前馈网络 前馈网络具有递阶分层结构,神经元分层排列,每一层的神经元并不相互连接,每一层的神经元只接受前一层神经元的输入,并向下一层传输结果,可用一有向无环图表示。一种常见的多层结构的前馈网络由3部分组成,即:输入层,输出层和隐含层。 (1)输入层,众多神经元接受大量非线性输入信息。输入的信息称为输入向量。,Chapt

8、er,9,(2)输出层,信息在神经元链接中传输、分析、权衡,形成输出结果。输出的信息称为输出向量。 (3)隐含层,简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐含层的节点(神经元)数目不定,但数目越多神经网络的非线性越显著,从而神经网络的鲁棒性(控制系统在一定结构、大小等参数的摄动下,维持某些性能的特性更显著。,9.1.2 神经网络的分类,多层前馈神经网络是指网络有一层或多层隐层,相应的结点称为隐藏神经元。隐藏神经元用以介入外部输入和网络输出之中,提取高阶统计特性。隐藏神经元可以有多层,通常使用一层就可以达到高质量的非线性逼近的效果。,Chapter,9,9.1.2 神经

9、网络的分类,反馈网络 与前馈神经网络不同,反馈神经网络至少有一个反馈环,可以是自反馈环或者是非自反馈,其中隐藏神经元可以是0个或多个。在反馈网络中,多个神经元通过互联组织成互联神经网络。在该网络中,每个神经元的输出都和其他神经元相连,从而形成了动态的反馈关系,有些神经元的输出被反馈至同层或前层神经元。从而使得信号既能够正向流通,也能够反向流通。反馈神经网络图如下:,Chapter,9,9.1.3 神经网络的学习规则,学习能力是神经网络的重要特征。在神经网络里,学习是一个过程,通过这个过程神经网络的自由参数在其嵌入环境的激励下得到调节。也可以说,神经网络的学习过程就是网络的权值调整过程。神经网络

10、连接权值的确定有以下两种方式: (1)通过设计计算确定,即死记式学习; (2)网络按照一定的规则学习(也可以称为训练)得到。 大多数神经网络使用第二种方式来确定其网络权值,与一般的机器学习分类方法类似,神经网络的学习方式有以下三种类型:监督学习,非监督学习和再激励学习。,Chapter,9,9.1.3 神经网络的学习规则,(1)监督学习 监督学习(supervised learning)又称有教师学习,这种学习方式需要外界存在一个“教师”,他可对给定一组输入提供应有的正确的输出结果。这组已知的输入输出数据称为训练样本集,学习系统根据已知输出与实际输出之间的差值(误差新号)来调节系统中各个权值。

11、整个训练过程需要由外界提供训练数据,相当于由一位知道正确结果的教师示教给网络,故这种调整权值方式称为监督学习,如下图所示。 这种学习方法主要针对样本集类别标签已知的训练样本进行神经网络分类器设计。,Chapter,9,9.1.3 神经网络的学习规则,(2)非监督学习 非监督学习也称无教师学习,是一种自组织学习,此时网络的学习完全是一种自我调整的过程,不存在外部“教师”,也不存在来自外部环境的反馈来指示网络期望输入什么或者当前输出是否正确,如下图所示。 在实际应用中,不少情况下无法预知样本的类别,也就是没有训练样本,只能从原先没有样本标签的样本集开始进行分类器设计,这就是非监督学习。 非监督学习

12、方法在寻找数据集中的规律性,这种规律性并不一定要达到划分数据集的目的,也就是说不一定要“分类”,比如分析一堆数据的主分量,或分析数据集有什么特点等都可以归于非监督学习方法的范畴。,Chapter,9,9.1.3 神经网络的学习规则,(3)再激励学习 再激励学习又称强化学习(reinforcement learning),如下图所示,这种学习介于上述两种情况之间,外部环境对系统输出结果只给出奖或惩的评价信息,而不是给出正确答案。学习系统通过强化哪些受奖的动作来改善自身的性能。,Chapter,9,9.1.3 神经网络的学习规则,Chapter,9,神经网络的正确操作取决于节点的安排,以及激励函数

13、与权值的选择。在学习期间,节点的安排往往是固定的,激励函数的选择也是固定的,主要是通过修正权值以产生希望的响应。 在训练开始,通常会将权值设为很小的随机值。因此,当一个样本第一次提供给网络时,网络不可能产生正确的输出。网络实际的输出与需要的输出间的差异就构成了误差,使用这个误差就可以对权值进行修正。规则或者Widrow-Hoff规则就是一种误差修正规则,对于具有单个输入权的输出节点,激励(也即是输出)y与目标t间的误差为: 。若输出节点的信号是x,学习率是(实数),则需要调整的量为: 。此时,新权为调整值与旧权值之和: 。,9.1.4 神经网络的特征,目前,神经网络被广泛应用于知识处理、市场分

14、析、通信运输、信号处理以及自动化控制等方面。尽管这些神经网络结构各不相同,但都具有以下的共同特征。 1.容错性与非线性 在神经网络中,要想获得存储的知识可以采用“联想”的办法,即当一个神经网络输入一个激励时,就会在已存的知识中寻找与该输入匹配最佳的存储知识为其解。当然,在信息输出时,不会直接从记忆中取出,而是需要经过神经网络计算。这种存储方式的优点在于若部分信息不完全、丢失或者损坏,甚至出现错误,但它仍然能恢复出原来正确的、完整的信息,保证系统的正常运行。神经网络并不是各单元行为简单的相加,而是大量神经元的集体行为,这种行为在数学上表现为一种非线性关系。使用具有阈值的神经元构成的网络具有更好的

15、性能,可以提高容错性和存储容量。,Chapter,9,9.1.4 神经网络的特征,2.全局性 一个神经网络通常是由多个神经元连接而成的,因此该神经系统的整体行为不仅取决于单个神经元的特征,同时还由单元之间的相互作用、相互连接决定。通过单元之间的大量连接来模拟大脑的整体联动性,并且在信息处理时网络中大量单元又是平行且有层次的进行,其运算速度高,大大超过传统的序列式运算的数字机。 3.变化性 神经网络具有自适应、自组织、自学习能力。组成神经网络的各神经元之间的连接也是多种多样的,且各神经元之间连接强度具有一定的可塑性。这样,网络可以通过学习和训练进行自组织以适应不同信息处理要求。,Chapter,

16、9,4.多样性 神经网络是一种变结构系统,能完成对环境的适应和对外界事物的学习能力。一个系统的演变方向,在一定条件下取决于某个特定的状态函数。由于这种函数通常有多个极值,故系统具有多个较稳定的平衡态,这就导致了系统演化的多样性。,9.2 反向传播(Back Propagation,BP)模型及其算法,BP神经网络是人工神经网络中应用最广泛的一种神经网络。很多专家认为,神经网络之所以能够成为计算的主流,BP算法起着重要的作用。BP神经网络是1985年由Runelhart等人提出的,也被称为误差反向传播神经网络,它是由非线性变换单元组成的前馈网络,它的学习是典型的有教师学习。一般的多层前馈网络也指

17、BP神经网络。 BP神经网络通过迭代地处理一组训练样本,将每个样本的网络预测与实际类标号比较,进行学习。对于每个训练样本,修改权,使得网络预测值与实际类之间的均方误差最小。修改过程采用“反向”进行,即由输出层,经过隐藏层,到输入层,因此称为反向传播。总之,反向传播是神经网络的一种学习算法,它通过训练大量的历史数据确定网络中的参数,从而确定整个网络的结构。,Chapter,9,9.2 反向传播(Back Propagation,BP)模型及其算法,9.2.1 BP神经网络学习算法 9.2.2 BP神经网络设计 9.2.3 BP神经网络的缺点,Chapter,9,9.2.1 BP神经网络学习算法,

18、BP学习算法是训练神经网络的基本方法,它也是一个非常重要且经典的学习算法,其实质是求解误差函数的最小值问题,利用它可以实现多层前馈神经网络权值的调节。这种学习算法的提出对神经网络发展起到很大的推动作用。BP算法的主要思想是将学习过程分成两个阶段:从输入层到输出层的正向传播过程和从输出层到输入层的反向传播过程: 首先将输入信息从输入层经隐藏层到输出层逐层计算处理,给出每个单元的实际输出值(正向传播); 然后,在输出层如果不能得到期望的输出,则逐层计算实际输出与期望输出之差(误差),根据误差逐层向前算出隐层各单元的误差,并以此误差修正前层权值(反向过程)。 最后,对于给定的一组训练样本,不断用一个

19、个训练样本重复正向传播和误差反向传播过程,直到各训练样本的实际输出与期望输出在一定的误差范围之内时,则BP网络学习好了。这时网络中的权值即可用于新的样本的预测计算。,Chapter,9,9.2.1 BP神经网络学习算法,具体过程如下: (1)选定p个样本; (2)权值初始化(随机生成); (3)依次输入样本; (4)依次计算各层的输出; (5)求各层的反传误差; (6)按权值调整公式修正各层单元权值和阈值; (7)按新权值计算各层的输出,直到误差小于事先设定的阈值。,Chapter,9,9.2.1 BP神经网络学习算法,由于反向传播模型具有良好的鲁棒性和对大批量数据的训练能力,因此在数据分类和

20、预测方面得到了广泛的应用。在数据分类中,反向传播模型可以将数据库中的数据映射到所给定的类别。在预测中,则可以从历史数据中自动推导出给定数据的推广描述,以便对未来数据进行预测。,Chapter,9,9.2.2 BP神经网络设计,BP网络的设计主要包括输入层、隐含层、输出层节点数及各层之间的传输函数几个方面。 1.输入层和输出层的设计 输入层和输出层节点数的选择由应用要求决定。输入层节点数一般等于要训练的样本矢量维数,可以是原始数据的维数或提取的特征维数;输出层节点数在分类网络中取类别数。 2.隐含层结构设计 (1)隐含层数设计 1989年,Robert Hecht-Nielsen证明了对于任何闭

21、区间内的一个连续函数都可以用一个隐含层的BP网络来逼近。因而,一个3层的BP网络可以完成任意的n维到m维的映射。只有学习不连续函数时才需要两个隐含层,故一般情况下最多需要两个隐含层。最常用的BP神经网络结构是3层的,即输入层、输出层和一个隐含层。,Chapter,9,9.2.2 BP神经网络设计,(2)隐含层节点数设计 隐含层节点数对神经网络的性能有一定的影响。隐含层节点数与求解问题的要求、输入输出节点数多少都有直接的关系。节点数过少,容错性差,识别未经学习的样本能力低;隐含层节点数过多会增加网络训练时间,并且将样本中非规律性的内容(如干扰、噪声)存储进去,降低泛化能力,往往需要设计者的经验和

22、多次试验来确定隐含层节点数。 根据经验可以参考公式9-18进行设计: (9-18) 上式中,l为隐含层节点数;n为输入节点数;m为输出节点数;a为110之间的调节常数。改变l,用同一样本集训练,从中确定网络误差最小时对应的隐含层节点数。,Chapter,9,9.2.2 BP神经网络的设计,3. BP网络参数与函数选取 (1)初始化权:网络的权被初始化为很小的随机数(例如,由-1.0到1.0,或由-0.5到0.5)。每个单元有一个偏置,偏置也类似地初始化为小随机数。 每个样本X按以下步骤处理: (2)向前传播输入:计算隐藏层和输出层每个单元的净输入和输出。 首先,训练样本提供给网络的输入层,对输

23、入层单元j:输出等于输入,即对于单元j, ; 隐藏层和输出层的每个单元的净输入用其输入的线性组合计算,其实,单元的输入是连接它的前一层的单元的输出。净输入为连接该单元的每个输入乘以其对应的权,然后求和。给定隐藏层或输出层的单元j,到单元j的净输入 是 其中, 是由上一层的单元i到单元j的连接的权; 是上一层的单元i的输出;而 是单元j的偏置。偏置充当阈值,用来改变单元的活性。,Chapter,9,9.2.2 BP神经网络的设计,隐藏层和输出层的每个单元取其净输入,然后将一个赋活函数作用于它,如图9.7所示。为了加快收敛速度,在反向传播算法中通常采用梯度法修正权值,为此要求输出函数必须可微,比如

24、可以采用Sigmoid函数,给定单元j的净输入 ,则单元j的输出 用式9-13计算: (9-13) 该函数可以将一个较大的输入值域映射到较小的区间0到1。,Chapter,9,9.2.2 BP神经网络的设计,(3)后向传播误差:通过更新权和偏置以反映网络预测的误差,向后传播误差。对于输出层单元j,误差 用 计算,其中 是单元j的实际输出,而 是j基于给定训练样本的已知类标号的真正输出。 为计算隐藏层单元j的误差,考虑下一层中连接j的单元的误差加权和。隐藏层单元j的误差是 其中, 是由下一较高层中单元k到单元j的连接权,而 是单元k的误差。更新权和偏差,以反映传播的误差。权由下式更新,其中, 是

25、权 的改变。,Chapter,9,9.2.2 BP神经网络的设计,变量l是学习率,通常去0和1之间的一个常数值。后向传播学习使用梯度下降法搜索权值的集合。这些权值可以对给定的分类问题建模,使得样本的网络类预测和实际的类标号距离平方的平均值最小。 在实际应用中,学习时要输入训练样本,每输入一次全部训练样本称为一个训练周期,学习要一个周期一个周期地进行,直至目标函数(一般是误差函数)达到最小或小于某一给定值。 用反向传播算法训练神经网络时有两种方式可供选择,一种是每输入一个样本就修改一次权值,称为单样本训练。这种方法只针对当前样本产生的误差进行调整,难免顾此失彼,使整个训练的次数增加。导致收敛速度

26、过慢。另一种是批处理方式,即一个训练周期后计算总的平均误差。,Chapter,9,9.2.2 BP神经网络的设计,4.BP算法的训练过程 训练期间的每个输入样本都会有一个与之相关联的目标向量,训练的目标是找到一个网络权集,使所有输入样本的期望输出和实际输出误差在一定范围之内。但由于函数不能得到精确的0或1,所以有时分别使用0.1与O.9来代替0和1。一旦所有的输出落在目标值所指定的容许范围内,就可以认为网络完成了学习任务。 算法9-1 反向传播算法的训练过程 while 终止条件不满足 for 每个输入向量 执行正向传播找出实际的输出 通过比较实际输出与目标输出获得误差向量 end for 根

27、据误差调整while中的判断条件 end while 上面是BP算法的基本计算过程。总体来说就是提供给网络一个样本并计算一个误差向量,以确定权值如何改变;对其他样本也重复这个过程。,Chapter,9,9.2.3 BP神经网络的缺点,虽然BP网络得到了广泛的应用,但自身来说也存在一些缺陷和不足,主要包括以下几个方面: (1)由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。 (2)BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小 值,这是因为采用梯度下降法可能产生一个局部最小值。 (3)网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验

28、确定。 (4)网络的学习和记忆具有不稳定性。,Chapter,9,9.3 BP模型示例,9.3.1 神经网络字母识别过程 9.3.2 用BP神经网络实现两类模式分类 9.3.3 用神经网络实现医学影像乳腺分类,Chapter,9,9.3.1 神经网络字母识别过程,神经网络首先要以一定的学习准则进行学习,然后才能工作。现以神经网络对手写“A”、“B”两个字母的识别为例进行说明。规定当输入为“A”时,输出为“1”;而当输入为“B”时,输出为“0”。 所以网络学习的准则应该是:如果网络作出错误的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内

29、的随机值,将“A”所对应的图像模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。,Chapter,9,9.3.1 神经网络字母识别过程,如果输出为“0”(结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论