您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第6章-人工神经网络算法
数据挖掘算法、原理与实践王振武六、人工神经网络算法1.基本概念1.1生物神经元模型人的神经系统是由众多神经元相互连接而成的一个复杂系统,神经元又叫神经细胞,它是神经组织的基本单位。六、人工神经网络算法1.基本概念1.2人工神经元模型人工神经元模型就是用人工方法模拟生物神经元而形成的模型,是对生物神经元的抽象、模拟与简化,它是一个多输入、单输出的非线性元件,单个神经元是前向型的。1x1iw2x2iwiynxniw01xf六、人工神经网络算法1.基本概念1.2人工神经元模型在神经元中,对信号进行处理采用的是数学函数,通常称为激活函数、激励函数或挤压函数,其输入、输出关系可描述为式中是从其它神经元传来的输入信号;是该神经元的阈值;表示从神经元i到神经元j的连接权值;为激活函数或挤压函数。1njijijijufwxyfu1,2,,ixinjijwf六、人工神经网络算法1.基本概念1.2人工神经元模型神经元采用了不同的激活函数,使得神经元具有不同的信息处理特性,并且神经元的信息处理特性是决定神经网络整体性能的主要因素之一。下面介绍四种常用的激活函数形式:(1)阈值型函数,即为阶跃函数。具有这一作用方式的神经元称为阈值型神经元,是神经元模型中最简单的一种,经典的M-P模型神经元就属于这一类。fx1,00,0xfxx六、人工神经网络算法1.基本概念1.2人工神经元模型神经元采用了不同的激活函数,使得神经元具有不同的信息处理特性,并且神经元的信息处理特性是决定神经网络整体性能的主要因素之一。下面介绍四种常用的激活函数形式:(2)分段线性函数。此函数特点是:神经元的输入与输出在一定区间内满足线性关系。这类函数也称为伪线性函数,表达式如下:0,0,01,ccxfxxxxxx六、人工神经网络算法1.基本概念1.2人工神经元模型神经元采用了不同的激活函数,使得神经元具有不同的信息处理特性,并且神经元的信息处理特性是决定神经网络整体性能的主要因素之一。下面介绍四种常用的激活函数形式:(3)Sigmoid函数。Sigmoid函数也叫S型函数,通常是在(0,1)或(-l,1)内连续取值的单调可微分函数,它是一类非常重要的激活函数,无论神经网络用于分类、函数逼近或优化,Sigmoid函数都是常用的激活函数。常用指数或正切等一类曲线表示:或其中又称为Sigmoid函数的增益,其值决定了函数非饱和段的斜率,越大,曲线越陡。11xfxe11xxefxe六、人工神经网络算法1.基本概念1.2人工神经元模型神经元采用了不同的激活函数,使得神经元具有不同的信息处理特性,并且神经元的信息处理特性是决定神经网络整体性能的主要因素之一。下面介绍四种常用的激活函数形式:(4)高斯函数。高斯函数(也称钟型函数)也是极为重要的一类激活函数,常用于径向基神经网络(RBF网络),其表达式为:式中称为高斯函数的宽度或扩展常数。越大,函数曲线就越平坦;反之,越小,函数曲线就越陡峭。22xfxe六、人工神经网络算法1.基本概念1.3主要的神经网络模型目前使用的比较典型的一些神经网络模型主要有以下几类:1.误差后向传播(BackPropagation,BP)神经网络该类神经网络模型是一种多层映射神经网络,采用的是最小均方差的学习方式。2.径向基函数(RadialBasisFunction,RBF)神经网络RBF网络采用3层结构,层间的神经元的连接方式同BP网络类似,也是采用层间全连接、层内无连接方式。六、人工神经网络算法1.基本概念1.3主要的神经网络模型目前使用的比较典型的一些神经网络模型主要有以下几类:3.Hopfield网络Hopfield网络由相同的神经元构成的单层、并且不具学习功能的自联想网络。网络的权值按一定规则计算出来,一经确定就不再改变,而网络中各神经元的状态在运行过程中不断更新,网络演变到稳态时各神经元的状态便是问题之解。Hopfield网络有离散型和连续型两种。六、人工神经网络算法1.基本概念1.3主要的神经网络模型目前使用的比较典型的一些神经网络模型主要有以下几类:4.随机型神经网络随机型神经网络其基本思想是:不但让网络的误差和能量函数向减小的方向变化,而且还可按某种方式向增大的方向变化,目的是使网络有可能跳出局部极小值而向全局最小点收敛。随机型神经网络的典型算法是模拟退火算法。六、人工神经网络算法1.基本概念1.3主要的神经网络模型目前使用的比较典型的一些神经网络模型主要有以下几类:5.Kohonen网络Kohonen网络含有两层,输入缓冲层用于接收输入模式,输出层的神经元一般按正则二维阵列排列,每个输出神经元连接至所有输入神经元,Kohonen网络是一种以无导师方式进行网络训练的网络,它通过自身训练,自动对输入模式进行分类。六、人工神经网络算法1.基本概念1.3主要的神经网络模型目前使用的比较典型的一些神经网络模型主要有以下几类:6.玻耳兹曼机玻耳兹曼机是由Hinton等人提出的,它的思想主要来源于统计物理学。它在本质上是建立在Hopfield网络基础上的,具有学习能力,能够通过一个模拟退火过程寻求解答。六、人工神经网络算法1.基本概念1.3主要的神经网络模型目前使用的比较典型的一些神经网络模型主要有以下几类:7.对向传播神经网络对向传播(Counter-Propagation)神经网络(CP网络)将Kohonen特征映射网络与Grossberg基本竞争型网络巧妙结合的一种新型特征映射网络。六、人工神经网络算法2.BP算法的原理2.1Delta学习规则的基本原理Delta学习规则又称梯度法或最速下降法,其要点是改变单元间的连接权重来减小系统实际输出与期望输出间的误差。假定神经元权值修正的目标是极小化标量函数,其中F()函数代表神经网络的误差目标函数,w代表神经网络中的某一连接权值,如果神经元的当前权值为w(t),并且假设下一时刻的权值调节公式为式中,表示当前时刻的权值修正方向。显然,我们期望每次权值修正都能满足这样神经网络输出的误差才会随着训练过程的进行而不断地向最小化的目标靠近。对进行一阶泰勒公式展开,得Fw1wtwtwtwt1FwtFwt1Fwt1TFwtFwtwtFwtgtwt六、人工神经网络算法2.BP算法的原理2.2BP神经网络的结构BP神经网络是具有三层或三层以上的阶层型神经网络,由输入层、隐含层和输出层构成,相邻层之间的神经元全互连,同一层内的神经元无连接。六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述BP算法的主要思想是从后向前(反向)逐层传播输出层的误差,以间接算出隐层误差。算法分为两个阶段:第一阶段(正向传播过程)输入信息从输入层经隐层逐层计算各单元的输出值。第二阶段(反向传播过程)输出误差逐层向前算出隐层各单元的误差,并用此误差修正前层权值。六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述1.正向计算输出阶段以上图的BP神经网络为例,假设BP网络的输入层节点数为I,隐含层节点数为J,输出层节点数为K。输入向量为,其期望输出向量为,则有:0121,,,,pIXxxxx0121,,,,pKDdddd六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述1.正向计算输出阶段(1)输入层:(2)隐含层:为简化推导,把各点的阈值当作一种特殊的连接权值,其对应的输入恒为-1。对于第j个神经元的输入为:,其中、为阈值;其第j个节点的输出为:,,0,1,2,,1iiOxiI0IjijiinetvO1IOIjvjjOfnet0,1,2,,1jJ六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述1.正向计算输出阶段(3)输出层:同理,对于第k个神经元的输入为,其中、为阈值;其第k个节点的输出为:,定义BP网络的能量函数(误差函数)为0JkjkjjnetwO1JOJkwkkOfnet0,1,2,,1kK12012KpppkkkEdO六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述2.误差反向传播阶段(网络权值修正阶段)通过调整权值和阈值,使得误差能量达到最小时,网络趋于稳定状态,学习结束。(1)输出层与隐含层之间的权值调整。对每一个的修正值为:式中:为学习步长,取值介于(0,1),对式求偏导得:记:jkwkjkjkkjknetEEwwnetw0JkjkjjnetwOkjjknetOwkkEnet六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述2.误差反向传播阶段(网络权值修正阶段)有:将式子整理得'kkkkkkkkOEEdOfnetnetOnetkjkkjjkkjknetEEwOwnetw六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述2.误差反向传播阶段(网络权值修正阶段)(2)隐含层与输入层的权值调整。同理,对每一个的调整值为:其中,再根据:ijvjijijiijjijjnetEEEvOOvnetvnetjjjjjOEEnetOnet1120012KKkkkkkkkkjjkjOnetEdOdOOOnetO11'00KKkkkjkkjkkkdOfnetww六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述2.误差反向传播阶段(网络权值修正阶段)得:综上所述,若BP神经网络每一层的激活函数均取单极S型函数,即1'0Kjjkjkkfnetw11netfnete六、人工神经网络算法2.BP算法的原理2.3BP神经网络的算法描述2.误差反向传播阶段(网络权值修正阶段)则可以方便地计算出该网络各层的权值修正量:(1)对于输出层:(2)对于隐含层:'1jkjkkkjkkkkwOdOfnetOdOOO11'001KKijjkjkijjkjkikkvfnetwOOOwO六、人工神经网络算法2.BP算法的原理2.4标准BP神经网络的工作过程BP神经网络的总体步骤大致如下所示:(1)权值初始化:,其中表示网络输入层单元到隐含层单元的连接权值;表示网络隐含层单元到输出层单元的连接权值。(2)依次输入P个学习样本。设当前输入为第p个样本。(3)依次计算各层的输出:;其中为隐含层上第j个神经元的输出。为输出层上第k个神经元的输出。ijjkwRandomwRandom、ijwjkwjkOO、jOkO六、人工神经网络算法2.BP算法的原理2.4标准BP神经网络的工作过程(4)根据式和,求网络各层的反传误差:并记下各个的值;'kkkkkkkkOEEdOfnetnetOnet1'0Kjjkjkkfnetw'kkkkdOfnet1'0KjjkjkkfnetwppjkOO、六、人工神经网络算法2.BP算法的原理2.4标准BP神经网络的工作过程(5)记录已经学习过的样本个数p。如果pP,转到步骤(2)继续计算;如果p=P,转到步骤(6)。(6)按权值修正公式修正各层的权值和阈值。(7)按新的权值再计算和,若对每个p样本和相应的第k个输出神经元,都满足,或达到最大学习次数,则终止学习。否则转到步骤(2
本文标题:第6章-人工神经网络算法
链接地址:https://www.777doc.com/doc-5635458 .html