ML五邑大学研13-机器学习机器学习For2013级计算机应用技术研究生主讲李鹤喜ML五邑大学研13-机器学习机器学习——人工神经网络1、概述人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(ConnectionistModel),是对人脑或自然神经网络(NaturalNeuralNetwork)若干基本特性的抽象和模拟。人工神经网络以对大脑的生理研究成果为基础的,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能。国际著名的神经网络研究专家,第一家神经计算机公司的创立者与领导人HechtNielsen给人工神经网络下的定义就是:“人工神经网络是由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作状态相应而进行信息处理。”ML五邑大学研13-机器学习2、人工神经网络的提出人工神经网络是对人类大脑系统的一阶特性的一种描述。简单地讲,它是一个数学模型,可以用电子线路来实现,也可以用计算机程序来模拟,是人工智能研究的一种方法。ML五邑大学研13-机器学习3、人工神经网络的特点人工神经网络的以下几个突出的优点使它近年来引起人们的极大关注:(1)可以充分逼近任意复杂的非线性关系;(2)所有定量或定性的信息都等势分布贮存于网络内的各神经元,故有很强的鲁棒性和容错性;(3)采用并行分布处理方法,使得快速进行大量运算成为可能;(4)可学习和自适应不知道或不确定的系统;(5)能够同时处理定量(函数逼近)、定性(分类判别)知识。ML五邑大学研13-机器学习4、生物神经元模型1、生物神经网络由树突轴突突触其他神经元构成轴突——细胞体突起的最长的外伸管状纤维称为轴突。轴突最长可达1米以上。轴突是把神经元兴奋的信息传出到其它神经元的出口。树突——细胞体的伸延部分产生的分枝称为树突,树突是接受从其它神经元传入的信息的入口。突触——是一个神经元与另一个神经元之间相联系并进行信息传送的结构ML五邑大学研13-机器学习3、生物神经元模型神经元的六个基本特征:1)神经元相互联接,呈网状结构;2)神经元之间的联接强度决定信号传递的强弱;3)神经元之间的联接强度是可以随训练改变的;4)信号可以是起刺激作用的,也可以是起抑制作用的;5)一个神经元接受的信号的累积效果决定该神经元的状态;6)每个神经元可以有一个“阈值”。ML五邑大学研13-机器学习4、神经元的MP模型MP-模型如图所示,神经元由输入量x1,x2,…,xn,对应每个输入量的权值wi、门限和输出y组成,f为传递函数x1x2xnfy)-*(n1iiixwfy…w1w2wnf(v)vn1iiixwv-*ML五邑大学研13-机器学习4、一般神经元模型ML五邑大学研13-机器学习一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。一个求和单元,用于求取各输入信号的加权和(线性组合).一个非线性激活函数(作用函数),起非线性映射作用并将神经元拘出幅度限制在一定范围内.此外还有一个阈值4、一般神经元模型kML五邑大学研13-机器学习4、一般神经元模型两种阈值,一种为负起抑制作用,一种为偏置ML五邑大学研13-机器学习激活函数的作用1、控制输入对输出的激活作用;2、对输入、输出进行函数转换;3、将可能无限域的输入变换成指定的有限范围内的输出。ML五邑大学研13-机器学习几种常见的激活函数1、阈值函数.M-P模型ML五邑大学研13-机器学习2,分段线性函数它类似于一个放大系数为1的非线性放大器,当工作于线性区时它是一个线性组合器,放大系数趋于无穷大时变成一个阈值单元。几种常见的激活函数ML五邑大学研13-机器学习3。Sigmoid函数0双曲正切函数这类具有平滑和渐近性,并保持单调性.几种常见的激活函数ML五邑大学研13-机器学习神经网络的基本模型ML五邑大学研13-机器学习4、神经网络结构模型1、前向神经网络结构(feed-forwardNetworks)所谓前向网络,是各神经元接收前一层的输入,并输出给下一层,没有反馈。节点分为两类,即输入节点和计算节点,每一个计算节点可有多个输入,但只有一个输出,通常前馈型网络可分为不同的层,第i层的输入只与第i-1层的输出相连,输入与输出节点与外界相连,而其他中间层则称为隐层。ML五邑大学研13-机器学习4、神经网络结构模型2、反馈神经网络结构(feedbackneuralnetwork)反馈神经网络是一种反馈动力学系统。在这种网络中,每个神经元同时将自身的输出信号作为输入信号反馈给其他神经元,它需要工作一段时间才能达到稳定。Hopfield神经网络是反馈网络中最简单且应用广泛的模型,它具有联想记忆的功能,如果将李雅普诺夫函数定义为寻优函数,Hopfield神经网络还可以用来解决快速寻优问题。ML五邑大学研13-机器学习4、神经网络结构模型3、随机型神经网络结构(RandomNeuralNetworks)前向型和反馈型的网络是确定性的网络,即给定输入则输出是确定的,但实际上按照神经生理学的观点,生物神经元本质上是随机的.因为神经网络重复地接受相同的刺激,其响应并不相同,这意味着随机性在生物神经网络中起着重要的作用.随机神经网络正是仿照生物神经网络的这种机理进行设计的.随机神经网络一般有两种:一种是采用随机性神经元激活函数;另一种是采用随机型加权连接,即是在普通人工神经网络中加入适当的随机噪声。中间部显见神经元输入部输出部隐见神经元ML五邑大学研13-机器学习4、神经网络结构模型3、自组织神经网络(SelfOrganizingneuralNetworks)自组织神经网络是一种无导师学习方式,更类似于人类大脑中生物神经网络的学习,其最重要特点是通过自动寻找样本中的内在规律和本质属性,自组织自适应地改变网络参数与结构。这种学习方式大大拓宽神经网络在模式识别与分类方面的应用。输入模式输出模式竞争层ML五邑大学研13-机器学习人工神经网络的学习ANN研究中的核心问题:Howtodeterminetheweights(权值)人工神经网络最具有吸引力的特点是它的学习能力。1962年,Rosenblatt给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。人工神经网络的表达能力大大地限制了它的学习能力。人工神经网络的学习过程就是对它的训练过程ML五邑大学研13-机器学习有导师学习(SupervisedLearning)与有导师训练(SupervisedTraining)相对应。输入向量与其对应的输出向量构成一个“训练对”。有导师学习的训练算法的主要步骤包括:1)从样本集合中取一个样本(Ai,Di);2)计算出网络的实际输出O;3)求E=Di-O;4)根据E调整权矩阵W;5)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。监督学习(有教师学习)ML五邑大学研13-机器学习监督学习(有教师学习)ML五邑大学研13-机器学习无导师学习(UnsupervisedLearning)与无导师训练(UnsupervisedTraining)相对应抽取样本集合中蕴含的统计特性,并以神经元之间的联接权的形式存于网络中。非监督学习(无导师学习)ML五邑大学研13-机器学习强化学习(reinforcementlearning再励学习)这种学习介于上述两种情况之间,外部环境对系统构出结果只给出评价(奖或惩)而不是给出正确答案,学习系统通过强化那些受奖励的动作来改善自身性能ML五邑大学研13-机器学习神经网络的学习规则1)直接设计计算例如Hopfield作优化计算2)学习得到,即通过训练(training)ML五邑大学研13-机器学习神经网络学习规则a)误差纠正学习令为输入时神经元在n时刻的实际输出,表示相应的应有的输出(由训练样本给出))(nyk)(nxk)(ndk误差:训练指标:权值调整:ML五邑大学研13-机器学习b)Hebb学习神经心理学家Hebb提出的学习规则可归结为”当某一突触(连接)两端的神经元的激活同步(同为激括或同为抑制)时,该连接的强度应增强,反之则应减弱”。Heb规则:权值调整函数:神经网络的学习规则ML五邑大学研13-机器学习c)竞争学习顾名思义,在竟争学习时网络各输出单元互相竟争,最后达到只有一个最强者激活。最常见的一种情况是输出神经元之间有侧向抑制性连接,这样众多输出单元中如有某一单元较强,则它将获胜并抑制其他单元,最后只有比较强者处于激活状态。神经网络的学习规则ML五邑大学研13-机器学习BP反向传播神经网络BP(BackPropagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用误差最速下降法,通过误差反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。ML五邑大学研13-机器学习BP反向传播神经网络Rumelhart,McClelland于1985年提出了BP网络的误差反向后传BP(BackPropagation)学习算法BP算法基本原理利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。J.McClellandDavidRumelhartML五邑大学研13-机器学习BP神经网络模型多层BP神经网络(这里是4层)ML五邑大学研13-机器学习BP神经网络算法的推导在第n次迭代中输出端的第j个单元的输出为,则该单元的误差信号为)()()(nyndnejjj定义单元j的平方误差为,则输出端总的平方误差的值为:)(21)(2nenEcjj其中c包括所有输出单元,设训练集中样本总数为N,则平方误差的均值为21c1][N21)(1NnjjNnAV)n(enENEML五邑大学研13-机器学习采用误差下降法,就是根据误差E(n)变化情况调整权值w,另一个角度说就是,权值w变化对误差E信号有何影响。即要求取,如果为正,表示随着w增加E增加,显然应该减少w,如果为负,表示随着w增加E减少,当然应该增加w,即按下列算式调节,η是比例因子,也称学习效率:BP神经网络算法的推导wEnwwnwnw)()()(1wEwEwE故取w为:wEw故问题的关键在于如何求wEML五邑大学研13-机器学习误差vj(n)φ(.)yj(n)dj(n)ej(n)-1yi(n)wj0(n)=j(n)wji(n)wjp(n)y0(n)=-1yp(n)前级输入BP神经网络算法的推导设E(n)为学习的目标函数,学习的目的是使E(n)达到最小.下面就逐个样本学习的情况推导BP算法.上图表示第j个单元接收到前一层i信号并产生误差信号的过程vj(n)φ(.)yj(n)dj(n)ej(n)-1yi(n)wj0(n)=j(n)wji(n)wjp(n)y0(n)=-1yp(n)求和传递函数实际输出期望函数误差前级输入权重vj(n)φ(.)yj(n)dj(n)ej(n)-1yi(n)wj0(n)=j(n)wji(n)wjp(n)y0(n)=-1yp(n)前级输入vj(n)φ(.)yj(n)dj(n)ej(n)-1yi(n)wj0(n)=j(n)wji(n)wjp(n)y0(n)=-1yp(n)前级输入vj(n)φ(.)yj(n)dj(n)ej(n)-1yi(n)wj0(n)=j(n)wji(n)wjp(n)y0(n)=-1yp(n)前级输入vj(n)φ(.)yj(n)dj(n)