您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 神经网络及BP与RBF比较
机器学习第四章神经网络报告一、神经网络概述1.简介人工神经网络是模仿脑细胞结构和功能、脑神经结构以及思维处理问题等脑功能的信息处系统,它从模仿人脑智能的角度出发,探寻新的信息表示、存储和处理方式,这种神经网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,它采用了与传统人工智能和信息处理技术完全不同的机理,克服了传统的基于逻辑符号的人工智能在处理直觉、非结有针对性化信息方面的缺陷,具有自适应、自组织和实时学习的特点,它通过预先提供的一批相互对应的输入和输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果。人工神经网络(ANN)学习对于训练数据中的错误健壮性很好,且已被成功地应用到很多领域,例如视觉场景分析、语音识别、机器人控制以及医学图像处理等。人工神经网络2.人工神经网络的特点及功能2.1人工神经网络具有以下几个突出的优点:(1)能充分逼近复杂的非线性关系。只有当神经元对所有输入信号的综合处理结果超过某一个限值后才能输出一个信号。(2)所有定量或定性的信息都等势分布贮存于网络内的各神经元,每个神经元及其连线只能表示一部分信息,因此当有节点断裂时也不影响总体运行效果,具有很强的鲁棒性和容错能力。(3)采用并行分布处理方法,使得快速进行大量运算成为可能。(4)可学习和自适应不知道或不确定的系统。2.2人工神经网络的特点和优越性,使其具有以下三个显著的功能:(1)具有自学习功能:这种功能在图像识别和处理以及未来预测方面表现得尤为明显。自学习功能在未来预测方面也意义重大,随着人工神经网络的发展,未来它将在更多的领域,比如经济预测、市场预测、效益预测等等,发挥更好的作用。(2)具有联想存储功能:人的大脑能够对一些相关的知识进行归类划分,进而具有联想的功能,当我们遇到一个人或者一件事情的时候,跟此人或者此事相关的一些信息会浮现在你的脑海,而人工神经网络则通过它的反馈网络,实现一些相关事物的联想。(3)具有高速寻找优化解的功能:人工神经网络利用反馈型网络,通过发挥计算机快速和高效的计算能力,结合针对解决某一问题的算法,往往能快速找到针对某些复杂问题的优化解此外,ANN还存在着很多问题:如训练时间长,需大量训练数据,不能保证最佳结果和完全可靠,容易陷入局部极小,不具备增量学习能力,联想存储网络容量小,所存储的信息相互干扰和退化,不适合高精度计算,没有很完善的学习方法,经验参数太多等。在实际应用中也存在着难以设计通用的神经网络芯片,大量的、动态的神经无互联实现困难等问题。因此,还需对ANN进行现深更进一步的研究。二RBF神经网络介绍径向基函数(RBF)神经网络是一种新颖有效的前馈式神经网络,它具有最佳逼近和全局最优的性能,同时训练方法快速易行,不存在局部最优问题,这些优点使得RBF网络在非线性时间序列预测中得到了广泛的应用。1985年,Powell提出了多变量插值的径向基函数(Radial-BasisFunction,RBF)方法。1988年,Broomhead和Lowe首先将RBF应用于神经网络设计,构成了径向基函数神经网络,对输入矢量进行一次变换,将低维的模式输入数据变换到高维空间内,通过对隐单无输出的加权求和得到输出,这就是RBF网络的基本思想。RBF神经网络的结构原理RBF函数网络从结构上看是一个3层前馈网络,包括一个输入层、一个输出层和一人隐含层。输入层节点的作用是将输入数据传递到隐含层节点。隐含层节点称为RBF节点,其激活函数为辐射状函数的神经元构成,下面是单输出的RBF网络的拓扑图:通常采用高斯型函数:𝑢𝑗=exp{−(𝑥−𝐶𝑗)𝑇(𝑥−𝐶𝑗)2𝛿𝑗2},(j=1,2,…,h)其中x=(𝑥1,𝑥2,…,𝑥𝑚)是RBF网络的输入向量,𝑢𝑗是第j个隐含层神经元的输出,且𝑢𝑗∈[0,1],𝐶𝑖是高斯函数的中心值,𝛿𝑗是高斯函数的方差,h是隐含层神经元数目。输出层节点的激活函数通常为简单的线性函数。RBF网络中所用的非线性函数的形式对网络性能的影响并不是至关重要的,关键因素是基函数中心的选取,中心选取不当构造出来的RBF网络的性能一般不能令人满意。例如,某些中心靠的太近,会产生近似线性相关,从而带来数值上的病变条件。通常使用的RBF有:高斯函、多二次函数、逆多二次函数、薄板样条函数等。普通RBF网络采用的是高斯函数。“基函数”采用的高斯基函数具备如下的优点:表示形式简单,即使对于多变量输入也不增加太多的复杂性;径向对称;光滑性好,任意阶导数均存在;由于该基函数表示简单且解析性好,因而便于进行理论分析。最近邻聚类学习算法按RBF中心选取方法的不同来分可将RBF网络的学习算法分为随机选取中心、自组织选取中心、有监督选取中心、正交最小二乘等方法。下面对最近邻聚类学习算法选取RBF基函数中心进行介绍;该算法是一种在线自适应聚类学习算法,不需要事先确定隐单元的个数,完成聚类所得到RBF网络是最优的,并且此算法可以在线学习。该算法具体过程如下:(1)选择一个适当的高斯函数宽度r,定义一个矢量Λ(𝑙)用于存放属于各类的输出矢量之各,定义一个计数器B(𝑙)用于统计属于各类的样本个数,其中𝑙为类别数。(2)从第一个数据对(𝑥1,𝑦1)开始,在𝑥1上建立一个聚类中心,令𝑐1=𝑥1,Λ(1)=𝑦1,B(1)=1。这样建立的RBF网络,只有一个隐单元,该隐单元的中心为𝑐1,该隐单元到输出层的权矢量为𝜔1=Λ(1)B(1)。(3)考虑第2个样本数据对(𝑥2,𝑦2),求出𝑥2到𝑐1这个聚类中心的距离|𝑥2−𝑐1|。如果|𝑥2−𝑐1|≤r,则𝑐1为𝑥2的最近邻聚类,且令Λ(1)=𝑦1+𝑦2,B(1)=2,𝜔1=Λ(1)B(1);如果|𝑥2−𝑐1|r,则将𝑥2作为一个新聚类中心,并令𝑐2=𝑥2,Λ(2)=𝑦2,B(2)=1。在上述建立的RBF网络中再添加一个隐单元,该隐单元到输出层的权矢量为𝜔1=Λ(2)B(2)。(4)假设我们考虑第k个样本数据对(𝑥𝑘,𝑦𝑘)时,𝑘=3,4,…,N存在M个聚类中心,其中心点分别为𝑐1,𝑐2,…,𝑐𝑀,在上述建立的RBF网络中已有M隐单元。再分别求出到这M个聚类中心的距离|𝑥𝑘−𝑐𝑖|,𝑖=1,2,…,𝑀,设|𝑥𝑘−𝑐𝑗|为这些距离中最小距离,即𝑐𝑗为𝑥𝑘的最近邻聚类,则:如果|𝑥𝑘−𝑐𝑖|r,则将𝑥𝑘作为一个新聚类中心,并令𝑐𝑀+1=𝑥𝑘,M=M+1,Λ(𝑀)=𝑦𝑘,B(M)=1。且保持Λ(𝑖),B(𝑖)的值不变,𝑖=1,2,…,M-1。在上述建立的RBF网络中再添加第M个隐单元。如查如果|𝑥𝑘−𝑐𝑖|≤r,作如下计算Λ(𝑗)=Λ(𝑗)+𝑦𝑘,B(𝑗)=B(𝑗)+1。当𝑖≠𝑗时,𝑖=1,2,…,M,且保持Λ(𝑖),B(𝑖)的值不变。隐单元到输出层的权矢量为𝜔𝑖=Λ(𝑖)B(𝑖),𝑖=1,2,…,M。(5)根据上述规则建立的RBF网络其输出应为f(𝑥𝑘)=∑𝜔𝑖exp(−(|𝑥𝑘−𝑐𝑖|)2𝑟2)𝑀𝑖=1∑exp(−(|𝑥𝑘−𝑐𝑖|)2𝑟2)𝑀𝑖=1半径r的大小决定了动态自适应RBF网络的复杂程度。r越小,所得到的聚类数目就越多,计算量也越大。但由于r是一个一维参数,通常可以通过实验和误差信息找到一个适当的r,这比同时确定隐单元的个数和一个合适的范数要方便的多。由于每一个输入-输出数据对都可能产生一个新的聚类。因此,这种动态自适应RBF网络,实际上同时在进行参数和结构两个过程的自适应调整。三BP神经网络介绍BP(BackPropagation)网络是1986年由Rumclhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐藏层(hidelayer)和输出层(outputlayer)。每一层由一定数量的神经元构成,如下图所示:当学习模式供给网络后,神经元激活值从输出层传播,在输出层各神经元输出对应的值,然后按照减少与期望输出与实际输出的准则,从输出层回到隐含层,再回到输入层修正各个网络系数。由于BP网络有处于中间的隐藏层,并有相应的学习规则可循,可以训练这种网络,使其具有对非线性模式的识别能力。常用于信息处理、模式识别、智能控制及系统建模领域。BP网络主要罝入模式顺传播,输出误差逆传播,循环记忆训练,学习结果判别四个部分组成。下面是BP算法的学习过程:BPTrain{初始化network的权和阈值。While终止条件不满足{forsamples中的每个训练样本X{//向前传播输入For隐藏或输出层每个单元j{𝐼𝑗=∑𝜔𝑖𝑗𝑂𝑗+𝜃𝑗𝑖;//相对前一层i,计算单元j的净输入𝑂𝑗=1(1+𝑒−𝐼𝑡);//计算单元j的输出}//后向传播误差for输出层每个单元j{𝐸𝑟𝑟𝑗=𝑂𝑗(1−𝑂𝑗)(𝑇𝑗−𝑂𝑗);//计算误差}for由最后一个到第一个隐藏层,对于隐藏层每个单元j{𝐸𝑟𝑟𝑗=𝑂𝑗(1−𝑂𝑗)∑𝐸𝑟𝑟𝑘𝑘𝜔𝑘𝑗;//k是j的下一层中的神经元}fornetwork中每个权𝜔𝑖𝑗{∆𝜔𝑖𝑗=(𝑙)𝐸𝑟𝑟𝑗𝑂𝑖;//权增值𝜔𝑖𝑗=𝜔𝑖𝑗+∆𝜔𝑖𝑗;//权更新}fornetwork中每个偏差𝜃𝑗{∆𝜃𝑗=(𝑙)𝐸𝑟𝑟𝑗;//偏差增值𝜃𝑗=𝜃𝑗+∆𝜃𝑗;//偏差更新}}}算法基本流程就是:1、初始化网络权值和神经元的阈值(最简单的办法就是随要初始化)2、前向传播:按照公式一层一层的计算隐藏层神经元和输出层神经元的输入和输出。3、反向传播:根据公式修正权值和阈值直到满足终止条件。四RBF神经网络与BP神经网络的比较RBF神经网络与BP神经网络都是非线性多层前向网络,它们都是通用逼近器。对于任一个BP神经网络,总存在一个RBF神经网络可以代替它,反之亦然。但是这两个网络也存在着很多不同点,这里从网络结构、训练算法、网络资源的利用及逼近性能等方面对RBF神经网络和BP神经网络进行比较研究。(1)从网络结构上看。BP神经网络实行权连接,而RBF神经网络输入层到隐层单元之间为直接连接,隐层到输出层实行权连接。BP神经网络隐层单元的转移函数一般选择非线性函数(如反正切函数),RBF神经网络隐层单元的转移函数是关于中心对称的RBF(如高斯函数)。BP神经网络是三层或三层以上的静态前馈神经网络,其隐层和隐层节点数不容易确定,没有普遍适用的规律可循,一旦网络的结构确定下来,在训练阶段网络结构将不再变化;RBF神经网络是三层静态前馈神经网络,隐层单元数也就是网络的结构可以根据研究的具体问题,在训练阶段自适应地调整,这样网络的适用性就更好了。(2)从训练算法上看。BP神经网络需要确定的参数是连接权值和阈值,主要的训练算法为BP算法和改进的BP算法。但BP算法存在许多不足之处,主要表现为易限于局部极小值,学习过程收敛速度慢,隐层和隐层节点数难以确定;更为重要的是,一个新的BP神经网络能否经过训练达到收敛还与训练样本的容量、选择的算法及事先确定的网络结构(输入节点、隐层节点、输出节点及输出节点的传递函数)、期望误差和训练步数有很大的关系。RBF神经网络的训练算法在前面已做了论述,目前,很多RBF神经网络的训练算法支持在线和离线训练,可以动态确定网络结构和隐层单元的数据中心和扩展常数,学习速度快,比BP算法表现出更好的性能。(3)从网络资源的利用上看。RBF神经
本文标题:神经网络及BP与RBF比较
链接地址:https://www.777doc.com/doc-2148072 .html