2024年机器学习大作业.docx

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

RevisedonNovember25,

RevisedonNovember25,

机器学习大作业

題目:机器学习

讲課老师:韩紅

基于BP神经网络的非线性函数拟合

摘要:BP(BackPropagation)神经网络是1986年由Rumelhart和McCelland提出的,它是一种误差按反向传播的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP神经网络具有非常强的非线性映射能力,能以任意精度迫近任意持续函数,因此在人工智能的許多领域都得到了广泛的应用。

一般,BP算法是通过某些学习规则来调整神经元之间的连接权值,在学习过程中,学习规则以及网络的拓扑构造不变。然而一种神经网络的信息处理功能不仅取决于神经元之间的连接强度,并且与网络的拓扑构造(神经元的连接方式)、神经元的输入输出特性和神经元的阈值有关,因而神经网络模型要加强自身的适应和学习能力,应当懂得怎样合理地自组织网络的拓扑构造,懂得变化神经元的激活特性以及在必要時调整网络的学习参数等。

1BP神经网络概述

BP神经网络是一种多层前馈神经网络,该网络的重要特点是信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。假如输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不停迫近期望输出。BP神经网络的拓扑构造如图

图1中,X1,X2,…,Xn是BP神经网络的输入值,Y1,Y2,…,Ym是BP神经网络的预测值,ωij和ωjk為BP神经网络权值。从图2可以看出,BP神经网络可以当作一种非线性函数,网络输入值和预测值分别為该函数的自变量和因变量。当输入节点数為n,输出节点数為m時,BP神经网络就体現了从n个自变量到m个因变量的函数映射关系。

2重要用途

BP网络重要用于:

(1)函数迫近:用输入矢量和对应的输出矢量训练网络迫近某个函数;

(2)模式识别:用一种特定的输出矢量将它与输入矢量联络起来;

(3)分类:把输入矢量以所定义的合适的措施进行分类;

(4)数据压缩:减少输出矢量维数以便于传播或存储。

在人工神经网络的实际工程应用中,尤其在自动控制领域中,大多数神经网络模型是采用BP网络或它的变化形式,它也是前向网络的关键部分,体現了人工神经网络最精髓的部分。

算法的数学描述:

三层前馈网中,输入向量為:;隐层输入向量為:;输出层输出向量為:;期望输出向量為:。输入层到隐层之间的权值矩阵用V表达,,其中列向量為隐层第j个神经元对应的权向量;隐层到输出层之间的权值矩阵用W表达,,其中列向量為输出层第k个神经元对应的权向量。

对于输出层,有

对于隐层,有

f(x)具有持续、可导的特点,且有,以上共同构成了三层前馈网了的数学模型。

当网络输出和期望输出不相等時,存在输出误差E如下:

将以上误差定义式展开至隐层,有

深入展开至输入层,有

由上式可以看出,网络输入误差是两层权值W和V的函数,因此调整权值可以变化误差E。

显然,调整权值的原则是使误差不停的减小,因此应使权值的调整量与误差的负梯度成正比,既:

式中负号表达梯度下降,常数表达比例系数,在训练中反应了学习速率。

轻易看出,BP学习算法中,各层权值调整公式形式上都是同样的,均有3个原因决定,既:学习速率、本层误差信号和本层输入信号X/Y。其中输出层误差信号同网络的期望输出与实际输出之差有关,直接反应了输出误差,而各隐层的误差信号与前面各层的误差信号均有关,是从输出层开始逐层反传过来的。在建立BP神经网络時,首先要根据应用的问題确定网络构造,既选择网络的层数和隐层节点数。由于本例中试验数据较少,采用最基本的两层网络就可以很好地迫近未知函数了。隐层节点数的选择在神经网络的应用中一直是一种复杂的问題:隐层节点数过多,将导致网络的预测能力不够,并轻易导致网络陷入局部极小值难以跳出;隐层节点数过少,网络训练不出来,或不能识别此前没有的样本,且容錯性差。在设计中,比较实际的做法是通过对不同神经元数的网络进行训练、对比,找出网络效果最佳時的隐层节点数。在本例中,经大量的训练、对比,最终取中间隐层节点数為10。在建立模型的过程中也发現了某些问題,重要有两个方面:一是样本数过少,很难精确反应出待建模型的特性,并且轻易导致网络在学习过程中难以退出局部极小值。处理的措施是在试验部分增長试验点以增長训练样本数。二是BP网络自身存在的某些问題,重要表目前收敛速度很慢,有時在局部极小值收敛,不能找到全局极小值。针对这样的状况,可以考虑采用其他算法如:模拟退火、遗传算法等,以保证网络能收

文档评论(0)

130****8663 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档