RBF神经网络的一些个人理解

版权声明:本文为fourierr原创文章,未经博主fourier允许不得转载。 https://blog.csdn.net/qq_34562093/article/details/83577183

RBF径向基函数,取值仅依赖于离原点距离的实值函数,任何满足这种特性的函数就叫径向基函数。一般采用欧氏距离,也可以用其他距离。

简介:

是单隐层的前馈神经网络,使用径向基函数作为隐层神经元的激活函数,输出层则是对隐层神经元输出的线性组合(理论上可以设置多个隐层,但一般只设计一个隐层)。所以从输入空间到隐含层空间的变换是非线性的,而从隐含层空间到输出层空间变换是线性的。

根据Cover定理,低维空间不可分的数据到了高维空间会更有可能变得可分。换句话来说,RBF网络的隐层的功能就是将低维空间的输入通过非线性函数映射到一个高维空间,然后再在这个高维空间进行曲线的拟合,它等价于在一个隐含的高维空间寻找一个能最佳拟合训练数据的表面。

当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。由此可见,从总体上看,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。这样网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题

从另一个方面也可以这样理解,多层感知器(包括BP神经网络)的隐节点基函数采用线性函数,通过激活函数来增加非线性因素;而RBF网络的隐节点的基函数采用距离函数(如欧氏距离),并使用径向基函数(如Gaussian函数)作为激活函数(bp网络中输入到隐层,隐层到输出都是非线性的,因为都有激活函数)。径向基函数关于n维空间的一个中心点具有径向对称性,而且神经元的输入离该中心点越远,神经元的激活程度就越低(值越小)。

训练:

  1. 确定神经元的中心,常用有随机采样,聚类(聚类中心当成径向基函数的h个中心)
  2. 确定参数和阈值,最小均方误差LMS直接计算得到,或者通过梯度下降来对网络中的参数都进行监督训练优化,代价函数是网络输出和期望输出的均方误差

只要有足够多的隐层单元,RBF能以任意精度逼近任意连续函数线性的非线性函数。

猜你喜欢

转载自blog.csdn.net/qq_34562093/article/details/83577183