11-第三篇 第4章 如何组织神经网络
- 格式:pdf
- 大小:148.15 KB
- 文档页数:9
强化学习中的神经网络模型构建与训练第一章强化学习中的基本概念1.1 强化学习简介强化学习是机器学习领域的一个重要分支,旨在让智能体通过与环境的交互来学习最优行为策略。
强化学习的核心思想是智能体通过与环境的交互来获得反馈信号,根据这些反馈来调整自己的行为。
1.2 强化学习的基本元素在强化学习中,主要涉及的三个基本元素为:智能体、环境和奖励信号。
智能体是进行学习的主体,它根据当前的状态选择动作,并与环境进行交互。
环境代表了智能体所处的实际场景,它会根据智能体的动作返回下一个状态和奖励信号。
奖励信号是环境根据智能体的动作返回的一个评估指标,用来反映该动作的好坏程度。
1.3 基于模型和无模型的强化学习在强化学习中,智能体可以基于模型或者无模型进行学习。
基于模型的强化学习是指智能体通过学习环境的模型来预测下一个状态和奖励信号,并根据这些预测来选择动作。
而无模型的强化学习则是直接通过与环境的交互来学习最优策略,无需对环境的模型进行预测。
第二章强化学习中的神经网络模型2.1 神经网络模型的基本原理神经网络是一种模拟生物神经网络的计算模型,它由多个神经元互相连接而成。
每个神经元接收到来自其他神经元的输入,并通过激活函数来产生输出。
神经网络通过训练来调整神经元之间的连接权重,从而实现对输入数据的非线性建模。
2.2 强化学习中的神经网络模型在强化学习中,神经网络模型可以用于近似值函数或策略函数。
值函数用于评估一个状态或状态-动作对的好坏程度,而策略函数用于选择最优动作。
神经网络模型可以通过学习环境的反馈信号来调整神经元之间的连接权重,从而实现对值函数或策略函数的逼近。
2.3 神经网络模型的训练方法神经网络模型的训练通常采用反向传播算法和梯度下降法。
反向传播算法通过将误差从输出层向输入层传递,并根据误差对连接权重进行调整。
梯度下降法则是一种通过寻找最小化损失函数的方法来调整连接权重的优化算法。
第三章强化学习中的神经网络模型构建与训练3.1 强化学习问题的建模在使用神经网络模型解决强化学习问题时,首先需要将问题进行建模。
第4章 SOM自组织特征映射神经网络生物学研究表明,在人脑的感觉通道上,神经元的组织原理是有序排列的。
当外界的特定时空信息输入时,大脑皮层的特定区域兴奋,而且类似的外界信息在对应的区域是连续映像的。
生物视网膜中有许多特定的细胞对特定的图形比较敏感,当视网膜中有若干个接收单元同时受特定模式刺激时,就使大脑皮层中的特定神经元开始兴奋,输入模式接近,与之对应的兴奋神经元也接近;在听觉通道上,神经元在结构排列上与频率的关系十分密切,对于某个频率,特定的神经元具有最大的响应,位置相邻的神经元具有相近的频率特征,而远离的神经元具有的频率特征差别也较大。
大脑皮层中神经元的这种响应特点不是先天安排好的,而是通过后天的学习自组织形成的。
据此芬兰Helsinki大学的Kohonen T.教授提出了一种自组织特征映射网络(Self-organizing feature Map,SOM),又称Kohonen网络[1-5]。
Kohonen认为,一个神经网络接受外界输入模式时,将会分为不同的对应区域,各区域对输入模式有不同的响应特征,而这个过程是自动完成的。
SOM网络正是根据这一看法提出的,其特点与人脑的自组织特性相类似。
4.1 竞争学习算法基础[6]4.1.1 自组织神经网络结构1.定义自组织神经网络是无导师学习网络。
它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。
2.结构层次型结构,具有竞争层。
典型结构:输入层+竞争层。
如图4-1所示。
竞争层图4-1 自组织神经网络结构输入层:接受外界信息,将输入模式向竞争层传递,起“观察”作用。
竞争层:负责对输入模式进行“分析比较”,寻找规律,并归类。
4.1.2 自组织神经网络的原理1.分类与输入模式的相似性分类是在类别知识等导师信号的指导下,将待识别的输入模式分配到各自的模式类中,无导师指导的分类称为聚类,聚类的目的是将相似的模式样本划归一类,而将不相似的分离开来,实现模式样本的类内相似性和类间分离性。
神经⽹络的基本⼯作原理神经⽹络的基本⼯作原理⼀、总结⼀句话总结:先给⼀个初始值,然后依赖正确值(真实值)进⾏修复模型(训练模型),直到模型和真实值的误差可接受> 初始值真实值修复模型1、神经⽹络由基本的神经元组成,那么神经元的模型是怎样的?神经⽹络由基本的神经元组成,那么神经元的模型是怎样的?神经⽹络由基本的神经元组成,下图就是⼀个神经元的数学/计算模型,便于我们⽤程序来实现。
输⼊(x1,x2,x3) 是外界输⼊信号,⼀般是⼀个训练数据样本的多个属性,⽐如,我们要识别⼿写数字0~9,那么在⼿写图⽚样本中,x1可能代表了笔画是直的还是有弯曲,x2可能代表笔画所占⾯积的宽度,x3可能代表笔画上下两部分的复杂度。
(W1,W2,W3) 是每个输⼊信号的权重值,以上⾯的 (x1,x2,x3) 的例⼦来说,x1的权重可能是0.5,x2的权重可能是0.2,x3的权重可能是0.3。
当然权重值相加之后可以不是1。
还有个b是⼲吗的?⼀般的书或者博客上会告诉你那是因为\(y=wx+b\),b是偏移值,使得直线能够沿Y轴上下移动。
这是⽤结果来解释原因,并⾮b存在的真实原因。
从⽣物学上解释,在脑神经细胞中,⼀定是输⼊信号的电平/电流⼤于某个临界值时,神经元细胞才会处于兴奋状态,这个b实际就是那个临界值。
亦即当:\[w1*x1 + w2*x2 + w3*x3 >= t\]时,该神经元细胞才会兴奋。
我们把t挪到等式左侧来,变成\((-t)\),然后把它写成b,变成了:\[w1*x1 + w2*x2 + w3*x3 + b >= 0\]于是b诞⽣了!2、神经元模型中的偏移b到底是什么?> 偏移量兴奋临界值⼀般的书或者博客上会告诉你那是因为\(y=wx+b\),b是偏移值,使得直线能够沿Y轴上下移动。
这是⽤结果来解释原因,并⾮b存在的真实原因。
从⽣物学上解释,在脑神经细胞中,⼀定是输⼊信号的电平/电流⼤于某个临界值时,神经元细胞才会处于兴奋状态,这个b实际就是那个临界值。
神经网络入门指南从零开始学习神经网络的基础知识神经网络入门指南:从零开始学习神经网络的基础知识神经网络作为一种模拟人脑神经系统的计算模型,已经在各个领域得到了广泛的应用。
从图像识别、语音识别、自然语言处理,到游戏智能化等,神经网络已经逐步成为机器智能领域的重要基础技术之一。
本篇文章将从零开始介绍神经网络的基础知识,帮助初学者快速掌握神经网络的基本原理及应用。
一、什么是神经网络?神经网络是一种模拟人脑神经系统的计算模型,其基本原理是通过模仿生物神经元之间的相互连接和信息传递来实现复杂的信息处理功能。
简单来说,神经网络就是由一个由神经元和神经元之间的连接组成的网络。
二、神经网络的基本结构神经网络的基本结构包括输入层、隐藏层和输出层。
其中输入层用于接受外部输入信息;隐藏层根据输入信息进行“加工”,并向下一层传递信息;输出层将隐藏层传递过来的信息进行最终的处理和输出。
三、神经网络的工作原理神经网络的工作原理可以简单概括为“学习”和“推理”两个过程。
具体来讲,它通过不断调整网络参数,使网络模型能够根据训练数据进行学习,获得越来越准确的预测结果;在真实数据到来时,神经网络便可以通过这些已经学习到的规律,对新的数据进行推理和预测。
四、神经网络的应用1. 图像识别神经网络在图像识别领域的应用已经相当成熟,它可以通过学习大量的图像数据,并利用其内部的特征分析方法来实现对图像的智能化识别。
2. 语音识别语音识别是神经网络另一个重要应用领域。
神经网络可以通过语音信号分析技术,将语音信号转化为数字信号,并通过特征提取、分类等技术,实现对语音的自动识别。
3. 自然语言处理在自然语言处理领域,神经网络已经成为了文本分类、语种识别、情感分析等关键技术之一。
通过神经网络的“学习”和“推理”能力,它可以自动地理解、分析和理解大量的自然语言文本信息。
4. 游戏智能化在大型游戏开发中,神经网络也具有非常重要的应用前景。
它可以通过学习玩家的习惯和操作行为,实现对玩家行为的预测,同时还可以对游戏场景的元素进行分析和规划,实现对游戏智能化水平的提升。
神经⽹络模型基本原理⼈⼯神经⽹络是⼀个数学模型,旨在模拟⼈脑的神经系统对复杂信息的处理机制,其⽹络结构是对⼈脑神经元⽹络的抽象,两者有很多相似之处。
当然 ANN 还远没有达到模拟⼈脑的地步,但其效果也让⼈眼前⼀亮。
1. ⼈⼯神经元结构⼈⼯神经元是⼀个多输⼊单输出的信息处理单元,是对⽣物神经元的建模。
建模⽅式可以有很多种,不同的建模⽅式就意味着不同的⼈⼯神经元结构。
⽐较著名的⼈⼯神经元模型是 MP 神经元,直到今天,我们仍然在使⽤这个神经元模型。
MP 神经元是模仿⽣物的神经元设计的: 1)输⼊向量 x 模拟⽣物神经元中其他神经细胞给该细胞的刺激,值越⼤刺激越⼤; 2)w 向量模拟该细胞不同来源的刺激的敏感度;3)⽤阈值 θ 来描述激活该神经元的难易程度,越⼤越难激活; 4)⽤ w 1x 1+w 2x 2+...+w n x n −θ 来计算神经元的兴奋程度;5)y =f (x ) 为激活函数,⽤来计算神经元的输出,因为⽣物神经元的输出是有上下限的,所以激活函数也是能够“饱和”的有界函数; 6)在 MP 神经元中,激活函数为阶梯函数。
兴奋函数⼤于阈值输出 1,⼩于阈值输出 0; 下图是 MP 神经元模型的⽰意图:将激活函数代⼊,将项 −θ 设为 b ,则可以得到 MP 神经元的数学模型:y =sgn n∑i =1(w i x i +b )=sgn w T x +b惊讶得发现它就是⼀个线性分类模型,和的数学模型是完全⼀样的,所以⼀个 MP 神经元的作⽤就是:对输⼊进⾏⼆分类。
这是符合⽣物神经元的特点的,因为⼀个⽣物神经元对输⼊信号所产⽣的作⽤就是:兴奋或这抑制。
所以通俗来讲:⼀条直线把平⾯⼀分为⼆,⼀个平⾯把三维空间⼀分为⼆,⼀个 n −1 维超平⾯把 n 维空间⼀分为⼆,两边分属不同的两类,这种分类器就叫做神经元,⼀个神经元只能分两类,输出是⼀个能体现类别的标量。
⼀个神经元的作⽤就是这么简单,所做的也只能是线性分类,但是当多个神经元互联的时候就会产⽣神奇的效果,下⾯再叙述。
神经网络的基本知识点总结一、神经元神经元是组成神经网络的最基本单元,它模拟了生物神经元的功能。
神经元接收来自其他神经元的输入信号,并进行加权求和,然后通过激活函数处理得到输出。
神经元的输入可以来自其他神经元或外部输入,它通过一个权重与输入信号相乘并求和,在加上偏置项后,经过激活函数处理得到输出。
二、神经网络结构神经网络可以分为多层,一般包括输入层、隐藏层和输出层。
输入层负责接收外部输入的信息,隐藏层负责提取特征,输出层负责输出最终的结果。
每一层都由多个神经元组成,神经元之间的连接由权重表示,每个神经元都有一个对应的偏置项。
通过调整权重和偏置项,神经网络可以学习并适应不同的模式和规律。
三、神经网络训练神经网络的训练通常是指通过反向传播算法来调整网络中每个神经元的权重和偏置项,使得网络的输出尽可能接近真实值。
神经网络的训练过程可以分为前向传播和反向传播两个阶段。
在前向传播过程中,输入数据通过神经网络的每一层,并得到最终的输出。
在反向传播过程中,通过计算损失函数的梯度,然后根据梯度下降算法调整网络中的权重和偏置项,最小化损失函数。
四、常见的激活函数激活函数负责对神经元的输出进行非线性变换,常见的激活函数有Sigmoid函数、Tanh函数、ReLU函数和Leaky ReLU函数等。
Sigmoid函数将输入限制在[0,1]之间,Tanh函数将输入限制在[-1,1]之间,ReLU函数在输入大于0时输出等于输入,小于0时输出为0,Leaky ReLU函数在输入小于0时有一个小的斜率。
选择合适的激活函数可以使神经网络更快地收敛,并且提高网络的非线性拟合能力。
五、常见的优化器优化器负责更新神经网络中每个神经元的权重和偏置项,常见的优化器有梯度下降法、随机梯度下降法、Mini-batch梯度下降法、动量法、Adam优化器等。
这些优化器通过不同的方式更新参数,以最小化损失函数并提高神经网络的性能。
六、常见的神经网络模型1、全连接神经网络(Fully Connected Neural Network):每个神经元与下一层的每个神经元都有连接,是最基础的神经网络结构。
BP神经网络在数据挖掘中的应用第一章数据挖掘及现代神经网络1.1 数据挖掘数据挖掘(Data Mining)是20世纪90年代中期兴起的一项新技术,是多门学科和多种技术相结合的产物。
1989年8月,在美国底特律召开的第11 届国际人工智能联合会议的专题讨论会上,首次提出了知识发现KDD(Knowledge Discovery in Database)这个概念。
1995年,美国计算机学会(ACM)会议提出了数据挖掘,它形象地把大型数据库看成是存放有价值信息的矿藏,通过有效的知识发现技术,从中挖掘或开采出有用的信息。
由于数据挖掘是KDD过程中的关键步骤,所以常不加区分地使用知识发现KDD和数据挖掘DM这两个术语。
而所谓数据挖掘,就是对观测到的数据集(经常是很庞大的)进行分析,目的是发现未知的关系和以数据拥有者可以理解并对其有价值的新颖方式来总结数据。
数据挖掘常采用的算法及理论有粗糙集(Rough sets)、人工神经网络(Artificial neural networks)、决策树(Decision trees )、遗传算法(Genetic algorithms)等。
数据挖掘技术主要来源于四个领域:统计分析、机器学习、神经网络和数据库。
所以,数据挖掘的主要方法可以粗分为:统计方法、机器学习方法、神经网络方法和数据库方法。
统计方法主要包括:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)、以及模糊集、粗集、支持向量机等。
模糊集方法即利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。
系统的复杂性越高,模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。
粗集方法建立在粗集理论上。
粗集理论是一种研究不精确、不确定知识的数学工具。
粗集方法有几个优点:不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。
搭建一个神经网络的基本思路和步骤神经网络是一种模拟人类神经系统的计算模型,它能够通过学习和训练,从输入数据中提取有用的特征,并用于分类、预测和其他任务。
搭建神经网络的基本思路和步骤如下:1.确定问题和目标:首先,需要明确解决的问题和达到的目标。
这确定了所需的输入和输出,以及网络的结构和规模。
2.收集和准备数据:收集和准备用于训练和测试网络的数据。
数据应包含输入特征和相应的输出结果,并按照一定的比例划分为训练集和测试集。
3.设计网络结构:根据问题和目标,设计神经网络的结构。
网络结构包括输入层、隐藏层和输出层,其中隐藏层可以有一个或多个。
还需决定每层的节点数和激活函数的选择。
4.初始化参数:为网络的权重和偏差初始化随机值。
这些参数将在训练过程中通过反向传播来更新。
5.前向传播:使用训练集中的输入数据,通过神经网络进行前向传播计算。
每层的输入是上一层的输出,直至输出层。
6.计算损失函数:通过比较网络的预测输出和实际输出,计算损失函数。
损失函数使用一种适合问题的评估方法,如均方误差。
7.反向传播:通过反向传播算法,计算每个参数对损失函数的影响,从而更新网络的权重和偏差。
反向传播从输出层开始,依次向前传播直至输入层。
8.参数更新:使用优化算法(如梯度下降法)来更新网络的参数。
优化算法通过最小化损失函数,使网络能够逐步调整,提高预测的准确性。
9.重复训练过程:重复进行步骤5至8,直到达到设定的训练轮数或满足收敛条件。
训练过程中,网络通过不断调整参数来优化预测的准确性。
10.测试网络:使用测试集来评估训练好的网络的性能。
将测试集输入到网络中,观察网络的输出与实际输出的匹配程度,以评估网络的准确性。
11.调优和改进:根据测试结果,对网络进行调优和改进。
可以通过调整网络的结构、参数初始化、优化算法、损失函数等来提高网络的性能。
12.使用网络:当网络达到预期的性能后,可以将其应用于实际问题中。
输入新的数据,利用已训练好的网络进行预测、分类或其他任务。
第四章 如何组织神经网络使用人工神经网络时,将面临神经网络结构参数的选择及样本数据的预备等问题。
尽管对人工神经网络作了大量研究工作,但至今仍没有一个通用的理论公式来指导这些参数的选择,这里对一些基本方法加以介绍。
4.1 输入和输出层的设计问题4.1.1 网络信息容量与训练样本数的匹配在用ANN 解决实际问题时,训练样本的数量在众多要求中往往难于确定,特别它还与网络参数相关,网络参数指输入层、隐层及输出层结点数。
对于确定的样本数,网络参数太少则不足以表达样本中蕴涵的全部规律;而网络参数太多,则由于样本信息少而得不到充分的训练。
多层前馈网络的分类逼近能力与网络的信息容量相关,如网络信息容量用网络的权值和阈值总数n w 表示,则训练样本数P 与给定的训练误差ε之间满足下面关系:εωn P ≈ 上式表明,网络的信息容量与训练样本数之间存在着合理匹配关系:当实际问题不能提供较多的样本时,为了使训练误差ε不至于过大,则需设法减少n w ,换言之,网络的权值和阈值总数不能太多,这等价于输入层、隐层及输出层结点数不能太多。
就输入层、输出层结点数不能太多而言,当问题的输入输出变量较多时,必须剔除那些相对不太重要的参数而选择那些重要的参数作为研究对象。
4.1.2 训练样本数据设计训练样本的合理选择,对网络具有重要的影响。
样本数据的准备工作是网络设计与训练的基础。
1、训练样本数据的要求及数量样本数据的多少与网络的训练时间有明显关系,除了考虑样本的数量外,还要考虑以下问题:(1)训练样本数据必须包括要研究问题的全部模式。
神经网络是靠样本数据来训练的,样本越全面,网络性能就越好。
(2)训练样本数据之间尽可能不相关或相关性小,否则网络没有泛化能力。
(3)输入变量必须选择那些对输出影响大,且能够控制或提取训练数据的变量。
(4)在训练样本数据中,还应适当地考虑随机噪声的影响。
例如在加工线上,用神经网络识别不合格零件,在训练网络时,必须用各种不合格尺寸及不合格形状的数据来训练网络。
(5)应注意在靠近分类边界处训练样本数据的选择。
在靠近边界的地方,噪声的影响容易造成网络的错误判断,因此要选用较多的训练样本数据。
(6)训练样本数据量较大时可避免过度训练,或称过度拟合。
(7)训练样本要进行筛选并避免人为因素的干扰,同时应注意训练样本中各种可能模式的平衡,不能偏重于某种类型。
1另外,为使网络学习到训练样本中蕴涵的知识,一般要采用大量的训练样本,使网络不至于只学到少量样本中不重要的特征。
训练样本数据量最好是网络的权重总数乘以2,这里不包括训练之后用于检验训练效果的检验样本数据。
2、输入变量的类型在设计网络之前,必须整理好训练样本数据,这些数据一般是无法直接获得,常常需要用信号处理与特征提取技术从原始数据中提取能反映其特征的参数作为网络输入数据。
一般的数据分为以下两种变量:(1)语言变量这类变量没有具体的数据,其测量值之间没有“大于”或“小于”等量的关系,赋予这类唯一的数学关系是“属于”还是“不属于”,“相同”或是“不相同”某一类别。
语言变量有性别、职业、形状、颜色,成绩等。
判别是否为语言变量,根据能否给此变量的值赋予顺序关系,如果能赋予就不属于这类变量。
例如,红、黄、蓝、黑四种颜色类别,可分别用0001,0010,0100,1000四个二进制代码表示,换言之,神经网络的输入变量有四个分量[x1,x2,x3,x4],当[x1,x2,x3,x4]=[0,0,0,1]时,输出变量y表示红色,其余类推。
语言变量实质上就是无顺序的离散变量。
(2)数值变量这类变量的数值具有一定的顺序关系,变量也具有顺序关系。
例如,产品质量用四等级来描述:差、较差,中等、好,可以用1、2、3、4分别表示。
状态是从小(差)到大(好),对应的数值也要保持由小到大的渐进关系。
数值变量实质上就是有顺序的离散变量。
3、输出量的表示:输出量指的是网络的输出,代表系统要实现的功能目标,其选择相对容易些。
输出量对网络的精度和时间影响不大,可以是数值或语言变量。
对于数值变量可以直接用数值表示,由于网络实际输出只能是0~1或-1~1之间的数,所以需将输出值进行标准化处理或称归一化处理。
对于语言变量直接采用二进制数表示法。
4.2 网络数据的准备数据准备是否得当,直接影响训练时间和网络的性能,下面对有共性的数据准备问题进行讨论。
4.2.1 数据的标准化数据的标准化,或叫归一化,是指网络的输入、输出各数值变量值都要限制在[0、1]或[-1、1]之间的意思。
当输入变量幅度很大,一个数据变量为106级而另一个数据变量为10-6级,从网络上通过调整权值的大小,针对变量重要程度,那么网络应该学会使前者的权值很小,而使后者的权值很大,但实际上很难办到。
因为要跨越这样大的范围,这对学习算法的要求是太高了。
事实上,许多学习算法对权值范围都有限制,不能适应如此宽的数据变化范围。
为此,我们通过将输入数据归一化到能使网络所有权值调整都在一个不大的范围之内,以此来减轻网络训练时的难度。
让各分量都在0~1或-1~1之间变化,也就是说从网络训练的开始,就给各输入分量以同等的地位。
标准化的另一个原因是,比如一个物品的重量以公斤计而另一物品的重量以市斤计,很明显这2两件物品所用的数据不同。
然而经过标准化处理后,数据就与所用的计量单位无关了。
对于BP 网络的神经元采用Sigmoid 转移函数,标准化后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区。
在Sigmoid 转移函数的输出在0~1或-1~1之间,作为导师信号的输出数据如不标准化处理,势必数值大的输出分量绝对误差也大,数值小的输出分量绝对误差也小。
网络训练时,只针对输出总误差凋整权值,其结果是在总误差中占份额小的量绝对误差小,而输出分量相对误差较大。
碰到这样的问题,只要对输出进行标准化处理就可解决了。
在输入与输出向量的各分量量纲不同时,应对不同分量在其取值范围内分别进行标准化。
当各个物意义相同,且为同一个量纲时,应在整个数据范围内确定最大值和最小值进行统一的变换处理。
将输入输出数据变换为[0,1]区间的值,常用以下方式变换:max x min x minmax min x x x x x i i −−= 其中,代表输入或输出数据,代表数据变化的最小值,代表数据的最大值。
i x min x max x 若将输入输出数据变换[-1,1]区间的值,常用以下方式变换)(212min max minmax x x x x x x x x m i i m −−=+=式中代表数据变化范围的中间值。
按上述方法变换后,处于中间值的原始数据转化为零,而最大值与最小值分别转换1和-1。
当输入或输出向量中的某个分量取值过于密集时,对其进行以上处理可将数据点拉开距离。
m x 4.2.2 数据的分布变换若某变量的分布是非正常的,那么标准化是一种线性变换,但不能改变其分布规律,也会给网络带来很多困难。
我们希望输入网络的样本尽量满足下列条件:(1)参数变化范围的一致性。
网络各输入参数的变化幅度应大致相同,而一般情况是,当某变量的数值较大时,它的变化也大,这样是不好的。
(2)样本分布的正常性。
由分析可知,具有平坦分布规律的样本更容易学习。
因此,要没法使样本的分布尽量匀称。
若将某变量样本分布画成曲线,便得知该变量是否需要作变换。
图4-1所示的样本分布曲线,就表明需要对该变量进行压缩性变换,以确保样本分布的正常性。
最常用的压缩变换是对数变换。
这里应该指出,变换可能为零值的情况下,应先对变量进行偏移处理,然后再进行压缩。
其它常用的压缩变换有平方根、立方根方法等。
设某变量x在1~10000间变化,若取其自然对数,则变化范围就压缩到0~6.9之间,若取立方根,使压缩到1~10之间,变换的目的在于压缩变化的幅度。
图4-1需要变换的样本分布曲线 34.3 网络初始权值的选择网络具有改变权值的能力,可对网络系统进行调节。
即使网络初始状态相同,在不同的训练期,由于网络权值不同,也会给出不同的结果。
由于权值的初始值是随机设定的,因此训练后得到的具有同样功能网络的权值也不尽相同,使其寻找输入变量对输出的影响变得更加困难。
欲判断输入因素对输出的影响,不要误以为绝对值大的输入因素就重要,而接近于零的因素不重要;也不要认为大权值所连接的输入因素就重要,而小权值所连接的因素就不一定重要。
即使某输入通过一个较大的权值连至隐结点,也不能肯定说明变量就是重要因素,因为有可能该隐结点与输出神经单元相连的权值小,也可能某输入与多个隐神经元间的权值均较大,但那些隐神经元以兴奋(正权值)和抑值(负权值)相互抵消的方法连到了输出结点,致使该输入因素对输出影响不大。
为啥较小的权值所连的输入因素不一定重要呢?因为同一输入经若干较小权值分别连至不同的隐神经元,而这些隐神经元的输出虽然其值都不大,但有可能相加起来形成一个可观的输出。
从神经元的转移函数来看,它是与零点对称的,如果每一个结点的净输入均在零点的附近,则其输出在转移函数的中点,这个位置不仅远离转移函数的两个饱和区,而且是变化最灵敏的区域,必然会使网络学习速度较快。
从净输入X j j W =s 可以看出,为了使各结点的初始净输入在零点附近,可采用两种方法:一种办法是使初始权值足够小;另一种办法是使初始值为+1和-1的权值数相等。
在应用中对隐层权值可采用前者方法,而对输出层可采用后者方法。
因为从隐层权值调整公式来看,如果输出层权值太小,会使隐层初期的调整量变小。
按以上方法设置的初始权值,可保证每个神经元一开始都工作在其转移函数变化最大的位置。
初始权重确定以后,相互连接的权值如何改变,是随学习的规则变化的,目的是调整权值以减小输出误差。
4.4 隐层数及隐层结点设计虽然对隐层数及隐层结点数等网络参数设计无通用规则指导,但在设计多层前馈网络时,经过大量的实践一般归纳了以下几点结论:(1) 对任何实际问题首先只用一个隐层;(2) 使用很少的隐层结点数;(3) 不断增加隐层结点数,直到获得满意性能为止,否则再考虑用两个隐层。
下面对隐层数与隐层结点数分别叙述。
4.4.1 隐层数的确定在设计多层神经网络时,首先考虑要采用几个隐层。
经学者研究证明,任意一个连续函数都可用只有一个隐层的网络以任意精度进行逼近,但由于某些先决条件难以满足,致使在应用时造成困难。
图4-2 锯齿波函数学者们通过分析研究曾得出过这样的结论:两个隐层的网络可以获得要求输入与输出是任意连续的函数关系,下面以连续锯齿形函数作为例子来说明。
将该曲线分成30个等距分开的点来训练隐层数及单元数不同的网络,其结果如表4-1。
4从表4-1可看出:当只有一个隐层时,隐层单元数从3增加到4时,出现一个跳跃,网络性能有明显改善,即各种误差均大幅下降。