径向基神经网络及其算法Mezerchen2018.5.9RBF简介1989年,Moody和Darken提出了一种由两个阶段组成的混合学习过程的思路。①无监督的自组织学习阶段②有监督学习阶段其任务是用自组织聚类方法为隐层节点的径向基函数确定合适的数据中心,并根据各中心之间的距离确定隐节点的扩展常数。一般采用Duda和Hart1973年提出的k-means聚类算法。其任务是用有监督学习算法训练输出层权值,一般采用梯度法进行训练。RBF网络的工作原理具有单隐含层的三层前向网络结构。RBF的数学模型:径向基函数:𝜑(∥𝑋−𝜇∥),其中𝜇=1,2,…,P,基函数𝜑为非线性函数,𝜇为𝜑的中心,X为样本输入。RBF网络特点只有一个隐含层,且隐层神经元与输出层神经元的模型不同。隐层节点激活函数为径向基函数,输出层节点激活函数为线性函数。隐层节点激活函数的净输入是输入向量与节点中心的距离(范数)而非向量内积,且节点中心不可调。隐层节点参数确定后,输出权值可通过解线性方程组得到。隐层节点的非线性变换把线性不可分问题转化为线性可分问题。局部逼近网络(MLP是全局逼近网络),这意味着逼近一个输入输出映射时,在相同逼近精度要求下,RBF所需的时间要比MLP少。具有唯一最佳逼近的特性,无局部极小。合适的隐层节点数、节点中心和宽度不易确定。RBF神经网络中心选取①从样本输入中选取中心一般来说,样本密集的地方中心点可以适当多些,样本稀疏的地方中心点可以少些;若数据本身是均匀分布的,中心点也可以均匀分布。总之,选出的数据中心应具有代表性。径向基函数的扩展常数是根据数据中心的散布而确定的,为了避免每个径向基函数太尖或太平,一种选择方法是将所有径向基函数的扩展常数设为Id2max②自组织选取中心法常采用各种动态聚类算法对数据中心进行自组织选择,在学习过程中需对数据中心的位置进行动态调节。常用的方法是K-means聚类,其优点是能根据各聚类中心之间的距离确定各隐节点的扩展常数。由于RBF网的隐节点数对其泛化能力有极大的影响,所以寻找能确定聚类数目的合理方法,是聚类方法设计RBF网时需首先解决的问题。除聚类算法外,还有梯度训练方法、资源分配网络(RAN)等③随机选取中心法条件:典型的训练样本,隐含单元的中心是随机的在输入样本中选取,且中心固定。因此此算法学习的参数只有两个:方差和权值④正交最小二乘法选取RBF神经网络的性能严重依赖于所选择的中心数目和位置是否合适实际中,人们一般是随机地从输入模式中选择中心,或用某种聚类算法(如:K均值算法)选择出确定数目的中心,这样通常导致所设计的网络性能不是很差就是规模过大,甚至造成数值病态问题.Chen,Cowan,Grant(1992)提出的OLS(正交最小二乘)前向选择算法将RBF中心的选择归结为线性回归中子模型的选择问题。这种算法能自动地避免网络规模过大和随机选择中心带来的数值病态问题,是一种有效的自动选择中心的算法。222exprr22exp11rr2/1221rr1.Gaussian(高斯)函数:2.Reflectedsigmoidal(反常S型)函数:3.逆Multiquadric函数(逆畸变校正)函数:σ称为基函数的扩展常数或宽度,σ越小,径向基函数的宽度越小,基函数就越有选择性。径向基神经网络传递函数RBF神经网络两种模型正则化网络RN广义网络GN通用逼近器模式分类基本思想:通过加入一个含有解的先验知识的约束来控制映射函数的光滑性,若输入输出映射函数是光滑的,则重建问题的解是连续的,意味着相似的输入对应着相似的输出。基本思想:用径向基函数作为隐单元的“基”,构成隐含层空间。隐含层对输入向量进行变换,将低维空间的模式变换到高维空间内,使得在低维空间内的线性不可分问题在高维空间内线性可分。两种模型的比较隐节点数=输入样本数隐节点数<输入样本数所有输入样本设为径向基函数的中心径向基函数的中心由训练算法确定径向基函数取统一的扩展常数径向基函数的扩展常数不再统一由训练算法确定没有设置阈值输出函数的线性中包含阈值参数,用于补偿基函数在样本集上的平均值,比较目标值与平均值的差别。正规化网络广义网络全局逼近和局部逼近全局逼近网络局部逼近网络当神经网络的一个或多个可调参数(权值和阈值)对任何一个输出都有影响,则称该神经网络为全局逼近网络。对网络输入空间的某个局部区域只有少数几个连接权影响网络的输出,则称该网络为局部逼近网络。学习速度很慢,无法满足实时性要求的应用学习速度快,有可能满足有实时性要求的应用函数逼近问题(内插值)一般函数都可表示成一组基函数的线性组合,RBF网络相当于用隐层单元的输出构成一组基函数,然后用输出层来进行线性组合,以完成逼近功能。①给定数据:P=𝒑𝟏,𝒑𝟐,…,𝒑𝑸,𝑻=𝒕𝟏,𝒕𝟐,…,𝒕𝑸②寻找函数,使其满足:𝒕𝒊=𝑭𝒑𝒊,𝟏≤𝒊≤𝑸1(CPG2(CPG)(QCPG1p2pQpPF模式分类低维空间:线性不可分高维空间:线性可分空间转换关于对单层感知器的讨论可知,若N维输入样本空间的样本模式是线性可分的,总存在一个用线性方程描述的超平面,使两类线性可分样本截然分开。若两类样本是非线性可分的,则不存在一个这样的分类超平面。但根据Cover定理,非线性可分问题可能通过非线性变换获得解决。Cover定理可以定性地表述为:将复杂的模式分类问题投射到高维空间比投射到低维空间更可能是线性可分的RBF网络训练RBF学习的三个参数:①基函数的中心𝑐𝑗𝑖②宽度(方差)𝑑𝑗𝑖③隐含层与输出层间的权值𝑤𝑘𝑗训练过程分为两步:第一步是无监督学习,训练确定输入层与隐含层间的权值𝑐𝑗𝑖、𝑑𝑗𝑖;第二步是有监督学习,训练确定隐含层与输出层间的权值𝑤𝑘𝑗训练前提供:输入向量X、对应的目标输出向量Y和径向基函数的宽度向量𝐷𝑗。在第𝒍次输入样品(𝒍=1,2,...,N)进行训练时,各个参数的表达及计算方法如下:(1)确定参数①确定输入向量X:X=[𝑥1,𝑥2,…,𝑥𝑛]𝑇,n是输入层节点数;②确定输出向量Y和期望输出向量O:Y=[𝑦1,𝑦2,…,𝑦𝑞]𝑇,O=[𝑜1,𝑜2,…,𝑜𝑞]𝑇,q是输出层节点数;③初始化隐含层至输出层的连接权值:𝑤𝑘𝑗=min𝑘+𝑗max𝑘−min𝑘𝑞+1其中mink是训练集中第k个输出节点中所有期望输出的最小值;maxk是训练集中第k个输出节点中所有期望输出的最大值;④初始化隐藏层各神经元的中心参数𝐶𝑗=[𝑐𝑗1,𝑐𝑗2,…,𝑐𝑗𝑛]𝑇:初始值𝑐𝑗𝑖=min𝑖+max𝑖−min𝑖2𝑝+(𝑗−1)max𝑖−min𝑖𝑝,其中p为隐含层节点总数,j=1,2,,..p;⑤初始化隐藏层各神经元的中心参数𝐷𝑗=[𝑑𝑗1,𝑑𝑗2,…,𝑑𝑗𝑛]𝑇:初始值𝑑𝑗𝑖=𝑑𝑓1𝑁(𝑥𝑖𝑘−𝑐𝑗𝑖)𝑁𝑘=1,其中𝑑𝑓为宽度调节系数,取值小于1,作用是使每个隐含层神经元更容易实现对局部信息的感受能力,有利于提高RBF神经网络的局部响应能力。(2)计算隐含层第j个神经元的输出值𝑧𝑗𝑧𝑗=exp(−∥𝑋−𝐶𝑗𝐷𝑗∥2),其中𝐶𝑗是隐含层第j个节点的中心向量,由隐含层第j个节点对应于输入层所有节点的中心分量构成;𝐷𝑗为隐含层第j个节点的宽度向量,与𝐶𝑗相对应,𝐷𝑗越大,隐含层对输入向量的影响范围就越大,且神经元间的平滑度也比较好;∥⋅∥为欧式范数。(3)计算输出层神经元的输出𝒀=[𝒚𝟏,𝒚𝟐,…,𝒚𝒒]𝑻𝒚𝒌=𝒘𝒌𝒋,𝒛𝒋𝒑𝒋=𝟏,k=1,2,…,q其中𝒘𝒌𝒋为输出层第k个神经节点与隐含层第j个神经节点间的调节权重。(4)权重参数的迭代计算RBF神经网络权重参数的训练方法在这里取为梯度下降法。引入RBF神经网络评价函数E:E=𝟏𝟐(𝒚𝒊𝒌−𝑶𝒊𝒌)𝟐𝑲𝒌=𝟏训练误差𝒆𝒌=𝒚𝒊𝒌−𝑶𝒊𝒌=𝒚𝒊𝒌−𝒘𝒌𝒋𝑵𝒋=𝟏(∥𝑿−𝑪𝒋𝑫j∥)注:G=∥𝑿−𝑪𝒋𝑫j∥=(𝒙𝒊−𝒄𝒋𝒊𝒅𝒋𝒊)𝟐𝒏𝒊=𝟏三个学习参数:权值、中心和宽度参数均通过学习来自适应调节到最佳值,迭代计算如下:①输出层权值𝒘𝒌𝒋𝒘𝒌𝒋𝒕+𝟏=𝒘𝒌𝒋𝒕−𝜼𝝏𝑬𝝏𝒘𝒌𝒋𝒕+𝜶[𝒘𝒌𝒋𝒕−𝒘𝒌𝒋𝒕−𝟏],其中𝝏𝑬𝝏𝒘𝒌𝒋𝒕=𝝏𝑬𝝏𝒆𝒌𝒕·𝝏𝒆𝒌𝒕𝝏𝒘𝒌𝒋𝒕=−𝒆𝒌𝒕(∥𝑿−𝑪𝒋𝑫j∥)②隐含层RBF中心𝒄𝒋𝒊𝒄𝒋𝒊𝒕+𝟏=𝒄𝒋𝒊𝒕−𝜼𝝏𝑬𝝏𝒄𝒋𝒊𝒕+𝜶[𝒄𝒋𝒊𝒕−𝒄𝒋𝒊𝒕−𝟏],其中𝝏𝑬𝝏𝒄𝒋𝒊𝒕=𝝏𝑬𝝏𝒆𝒌𝒕·𝝏𝒆𝒌𝒕𝝏𝒄𝒋𝒊𝒕=𝒆𝒌𝒕∙𝒘𝒌𝒋𝒅𝒋𝒊𝟐∙𝑮∙(𝒙𝒊−𝒄𝒋𝒊)③RBF宽度𝒅𝒋𝒊𝒅𝒋𝒊𝒕+𝟏=𝒅𝒋𝒊𝒕−𝜼𝝏𝑬𝝏𝒅𝒋𝒊𝒕+𝜶[𝒅𝒋𝒊𝒕−𝒅𝒋𝒊𝒕−𝟏],其中𝝏𝑬𝝏𝒅𝒋𝒊𝒕=𝝏𝑬𝝏𝒆𝒌𝒕·𝝏𝒆𝒌𝒕𝝏𝒅𝒋𝒊𝒕=𝒆𝒌𝒕∙𝒘𝒌𝒋𝒅𝒋𝒊𝟑∙𝑮∙(𝒙𝒊−𝒄𝒋𝒊)𝟐注:G=∥𝑿−𝑪𝒋𝑫j∥=(𝒙𝒊−𝒄𝒋𝒊𝒅𝒋𝒊)𝟐𝒏𝒊=𝟏①确定六个参数X、Y、O、𝒘𝒌𝒋、𝒄𝒋𝒊、𝒅𝒋𝒊,对神经网络参数进行初始化,并给定η和α的取值以及迭代终止精度ε的值。②按下式计算网络输出的均方根误差RMS的值,若RMS≤ε,则训练结束,否则转到第③步RMS=(𝑶𝒍𝒌−𝒚𝒍𝒌)𝟐𝒒𝒌=𝟏𝑵𝒊=𝟏𝒒𝑵③按照上述步骤(4)权重迭代计算,对调节权重,中心和宽度参数进行迭代计算。④返回步骤②RBF学习算法总结