机器学习-神经网络与支持向量机部分6_第1页
机器学习-神经网络与支持向量机部分6_第2页
机器学习-神经网络与支持向量机部分6_第3页
机器学习-神经网络与支持向量机部分6_第4页
机器学习-神经网络与支持向量机部分6_第5页
已阅读5页,还剩156页未读 继续免费阅读

下载本文档

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

文档简介

机器学习For2013级计算机应用技术研究生主讲李鹤喜机器学习——人工神经网络1、概述人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(ConnectionistModel),是对人脑或自然神经网络(NaturalNeuralNetwork)若干基本特性的抽象和模拟。人工神经网络以对大脑的生理研究成果为基础的,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能。国际著名的神经网络研究专家,第一家神经计算机公司的创立者与领导人HechtNielsen给人工神经网络下的定义就是:“人工神经网络是由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作状态相应而进行信息处理。”2、人工神经网络的提出人工神经网络是对人类大脑系统的一阶特性的一种描述。简单地讲,它是一个数学模型,可以用电子线路来实现,也可以用计算机程序来模拟,是人工智能研究的一种方法。3、人工神经网络的特点人工神经网络的以下几个突出的优点使它近年来引起人们的极大关注:

(1)可以充分逼近任意复杂的非线性关系;

(2)所有定量或定性的信息都等势分布贮存于网络内的各神经元,故有很强的鲁棒性和容错性;

(3)采用并行分布处理方法,使得快速进行大量运算成为可能;

(4)可学习和自适应不知道或不确定的系统;

(5)能够同时处理定量(函数逼近)、定性(分类判别)知识。4、生物神经元模型1、生物神经网络由树突轴突突触其他神经元构成轴突——细胞体突起的最长的外伸管状纤维称为轴突。轴突最长可达1米以上。轴突是把神经元兴奋的信息传出到其它神经元的出口。

树突——细胞体的伸延部分产生的分枝称为树突,树突是接受从其它神经元传入的信息的入口。突触——是一个神经元与另一个神经元之间相联系并进行信息传送的结构3、生物神经元模型神经元的六个基本特征:1)神经元相互联接,呈网状结构;2)神经元之间的联接强度决定信号传递的强弱;3)神经元之间的联接强度是可以随训练改变的;4)信号可以是起刺激作用的,也可以是起抑制作用的;5)一个神经元接受的信号的累积效果决定该神经元的状态;6)每个神经元可以有一个“阈值”。4、神经元的MP模型MP-模型如图所示,神经元由输入量x1,x2,…,

xn,对应每个输入量的权值wi、门限和输出y组成,f为传递函数x1x2xnfy…w1w2wnf(v)v4、一般神经元模型一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。一个求和单元,用于求取各输入信号的加权和(线性组合).一个非线性激活函数(作用函数),起非线性映射作用并将神经元拘出幅度限制在一定范围内.此外还有一个阈值4、一般神经元模型4、一般神经元模型两种阈值,一种为负起抑制作用,一种为偏置激活函数的作用1、控制输入对输出的激活作用;2、对输入、输出进行函数转换;3、将可能无限域的输入变换成指定的有限范围内的输出。几种常见的激活函数

1、阈值函数.

M-P模型2,分段线性函数它类似于一个放大系数为1的非线性放大器,当工作于线性区时它是一个线性组合器,放大系数趋于无穷大时变成一个阈值单元。几种常见的激活函数3。Sigmoid函数双曲正切函数这类具有平滑和渐近性,并保持单调性.几种常见的激活函数神经网络的基本模型4、神经网络结构模型1、前向神经网络结构(feed-forwardNetworks)所谓前向网络,是各神经元接收前一层的输入,并输出给下一层,没有反馈。节点分为两类,即输入节点和计算节点,每一个计算节点可有多个输入,但只有一个输出,通常前馈型网络可分为不同的层,第i层的输入只与第i-1层的输出相连,输入与输出节点与外界相连,而其他中间层则称为隐层。4、神经网络结构模型2、反馈神经网络结构(feedbackneuralnetwork)反馈神经网络是一种反馈动力学系统。在这种网络中,每个神经元同时将自身的输出信号作为输入信号反馈给其他神经元,它需要工作一段时间才能达到稳定。Hopfield神经网络是反馈网络中最简单且应用广泛的模型,它具有联想记忆的功能,如果将李雅普诺夫函数定义为寻优函数,Hopfield神经网络还可以用来解决快速寻优问题。4、神经网络结构模型3、随机型神经网络结构(RandomNeuralNetworks)前向型和反馈型的网络是确定性的网络,即给定输入则输出是确定的,但实际上按照神经生理学的观点,生物神经元本质上是随机的.因为神经网络重复地接受相同的刺激,其响应并不相同,这意味着随机性在生物神经网络中起着重要的作用.随机神经网络正是仿照生物神经网络的这种机理进行设计的.随机神经网络一般有两种:一种是采用随机性神经元激活函数;另一种是采用随机型加权连接,即是在普通人工神经网络中加入适当的随机噪声。4、神经网络结构模型3、自组织神经网络(SelfOrganizing

neural

Networks)自组织神经网络是一种无导师学习方式,更类似于人类大脑中生物神经网络的学习,其最重要特点是通过自动寻找样本中的内在规律和本质属性,自组织自适应地改变网络参数与结构。这种学习方式大大拓宽神经网络在模式识别与分类方面的应用。输入模式输出模式竞争层人工神经网络的学习

ANN研究中的核心问题:Howtodeterminetheweights(权值)人工神经网络最具有吸引力的特点是它的学习能力。1962年,Rosenblatt给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。人工神经网络的表达能力大大地限制了它的学习能力。人工神经网络的学习过程就是对它的训练过程

有导师学习(SupervisedLearning)与有导师训练(SupervisedTraining)相对应。输入向量与其对应的输出向量构成一个“训练对”。有导师学习的训练算法的主要步骤包括:

1)

从样本集合中取一个样本(Ai,Di);

2)

计算出网络的实际输出O;

3)

求E=Di-O;

4)

根据E调整权矩阵W;

5)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。监督学习(有教师学习)监督学习(有教师学习)无导师学习(UnsupervisedLearning)与无导师训练(UnsupervisedTraining)相对应抽取样本集合中蕴含的统计特性,并以神经元之间的联接权的形式存于网络中。非监督学习(无导师学习)强化学习(reinforcementlearning再励学习)这种学习介于上述两种情况之间,外部环境对系统构出结果只给出评价(奖或惩)而不是给出正确答案,学习系统通过强化那些受奖励的动作来改善自身性能神经网络的学习规则1)直接设计计算例如

Hopfield作优化计算2)学习得到,即通过训练(training)神经网络学习规则a)误差纠正学习令为输入时神经元在n时刻的实际输出,表示相应的应有的输出(由训练样本给出)误差:训练指标:权值调整:b)Hebb学习

神经心理学家Hebb提出的学习规则可归结为”当某一突触(连接)两端的神经元的激活同步(同为激括或同为抑制)时,该连接的强度应增强,反之则应减弱”。

Heb规则:权值调整函数:神经网络的学习规则c)竞争学习顾名思义,在竟争学习时网络各输出单元互相竟争,最后达到只有一个最强者激活。最常见的一种情况是输出神经元之间有侧向抑制性连接,这样众多输出单元中如有某一单元较强,则它将获胜并抑制其他单元,最后只有比较强者处于激活状态。神经网络的学习规则BP反向传播神经网络

BP(BackPropagation)网络是1986年由Rumelhart

和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用误差最速下降法,通过误差反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。BP反向传播神经网络

Rumelhart,McClelland于1985年提出了BP网络的误差反向后传BP(BackPropagation)学习算法BP算法基本原理利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。J.McClellandDavidRumelhart

BP神经网络模型多层BP神经网络(这里是4层)BP神经网络算法的推导在第n次迭代中输出端的第j个单元的输出为,则该单元的误差信号为定义单元j的平方误差为,则输出端总的平方误差的值为:其中c包括所有输出单元,设训练集中样本总数为N,则平方误差的均值为采用误差下降法,就是根据误差E(n)变化情况调整权值w,另一个角度说就是,权值w变化对误差E信号有何影响。即要求取,如果为正,表示随着w增加E增加,显然应该减少w,如果为负,表示随着w增加E减少,当然应该增加w,即按下列算式调节,η是比例因子,也称学习效率:BP神经网络算法的推导故取w为:故问题的关键在于如何求误差前级输入BP神经网络算法的推导设E(n)为学习的目标函数,学习的目的是使E(n)达到最小.下面就逐个样本学习的情况推导BP算法.上图表示第j个单元接收到前一层i信号并产生误差信号的过程求和传递函数实际输出期望函数误差前级输入权重前级输入前级输入前级输入前级输入前级输入前级输入前级输入误差前级输入前级输入前级输入前级输入前级输入BP神经网络算法的推导第j节点汇聚输入的加权和为定义传递函数为φ(.),则节点j的输出为:求误差E(n)对各权值wji(n)的偏导BP神经网络算法的推导由于故有:按梯度下降法,权值的修正量为:其中负号表示修正量按梯度下降方式,δj(n)称为局部梯度其记为:BP神经网络算法的推导对两种节点进行讨论1、单元j是输出节点2、单元j是隐节点

其结构如下图所示神经元k神经元jBP神经网络算法的推导将此式对yj(n)求导得:2、单元j是隐节点

其结构如下图所示j节点后面是输出节点k,则误差平方和由于所以BP神经网络算法的推导上式式对yj(n)求导得:而其中q

为单元

的输入端个数所以有代入式得:即当j为隐层节点时,其局部梯度等于下一层局部梯度加权和与激活函数的乘积。BP神经网络算法的推导(1)对于输出节点j,δj(n)为与误差信号ej(n)之积;总结以上推导,对于节点j权值修正量可写为的计算有两种情况:(2)对于隐节点j,δj(n)为与与后面一层的δk(n)加权和之积;BP神经网络算法的推导权值训练周期:

学习时每输入一次全部训练样本称为一个训练周期,学习一个周期一个周期地进行,直到目标函数达到最小值或小于某一给定值.训练网络有两种方式:(1)每输入一个样本修改一次权值;(2)批处理方式,待组成一个训练周期的全部N个样本都依此输入后计算总的平均误差:权值调整:其中计算方法与前面一样BP神经网络算法的推导BP算法的步骤如下:(1)初始化,选定一结构合理的网络,置所有可调参数(权和阈值)为均匀分布的较小数值;(2)对每个输入样本做如下计算:

①前向计算

l层的j单元其中

为前一层(l-1)的单元送来的工作信号.

i=0时BP神经网络算法的推导设单元j的传递函数(激活函数)为sigmoid函数,则求导:当l=1时,有若j属于输出层(l=L),BP神经网络算法的推导②反向计算δ对输出单元

③按下式修正权值(3)n=n+1输入新的样本(或新一周期样本),直至Eav

达到预定要求,训练时各周期中样本的输入顺序要重新随即排序。对隐层单元BP网络的标准学习算法学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。学习的本质:对各连接权值的动态调整学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。BP网络的标准学习算法-算法思想学习的类型:有导师学习核心思想:将输出误差以某种形式通过隐层向输入层逐层反传学习的过程:信号的正向传播误差的反向传播将误差分摊给各层的所有单元---各层单元的误差信号修正各单元权值6.4.2BP网络的标准学习算法第一步,网络初始化给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值ε

和最大学习次数M。第二步,随机选取第k个输入样本及对应期望输出第三步,计算隐含层各神经元的输入和输出BP网络的标准学习算法第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。第五步,利用隐含层到输出层的连接权值、输出层和隐含层的输出计算误差函数对隐含层各神经元的偏导数。第六步,利用输出层各神经元和隐含层各神经元的输出来修正连接权值。第七步,利用隐含层各神经元的和输入层各神经元的输入修正连接权。6.4.2BP网络的标准学习算法第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。BP网络的标准学习算法BP算法直观解释情况一直观表达当误差对权值的偏导数大于零时,权值调整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减少。whoe>0,此时Δwho<06.4.2BP网络的标准学习算法BP算法直解释情况二直观表达当误差对权值的偏导数小于零时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减少。e<0,此时Δwho>0whoBP神经网络的特点非线性映射能力能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。BP神经网络学习算法的矩阵实现设BP神经网络有输入层、隐层和输出层三层结构,其节点数分别为n1,n2,n3BP神经网络学习算法批训练的矩阵实现设有N个训练样本集X={X1,X2,…,XN},Xi是n1维向量,将训练样本按列排布,得到批输入矩阵考虑到阈值θ,输入矩阵增加一行-1,即将X扩充成:BP神经网络学习算法批训练的矩阵实现隐层有n2个节点,设输入层与隐层节点间的权值矩阵为IW(含有阈值),则有则N个样本的输入加权求和v1矩阵为:BP神经网络学习算法批训练的矩阵实现设隐层的传递函数(激活函数)=1/(1+e-v),隐层输出Y矩阵为:与隐层类似,对输出层加权求和v2矩阵为:BP神经网络学习算法的矩阵实现设输出层的传递函数(激活函数)=1/(1+e-v),输出O矩阵为:反向计算,误差矩阵E为反向计算,输出层的局部梯度BP神经网络学习算法的矩阵实现删除隐层与输出层的权矩阵HW的第一列有:计算隐层的局部梯度更新隐层与输出层之间的权值矩阵HWBP神经网络学习算法的矩阵实现更新输入层与隐层之间的权值矩阵:计算所有样本批输入后的误差平方和判断E<E阈值(如0.0001),网络训练结束,保存权值IW和HW。6.4.3BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基本功能函数名功能newff()生成一个前馈BP网络tansig()双曲正切S型(Tan-Sigmoid)传输函数logsig()对数S型(Log-Sigmoid)传输函数traingd()梯度下降BP训练函数BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基本功能newff()功能建立一个前向BP网络格式net=newff(PR,[S1S2...SN1],{TF1TF2...TFN1},BTF,BLF,PF)说明net为创建的新BP神经网络;PR为网络输入取向量取值范围的矩阵;[S1S2…SNl]表示网络隐含层和输出层神经元的个数;{TFlTF2…TFN1}表示网络隐含层和输出层的传输函数,默认为‘tansig’;BTF表示网络的训练函数,默认为‘trainlm’;BLF表示网络的权值学习函数,默认为‘learngdm’;PF表示性能数,默认为‘mse’。BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基本功能tansig()功能正切sigmoid激活函数格式a=tansig(n)说明双曲正切Sigmoid函数把神经元的输入范围从(-∞,+∞)映射到(-1,1)。它是可导函数,适用于BP训练的神经元。logsig()功能对数Sigmoid激活函数格式

a=logsig(N)说明对数Sigmoid函数把神经元的输入范围从(-∞,+∞)映射到(0,1)。它是可导函数,适用于BP训练的神经元。x1x2xixny1ykyq实际输入x实际输出y期望输出d根据误差e=d-y网络权值w调节wBP神经网络算法的基本思想MATlABNN工具箱多层BP神经网MATlABNN工具箱多层BP神经网MATlABNNT传递函数类型net=newff([-12;05],[3,1],{'tansig','purelin'},'traingd');在MATLAB7.0下使用newff创建BP神经网。例如我们创建一个2维输入向量,具有3个隐层节点和一个输出节点的3层结构的BP神经网络:隐节点数输出节点数BP神经网络的创建、训练与仿真1、BP神经网络的创建隐层传递函数输出层传递函数输入分量范围训练方式2、BP神经网络的训练当确定完神经网络的具体结构—输入向量维数、隐层节点数、输出节点数,就要采用一定的训练方法对神经网络进行训练,目前应用最多的是—梯度下降法。在Matlab神经网络工具箱中,设置了这一算法。并通过train()函数来实现神经网络的训练。基本语法为:Trained_net=train(net,P,T)待训练的网完成的训练网输入的特征向量训练目标BP神经网络的创建、训练与仿真仿真是对已经训练完成的BP神经网络进行应用模拟,以检查神经网络的响应性能。即当网络权值w,偏移值确定后,通过给定输入Pgiven,检查实际输出y与期望是否相符。对于仿真结果满足要求的网络就可定型。仿真采用下列函数:y=sim(trained_net,P);完成的训练网输入的特征向量网络的实际输出3、BP神经网络的仿真

BP神经网络的创建、训练与仿真1、手写数字字符的识别2、人脸的识别3、车型的识别4、车牌的识别5、指纹的识别6、虹膜的识别6、刚体目标的识别7、人体目标的识别基于BP神经网络的图像识别的应用领域神经网络手写数字识别设计实例1、手写数字图像的归一化处理将图像归一到16×8的像素矩阵2、将16×8的像素矩阵按列堆叠成128维向量矩阵→向量3、BP神经网络结构的设计

(1)输入节点数的确定根据输入特征向量是128维,故选输入节点为128个。(2)输出节点数的确定辨识10个手写数字,以每个节点为1代表一个数字的标识,所以输出节点可选10个节点;(3)隐层节点数的确定可按下列公式估计

式中n为输入节点m为输出节点数,a=1~10为可调常数。这里取隐层节点20神经网络手写数字识别设计实例3、BP神经网络结构的设计

(4)传递函数设计输入节点数的确定由于以1作为类别的数值表示,即输出最大限为1,故隐层与输出层传递函数都选择为logsig。(5)输入数据和期望值按向量排成的矩阵组织,即220神经网络手写数字识别设计实例神经网络手写数字识别设计实例—实施神经网络手写数字识别设计实例—实施SOM自组织神经网络

采用有导师学习规则的神经网络是以网络的误差或能量函数作为算法准则。而在很多情况下,人在认知过程中没有预知的正确模式,人获得大量知识常常是靠“无师自通”,即通过对客观事物的反复观察,分析与比较,自行揭示其内在规律,并对具有共同特征的事物进行正确归类。对于人的这种学习方式,基于有导师学习策略的神经网络是无能为力的。自组织神经网络的无导师学习方式更类似于人类大脑中生物神经网络的学习,其最重要特点是通过自动寻找样本中的内在规律和本质属性,自组织自适应地改变网络参数与结构。这种学习方式大大拓宽神经网络在模式识别与分类方面的应用。自组织网结构上属于层次型网络,有多种类型。如:自组织特征映射(SelfOrganizingFeatureMap)网络—SOM);对偶(向)传播(CounterPropagationNetwork)网络—CPN);自适应共振理论(AdaptiveResonanceTheory)网络—ART等。其共同特点是都具有竞争层。最简单的网络结构具有一个输入层和一个竞争层。输入模式输出模式竞争层输入层负责接受外界信息并将输入模式向竞争层传递,起观察作用。竞争层负责对该模式进行“分析比较”,找出规律以正确分类。这种功能是通过下面要介绍的竞争机制实现的。SOM自组织神经网络竞争学习是自组织网络中最常用的一种学习策略,首先说明与之相关的几个基本概念。1基本概念模式、分类、聚类与相似性模式:一般当网络涉及识别、分类问题时,常用输入模式(而不称输入样本);分类:将待识别的输入模式划分为各自的模式类中去;聚类:无导师指导的分类称为聚类,聚类的目的是将相似的模式样本划归一类;相似性:输入模式的聚类依据。2相似性测量神经网络的输入模式用向量表示,比较不同模式的相似性可转化为比较两个向量的距离,因而可用模式向量间的距离作为聚类判据。模式识别中常用到的两种聚类判据是欧式最小距离法和余弦法。一、竞争学习的概念与原理(1)欧式距离法

X和Xi两向量欧式距离:

两个模式向量的欧式距离越小,两个模式越相似,当两个模式完全相同时,其欧式距离为零。如果对同一类内各个模式向量间的欧式距离作出规定,不允许超过某一最大值T,则最大欧式距离T就成为一种聚类判据。(2)余弦法计算两个模式向量夹角的余弦:两个模式向量越接近,其类角越小,余弦越大。当两个模式向量完全相同时,其夹角余弦为1。若同类内各模式向量间的夹角规定不大于ΨT,则Ψ成为一种聚类判据。余弦法适合模式向量长度相同或模式特征只与向量方向相关的相似性测量。2相似性测量3侧抑制与竞争自组织网络(竞争型神经网络)构成的基本思想是网络的竞争层各神经元竞争对输入模式响应的机会,最后仅有一个神经元成为竞争的“胜者”,这一获胜神经元则表示对输入模式的识别。——体现了生物生神经细胞的侧抑制竞争机制。实验表明,人眼的视网膜、脊髓和海马中存一种侧抑制现象,即,当一个神经细胞兴奋后,会对其周围的神经细胞产生抑制作用。这种侧抑制使神经细胞之间呈现出竞争,开始时可能多个细胞同时兴奋,但一个兴奋程度最强的神经细胞对周围神经细胞的抑制作用也最强,其结果使其周围神经细胞兴奋程度减弱,从而该神经细胞是这次竞争的“胜者”,其它神经细胞在竞争中失败。自组织网络在竞争层神经元之间的连线,它们是模拟生物神经网络层内神经元相互抑制现象的权值,这类抑制性权值满足一定的分布关系,如距离近的抑制强,距离远的抑制弱。这种权值(或说侧抑制关系)一般是固定的,训练过程中不需要调整,在各类自组织网络拓朴图中一般予以省略。(不省略时,也只看成抑制关系的表示,不作为网络权来训练)。最强的抑制关系是竞争获胜者“惟我独兴”,不允许其它神经元兴奋,这种抑制方式也称为胜者为王。3侧抑制与竞争4向量归一化不同的向量有长短和方向区别,向量归一化的目的是将向量变成方向不变长度为1的单位向量。单位向量进行比较时,只需比较向量的夹角。X向量的归一化:

竞争学习原理(规则)竞争学习采用的规则是胜者为王,该算法可分为3个步骤。得到:(1)向量归一化将自组织网络中的当前输入模式向量X和竞争层中各神经元对应的内星权向量Wj(j=1,2,…m)全部进行归一化处理。(2)寻找获胜神经元此式看出,欲两单位向量的欧式距离最小,须使两向量的点积最大。即因此,求最小欧式距离的问题就转化为按此式求最大点积的问题,而且权向量与输入向量的点积正是竞争层神经元的净输入。(3)网络输出与权值调整胜者为王竞争学习算法规定,获胜神经元输出为1,其余输出为零。即只有获胜神经元才有权调整其权向量,调整后权向量为式中为学习率,一般其值随着学习的进展而减小。可以看出,当时,对应神经无的权值得不到调整,其实质是“胜者”对它们进行了强侧抑制,不允许它们兴奋。应注意,归一化后的权向量经过调整后得到的新向量不再是单位向量,需要重新归一化。步骤(3)完成后回到步骤(1)继续训练,直到学习率衰减到零。二、自组织特征映射(SOM)神经网络1、SOM网络的生物学基础

生物学研究表明:人的大脑皮层中,存在许多不同功能的神经网络区域,每个功能区域完成各自的特定功能,如视觉、听觉、语言理解和运动控制等等。当人脑通过感官接受外界的特定时空信息时,将引起大脑皮层的特定区域兴奋。每个区域有若干神经元组成,当该区域兴奋时,总是以某一个神经元(细胞)为兴奋中心,呈现出墨西哥帽(MexicanHat)式兴奋分布。

1981年芬兰学者kohonen提出一个称为自组织特征映射(SelfOrganizationFeatureMap-SOM或SOFM)网络,前述大脑神经细胞兴奋规律等,在该网络中都得到了反应。网络区域中的这种兴奋与抑制规律,将依据外界输入环境的不同,神经元(细胞)要靠竞争机制来决定胜负。大脑的这种区域性结构,虽有遗传因素,但,各区域的功能大部分是后天通过环境的适应和学习得到的,这就是神经网络的自组织(selforganization)特征.1、SOM网络的生物学基础2、SOM网络的拓扑结构与权值调整域2.1拓扑结构

SOM网络共有两层,输入层模拟感知外界输入信息的视网膜。输出层模拟做出响应的大脑皮层。输出层也是竞争层,网络拓扑结构形式常见有一维线阵和二维平面阵。网络实现将任意维输入模式在输出层映射成一维离散图形。网络实现将任意维输入模式在输出层映射成二维离散图形。SOM二维平面阵结构3、SOM网络的运行原理与学习算法SOM网络的运行原理

SOM网络表现为:网络随机输入模式时,对某个特定的输入模式,输出层会有某个节点产生最大响应而获胜。按生物区域神经兴奋机制,获胜神经元对其邻近神经元存在一种侧抑制(竞争)机制。

SOM网络的侧抑制方式是:以获胜神经元为中心权值调整量最强,且由近及远地逐渐递减程度不同的调整权向量直到抑制。理论上按墨西哥帽分布调整权值,但其计算上的复杂性影响了网络训练的收敛性。因此在SOM网的应用中常采用与墨西哥帽函数类似的简化函数或其他一些方式(如优胜域)。以获胜神经元为中心设定一个邻域——优胜域。优胜邻域内的所有神经元均按其离开获胜神经元的距离远近不同程度地调整权值。优胜邻域开始可定义得较大,但其大小随着训练次数的增加不断收缩,最终收缩到半径为零。SOM网络的学习算法

SOM网络采用的学习算法称Kohonen算法,是在胜者为王算法基础上加以改进而成。其主要区别在于调整权向量的侧抑制方式不同。胜者为王算法中,获胜神经元对周围神经元的抑制是“封杀”式的(只获胜神经调整权向量,周围其它无权调整)

。当输入模式的类别改变时,获胜节点也会改变。获胜节点对周围的节点因侧抑制作用也产生较大的响应,于是,获胜节点及其优胜邻域内的所有节点所连接的权向量均向输入向量的方向作程度不同的调整。网络通过自组织方式,用大量训练样本调整网络的权值,最后使输出层各节点成为对特定模式类敏感的神经元,对应的内星权向量成为各输入模式类的中心向量。并且当两个模式类的特征接近时,代表这两类的节点在位置上也接近。从而,在输出层形成能够反映样本模式类分布情况的有序特征图。

Kohonen算法采用优胜域思想,模拟生物区域神经兴奋竞争机制。3、SOM网络的运行原理与学习算法Kohonen算法(1)初始化

给定学习率初值η(0),(0<η(0)<1);确定初始优胜(邻)域Nj*(0)的初值;一般用半径表示,可取竞争层阵列幅度的1/3~1/2,甚至可覆盖整个竞争层。对各权向量赋随机小数并进行归一化,得:(2)接受输入

从训练集中随机选取一个输入模式进行归一化处理,得:(3)寻找获胜节点计算与的点积,j=1,2,…m,得到点积最大的获胜节点j*;如若输入模式未归一化,可计算欧式距离,找出距离最小的为获胜节点j*。(4)调整权值以j*为中心,对优胜域Nj*(t)内的所有节点调整权值:(6)更新邻域Nj*(t)及学习率η(t)

Nj*(t)=INT[Nj*(0)(1-t/T)]t——当前学习次数;T——预先设定的最大训练次数.η(t)=η(0)[1-t/T]——网络在t时刻的学习率.

Nj*(t)和η(t)不限于上述形势,也有其他形式。(5)检查总模式数(P)是否全部参与了学习,否则返(2)Kohonen算法

Nj*(t)可以说是墨西哥帽函数的一种具体体现形势,更新原则是使邻域不断缩小,这样输出平面上相邻神经元对应的权向量之间既有区别又有相当的相似性,从而,保证当获胜节点对某一类模式产生最大响应时,其临近节点也能产生较大的响应。邻域的形状可以是圆、正方形或六边形等。当邻域是半径为d圆时,邻域中的神经元描述为:若25个神经元排列成5×5二维格栅拓扑结构,第13神经的指定优胜域半径的区域内神经元为:d=1d=2Kohonen算法(7)令t=t+1,返回步骤(2)(8)结束检查

判断η(t)是否衰减到某预定精度或判断t=T.Kohonen算法Kohonen学习算法程序流程4.2.4SOM网络的功能SOM网络的功能特点之一是:保序映射,即能将输入空间的样本模式类有序地映射在输出层上。例动物属性特征映射1989年Kohonen给出一个SOM网的著名应用实例,即把不同的动物按其属性映射到二维输出平面上,使属性相似的动物在SOM网输出平面上的位置也相近。训练集选了16种动物,每种动物用一个29维向量来表示。前16个分量构成符号向量(不同的动物进行16取1编码),后13个分量构成属性向量,描述动物的13种属性的有或无(用1或0表示)。16种动物的属性向量(29维向量的后13个分量)动物属性鸽子母鸡鸭鹅猫头鹰隼鹰狐狸狗狼猫虎狮马斑马牛小1111110000100000中0000001111000000大00000000000111112只腿11111110000000004只腿0000000111111111毛0000000111111111蹄0000000000000111动物属性鸽子母鸡鸭鹅猫头鹰隼鹰狐狸狗狼猫虎狮马斑马牛鬃毛0000000000000110羽毛1111111000000000猎0000111101111000跑0000000011011110飞1001111000000000泳0011000000000000

SOM网输出平面上有10×10个神经元,16个动物模式轮番输入训练,最后输出平面呈现16种动物属性特征映射,属性相似的挨在一起,实现了特征的有序分布。16种动物的属性向量(29维向量的后13个分量)10×10神经元X向量(29维)前16个分量(16取1,表达动物种类。)后13个分量(表达动物属性)鸭鹅鸽母鸡马斑马牛隼狼虎狮猫狗狐猫头鹰鹰动物属性特征映射

SOM网的功能特点之二是数据压缩。

将高维空间的样本在保持拓扑结构不变的条件下投影到低维空间。如上例中输入样本空间为29维,通过SOM网后压缩为二维平面的数据。

SOM网的功能特点之三是特征抽取。(规律的发现)

在高维模式空间,很多模式的分布具有复杂的结构,从数据观察很难发现其内在规律。当通过SOM网映射到低维输出空间后,其规律往往一目了然,实现某种特征抽取的映射。即高维空间的向量经过特征抽取后可以在低维特征空间更加清晰地表达,因此映射的意义不仅仅是单纯的数据压缩,更是一种规律发现。如上例29维映射到二维后,相近属性的动物实现了聚类分布的特点。

SOM网有许多应用实例:解决旅行商最优路经问题,皮革外观效果分类等。SVM支持向量机

支持向量机(SupportVectorMachine,SVM)是CorinnaCortes和Vapnik等于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。支持向量机方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以求获得最好的推广能力。SVM支持向量机

SVM有如下主要几个特点:(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。(4)SVM是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题。SVM支持向量机

(5)SVM的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在:①增、删非支持向量样本对模型没有影响;②支持向量样本集具有一定的鲁棒性;③有些成功的应用中,SVM方法对核的选取不敏感SVM支持向量机——线性分类器

假定大小为n

的训练样本集{(xi,yi),i=…,n

},由二类别组成,如果xi∈Rd属于第1类标记为正(yi=1),如果属于第2类,则标记为负(yi=-1).学习的目标是构造一判别函数,将检测数据据尽可能正确地分类.针对训练样本集为线性和非线性两种情况分别讨论.支持向量机分类器SVM线性可分情况 先考虑二维情况下的线性可分的两类样本(○,×),如图所示,存在很多条可能的分类线能够将训练样本分开。显然分类线a最好,因为它更远离每一类样本,风险小。而其他的分类线离样本较近,只要样本有较小的变化,将会导致错误的分类结果。因此分类线a是代表一个最优的线性分类器。所谓最优分类线就是要求分类线不但能将两类无误地分开,而且要使两类的分类间隔最大。图中H是最优分类线,H1和H2分别为过各类样本中离分类线最近的点且平行于分类线的直线,H1和H2之间的距离叫做两类的分类空隙或者分类间隔(margin)。 将二维推广到高维,最优分类线就成为最优分类超平面。abcHH1H2SVM线性分类器线性可分情况 设线性可分样本集为(xi,yi),i=1,2,…,n,x∈Rd,y∈{+1,-1}是类别号。d维空间中线性判别函数的一般形式为g(x)=wTx+b,则分类超平面方程为:

wTx+b=0

其中,w为分类超平面的法线,是可调的权值向量;b为偏置,决定相对原点的位置。当两类样本是线性可分时,满足条件:

(wTxi)+b≥+1 yi

=+1 (wTxi)+b≤-1 yi

=-1

Z1线性可分情况如果存在分类超平面使得g(x)=wTx+b=0,wTx+b=0ω1ω2SVM线性分类器点到平面的距离由于w是可以按比例改变的,因此可以缩放w

和b使得在ω1类g(x)=1,和ω2类g(x)=-1,可以用方程表示为

1、存在一个间隔,满足2、要求满足SVM线性分类器g(x)=1和g(x)=-1两条直线间的距离下面是数学计算问题,对于每一个xi,yi(对于ω1为+1,对于ω2为-1)表示相应类的标识器。要使间隔2/||w||最大,实际上就是要||w||最小,即这是一个满足一系列线性不等式条件的非线性(二次方程)最优化问题。采用拉格朗日函数SVM线性分类器根据Karushi-Kuhn-Tucker条件以上最小化问题满足以下条件:

={

1,

2,…,

N}T是拉格朗日乘子组成的向量。SVM线性分类器这里可以看出采用||w||2平方的好处,可以将||w||变化成wTw,便于求导运算。数对向量的导数

(wTw)’=2w通过L-函数对w求导计算得SVM线性分类器通过L-函数对b求导计算得拉格朗日乘子只能为0或正数,所以具有最优解的向量参数w是Ns<=N个特征向量的线性组合,即其中i

不为0向量的线性组合这些αi

不为0所对应的向量xi就是支持向量,这也是支持向量机的由来,这些向量点就是取得最大间隔分类两个超平面上的点。两个超平面任何一方的支持向量满足:SVM线性分类器前面我们通过拉格朗日函数对w

和b求导得到两个约束:把这两个等式和拉格朗日函数结合起来,可以把w带入拉格朗日函数L,SVM线性分类器SVM线性分类器现在求拉格朗日乘子i

就是求凸函数L

的最大值,即条件约束SVM线性分类器i为与每个样本对应的Lagrange

乘子.这是一个不等式约束下二次函数寻优的问题,存在唯一解。

容易证明,解中将只有一部分(通常是少部分)i

不为零,对应的样本就是支持向量.解上述问题后得到的最优分类函数是.式中的求和实际上只对支持向量进行.b*是分类阈值,可以用任一个支持向量满足下式中的等号

求得,或通过两类中任意一对支持向量取中值求得SVM线性分类器++●++++++不可分的类对于不可分的情况,上述讨论不再有效,不存在超平面可以把两类分开而没有点落在分离带内如图所示。++●●●●●●●●●●+++++●SVM线性不可分情况一般训练特征向量属于下面三类中的一种:位于分割带以外的向量。这类向量满足:落在分离带内且正确分类的向量图中方框内的点,满足:错误分类的向量,图中圆内的点,满足不等式:SVM线性不可分情况在不可分的情况下,这三种情况通过引进ξi可以统一归为同一约束问题,即对于第一类问题ξi=0,对于第二类问题0<ξi<=1,对于第三类问题1<ξi,带内但错误在超平面另一侧带内但正确带外正确SVM线性不可分情况我们希望错分和落在分离带内的少,对严格的进行放松条件即用满足作为约束条件,所以ξi称为松弛变量现在的优化问题描述是:使分类间隔尽量大,但同时保证ξi>0的点尽量少.用数学术语表示等价于对代价函数J的最小化,即其中ξ是参数ξi组成的向量,而I(ξi)代表带内向量计数,即SVM线性不可分情况参数C是一个正常数,用来控制两个竞争条件的相对影响,由于I(ξi)是一个不连续的量优化求导困难,所以选择一个最接近的代价函数进行优化,不可分类的优化问题变成

SVM线性不可分的情况这里的(ξi)实际上带内点到各自超平面的距离,将上述2个约束条件加入代价函数获得相应的拉格朗日函数表示为:应用Karush-Kuhn-Tucker条件为有有有SVM线性不可分的情况此外还有约束

相关的Wolfe二元表达式为SVM线性不可分的情况将上面的条件带入拉格朗日函数并整理可得满足最大的拉格朗日常数条件约束

从上面的分析可以看出支持向量机用于两类别的分类最后转化为确定约束条件下拉格朗日乘子αi.公式形式上与线性可分是一致的,所不同的是,这里αi的约束条件是0=<αi

<=CSVM线性不可分的情况线性不可分的核函数方法 对于线性不可分(非线性)问题:采用一个非线性变换φ(x)把输入数据映射到一个高维特征空间,然后在高维特征空间进行线性分类,最后再映射回到原空间就成为输入空间的非线性分类。 考虑到可能存在一些样本不能被分离超平面分离,增加一个松弛变量ξ,优化问题为: 约束为

其中,C为一常数,起控制对错分样本惩罚的程度的作用,实现在错分样本的比例与算法复杂度之间的折衷。C值越大,表示主要把重点放在减少分类错误上,C值越小,表示主要把重点放在分离超平面,避免过学习问题。线性不可分的核函数方法

Lagrange函数定义如下: 式中,αi≥0,βi≥0。线性不可分的核函数方法

分别对w,b和ξi

求偏微分并置0,得

带入Lagrange函数,得优化问题的对偶形式: 在约束条件:

下,求下列函数的最大值: 特征空间的维数非常高,在大多数情况下难以直接在特征空间计算最优分类面。支持向量机通过定义核函数(KernelFunction)方法将这一问题转化到输入空间进行计算: 假设有非线性映射φ:Rn→H

将输入空间的样本映射到高维特征空间H中,当在特征空间构造最优分类面时,训练算法仅使用特征空间的点积,即φ(xi)Tφ(xj)。所以,只要构造一个函数K()使得K(xi,xj)=φ(xi)Tφ(xj),这样,在高维空间中实际上只需进行内积计算,不必知道变换φ的形式。

线性不可分的核函数方法根据泛函的有关理论,只要一种函数K(x,xi)满足Mercer条件,它就对应某一变换空间的内积。满足Mercer条件的内积函数K(x,xi)称为核函数,常用的核函数主要有: 高斯径向基函数:

神经网络函数:d次多项式:线性不可分的核函数方法

优化问题变为:

约束条件: 求下列函数的最大值 对应的分类函数为:线性不可分的核函数方法…K(x1,x)…K(x2,x)K(xs,x)α1y1α2y2αsysy权值wi=αiyi基于s个支持向量x1,x2,…,Xs的非线性变换(内积)输入向量xxdx1x2线性不可分的核函数方法支持向量机的学习算法①给出一组输入样本xi,i=1,2,…,n及其对应的期望输出yi∈{+1,-1};②在约束条件:下求解下面函数的最大值,得到;③计算: 其中xs为一个特定的支持向量;④ 对于待分类向量x,选择某一特定类型的核函数K(x,xi),计算: 为+1或-1,决定x属于哪一类。线性不可分的核函数方法-归纳 支持向量机求解实际是二次规划问题,经典的解法有积极方集法、对偶方法、内点算法等。当训练样本增多时,这些算法便面临“维数灾难”将导致无法训练,近年来许多学者提出了多种算法来解决对偶寻优问题。1、块算法 选择一部分样本构成工作样本集,在工作样本集上使用通用的优化算法训练数据。算法保持了支持向量而剔除其中的非支持向量,并用训练结果对剩余样本进行检验,将不符合训练结果的样本与本次结果的支持向量合并成为一个新的工作样本集,重新训练,如此重复直至获得最优结果。当支持向量的数目远远小于训练样本数目时,块算法能够大大提高运算速度。支持向量机的学习算法2、分解算法 分解算法把问题分解成为固定样本数的子问题,工作样本集的大小固定在算法速度可以容忍的限度内,每次只针对工作集中固定样本个数进行训练。在对工作集进行优化训练后,该方法只更新乘子αi

的一个固定大小的子集,其他保持不变。即每当一个新样本加入到工作集中,工作集中另一个样本要被移走,即使支持向量的个数超过工作样本集的大小也不改变工作样本集的规模。然后再进行优化训练,重复进行。该方法关键是如何选择一种最优工作集,使得对应的二次规划子问题的优化成为整个目标函数的改进。支持向量机的学习算法SVM支持向量机序贯最小优化算法(SMO)背景:SMO(Sequentialminimaloptimization)顺序最小优化算法是一种用于支持向量机训练优化算法。由微软研究院的约翰·普莱特(JohnPlatt)发明于1998年,目前被广泛使用于SVM的训练过程中,并在通行的SVM库libsvm

中得到实现。1998年,SMO算法发表在SVM研究领域内引起了轰动,因为先前可用的SVM训练方法必须使用复杂的方法,并需要昂贵的第三方二次规划(QP)工具。而SMO算法较好地避免了这一问题。成为最快的二次规划优化算法。关于SMO的资料就是他本人写的《SequentialMinimalOptimization-AFastAlgorithmforTrainingSupportVectorMachines》了。

SMO 该算法是将分解算法推向极致得出的,每次迭代仅优化两个点的最小子集(工作集中只有两个样本)。该算法的优点在于两个数据点的优化问题可以获得解析解,从而不需要将QP(QuadraticProgramming)二次规划优化算法作为算法的一部分。它的工作集的选择不是传统的最陡下降法,而是采用启发式,通过两个嵌套循环来寻找优化的样本变量。在外循环寻找不满足要求的样本,然后在内循环再选择另一个样本,进行一次优化,然后再循环进行下一次优化,直到全部样本都满足优化条件。SVM支持向量机序贯最小优化算法(SMO),第一步选取一对αi

和αj

,选取方法使用启发式方法(后面讲)。第二步,固定除αi

和αj

之外的其他参数,确定W极值条件下的αi

,αj

由αi

表示。SMO之所以高效就是因为在固定其他参数后,对一个参数优化过程很高效。序贯最小优化算法(SMO)支持向量机解决非线性分类,最后归结为一个对偶函数最后的优化问题,原式为:

这个是由拉格朗日方法然后求偏导列式带入核函数得到的目标函数,受到以下条件约束:s.t.序贯最小优化算法(SMO)序贯最小优化算法(SMO)假设我们选取了初始值

{α1,α2}

满足了问题中的约束条件。接下来,我们固定{α3,α4,…,αn},这样W就是α1,

和α2

的函数。并且

α1

和α2

满足条件:由于{α1,α

温馨提示

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

评论

0/150

提交评论