径向基分类器简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
径向基函数神经网络模型与学习算法1985年,Powell提出了多变量插值的径向基函数(Radical Basis Function, RBF)方法。1988年,Moody和Darken提出了一种神经网络结构,即RBF 神经网络,属于前向神经网络类型,它能够以任意精度逼近任意连续函数,特别适合于解决分类问题。
RBF网络的结构与多层前向网络类似,它是一种三层前向网络。输入层由信号源结点组成;第二层为隐含层,隐含层节点数目视所描述问题的需要而定,隐单元的变换函数是对中心点径向对称且衰减的非负非线性函数;第三层为输出层,它对输入模式的作用做出响应。从输入空间到隐含层空间的变换是非线性的,而从隐含层空间的输出层空间变换是线性的。
RBF网络是的基本思想是:1)用RBF作为隐单元的“基”构成隐含层空间,将输入矢量直接映射到隐含空间(即不需要通过权连接);2)当RBF的中心点确定后,映射关系也就确定;3)隐含层空间到输出空间的映射是线性的。隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和。此处的权即为网络可调参数。由此可见,从总体上看,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。这样网络的权就可由线性方程直接解出,从而大大加快学习速度并避免局部极小问题。1.1 RBF神经元结构
径向基神经网络的神经元结构如图1所示,径向基神经网络的激活函数采用径向基函数,通常定义为空间任一点到某一中心之间欧氏
距离的单调函数。由图1所示的径向基神经元结构可以看出,径向基神经网络的激活函数是以输入向量和权值向量之间的距离dist作为自变量的。径向基神经网络的激活函数的一般表达式为
2
-d i s t
R(d i s t)=e(1)
图1 径向基神经元模型
1.2 RBF神经网络结构
由输入层、隐含层和输出层构成的一般径向基神经网络结构如图2所示。在RBF网络中,输入层仅仅起到传输信号的作用,与前面所讲述的神经网络相比较,输入层和隐含层之间可以看做是连接权值为1的连接。输出层和隐含层所完成的任务是不同的,因而它们的学习策略也不相同。输出层是对线性权进行调整,采用的是线性优化策略。因而学习速度较快。而隐含层是对激活函数(格林函数或高斯函数,一般取高斯)的参数进行调整,采用的是非线性优化策略,因而学习速度较慢。
图2 径向基神经网络结构
值得注意的是,RBF网络与BP网络比较有以下几点区别:
1)RBF网络的输出是隐单元输出的线性加权和,学习速度加快2)BP网络使用sigmoid()函数作为激活函数
3)径向基神经网络使用径向基函数(一般使用高斯函数)作为激活函数
1.3 RBF网络的学习算法
RBF神经网络学习算法需要求解的参数有3个:径向基函数的中心、方差以及隐含层到输出层的权值。根据径向基函数中心选取方法的不同,RBF网络有多种学习方法,如随机选取中心法、自组织选取中心法、有监督选取中心法和正交最小二乘法等。下面将介绍自组织选取中心的RBF神经网络学习法。此方法由两个阶段组成:一是自组织学习阶段,此阶段为无导师学习过程,求解隐含层基函数的中心与方差;二是有导师学习阶段,此阶段求解隐含层到输出层之间的权值。
径向基神经网络中常用的径向基函数是高斯函数,因此径向基神经网络的激活函数可表示为
()⎪⎭⎫ ⎝⎛--=-2p 2p 21exp i i c x c x R σ (2) 式中i c -p x ————欧式范数。
c —————高斯函数的中心。
σ—————高斯函数的方差。
由图2的径向基神经网络的结构可得到网络的输出为
∑=⎪⎭⎫ ⎝⎛--=h
i i p ij j c x y 12221exp σω (3) 如图3所示,为不同均值与方差的高斯函数对比图
图 3
1.4 自组织选取中心算法步骤
1. 基于K-均值聚类方法求取基函数中心
1) 网络初始化:随机选取h 个训练样本作为聚类中心()h i c i ,,2,1 =
2) 将输入的训练样本集合按最近邻规则分组:按照p x 与中心为i c 之间的欧式距离将p x 分配到输入样本的各个聚类集合()P p p ,,2,1 =ϑ中。
3) 重新调整聚类中心:计算各个聚类集合p ϑ中训练样本的平均值,即新的聚类中心i c ,如果新的聚类中心不再发生变化,则所得到的i c 即为RBF 神经网络最终的基函数中心,否则返回2),进入下一轮的中心求解。
2. 求解方差i σ
该RBF 神经网络的基函数为高斯函数,因此方差i σ可由下式求解:
h c i 2max
=σ h i ..2,1 = (4)
式中 m a x c 为所选取中心之间的最大距离。
3. 计算隐含层和输出层之间的权值
隐含层至输出层之间神经元的连接权值可以用最小二乘法直接计算得到,计算公式如下:
h 22i=11y =exp(-
)=1,2,,2j ij p i w c j n σ-∑ x (5)
1.5 RBF 网络学习算法的MATLAB 实现
(1)newrb()函数:
功能:建立一个径向基神经网络
格式:net = newrb(P,T,GOAL,SPREAD,MN,DF)
说明:P为输入向量,T为目标向量,GOAL为圴方误差,默认为0,SPREAD为径向基函数的分布密度,默认为1,MN为神经元的最大数目,DF为两次显示之间所添加的神经元神经元数目。
(2)newrbe()函数:
功能: 建立一个严格的径向基神经网络,严格是指径向基神经网络的神经元的个数与输入值的个数相等。
格式: net = newrb(P,T,SPREAD)
说明: 各参数的含义见Newrb。
假设我们要建立一个径向基神经网络,对非线性函数y=sqrt(x)进行逼近,并作出网络的逼近误差曲线。实验具体操作如图4所示。
图4