·66· 智能系统学报 第2卷 时,隐含层节点才会产生较大的输出.隐含层中的径 T次学习后,计算e,D. 向基函数一般取为高斯函数: 2)如果e<£,则说明网络己经收敛,为了节省运 Ri(x)expI-llx c P/201, 行时间,应该减少隐含层的节点数,以每次减少一个 i=1,2,“,m 1) 节点为目标,那么此时隐含层的节点数为m=m- 式中:x为输入向量,c隐含层节点数据中心,a作 1 用函数所围绕中心点的宽度,m为隐含层节点的数 3)如果在第1次训练后e≥e,那么需要进行第 目,即数据中心数日,‖x-c‖为向量范数,表示欧 2次学习,再经过T次学习之后计算e,D2 式距离 4)比较e和e的大小,如果e<e,网络收敛,则 Rx)在x=c时有唯一的最大值,随着范数的 隐含层可以减去一个节点,m=m-1 增大,输出迅速地衰减到零.因此对于给定的输入数 5)如果e,并且D2>D,则说明网络结构很 据,只有在靠近中心的一小部分才被激活. 好,此时结构不变,即m=m. 输出层是对隐含层输出数据的线性映射,即 6)如果D2<D,并且D2<D,则说明网络性 =】 4R,(Wk=1,2,p 2) 能比较差,不能达到期望的要求,此时需要增加隐含 层的节点数,即m=m+1. 式中:p为输出节点数,k为输出层的权值 7)如果D,<D2<D1,则说明网络性能比较差 当隐含层节点数目比较少的时候虽然能提高系 需要增加节点,即m=m+1. 统速度,但是不能达到预期效果,当隐含层的节点数 8)当增加节点的时候,与之相连的输出权值取 目较多时,虽然能逼近目标函数,但训练时间较长, 很小或者为零,当删去节点的时候,删去输出均方值 增加了系统的冗余度;因此如何确定隐含层节点数 最小的节点 和数据中心成为RBF神经网络设计的重点与难点, 本文就此问题进行了深入研究 2.2数据中心和输出权值的优化调整 2.2.1数据中心的优化 2动态RBF神经网络的设计 由于在动态设计隐含层节点数时所用的数据中 整个设计过程分为2步进行:首先是动态设计 心来自于样本输入,并且在网络训练中该数据保持 RBF的隐含层节点数目,可以采用随机算法选取 固定不变,因此该数据中心可能离最优数据中心有 BF中心】,其次是采用优化方法进行数据中心和 一定的偏差,为了校正这一偏差,需要对高斯函数的 输出权值的优化 中心进行调整和优化.由于隐含层用的径向基函数 2.1隐含层节点数的动态设计 是高斯函数,只对数据中心附近的数据产生较大的 所谓动态RBF神经网络指的是在学习训练过 响应,因此在优化的时候就以数据中心周围的部分 程中,隐含层的节点数日不断变化,结构呈现为动态 样本为目标样本来调节该数据中心的值?.假设某 的神经网络,设计这种网络的目的是使网络性能在 隐含层节点的数据中心是©,函数宽度为a,那么参 训练过程中始终保持最优,最终达到最佳结构) 与调节的目标样本为 在隐含层动态设计中,用网络输出的均方误差 X={(x,y)1‖x,-G‖<ko,j=1,2,…,n以 作为网络性能评判标准,表达式为 (4 9 P k值越大,则参与优化数据中心的数据就越多, e=∑∑w·21g (3) 假定(x,y)是参与优化数据中心的一个样本,那么 式中:q为网络训练样本数,y为输出层中第k个节 数据中心对该样本的调节量为 点的实际输出,为输出层中第k个节点的期望输 出值. △G(xW=48Rxy-yx)4.5例 在RBF网络训练过程中,经过一定的学习次 式中:n为学习系数 数,T后计算e和e的衰减率D,假设D1和D2分别 于是数据中心可用式6)来调整确定: 为在T次学习前和学习后的衰减率,D,D为2个 C=c+△cG(x,y (6 给定的衰减率阈值,分别表示最慢和最快的衰减率. 2.2.2输出权值的求解和优化 E>0为给定的收敛阈值.动态结构的RBF神经网 由于当数据中心和高斯函数的宽度确定以后, 络算法可以归纳为 整个RBF网络从输入到输出就成为一个线性方程 1)首先给定初始隐含层节点数m,在网络经过 组,因此可以通过求逆矩阵的方法来确定网络的输 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net时 ,隐含层节点才会产生较大的输出. 隐含层中的径 向基函数一般取为高斯函数 : Ri ( x) = exp [ - ‖x - ci ‖2 / 2σ2 i ] , i = 1 ,2 , …, m. (1) 式中 : x 为输入向量 , ci 隐含层节点数据中心 ,σi 作 用函数所围绕中心点的宽度 , m 为隐含层节点的数 目 ,即数据中心数目 , ‖x - ci ‖为向量范数 ,表示欧 式距离. Ri ( x) 在 x = ci 时有唯一的最大值 ,随着范数的 增大 ,输出迅速地衰减到零. 因此对于给定的输入数 据 ,只有在靠近中心的一小部分才被激活. 输出层是对隐含层输出数据的线性映射 ,即 yk = ∑ m i =1 ωik R i ( x) k = 1 ,2 , …, p. (2) 式中 : p 为输出节点数 ,ωik为输出层的权值. 当隐含层节点数目比较少的时候虽然能提高系 统速度 ,但是不能达到预期效果 ,当隐含层的节点数 目较多时 ,虽然能逼近目标函数 ,但训练时间较长 , 增加了系统的冗余度 ;因此如何确定隐含层节点数 和数据中心成为 RBF 神经网络设计的重点与难点 , 本文就此问题进行了深入研究. 2 动态 RBF 神经网络的设计 整个设计过程分为 2 步进行 :首先是动态设计 RBF 的隐含层节点数目 ,可以采用随机算法选取 RBF 中心[ 2 ] ,其次是采用优化方法进行数据中心和 输出权值的优化. 211 隐含层节点数的动态设计 所谓动态 RBF 神经网络指的是在学习训练过 程中 ,隐含层的节点数目不断变化 ,结构呈现为动态 的神经网络 ,设计这种网络的目的是使网络性能在 训练过程中始终保持最优 ,最终达到最佳结构[ 3 ] . 在隐含层动态设计中 ,用网络输出的均方误差 作为网络性能评判标准 ,表达式为 e = ∑ q j = 1 ∑ p k = 1 ( ykj - y d kj ) 2 / q. (3) 式中 : q 为网络训练样本数 , ykj为输出层中第 k 个节 点的实际输出 , y d kj为输出层中第 k 个节点的期望输 出值. 在 RBF 网络训练过程中 ,经过一定的学习次 数 , T 后计算 e 和 e 的衰减率 D ,假设 D1 和 D2 分别 为在 T 次学习前和学习后的衰减率 , Ds , Df 为 2 个 给定的衰减率阈值 ,分别表示最慢和最快的衰减率. ε> 0 为给定的收敛阈值. 动态结构的 RBF 神经网 络算法可以归纳为 1) 首先给定初始隐含层节点数 m ,在网络经过 T 次学习后 ,计算 e , D1 . 2) 如果 e <ε,则说明网络已经收敛 ,为了节省运 行时间 ,应该减少隐含层的节点数 ,以每次减少一个 节点为目标 ,那么此时隐含层的节点数为 m = m - 1. 3) 如果在第 1 次训练后 e ≥ε,那么需要进行第 2 次学习 ,再经过 T 次学习之后计算 e , D2 . 4) 比较 e 和ε的大小 ,如果 e <ε,网络收敛 ,则 隐含层可以减去一个节点 , m = m - 1. 5) 如果 e ≥ε,并且 D2 > Df ,则说明网络结构很 好 ,此时结构不变 ,即 m = m. 6) 如果 D2 < Df ,并且 D2 < Ds ,则说明网络性 能比较差 ,不能达到期望的要求 ,此时需要增加隐含 层的节点数 ,即 m = m + 1. 7) 如果 Ds < D2 < D1 ,则说明网络性能比较差 , 需要增加节点 ,即 m = m + 1. 8) 当增加节点的时候 ,与之相连的输出权值取 很小或者为零 ,当删去节点的时候 ,删去输出均方值 最小的节点. 212 数据中心和输出权值的优化调整 21211 数据中心的优化 由于在动态设计隐含层节点数时所用的数据中 心来自于样本输入 ,并且在网络训练中该数据保持 固定不变 ,因此该数据中心可能离最优数据中心有 一定的偏差 ,为了校正这一偏差 ,需要对高斯函数的 中心进行调整和优化. 由于隐含层用的径向基函数 是高斯函数 ,只对数据中心附近的数据产生较大的 响应 ,因此在优化的时候就以数据中心周围的部分 样本为目标样本来调节该数据中心的值[4 ] . 假设某 隐含层节点的数据中心是 ci ,函数宽度为σi ,那么参 与调节的目标样本为 Xi = { ( x j , y j) | ‖x j - ci ‖ < kσi , j = 1 ,2 , …, n} . (4) k 值越大 ,则参与优化数据中心的数据就越多 , 假定( x j , yj) 是参与优化数据中心的一个样本 ,那么 数据中心对该样本的调节量为 Δci ( x j , yj) = 4 η δi Rc i ( x j) ( y j - y ( x j) )ωi . (5) 式中 :η为学习系数. 于是数据中心可用式(6) 来调整确定 : ci = ci +Δci ( x j , yj) . (6) 21212 输出权值的求解和优化 由于当数据中心和高斯函数的宽度确定以后 , 整个 RBF 网络从输入到输出就成为一个线性方程 组 ,因此可以通过求逆矩阵的方法来确定网络的输 ·66 · 智 能 系 统 学 报 第 2 卷