人工神经网络_第1页
人工神经网络_第2页
人工神经网络_第3页
人工神经网络_第4页
人工神经网络_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工神经网络(ANN)是模拟人脑结构和功能的一种信息处理系统.具有自适应能力,而不是基于多元统计分析,所以,有人称之为自适应模式识别,也有人不把它归入模式识别的范畴.ANN已被广泛应用于许多领域,在化学中也成为QSAR研究的重要方法.7.9.2人工神经网络(ANN)建模

神经网络本质上是一种处理多变量和多响应的方法,对非线性问题尤其擅长,而这类问题在化学中相当多.所以,ANN在化学中得到了广泛的应用.例如:多组份分析数据的聚类,QSAR,亲电芳香族取代反应研究,涂料制造的优化,红外、核磁等谱图与结构的相关,分子静电势的非线性投影、由氨基酸序列预测蛋白质二级结构,故障检测与过程控制等.

下面简单介绍ANN基本原理.

人工神经网络模拟人脑结构和功能而工作.目前人们对大脑的工作机理虽了解甚少,但对其结构已有一定了解:大脑由大量神经元构成,每个神经元是一个小的处理单元,其中一个称为树突的部分接受冲击信号,通过树突支路传到细胞体,另一个称为轴突的部分将冲击信号从细胞体传出去.神经元之间通过突触连接,形成大脑内部的生理神经元网络.

大脑的强大功能主要取决于神经元的相互连接方式而不是单个神经元的作用.人工神经网络也是如此,因此,人工神经网络强调的是网络而不是神经元.人

人工神经元也称处理单元(PE),具有如下功能:1.处理各个输入信号以确定其强度——加权;2.确定所有输入信号的组合效果(净输入)——求和;3.将净输入非线性变换为输出信号——转换函数(F).

人工神经元的结构与功能图示如下:输入信号表示为输入行矢量X

X=(X0,X1,……,XN

)连接到神经元j的权表示为加权矢量Wj

Wj=(W0j,W1j,……,WNj

Wij的下标i为输入点编号,j为神经元编号.偏置项θj用Xo=-1表示,其连接权W0j=θj(偏置项的作用是提高稳定性).输入的加权和sj可表示为输入行矢量与加权矢量的点积:

sj=X.Wj净输入sj如果直接作为输出值Yj,往往是不合理的,例如非常大或者是负值.所以需要通过一个转换函数F,将

sj变换为输出值

Yj转换函数F将净输入变换到一个指定的有限范围内输出.

F有许多类型,

其中最重要的是Sigmoid压缩函数:

F(s)=1/(1+e-s)

神经元如何连接成网络呢?

最简单的做法是让一组几个神经元(神经元也称为结点)形成一层.其中的加权构成加权矩阵W.

层与层可以进一步连接,形成多层网络.这种连接可能有各种不同的方式,下面只涉及前馈全连接多层网络,这指的是:每一个神经元只连接到下一层的所有神经元,而没有部分连接、没有反馈连接、没有层内连接、也没有隔层前馈连接.(注意:“前馈”意味着信号流动方向是从输入端到输出端,“反馈”则意味着与此相反的方向).人

构下图是一个(6×8×4×1)神经网络(不包括偏置项):

对于QSAR研究,每一层的结点数应当如何确定呢?(1)输入层结点数等于结构参数的数目,与样本数无关;(2)输出层结点数可以有不同的选择。例如,若想把预测集样本分为p类,应当用一个输出结点、将输出值划分为p段来确定每个样本的类别呢?还是应当用p个输出结点,让每个结点产生一个二进制型输出(1或0)来确定每个样本的类别呢?一般说来,后一种选择产生的误差小.(3)隐蔽层结点数的确定是一个理论上尚未解决的复杂问题,通常用尝试法来确定.尽管有一些经验性的估计方法.训

ANN最有趣的特征是可以学习.要让它具有某种功能,必须先对它进行训练.训练与学习是分别从人和网络两个不同的角度来讲的.所谓学习,实质上就是权重矩阵随外部激励作自适应变化.

训练就是相继加入输入矢量,并按预定规则来调节网络权值.在训练过程中,网络的各权值都收敛到一确定值,以便对于每个输入矢量都会产生一个要求的输出矢量.调节权值所遵循的预定规则称为训练算法.

训练算法分为监督与无监督两类.

监督训练不但需要输入矢量,还要求与之对应的目标矢量,组成一个训练对;训练一个网络需要很多训练对,构成一个训练组.

当加上一个输入矢量时,先计算网络的输出,与目标矢量比较,根据比较的误差,按规定算法改变权值.加入每个训练对以后,都要这样调节权值,直到训练组中所有训练对的误差都达到可接受的最低值为止.

著名的误差反向传播(BP)就是一种应用最广泛的监督训练算法.在神经网络应用于化学的文献中,BP约占90%.所以,下面只介绍BP的基本原理.

BP的学习包含四个过程:

1.输入信号由输入层出发,经过各隐蔽层,正向传播到输出层的模式顺传播过程;2.输出矢量与目标矢量相比较,误差信号由输出层经过隐蔽层向输入层反向传播,逐层修正连接权和阈值,即误差逆传播过程(BP这一名称即由此而来);3.以上两个过程反复交替进行的网络学习训练过程;4.网络全局误差趋向极小的学习收敛过程.BP基本原理

在神经网络训练过程中,“过拟合”是一个常见问题,即随着迭代次数的增加,尽管训练集的均方根偏差可能还在下降,但测试集的均方根偏差却开始上升,这是网络模型为了拟合个别样本所致.

为避免过拟合,有专家建议用测试集来监控训练过程,一旦测试集均方根偏差开始上升,无论训练集均方根偏差下降与否,均应停止训练.测试集的均方根偏差曲线可能有若干个极小值,取其最小值对应的叠代次数作为最优训练次数,相应的权重矩阵用于分类.训练次数的确定

ANN程序Qwiknet简介

(1)用Notepad建立训练集(输入)文件.trn例:*Comment1*……*Commentn[INPUTS]2(意指下列每个样本行中,前两列用作输入数据即特征参数)[OUTPUTS]1(意指下列每个样本行中,其余一列用作输出数据即目标值)0.000000.000000.10000(代表0)0.000001.000000.90000(代表1)1.000000.000000.90000(代表1)1.000001.000000.10000(代表0)1.运行程序前,准备训练集输入文件.trn和测试集输入文件.tst

(2)用Notepad建立测试集(输入)文件.tst例:[INPUTS]2(意指下列每个样本行中,前两列用作输入数据即特征参数)[OUTPUTS]1(不用测试集监控训练过程则不用此行,下列各行也不要最后一列目标值)0.000000.000000.10000(代表0)0.000001.000000.90000(代表1)1.000000.000000.90000(代表1)1.000001.000000.10000(代表0)

即使用测试集来监控训练集的训练过程,.trn与.tst文件也必须分别建立而不能合二为一.只不过,若用测试集来监控训练集的训练过程,tst文件中须含最后一列目标值,且.trn与.tst文件要同时加载,过程交替进行(在训练过程显示两条误差曲线);

若监控与测试分为先后两个独立过程,则tst文件中不含最后一列目标值,当然也没有[OUTPUTS]行;trn与tst文件不同时加载,只在单独预测时将预测值写进输出文件.out,而看不到运算过程.

(1)点击按钮TrainingData,找到训练集输入文件.trn,点击按钮“打开”。输入文件名出现在按钮TrainingData之后:(2)样本数出现在Patterns之后:2.加载训练集输入文件.trn

(1)显示隐含层数目,这允许修改:(2)显示隐含层节点数目,这允许修改:(3)显示输入层节点数目:3.设置网络结构:隐含层数目及其节点数目(4)显示转换函数F的类型。Logstic即Sigmoid压缩函数。这可修改:(1)例如,选用QuickProp.这允许修改:4.设置训练方法(2)确认Cross-ValidateTraining后方格中未打勾,这将强迫程序在训练过程中使用全部数据:(3)设定此值,例如0.05,这表示你希望所有样本的误差均小于此值时才停止训练:(1)点击,它将在训练开始后显示网络结构:(3)点击,开始训练:(2)点击,它将在训练开始后显示RMS:(4)若训练陷入僵局,误差不降甚至反增,可点击按钮Randomize中断训练,然后点击按钮Train重新开始训练:5.训练网络并监督收敛

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论