单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,人工神经网络的争论方法及应用实 例 分 析2023.6.10,一、人工神经网络学问回忆,1、什么是人工神经网络?,T.Koholen的定义:“人工神经网络是由具有适应性的简洁单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反响。”,2、神经网络根本模型,细,胞,体,突,触,轴,突,树,突,图,1,.,生,物,神,经,元,功,能,模,型,输,入,输,出,信,息,处,理,电,脉,冲,形,成,传,输,图2 BP神经网络构造模型,3、人工神经网络争论的局限性,1ANN争论受到脑科学争论成果的限制。,2ANN缺少一个完整、成熟的理论体系。,3ANN争论带有深厚的策略和阅历颜色。,4ANN与传统技术的接口不成熟。,1一般而言,ANN与经典计算方法相比并非优越,只有当常规方法解决不了或效果不佳时ANN方法才能显示出其优越性。尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断、特征提取和猜测等问题,ANN往往是最有利的工具。,2另一方面,ANN对处理大量原始数据而不能用规章或公式描述的问题,表现出极大的敏捷性和自适应性。,黑箱,二、神经网络的应用实例,人工神经网络以其具有自学习、自组织、较好的容错性和优良的非线性靠近力量,受到众多领域学者的关注。在实际应用中,80%90%的人工神经网络模型是承受误差反传算法或其变化形式的网络模型简称BP网络,目前主要应用于函数靠近、模式识别、分类和数据压缩或数据挖掘。,1.样本数据,1.1 收集和整理分组,承受BP神经网络方法建模的首要和前提条件是有足够多典型性好和精度高的样本。,为监控训练学习过程使之不发生“过拟合”和评价建立的网络模型的性能和泛化力量,必需将收集到的数据随机分成训练样本、检验样本10%以上和测试样本10%以上3局部。,数据分组时还应尽可能考虑样本模式间的平衡。,1.2 输入/输出变量确实定及其数据的预处理,一般地,BP网络的输入变量即为待分析系统的内生变量影响因子或自变量数,一般依据专业学问确定。,假设输入变量较多,一般可通过主成份分析方法压减输入变量,也可依据剔除某一变量引起的系统误差与原系统误差的比值的大小来压减输入变量。,输出变量即为系统待分析的外生变量系统性能指标或因变量,可以是一个,也可以是多个。一般将一个具有多个输出的网络模型转化为多个具有一个输出的网络模型效果会更好,训练也更便利。,1.3 数据的预处理,要对输入数据进展预处理。假设输出层节点也承受Sigmoid转换函数,输出变量也必需作相应的预处理,否则,输出变量也可以不做预处理。,预处理的方法有多种多样,各文献承受的公式也不尽一样。但必需留意的是,预处理的数据训练完成后,网络输出的结果要进展反变换才能得到实际值。,再者,为保证建立的模型具有肯定的外推力量,最好使数据预处理后的值在0.20.8之间。,2.神经网络拓扑构造确实定,2.1 隐层数的选取,一般认为,增加隐层数可以降低网络误差也有文献认为不肯定能有效降低,提高精度,但也使网络简单化,从而增加了网络的训练时间和消失“过拟合”的倾向。,Hornik等早已证明:假设输入层和输出层承受线性转换函数,隐层承受Sigmoid转换函数,则含一个隐层的MLP网络能够以任意精度靠近任何有理函数。明显,这是一个存在性结论。在设计BP网络时可参考这一点,应优先考虑3层BP网络即有1个隐层。,一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更简洁实现。,2.2 隐层节点数,在BP 网络中,隐层节点数的选择特别重要,它不仅对建立的神经网络模型的性能影响很大,而且是训练时消失“过拟合”的直接缘由,但是目前理论上还没有一种科学的和普遍确实定方法。,目前多数文献中提出确实定隐层节点数的计算公式都是针对训练样本任意多的状况,而且多数是针对最不利的状况,一般工程实践中很难满足,不宜承受。事实上,各种计算公式得到的隐层节点数有时相差几倍甚至上百倍。,为尽可能避开训练时消失“过拟合”现象,保证足够高的网络性能和泛化力量,确定隐层节点数的最根本原则是:在满足精度要求的前提下取尽可能紧凑的构造,即取尽可能少的隐层节点数。争论说明,隐层节点数不仅与输入/输出层的节点数有关,更与需解决的问题的简单程度和转换函数的型式以及样本数据的特性等因素有关。,在确定隐层节点数时必需满足以下条件:,隐层节点数必需小于N-1其中N为训练样本数,否则,网络模型的系统误差与训练样本的特性无关而趋于零,即建立的网络模型没有泛化力量,也没有任何有用价值。同理可推得:输入层的节点数变量数必需小于N-1。,(2)训练样本数必需多于网络模型的连接权数,一般为210倍,否则,样本必需分成几局部并承受“轮番训练”的方法才可能得到牢靠的神经网络模型。,假设隐层节点数太少,网络可能根本不能训练或网络,性能很差;假设隐层节点数太多,虽然可使网络的系,统误差减小,但一方面使网络训练时间延长;,另一方面,训练简洁陷入局部微小点而得不到最优,点,也是训练时消失“过拟合”的内在缘由。,因此,合理隐层节点数应在综合考虑网络构造简单,程度和误差大小的状况下用节点删除法和扩张法确,定。,3.神经网络的训练,3.1 训练,BP网络的训练就是通过应用误差反传原理不断调整网络权值使网络模型输出值与的训练样本输出值之间的误差平方和到达最小或小于某一期望值。虽然理论上早已经证明:具有1个隐层承受Sigmoid转换函数的BP网络可实现对任意函数的任意靠近。但圆满的是,迄今为止还没有构造性结论,即在给定有限个训练样本的状况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习训练来满足地靠近样本所蕴含的规律函数关系,不仅仅是使训练样本的误差到达很小的问题,目前在很大程度上还需要依靠阅历学问和设计者的阅历。因此,通过训练样本的学习训练建立合理的BP神经网络模型的过程,在国外被称为“艺术制造的过程”,是一个简单而又特别烦琐和困难的过程。,由于BP网络承受误差反传算法,其实质是一个无约束的非线性最优化计算过程,在网络构造较大时不仅计算时间长,而且很简洁限入局部微小点而得不到最优结果。目前虽已有改进BP法、遗传算法GA和模拟退火算法等多种优化方法用于BP网络的训练(这些方法从原理上讲可通过调整某些参数求得全局微小点),但在应用中,这些参数的调整往往因问题不同而异,较难求得全局微小点。这些方法中应用最广的是增加了冲量动量项的改进BP算法。,3.2,训练函数的选择,3.3 学习率和冲量系数,学习率影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的微小值呈不规章跳动而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个微小值。所以,一般倾向选取较小的学习率以保证学习过程的收敛性稳定性,通常在0.010.8之间。,增加冲量项的目的是为了避开网络训练陷于较浅的局部微小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。通常在01之间,而且一般比学习率要大。,