您的位置:首页 > 理论基础 > 计算机网络

RBF神经网络

2016-08-05 16:40 323 查看
RBF网络的基本思想是:

用RBF作为隐单元的“基”构成隐含层空间,这样就可将输入矢量直接(即不需要通过权连接)映射到隐空间。根据Cover定理,低维空间不可分的数据到了高维空间会更有可能变得可分。换句话来说,RBF网络的隐层的功能就是将低维空间的输入通过非线性函数映射到一个高维空间。然后再在这个高维空间进行曲线的拟合。它等价于在一个隐含的高维空间寻找一个能最佳拟合训练数据的表面。这点与普通的多层感知机MLP是不同的。

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

从另一个方面也可以这样理解,多层感知器(包括BP神经网络)的隐节点基函数采用线性函数,激活函数则采用Sigmoid函数或硬极限函数。而RBF网络的隐节点的基函数采用距离函数(如欧氏距离),并使用径向基函数(如Gaussian函数)作为激活函数。径向基函数关于n维空间的一个中心点具有径向对称性,而且神经元的输入离该中心点越远,神经元的激活程度就越低。隐节点的这一特性常被称为“局部特性”。

非线性变换的基本理论(Cover, 1965):

1.一个模式分类问题如果映射到一个高维空间将会比映射到一个低维空间更可能实现线性可分;

2. 隐空间的维数越高,逼近就越精确。

网络结构:



可以看出RBF神经网络是一种三层的神经网络:输出层、RBF隐含层、线性输出层

输入层:就是输入数据

RBF隐含层:确定数据类中心后,根据RBF函数对原始数据进行转换

如何确定类中心?

聚类方式

最简单的就是kmeans聚类,确定k个类中心,k就是隐含层的神经元个数

输出层:对经过RBF隐含层转换后的数据利用线性函数,确定其输出值

线性输出的评价函数可以选取:最小二乘法等

在初始中心确定后,最后输出层的线性函数的参数如何设置?

可以通过梯度下降法、最小二乘法进行解决

在进行梯度下降法更新的参数有:输出层线性函数的权值,RBF层的类中心参数

很好推导,不想这这里敲公式,草稿纸上推到下就好了。

径向基函数



整理了一个RBFJava源码

参考:

1.http://www.cnblogs.com/zhangchaoyang/articles/2591663.html

2.http://www.cnblogs.com/yangxi/archive/2013/05/30/3107921.html

3.http://blog.csdn.net/zouxy09/article/details/13297881
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: