《机器学习算法之神经网络.ppt》由会员分享,可在线阅读,更多相关《机器学习算法之神经网络.ppt(34页珍藏版)》请在三一办公上搜索。
1、机器学习算法 人工神经网络(Artificial Neural Netwroks),报告人:曹杰(湖大团队),神经网络基本概念,1,神经网络的学习方法,2,BP神经网络,3,BP神经网络实例(Python),4,目录,生物神经元的模型,神经网络的基本概念,神经元的数学模型,神经元的n个输入,接收的信息(其它神经元的输出),作比较 的阈值,互连强度/连接权值,激活函数,输出,连接的权值:两个互连的神经元之间相互作用的强弱。,神经元模型:神经元相当于一个多元输入一元输出的信息处理单元,神经元的数学模型,上面的神经元模型可以用一个数学表达式进行抽象与概括,从而得到神经元的数学模型:,神经元的网络输入
2、记为net,即,有时为了方便,设,则有:,其中,,激活函数,1.阈值型激活函数,2.S型激活函数,3.分段线性激活函数,数学神经元例子,神经网络学习方法,学习:神经网络的最重要特征之一。,实质:同一个训练集的样本输入输出模式反复作用于网络,网络按照一定的训练规则自动调节神经元之间的连接强度或拓扑结构,使实际输出满足期望的要求或者趋于稳定。,学习规则(典型的权值修正方法):误差修正学习、Hebb学习规则,学习方法:有监督学习、无监督学习,学习规则,(1)选择一组初始权值wij(1);,(2)计算某一输入模式对应的实际输出与期望输出的误差;,(3)更新权值,阈值可视为输入恒为(1)的一个权值;,式
3、中,,:学习因子;,dj,yj(t):第j个神经元的期望输出与实际输出;,xi(t):第j个神经元的第i个输入。,(4)返回(2),直到对所有训练模式网络输出均能满足要求。,神经网络的学习体现在:权值变化;网络结构变化。,感知器,*双层(输入层、输出层);*两层单元之间为全互连;*连接权值可调。,结构特点:,*输出层神经元个数等于类 别数(两类问题时输出层 为一个神经元)。,感知器结构示意图,设输入模式向量,共M类。,输出层第j个神经元对应第j个模式类,,输出为,wij:输入模式第i个分量与 输出层第j个神经元间的连接权。,j:第j个神经元的阈值;,输出单元对所有输入数值加权求和,经阈值型输出
4、函数产生一组输出模式。,令。取,有,感知器例子,权重向量w。训练样本x1.把权重向量初始化为0,或把每个分量初始化为0,1间的任意小数2.把训练样本输入感知器,得到分类结果(-1或1)3.根据分类结果更新权重向量,权重更新算法,权重更新示例,阈值更新,神经网络模型,输出层,第二隐层,第一隐层,输入层,神经网络模型 神经元的连接方式不同,网络的拓扑结构也不同,人工神经网络的拓扑结构是决定人工神经网络特征的第二要素,根据神经元之间连接的拓扑结构不同,可将人工神经网络分成两类,即分层网络和相互连接型网络。,分层网络 分层网络将一个神经网络中的所有神经元按功能分为若干层,一般有输入层、中间层(隐藏层)
5、和输出层。分层网络按照信息的传递方向可分为前向式网络(如图a)和反馈网络(如图b、c)。,BP神经网络,BP网络主要用于1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。2)模式识别:用一个特定的输出向量将它与输入向量联系起来。3)分类:把输入向量 以所定义的合适方式进行分类。4)数据压缩:减少输出向量维数以便于传输或存储。,BP神经网络(Back Propagation Neural Network),即误差后向传播神经网络,是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的网络模型之一。,BP神经网络结构,BP神经元的网络结构,注:与感知器模型不同的是,BP网络
6、的激活函数f()要求是可微的,所以不能用二值函数,常用S型的对数、正切函数或线性函数。,BP神经节点,BP神经网络,BP算法的两个阶段:BP算法由数据流的正向传播和误差信号的反向传播两个过程构成。,设:某层任一神经元j的 输入为netj,输出为yj;相邻低一层中任一 神经元i的输出为yi。,wij:神经元i与j之间的连接权;,f():神经元的输出函数。,S型输出函数:,j:神经元阈值;h0:修改输出函数形状的参数。,设:输出层中第k个神经元的实际输出为yk,输入为netk;与输出层相邻的隐层中任一神经元j的输出为yj。,对输入模式Xp,若输出层中第k个神经元的期望输出为dpk,实际输出为ypk
7、。输出层的输出方差:,若输入N个模式,网络的系统均方差为:,当输入Xp时,wjk的修正增量:,其中,,由 式得到:,令,可得,输出单元的误差:,输出单元的修正增量:,对于与输出层相邻的隐层中的神经元j和该隐层前低一层中的神经元i:,输出层中神经元输出的误差反向传播到前面各层,对各层之间的权值进行修正。,BP算法建模步骤:,第二步:输入样本,指定输出层各神经元的希望输出值。,第三步:依次计算每层神经元的实际输出,直到输出层。,第四步:从输出层开始修正每个权值,直到第一隐层。,若j是输出层神经元,则:,若j是隐层神经元,则:,第五步:转到第二步,循环至权值稳定为止。,第一步:对权值和神经元阈值初始
8、化:(0,1)上分布的随机数。,BP算法建模步骤:,BP算法步骤:,BP神经网络的设计分析,1、产生数据样本集,2、确定网络的类型和结构,选择网络的层数、每层的节点数、初始权值、阈值、学习算法、数值修改频度、结点变换函数及参数、学习率等参数。,3、训练和测试,包括原始数据的收集、数据分析、变量选择以及数据的预处理,对所有样本数据正向运行一次并反向修改连接权一次称为一次训练(或一次学习)。,BP神经网络的应用实例,BP神经网络训练数据1.问题的描述 下面列表中的数据是某地区20年公路运量数据,在作为下一节的神经网络程序的输入。其中属性“人口数量”、“机动车数量”和“公路面积”作为神经网络的三个输
9、入,属性“公路客运量”和“公路货运量”作为神经网络的两个输出。,某地区20年公路运量数据 年份 人口数量 机动车数量 公路面积 公路客运量 公路货运量 20.55 0.6 0.09 5126 1237 22.44 0.75 0.11 6217 1379 25.37 0.85 0.11 7730 1385 27.13 0.90 0.14 9145 1399 29.45 1.05 0.20 10460 1663 30.1 1.35 0.23 11387 1714 30.96 1.45 0.23 12353 1834 34.06 1.60 0.32 15750 4322 36.42 1.70 0.3
10、2 18304 8132 38.09 1.85 0.34 19836 8936 39.13 2.15 0.36 21024 110992001 39.99 2.20 0.36 19490 112032002 41.93 2.25 0.38 20433 105242003 44.59 2.35 0.49 22598 11115,年份 人口数量 机动车数量 公路面积 公路客运量 公路货运量 47.30 2.50 0.56 25107 13320 52.89 2.60 0.59 33442 16762 55.73 2.70 0.59 36836 18673 56.76 2.85 0.67 40548 20724 59.17 2.95 0.69 42927 208032009 60.63 3.10 0.79 43462 21804,2.BP网络训练过程为了了解利用BP网络训练的过程,可把问题分为成以下步骤:1)原始数据的输入;2)数据归一化;3)网络建立以及训练;4)对原始数据进行仿真;5)将原始数据仿真的结果与已知样本进行对比;在进行归一化处理时和把仿真的到的数据还原为原始数据的数量级时,在下面的程序中,都是利用系统函数进行的。,训练结果,