径向基函数(Radial Basis Function)神经网络是具有唯一最佳逼近(克服局部极小值问题)、训练简洁、学习收敛速度快等良好性能的前馈型神经网络,目前已证明RBFNN能够以任意精度逼近任意连续的非线性网络,被广泛用于函数逼近、语音识别、模式识别、图像处理、自动控制和故障诊断等领域。
全局逼近网络:网络的一个或多个权值对任一输出都有影响。由于每次输入都要对所有权值进行修正,因此这种网络的学习速度很慢,无法满足实时性要求,如DNN(MLP)。
局部逼近网络:对于输入空间的某局部区域只有少数几个连接权影响输出,有可能满足实时性要求,如RBFNN。
一、RBFNN结构
RBFNN包含3层结构,即只有一个隐藏层:
1、输入层是由N个感知单元组成,表示信源节点输入;
输入层仅起到输入数据的作用,输入层和隐藏层之间的连接权值为1。
2、隐藏层含有M个径向基神经元(激活函数为RBF),将低维非线性可分的输入映射到高维线性可分的空间;
隐藏层节点的激活函数对输入局部响应,当输入靠近基函数中央范围时,隐藏层节点将产生较大的输出;
远离中心点时,输出将呈指数衰减。
3、输出层含有P个线性神经元(激活函数为线性函数),最终的输出是隐藏层神经元输出的线性加权和。
二、RBFNN原理
径向基函数RBF是中心点径向对称、取值仅依赖于距中心点距离的非负实值函数,常用的RBF使用欧氏距离及高斯函数,令μi为隐藏层第i个节点的高斯函数中心点,σi为第i个节点的宽度参数/方差:
RBF的基本思想是将低维线性不可分的数据映射到高维空间,使其在高维空间线性可分。就像SVM中只需要找到代表数据的支持向量一样,RBF也只需要找到能够代表数据的中心点即可。与传统DNN的BP算法不同之处是,RBF网络不用对全局连接权值进行训练,只对一些重要的影响输出的权重进行调整,提高了训练速度,因此该函数也称局部响应函数。
RBFNN需要选择M个隐藏层基函数,输入向量与中心点之间的距离||x-μ||越小则网络的输出就越大。中心点矩阵的大小为隐层神经元数M*输入层神经元数N,每个μi对应的σi使得不同的输入信息能被不同的隐层神经元最大程度的反映出来。
最终的输出为:
RBFNN的优缺点
优点:非线性拟合能力强,全局最优逼近;局部接受特性使得决策时含有距离的概念,学习规则简单、拓扑结构紧凑、结构参数可实现分离学习,收敛速度快,便于计算机实现;稳定性、泛化能力、记忆能力强,具有强大的自学习能力等。
缺点:解释性差,数据不充分时无法工作,难以确定隐藏层节点数、节点中心和宽度,优选过程出现数据病态现象等。
三、RBFNN分类
1、正则化RBFNN(RN)
正则化RBFNN的隐藏层节点个数等于输入样本数M=N,隐节点激活函数为高斯形式的Green函数,并将所有输入样本设为径向基函数的中心点,各个径向基函数采取统一的方差:
其中 是中心点之间的最大距离,M是中心点个数。
由于易受噪声影响,且可能是超定问题,需要加入一个含有解的先验知识的约束来控制映射函数的光滑性:
其中λ为正则化参数,D为线性微分算子,代表对F(x)的先验知识。确定隐藏层神经元的中心位置后,只需要解线性方程组得到W的解析解即可确定该RBFNN模型:
这种方法适用于一些样本量小的问题,特点是计算量小、过程简单,易受噪声影响、可能是超定问题,需要加入正则项。
2、广义RBFNN(GN)
使用径向基函数作为隐节点的基函数,对输入向量进行变换,从输入层到隐藏层相当于把低维空间的数据映射的到高维空间。输入层节点个数为样本的维度,隐藏层节点个数多于输入层节点个数,但一定比样本总个数少得多,因此减小了计算量且避免了病态数据的问题。
样本维数N < 隐层节点个数M < 样本总个数
两种模型的比较
RN |
GN |
隐节点=输入样本总数 |
隐节点<输入样本总数 |
中心点为所有输入样本点的位置 |
中心点由训练算法确定 |
方差统一 |
方差不统一,由训练算法确定 |
不设置阈值 |
输出函数的线性变换中包含阈值参数,用于补偿基函数在样本集上的平均值与目标值平均值之间的差值 |
四、RBFNN训练
RBFNN的设计包括结构设计和参数设计,即隐藏层需要几个节点(RN中M=N),确定基函数参数、,使用BP算法求解隐藏层与输出层之间的权值。RBFNN常用的中心选择方法有:随机中心选取法、自组织学习选取中心法和正交最小二乘法等。
1、随机中心选取法
一般在样本密集的地方可以适当多选择一些样本作为中心点,在稀疏的地方适当少些;若数据本身是均匀分布的,则中心点也可以均匀分布,总之选出的数据中心点应具有代表性。为了避免每个径向基函数太尖锐或者太平坦,可以将方差设为。
2、自组织学习中心选取法
这种方法由无监督和监督学习两个阶段混合组成,无监督学习阶段用K-means聚类算法确定RBF的中心,并根据各中心点之间的距离来确定隐节点的方差;监督学习阶段一般采用梯度下降法得到输出层的权值。除了以上2种算法外,还有RAN、RANEKF、MRAN、GIRAN等算法。
选择M个不同的向量作为初始聚簇中心,计算输入各样本与聚簇中心的欧式距离,设定阈值根据距离对样本进行归类,从而将全部样本划分为M个子集,每个子集构成一个以聚簇中心为代表的簇。
对各簇中样本取均值,或者采用竞争学习规则调整聚簇中心,直到聚簇中心的调整小于阈值为止。
确定了中心点后,可根据中心点之间的距离计算方差,λ为重叠系数:
3、梯度下降法
使用监督学习算法训练得到RBF中心、方差及输出权值,同BP算法一样经历误差修正的学习过程,忽略阈值定义目标函数为:
为了使目标函数最小化,各个参数的修正量应与其负梯度成正比。
4、正交最小二乘法OLS
Orthogonal Least Square的思想来源于加权线性回归模型,输出Y是隐节点某种响应参数(回归算子:隐节点的输出)和隐藏层与输出层之间连接权重的线性组合: 。所有隐节点的回归算子构成回归向量P,学习的过程主要是回归向量正交化的过程。
OLS方法要求把P变换为一个关于正交基向量表示的矩阵,使得P可以表示出各个基向量对输出的贡献大小,对P做QR分解:
其中Q为正交矩阵,R为上三角矩阵,主对角线元素为1,对角线下方元素为0。
令 为新的回归参数向量,求得G后就可得到W的解析解 。
参考资料
https://wenku.baidu.com/view/4ff58194770bf78a64295444.html
https://wenku.baidu.com/view/cacd800d4a7302768e99393f.html
https://blog.csdn.net/ecnu18918079120/article/details/53365341
https://blog.csdn.net/weiwei9363/article/details/72808496
https://blog.csdn.net/zouxy09/article/details/13297881