智能算法(Intelligent Algorithm)2主要内容主要内容q人工神经网络(Artificial Neural Network,ANN)q模拟退火(Simulated Annealing,SA)q遗传算法(Genetic Algorithm,GA)3人工神经网络参考文献人工神经网络参考文献q陈念念贻,钦佩,佩,陈瑞亮,瑞亮,陆文文聪,模式,模式识别方法在化学化工中的方法在化学化工中的应用,科用,科学出版社,北京,学出版社,北京,2000 q从爽,面向从爽,面向MATLAB工具箱的神工具箱的神经网网络理理论与与应用,中国科学技用,中国科学技术出版社,出版社,合肥,合肥,1998q焦李成,神焦李成,神经网网络计算,西安算,西安电子科技大学出版社,西安,子科技大学出版社,西安,1993q王永王永骥,涂健,神,涂健,神经元网元网络控制,机械工控制,机械工业出版社,北京,出版社,北京,1998qBishop, C. (1995). Neural Networks for Pattern Recognition. Oxford: University Press. qCarling, A. (1992). Introducing Neural Networks. Wilmslow, UK: Sigma Press. qFausett, L. (1994). Fundamentals of Neural Networks. New York: Prentice HallqHaykin, S. (1994). Neural Networks: A Comprehensive Foundation. New York: Macmillan Publishing. qPatterson, D. (1996). Artificial Neural Networks. Singapore: Prentice Hall. 4生物神经元及神经网络生物神经元及神经网络神经元对信息的接受和传递都是通过突触来进行的。
单个神经元可以从别神经元对信息的接受和传递都是通过突触来进行的单个神经元可以从别的细胞接受多个输入由于输入分布于不同的部位,对神经元影响的比例的细胞接受多个输入由于输入分布于不同的部位,对神经元影响的比例( (权重权重) )是不相同的另外,各突触输入抵达神经元的先后时间也不一祥是不相同的另外,各突触输入抵达神经元的先后时间也不一祥因此,一个神经元接受的信息,在时间和空间上常呈现出一种复杂多变的因此,一个神经元接受的信息,在时间和空间上常呈现出一种复杂多变的形式,需要神经元对它们进行积累和整合加工,从而决定其输出的时机和形式,需要神经元对它们进行积累和整合加工,从而决定其输出的时机和强度正是神经元这种整合作用,才使得亿万个神经元在神经系统中有条强度正是神经元这种整合作用,才使得亿万个神经元在神经系统中有条不紊、夜以继日地处理各种复杂的信息,执行着生物中枢神经系统的各种不紊、夜以继日地处理各种复杂的信息,执行着生物中枢神经系统的各种信息处理功能多个神经元以突触联接形成了一个神经网络信息处理功能多个神经元以突触联接形成了一个神经网络5一、人工神经网络一、人工神经网络q什么是人工神什么是人工神经网网络?它就是在它就是在对大大脑的生理研究的基的生理研究的基础上,上,用模用模拟生物神生物神经元的某些基本功能元件(即人工神元的某些基本功能元件(即人工神经元),元),按各种不同的按各种不同的联结方式方式组织起来的一个网起来的一个网络。
q其其目的目的在于模在于模拟大大脑的某些机理与机制,的某些机理与机制,实现某个方面的功某个方面的功能,可以用在模仿能,可以用在模仿视觉、模式、模式识别、函数逼近、模式、函数逼近、模式识别、分分类和数据和数据压缩等等领域,是近年来人工智能域,是近年来人工智能计算的一个重要算的一个重要学科分支学科分支q人工神人工神经网网络有多种形式,其中反向有多种形式,其中反向传播人工神播人工神经网网络(Back-Propagation Artificial Network, 简称称BP网网络)是一种广泛使用是一种广泛使用的神的神经网网络模型,它充分体模型,它充分体现了人工神了人工神经网网络的特点BP网网络是一种是一种对非非线性可微分函数性可微分函数进行行权值训练的多的多层网网络,在,在人工神人工神经网网络的的实际应用中,用中,8090的人工神的人工神经网网络模模型是采用型是采用BP网网络或它的或它的变化形式 61.1 BP神经网络神经网络q神神经元的元的结构构神神经元是人工神元是人工神经网网络的基本的基本处理理单元,它一般元,它一般为多多输入入/单输出的非出的非线性元件神性元件神经元元输出除受出除受输入信号的影响外,入信号的影响外,还受神受神经元内部其它元内部其它因素的制因素的制约,因此在人工神,因此在人工神经元的建模中,常常加一元的建模中,常常加一额外外输入信号,入信号,称称为偏差偏差(bais),并取,并取值为1。
输入分量输入分量权值分量权值分量 神经元的输出神经元的输出 偏差权值偏差权值 激活函数激活函数 输入分量通过与它相乘的权值分量输入分量通过与它相乘的权值分量相连,求和后与偏差权值共同构成相连,求和后与偏差权值共同构成激活函数的输入激活函数的输入 7偏差偏差神经元的输出为:神经元的输出为: 偏差偏差b被被简单简单地加在地加在上,作上,作为为激活函数的一个激活函数的一个输输入分量偏差的重要作用,它使得激活函数的偏差的重要作用,它使得激活函数的图图形可以左右移形可以左右移动动,这样这样可增加网可增加网络络解决解决问题问题的能力 8激活函数激活函数q激活函数具有模激活函数具有模拟生物神生物神经元的非元的非线性特性Sigmoid函数:函数:双曲正切双曲正切tanh函数:函数:SigmoidSigmoid函数和双曲正切函数和双曲正切tanhtanh函数都是单调上升函数,函数都是单调上升函数,其极值分别为其极值分别为0 0、1 1和和1 1、1 1,且都是可微的且都是可微的 9激活函数的一阶导数激活函数的一阶导数q在在BP神神经网网络训练算法中,要用到激活函数的一算法中,要用到激活函数的一阶导数。
数Sigmoid函数的函数的导数:数:双曲正切双曲正切tanh函数的函数的导数:数:q由此可以看出,由于激活函数的特点,用神由此可以看出,由于激活函数的特点,用神经网网络计算算时,需,需对输入和入和输出的出的值进行行调整激活函数是采用激活函数是采用Sigmoid函数函数时,输入和入和输出的出的值应在在0,1之之间;激活函数是双曲正切激活函数是双曲正切tanh函数函数时,输入和入和输出的出的值范范围则在在1,1之之间101.2 BP网络的模型结构网络的模型结构 qBP网网络是一种在是一种在输入入层和和输出出层之之间具有一具有一层或多或多层隐层的的网网络模型,而其典型的模型,而其典型的结构构为有一有一隐层、包含、包含输入入层和和输出出层的三的三层网网络模型典型模型典型BP网网络的的结构示意构示意图如下:如下:网络的输入模式网络的输入模式向量为向量为P,有,有r个个输入神经元,对输入神经元,对应输入模式向量应输入模式向量的每个元素的每个元素 隐层内有隐层内有s1个神个神经元,对应隐层经元,对应隐层输出是输出是a1 网络的输出为网络的输出为a2,有,有s2个神经元,个神经元,而目标输出为而目标输出为T。
三层三层BPBP神经网络不同层神经元之间实现权重连接,神经网络不同层神经元之间实现权重连接,而每层内各个神经元之间不连接而每层内各个神经元之间不连接11BP网络的四个计算过程网络的四个计算过程q输入模式由入模式由输入入层经隐含含层向向输出出层的的“模式正向模式正向传播播”过程;(神程;(神经元的激活元的激活值从从输入入层经隐含含层向向输出出层传播,在播,在输出出层各神各神经元元获得网得网络响响应q网网络实际输出与希望出与希望输出的出的误差信号由差信号由输出出层经隐含含层向向输入入层逐逐层修正修正连接接权和和阂值的的“误差反向差反向传播播”过程;程;q由由“模式正向模式正向传播播”过程与程与“误差反向差反向传播播”过程的反复交替程的反复交替进行的网行的网络学学习训练过程;程;q网网络全局全局误差差趋向极小的学向极小的学习收收敛过程网(网络对输入模式响入模式响应的正确率也不断增的正确率也不断增加 ) 12BP网络的计算过程的简单网络的计算过程的简单描述(描述(1) q模式正向模式正向传播播过程程隐含含层中第中第j个神个神经元的元的输出出为:输出出层中第中第k个神个神经元的元的输出出为:q误差反向差反向传播播过程程定义误差函数为:定义误差函数为: 神经网络学习的过程就是通过调整权值,使误差神经网络学习的过程就是通过调整权值,使误差E E最小,最小,此时可利用最速下降法求权值及误差的反向传播。
此时可利用最速下降法求权值及误差的反向传播 13BP网络的计算过程的简单网络的计算过程的简单描述(描述(2)隐含含层中第中第j个神个神经元的元的输出的出的权值变化化为:对第第i个个输入到入到隐含含层中第中第j个神个神经元元输出的出的权值变化化为:修正后的新权重调整为:修正后的新权重调整为: 称为学称为学习系数,习系数,值在值在0,10,1之之间 14加快加快BP网络训练速度的方网络训练速度的方法法 qBP网网络得到了广泛的得到了广泛的应用,但也存在自身的不足与限制,主用,但也存在自身的不足与限制,主要表要表现在网在网络训练需需较长时间和网和网络有可能达到局部最小有可能达到局部最小据此,据此,BP网网络有各种改有各种改进方法,以加快方法,以加快训练速度,避免陷入速度,避免陷入局部极小局部极小q主要的改主要的改进方法有:方法有: 增加增加动量量项,以平滑,以平滑权的的变化,一种常用形式是:化,一种常用形式是: 为动量因子,值在为动量因子,值在0,10,1之间,之间,n n为迭代次数为迭代次数 采用二采用二阶学学习算法前面的基于函数梯度的算法属于一算法前面的基于函数梯度的算法属于一阶算法,缺点就是在极算法,缺点就是在极值点附近收点附近收敛速度慢。
采用二速度慢采用二阶算法,算法,如牛如牛顿法、共法、共轭梯度法等,将有梯度法等,将有较快的收快的收敛速度 模模拟退火法 151.4 BP神经网络计算(神经网络计算(1) q网网络的的层数:数:在运用在运用BP神神经网网络时,最多采用的是具有一最多采用的是具有一层或两或两层隐层的网的网络 具有偏差和至少一个具有偏差和至少一个S型型隐层的网的网络,可以近似任何函数,可以近似任何函数,这已成已成为设计BP神神经网网络的原的原则 网网络计算精度的提高,可以通算精度的提高,可以通过采用一个采用一个隐层,而,而增加增加隐层神神经元数元数的方法来的方法来获得,得,这也就是通常用一也就是通常用一隐层、包含、包含输入入层和和输出出层的三的三层BP网网络模型的原因模型的原因q神神经元数:元数:输入和入和输出的神出的神经元数可以根据需要求解的元数可以根据需要求解的问题和数据所表示的方式和数据所表示的方式来确定问题确定后,确定后,输入入层与与输出出层的神的神经元数也就随之定了元数也就随之定了隐层神神经元数的元数的选择有有较广的范广的范围:当当隐层神神经元数元数较少少时,误差下降到一定程度后会差下降到一定程度后会变化很小;化很小;当当隐层神神经元数元数过多多时,不,不仅网网络训练时间长,还会出会出现过拟合合问题,降,降低神低神经网网络的的预测功能。
功能通常通常隐层神神经元数的元数的选择原原则是:在能解决是:在能解决问题的前提下,再的前提下,再加上加上1到到2个神个神经元元以加快以加快误差的下降速度即可差的下降速度即可16BP神经网。