BP神经网络实现函数逼近python实现.doc

BP神经网络实现函数逼近python实现.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BP神经网络实现函数逼近python实现

机器学习作业一 算法描述 BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。 数据描述 x) 算法参数 输出逼近的函数 实验流程 反向传播算法(Back Propagation)分二步进行,即正向传播和反向传播。这两个过程简述如下: 1.正向传播 输入的样本从输入层经过隐单元一层一层进行处理,传向输出层;在逐层处理的过程中。在输出层把当前输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。 2.反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,逐层修改连接权值,以望代价函数趋向最小。 输入层输入向量(n维):X=(x1,x2,…,xi,…,xn)T 隐层输出向量(隐层有m个结点):Y=(y1,y2,…,yj,…,ym)T 输出层输出向量(l维):O=(o1,o2,…,ok,…,ol)T 期望输出向量:d=(d1, d2,…,dk,…,dl)T 输入层到隐层之间的权值矩阵:V=(V1,V2,…,Vj,…,Vm) 隐层到输出层之间的权值矩阵用:W=(W1,W2,…,Wk,…,Wl) 对输出层第k个结点和隐含层的第j个结点有如下关系: 激活函数f(x)常用sigmoid函数(一个在生物学中常见的S型的函数,也称为S形生长曲线)或者tanh(双曲正切)函数。各种S型曲线函数如下图所示:下面以sigmoid函数进行推导。sigmoid函数定义为: 其导函数为: 定义对单个样本输出层所有神经元的误差总能量总和为: 将以上误差定义式展开至隐层: 权值调整思路为: 上面式子中负号表示梯度下降,常数η(0,1)表示权值调整步长(学习速度)。推导过程中,对输出层有j=0,1,2,…,m;? k=1,2,…,l;对隐层有 i=0,1,2,…,n;? j=1,2,…,m 对输出层和隐层,上面式子可写为: 对输出层和隐层,定义δ: 将以上结果代入δ的表达式,并根据sigmoid函数与其导函数的关系:f(x)=f(x)*[1-f(x)],可以计算出: 可以看出要计算隐层的δ,需要先从输出层开始计算,显然它是反向递推计算的公式。以此类推,对于多层神经网络,要先计算出最后一层(输出层)的δ,然后再递推计算前一层,直到输入层。根据上述结果,三层前馈网的BP学习算法权值调整计算公式为: 对所有输入样本(P为训练样本的个数),以总的平均误差能量作为经验损失函数(经验风险函数,代价函数)为: 实验结果 讨论 1 / 5

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档