资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,模式识别 多层神经网络,第六章 多层神经网络,第六章 多层神经网络,1,6.1多层感知器网络(MLP,Multilayer Perceptron),神经元模型,f称为激活函数,6.1多层感知器网络(MLP,Multilayer Per,解决异或问题的多层感知器,输入层 隐含层 输出层,解决异或问题的多层感知器 输入层,多层感知器的分类原理,隐含层实现对输入空间的非线性映射,输出层实现线性分类;,非线性映射方式和线性判别函数可以同时学习。,多层感知器的分类原理隐含层实现对输入空间的非线性映射,输出层,激活函数阈值函数,激活函数阈值函数,激活函数线性函数,激活函数线性函数,激活函数对数Sigmoid函数,激活函数对数Sigmoid函数,激活函数双曲正切Sigmoid函数,激活函数双曲正切Sigmoid函数,标准的三层感知器网络,标准的三层感知器网络,多层感知器网络的设计,选定层数,:通常采用三层网络,增加网络层数并不能提高网络的分类能力;,输入层,:输入层节点数为输入特征的维数d,映射函数采用线性函数;,隐含层,:隐含层节点数需要设定,一般来说,隐层节点数越多,网络的分类能力越强,映射函数一般采用Sigmoid函数;,输出层,:输出层节点数可以等于类别数c,也可以采用编码输出的方式,少于类别数c,输出函数可以采用线性函数或Sigmoid函数。,多层感知器网络的设计选定层数:通常采用三层网络,增加网络层数,三层网络的判别函数形式,第k个输出层神经元的输出,其中d为特征维数,n,H,为隐层节点数。,三层网络的判别函数形式第k个输出层神经元的输出,其中d为特征,6.2 MLP的训练-误差反向传播算法,(BP,Backpropagation algorithm,),BP算法的实质是一个均方误差最小算法(LMS),符号定义:训练样本x,期望输出t=(t,1,t,c,),网络实际输出z=(z,1,z,c,),隐层输出y=(y,1,y,n,H,),第k个神经元的净输出net,k,。,目标函数:,迭代公式:,6.2 MLP的训练-误差反向传播算法(BP,Backp,输出层,输出层,隐含层,隐含层,隐含层,隐含层,迭代公式,输出层:,隐含层:,迭代公式输出层:,误差反向传播,误差反向传播,BP算法批量修改,begin initialize n,H,,w,,,,,r,0,do rr+1,m0;,w,ji,0;,w,kj,0,do mm+1,x,m,select pattern,w,ji,w,ji,+,j,x,i,;,w,kj,w,kj,+,k,y,j,until m=n,w,ji,w,ji,+,w,ji,;w,kj,w,kj,+,w,kj,until|J(w)|,return,w,end,BP算法批量修改begin initialize nH,w,BP算法的一些实用技术,激活函数的选择,:一般可以选择双曲型的Sigmoid函数;,目标值,:期望输出一般选择(-1,+1)或(0,1);,规格化,:训练样本每个特征一般要规格化为0均值和标准差;,权值初始化,:期望每个神经元的-1net+1,因此权值一般初始化为 ;,学习率的选择,:太大容易发散,太小则收敛较慢;,冲量项,:有助于提高收敛速度。,BP算法的一些实用技术激活函数的选择:一般可以选择双曲型的S,6.3 多层感知器网络存在的问题,BP算法的,收敛速度,一般来说比较慢;,6.3 多层感知器网络存在的问题BP算法的收敛速度一般来说比,多层感知器网络存在的问题,BP算法只能收敛于,局部最优解,,不能保证收敛于全局最优解;,多层感知器网络存在的问题BP算法只能收敛于局部最优解,不能保,多层感知器网络存在的问题,当隐层元的数量足够多时,网络对训练样本的识别率很高,但对测试样本的识别率有可能很差,即网络的,推广能力,有可能较差。,多层感知器网络存在的问题当隐层元的数量足够多时,网络对训练样,多层感知器网络存在的问题,多层感知器网络存在的问题,6.4 提高收敛速度的方法,一个比较直观的想法是通过增大学习率来提高收敛速度,但这样有可能造成算法发散。,6.4 提高收敛速度的方法一个比较直观的想法是通过增大学习率,梯度下降法,目标函数的一阶泰勒级数展开:,目标函数增量:,使目标函数下降最大:,梯度下降法目标函数的一阶泰勒级数展开:目标函数增量:使目标函,牛顿法,目标函数的二阶泰勒级数展开:,H是Hessian矩阵,求取目标函数增量的极大值:,牛顿法目标函数的二阶泰勒级数展开:H是Hessian矩阵,求,Quickprop算法,分别对每个参数进行优化,权值增量由上一步的增量迭代计算:,Quickprop算法分别对每个参数进行优化,权值增量由上一,共轭梯度法,满足如下条件的两个方向,和,称为关于矩阵H互为共轭方向:,对于二次优化函数,权值沿着任意一个初始方向移动到最小点,然后再沿着该方向关于H的共轭方向移动到最小点即可达到全局最小点。,共轭梯度法满足如下条件的两个方向和称为关于矩阵H互为共轭,共轭梯度法,在第一个梯度方向上移动,寻找到这个方向上的局部极小点;,在共轭方向上计算第二个搜索方向:,如算法未收敛,则继续在共轭方向上计算下一个搜索方向。,共轭梯度法在第一个梯度方向上移动,寻找到这个方向上的局部极小,Levenberg-Marquardt算法,定义:,权值增量:,其中I为单位矩阵,,k,为参数,J为Jacobi矩阵:,Levenberg-Marquardt算法定义:权值增量:其,6.4 寻找全局最优点,全局最优点的搜索一般采用随机方法:,模拟退火算法,模拟进化计算 遗传算法,6.4 寻找全局最优点全局最优点的搜索一般采用随机方法:,模拟退火思想,模拟退火算法是由Kirkpatrick于1983年提出的,它的基本思想是将优化问题与统计热力学中的热平衡问题进行类比;,固体在降温退火过程中,处于能量状态E的概率P(E)服从Boltzmann分布:,其中T是固体的温度,k为Boltzmann常数,模拟退火思想模拟退火算法是由Kirkpatrick于1983,波尔兹曼分布,波尔兹曼分布,模拟退火算法(SA,Simulated Annealing),模拟退火算法可以用来优化能量函数E(w),其中w为参数;,首先设定一个较高的温度T(1),随机初始化参数w,1,,计算能量E(w,1,);,对参数给予一个随机扰动,w,w,2,=w,1,+,w,计算能量E(w,2,);,如果E(w,2,)E(w,1,),则接受改变,否则按照如下概率接受改变:,逐渐降低温度T(k),直到0为止。,模拟退火算法(SA,Simulated Annealin,模拟退火算法应用于MLP的训练,初始化温度T(0),t,0,随机初始化权值w,0,;,应用BP算法搜索局部最优解w(t),计算局部最优解目标函数值E(t);,随机修正权值w(t)=w(t)+,w,计算修正后的目标函数值E(t);,若E(t)E(t),则确认修改,w(t)=w(t),E(t)=E(t);,否则依据概率P=exp(-E(t)/T(t)确认修改;,温度下降:T(t)=T(0)/1+ln(t+100),如4,5步确认修改,转移到2,否则转移到3,直到温度下降到一定阈值为止;,模拟退火算法应用于MLP的训练初始化温度T(0),t0,随,模拟退火算法示例,E,w,模拟退火算法示例Ew,模拟退火算法示例,模拟退火算法示例,遗传算法(GA,Genetic Algorithm),遗传算法是由Holland于1975年提出的,它主要模拟自然界生物“适者生存,优胜劣汰”的进化规则;,遗传算法主要是应用于各种组合最优问题的求解,经过一定的改进之后,也可以应用于MLP的权值学习。,遗传算法(GA,Genetic Algorithm)遗传算,基本名词,染色体,:用一个二进制串表示;,种群,:多个染色体构成一个种群;,适应度,:对每个染色体的评价,这是一个被优化的函数;,复制,:上一代的染色体不发生任何改变,直接复制到下一代的种群中;,交叉,:两条染色体混合,产生两条新的染色体,交叉发生的概率:P,co,;,变异,:一条染色体在某些位改变自身,0,1或10,,染色体在每一位上发生变异的概率:P,mut,;,基本名词染色体:用一个二进制串表示;,基本遗传算法,begin initialize P,co,P,mut,,随机初始化L个染色体作为初始种群;,do 计算种群中每个染色体的适应度f,i,,i=1,L;,按照适应度对种群中的染色体排序;,从前向后选择染色体,按照概率P,co,进行交叉,,按照概率P,mut,进行变异;,生成N个新的染色体,同原种群中的染色体构成,一个新的种群,淘汰掉适应度最差的N个染色体;,until 达到一定的进化代数为止;,return 适应度最高的染色体。,基本遗传算法begin initialize Pco,Pm,GA应用于MLP权值学习,染色体表达:,直接采用神经元的权值作为基因片段,而不转化为二进制串。,g=w,11,w,12,w,13,;w,21,w,22,w,23,;w,31,w,32,w,33,GA应用于MLP权值学习染色体表达:g=w11,w12,遗传算子定义,交叉:,位置交叉:,线性插值交叉:,遗传算子定义交叉:,遗传算子定义,变异:在染色体的每个位置上随机产生一个小的扰动,产生出新的染色体。,遗传算子定义变异:在染色体的每个位置上随机产生一个小的扰动,,
展开阅读全文