老饼讲解:一步一步上手学习
RBF神经网络是一种由RBF(Radial Basis Function)函数作为隐层激活函数的三层神经网络,本文讲述RBF神经网络的模型结构、详细的运算,并进一步详细剖析RBF神经网络模型结构的意义,通过本文,可以快速了解RBF神经网络是什么,以及它的模型原理、几何意义是什么。
RBF神经网络的思想起源于RBF插值,如下,要找一条平滑曲线拟合样本点,RBF插值以每个样本点为中心来生成一个RBF函数,然后叠加起来,就能拟合整体样本点了,如图:

可以看到,由于RBF函数的局部非线性,它只对中心点部分影响较大,其它地方几乎为0,所以只需要每个样本点都设一个RBF,这样就能拟合到这个样本点的y值,同时又不太影响其它样本点的y值,而经过叠加后,两个样本点之间也是相对平滑过渡的,用数学来表述以上的拟合曲线,其实就是一系列的RBF函数之和:
,是样本点个数,b是一个用于调节水平位置的参数。
其中,高斯函数是最常用的一种RBF函数:

高斯函数可以如下表述:
当x是多维时,则高斯函数表述为:
dist是欧几里得距离函数:
可以易知,在RBF函数中,参数影响RBF的横轴位置,决定RBF的宽,决定RBF的高,是RBF的纵轴位置。而当高斯函数取为时,它就是高为1、中心为0的RBF。
RBF神经网络是基于RBF插值而衍生的一种神经网络,RBF神经网络的拓扑结构如下:

如图所示,RBF神经网络就是一种三层神经网络,其中输入层就是我们的输入,而隐层的每个隐节点就是一个RBF,输出层就是我们的输出y了。对于第i个隐节点,它的计算值如下:
其中,
dist是欧几里得距离函数:
可以看到,每个隐节点其实就是代表了一个RBF。
而第j个输出,则是各个RBF的加权和:
可以看到,输出层就是给每个RBF设置不同的高,再把它们相加,最后再加上一个阈值。
RBF神经网络的矩阵形式如下:
其中,
:隐层权重
:隐层阈值
:输出层权重
:输出层阈值
而dist是距离函数:
这里我们就不详细解说矩阵形式了,通过下面的计算例子会更容易理解它的意思。
下面我们用一个具体的例子来展示RBF神经网络的计算。
以2个输入,3个隐节点,2个输出的RBF神经网络为例,设模型的权重、阈值、和输入如下:
1. 隐层的权重、阈值为:
备注:的第i行代表第i个隐节点的权重和阈值
2. 输出层的权重、阈值为:
备注:的第i行代表第i个输出节点的权重和阈值
模型的输入为:
则RBF神经网络的输出如下计算:
一、计算隐层激活值(即径向基的值):
二、计算输出值
仔细看一遍上面的计算过程,就可以非常具体的了解RBF神经网络的结构细节了~
简单来说,RBF神经网络就是一种基于RBF函数的三层神经网络,它利用RBF函数的局部非0性,来对输入区域的各个局部进行拟合,从而达到全局拟合,而其中的RBF函数,一般都是使用高斯函数。
评论