课件:人工神经网络ii

上传人:优*** 文档编号:85010257 上传时间:2019-03-06 格式:PPT 页数:36 大小:754KB
返回 下载 相关 举报
课件:人工神经网络ii_第1页
第1页 / 共36页
课件:人工神经网络ii_第2页
第2页 / 共36页
课件:人工神经网络ii_第3页
第3页 / 共36页
课件:人工神经网络ii_第4页
第4页 / 共36页
课件:人工神经网络ii_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《课件:人工神经网络ii》由会员分享,可在线阅读,更多相关《课件:人工神经网络ii(36页珍藏版)》请在金锄头文库上搜索。

1、by 谢广明 , 20052006学年度第一学期,1,Artificial Neural Networks ANN,第六章 人工神经网络(II),by 谢广明 , 20052006学年度第一学期,2,内 容,前向神经网络模型 前向神经网络用途 前向神经网络训练 BP算法,by 谢广明 , 20052006学年度第一学期,3,前向神经网络,多层前向网络 一个M层的多层前向网络可描述为: 网络包含一个输入层(定义为第0层)和M-1个隐层,最后一个隐层称为输出层; 第 l 层包含 个神经元和一个阈值单元(定义为每层的第0单元),输出层不含阈值单元;,by 谢广明 , 20052006学年度第一学期,

2、4,前向神经网络,第 层第 个单元到第个单元的权值表为 ; 第 层( 0)第 个( 0)神经元的输入定义为 ,输出定义为 ,其中 为隐单元激励函数,常采用Sigmoid函数,即 。输入单元一般采用线性激励函数 ,阈值单元的输出始终为1;,by 谢广明 , 20052006学年度第一学期,5,前向神经网络,by 谢广明 , 20052006学年度第一学期,6,前向神经网络用途,弄这么个东西有用么? 怎么用呢?,by 谢广明 , 20052006学年度第一学期,7,前向神经网络用途,用途非常广泛 非线性映照能力:神经网络能以任意精度逼近任何非线性连续函数。在建模过程中的许多问题正是具有高度的非线性

3、。 并行分布处理方式:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。 自学习和自适应能力:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。神经网络的学习也可以在线进行。 多变量系统:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间的解耦问题。,by 谢广明 , 20052006学年度第一学期,8,前向神经网络用途,Bool 函数 任何bool函数都可以用一个单隐层的网络来表示 但是可能要求指数级的隐层单元个数 连续函数

4、每一个有界的连续函数都可以有一个两级的网络以任意小的误差(在有限的范数下)逼近 任意函数 任意函数都可以被一个由三级的网络以任意精度逼近,by 谢广明 , 20052006学年度第一学期,9,前向神经网络训练,神经网络的训练 给定一组样本,即一组神经网络的输入输出,不断调整网络中的权重使得网络最终能够很好的满足样本所给定的输入输出关系。 最基本的算法: BP算法 其它方法 Hebb学习 概率式学习 竞争学习,by 谢广明 , 20052006学年度第一学期,10,前向神经网络训练,本质:优化如下目标函数 其中P为样本数, 为第p个样本的第j个输出分量。是理想输出和实际输出的误差函数,by 谢广

5、明 , 20052006学年度第一学期,11,BP算法,BP算法-前向网络的训练算法 BP算法的出现 1974年,Werbos已提出了该方法 1982年,Paker完成了相似的工作 UCSD PDP小组的Rumelhart、Hinton和Williams1986年独立地给出了BP算法清楚而简单的描述,by 谢广明 , 20052006学年度第一学期,12,BP算法,算法实施过程 根据输入输出状态维数决定网络的输入层和输出层神经元的个数 根据问题特点和经验决定隐层层数和神经元个数 一般选择 M=2 设定网络的初始参数 按照梯度下降法极小化目标函数,逐步调整权重矩阵直到满意为止,by 谢广明 ,

6、20052006学年度第一学期,13,梯度下降算法,求解函数优化问题,可按照如下公式迭代,其中序列初值任取,by 谢广明 , 20052006学年度第一学期,14,BP算法,梯度下降法,by 谢广明 , 20052006学年度第一学期,15,BP算法,特点: 网络权重的调节上用的是梯度下降算法 容易推广到任意有向网络 训练的时候迭代的次数可能很多,慢 训练后使用网络会非常快 问题 收敛性和局部极小值 过拟和的问题:指网络训练精度很高,但推广检验样本精度较差,也称为网络的泛化能力差,by 谢广明 , 20052006学年度第一学期,16,算法设计,输入/输出变量的确定及其数据的预处理 网络的输入

7、变量即为待分析系统的内生变量(影响因子或自变量)数,一般根据专业知识确定。 若输入变量较多,一般可通过主成份分析方法压减输入变量,也可根据剔除某一变量引起的系统误差与原系统误差的比值的大小来压减输入变量。 输出变量即为系统待分析的外生变量(系统性能指标或因变量),可以是一个,也可以是多个。 一般将一个具有多个输出的网络模型转化为多个具有一个输出的网络模型效果会更好,训练也更方便。,by 谢广明 , 20052006学年度第一学期,17,算法设计,样本数据收集和整理分组 采用BP神经网络方法建模的首要和前提条件是有足够多典型性好和精度高的样本。 为训练过程使之不发生“过拟合”和评价建立的网络模型

8、的性能和泛化能力,必须将收集到的数据随机分成训练样本、检验样本(10%以上)和测试样本(10%以上)3部分。 此外,数据分组时还应尽可能考虑样本模式间的平衡。,by 谢广明 , 20052006学年度第一学期,18,算法设计,由于采用Sigmoid转换函数,为提高训练速度和灵敏性以及有效避开Sigmoid函数的饱和区,一般要求输入数据的值在01之间。因此,要对输入数据进行预处理。 如果输出层节点也采用Sigmoid转换函数,输出变量也必须作相应的预处理,否则,输出变量也可以不做预处理。 预处理的方法有多种多样,各文献采用的公式也不尽相同。预处理的数据训练完成后,网络输出的结果要进行反变换才能得

9、到实际值。 为保证建立的模型具有一定的外推能力,最好使数据预处理后的值在0.20.8之间。,by 谢广明 , 20052006学年度第一学期,19,算法设计,隐层数 一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。 应优先考虑3层BP网络(即有1个隐层)。 一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。 对于没有隐层的神经网络模型,实际上就是一个线性或非线性(取决于输出层采用线性或非线性转换函数型式)回归模型。因此,一般认为,应将不含隐层的网络模型归入回归分析中,技

10、术已很成熟,没有必要在神经网络理论中再讨论之。,by 谢广明 , 20052006学年度第一学期,20,算法设计,隐层节点数 隐层节点数的选择非常重要,它不仅对建立的神经网络模型的性能影响很大,而且是训练时出现“过拟合”的直接原因,但是目前理论上还没有一种科学的和普遍的确定方法。 目前多数文献中提出的确定隐层节点数的计算公式都是针对训练样本任意多的情况,而且多数是针对最不利的情况,一般工程实践中很难满足,不宜采用。 确定隐层节点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点数。 研究表明,隐层节点数不仅与输入/输出层的节点数有关,更与需解决的问题的复杂程度和

11、转换函数的型式以及样本数据的特性等因素有关。,by 谢广明 , 20052006学年度第一学期,21,算法设计,在确定隐层节点数时必须满足下列条件: 隐层节点数必须小于N-1(其中N为训练样本数),否则,网络模型的系统误差与训练样本的特性无关而趋于零,即建立的网络模型没有泛化能力,也没有任何实用价值。同理可推得:输入层的节点数(变量数)必须小于N-1。 训练样本数必须多于网络模型的连接权数,一般为210倍,否则,样本必须分成几部分并采用“轮流训练”的方法才可能得到可靠的神经网络模型。,by 谢广明 , 20052006学年度第一学期,22,算法设计,折衷选择 若隐层节点数太少,网络可能根本不能

12、训练或网络性能很差; 若隐层节点数太多,虽然可使网络的系统误差减小,但一方面使网络训练时间延长,另一方面,训练容易陷入局部极小点而得不到最优点,也是训练时出现“过拟合”的内在原因。 合理隐层节点数应在综合考虑网络结构复杂程度和误差大小的情况下用节点删除法和扩张法确定。,by 谢广明 , 20052006学年度第一学期,23,算法设计,迄今为止还没有构造性结论,即在给定有限个(训练)样本的情况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律(函数关系,不仅仅是使训练样本的误差达到很小)的问题。 通过训练样本的学习(训练)建立合理的BP神经网络模

13、型的过程,在国外被称为“艺术创造的过程”,是一个复杂而又十分烦琐和困难的过程。,by 谢广明 , 20052006学年度第一学期,24,算法设计,学习率 学习率影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值。所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在0.010.8之间。,by 谢广明 , 20052006学年度第一学期,25,算法设计,初始连接权值 误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了BP

14、算法收敛于哪个局部极小点或是全局极小点。 要求计算程序必须能够自由改变网络初始连接权值。 由于Sigmoid转换函数的特性,一般要求初始权值分布在-0.50.5之间比较有效。,by 谢广明 , 20052006学年度第一学期,26,算法设计,网络模型的性能和泛化能力 训练神经网络的首要和根本任务是确保训练好的网络模型对非训练样本具有好的泛化能力(推广性),即有效逼近样本蕴含的内在规律,而不是看网络模型对训练样本的拟合能力。 从存在性结论可知,即使每个训练样本的误差都很小(可以为零),并不意味着建立的模型已逼近训练样本所蕴含的规律。 仅给出训练样本误差(通常是指均方根误差RSME或均方误差、AA

15、E或MAPE等)的大小而不给出非训练样本误差的大小是没有任何意义的。,by 谢广明 , 20052006学年度第一学期,27,算法设计,分析模型泛化能力,应该也必须用非训练样本误差的大小来表示和评价。 判断建立的模型是否已有效逼近样本所蕴含的规律,最直接和客观的指标是从总样本中随机抽取的非训练样本(检验样本和测试样本)误差是否和训练样本的误差一样小或稍大。 非训练样本误差很接近训练样本误差或比其小,一般可认为建立的网络模型已有效逼近训练样本所蕴含的规律。,by 谢广明 , 20052006学年度第一学期,28,算法设计,因为训练样本的误差可以达到很小,因此,用从总样本中随机抽取的一部分测试样本

16、的误差表示网络模型计算和预测所具有的精度(网络性能)是合理的和可靠的。 判断网络模型泛化能力的好坏,主要不是看测试样本误差大小的本身,而是要看测试样本的误差是否接近于训练样本和检验样本的误差。,by 谢广明 , 20052006学年度第一学期,29,算法设计,合理网络模型的确定 对同一结构的网络,由于BP算法存在(很)多个局部极小点,因此,必须通过多次(通常是几十次)改变网络初始连接权值求得相应的极小点,才能通过比较这些极小点的网络误差的大小,确定全局极小点,从而得到该网络结构的最佳网络连接权值。,by 谢广明 , 20052006学年度第一学期,30,算法设计,收敛误差界值 在网络训练过程中应根据实际情况预先确定误差界值。 误差界值的选择完全根据网络模型的收敛速度大小和具体样本的学习精度来确定

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号