深度学习之径向基函数神经网络RBFNN

 

径向基函数(Radial Basis Function)神经网络是具有唯一最佳逼近(克服局部极小值问题)、训练简洁、学习收敛速度快等良好性能的前馈型神经网络,目前已证明RBFNN能够以任意精度逼近任意连续的非线性网络,被广泛用于函数逼近、语音识别、模式识别、图像处理、自动控制和故障诊断等领域。

全局逼近网络:网络的一个或多个权值对任一输出都有影响。由于每次输入都要对所有权值进行修正,因此这种网络的学习速度很慢,无法满足实时性要求,如DNN(MLP)。

局部逼近网络:对于输入空间的某局部区域只有少数几个连接权影响输出,有可能满足实时性要求,如RBFNN。

 

一、RBFNN结构

RBFNN包含3层结构,即只有一个隐藏层:

1、输入层是由N个感知单元组成,表示信源节点输入;

        输入层仅起到输入数据的作用,输入层和隐藏层之间的连接权值为1。

2、隐藏层含有M个径向基神经元(激活函数为RBF),将低维非线性可分的输入映射到高维线性可分的空间;

        隐藏层节点的激活函数对输入局部响应,当输入靠近基函数中央范围时,隐藏层节点将产生较大的输出;

        远离中心点时,输出将呈指数衰减。

3、输出层含有P个线性神经元(激活函数为线性函数),最终的输出是隐藏层神经元输出的线性加权和。

        深度学习之径向基函数神经网络RBFNN_第1张图片

 

二、RBFNN原理

径向基函数RBF是中心点径向对称、取值仅依赖于距中心点距离的非负实值函数,常用的RBF使用欧氏距离及高斯函数,令μi为隐藏层第i个节点的高斯函数中心点,σi为第i个节点的宽度参数/方差:

        \phi (\left \| x-\mu _{i} \right \|)=exp\left ( -\frac{\left \| x-\mu_{i} \right \|^{2}}{2\sigma ^{2}} \right )

RBF的基本思想是将低维线性不可分的数据映射到高维空间,使其在高维空间线性可分。就像SVM中只需要找到代表数据的支持向量一样,RBF也只需要找到能够代表数据的中心点即可。与传统DNN的BP算法不同之处是,RBF网络不用对全局连接权值进行训练,只对一些重要的影响输出的权重进行调整,提高了训练速度,因此该函数也称局部响应函数。

RBFNN需要选择M个隐藏层基函数,输入向量与中心点之间的距离||x-μ||越小则网络的输出就越大。中心点矩阵的大小为隐层神经元数M*输入层神经元数N,每个μi对应的σi使得不同的输入信息能被不同的隐层神经元最大程度的反映出来。

最终的输出为:

        y_{j}=\sum_{i=1}^{M}w_{ij}\phi (\left \| x-\mu _{i} \right \|^{2})\, ,\; \; j=1,2,...,P

 

RBFNN的优缺点

优点:非线性拟合能力强,全局最优逼近;局部接受特性使得决策时含有距离的概念,学习规则简单、拓扑结构紧凑、结构参数可实现分离学习,收敛速度快,便于计算机实现;稳定性、泛化能力、记忆能力强,具有强大的自学习能力等。

缺点:解释性差,数据不充分时无法工作,难以确定隐藏层节点数、节点中心和宽度,优选过程出现数据病态现象等。

 

三、RBFNN分类

        1、正则化RBFNN(RN)

正则化RBFNN的隐藏层节点个数等于输入样本数M=N,隐节点激活函数为高斯形式的Green函数,并将所有输入样本设为径向基函数的中心点,各个径向基函数采取统一的方差:

        \sigma =\frac{d_{max}}{\sqrt{2M}}\, ,\; \; d_{max}=max\left \{|\mu_{i}-\mu_{j}|,0 \right \}\, ,\; \; i\neq j

        F(x)=\sum_{j=1}^{P}w_{j}G(x,x_{j})

        G(x,x_{j})=G(||x-x_{j}||)=exp\left ( -\frac{1}{2\sigma ^{2}}||x-x_{j}||^{2} \right )       

其中d_{max} 是中心点之间的最大距离,M是中心点个数。

由于易受噪声影响,且可能是超定问题,需要加入一个含有解的先验知识的约束来控制映射函数的光滑性:

        \underset{F}{min}E(F)=\frac{1}{2}\sum_{j=1}^{P}(y_{j}-F(x_{j}))^{2}+\frac{1}{2}\lambda \left \| DF \right \|^{2}

其中λ为正则化参数,D为线性微分算子,代表对F(x)的先验知识。确定隐藏层神经元的中心位置后,只需要解线性方程组得到W的解析解即可确定该RBFNN模型:

        W=(G+\lambda I)^{-1}Y

这种方法适用于一些样本量小的问题,特点是计算量小、过程简单,易受噪声影响、可能是超定问题,需要加入正则项。

 

        2、广义RBFNN(GN)

使用径向基函数作为隐节点的基函数,对输入向量进行变换,从输入层到隐藏层相当于把低维空间的数据映射的到高维空间。输入层节点个数为样本的维度,隐藏层节点个数多于输入层节点个数,但一定比样本总个数少得多,因此减小了计算量且避免了病态数据的问题。

样本维数N < 隐层节点个数M < 样本总个数

 

        两种模型的比较

RN

GN

隐节点=输入样本总数

隐节点<输入样本总数

中心点为所有输入样本点的位置

中心点由训练算法确定

方差统一

方差不统一,由训练算法确定

不设置阈值

输出函数的线性变换中包含阈值参数,用于补偿基函数在样本集上的平均值与目标值平均值之间的差值

 

四、RBFNN训练

RBFNN的设计包括结构设计和参数设计,即隐藏层需要几个节点(RN中M=N),确定基函数参数\mu _{i}\sigma _{i},使用BP算法求解隐藏层与输出层之间的权值w_{ij}。RBFNN常用的中心选择方法有:随机中心选取法、自组织学习选取中心法和正交最小二乘法等。

        1、随机中心选取法

一般在样本密集的地方可以适当多选择一些样本作为中心点,在稀疏的地方适当少些;若数据本身是均匀分布的,则中心点也可以均匀分布,总之选出的数据中心点应具有代表性。为了避免每个径向基函数太尖锐或者太平坦,可以将方差设为\sigma =\frac{d_{max}}{\sqrt{2M}}

 

        2、自组织学习中心选取法

这种方法由无监督和监督学习两个阶段混合组成,无监督学习阶段用K-means聚类算法确定RBF的中心,并根据各中心点之间的距离来确定隐节点的方差;监督学习阶段一般采用梯度下降法得到输出层的权值。除了以上2种算法外,还有RAN、RANEKF、MRAN、GIRAN等算法。

 

选择M个不同的向量作为初始聚簇中心,计算输入各样本与聚簇中心的欧式距离,设定阈值根据距离对样本进行归类,从而将全部样本划分为M个子集,每个子集构成一个以聚簇中心为代表的簇。

对各簇中样本取均值,或者采用竞争学习规则调整聚簇中心,直到聚簇中心的调整小于阈值为止。

确定了中心点后,可根据中心点之间的距离计算方差,λ为重叠系数:

        d_{j}=min(\mu_{i}-\mu_{j})\, ,\; \; i\neq j

        \sigma _{j}=\lambda d_{j}

        深度学习之径向基函数神经网络RBFNN_第2张图片

 

        3、梯度下降法

使用监督学习算法训练得到RBF中心、方差及输出权值,同BP算法一样经历误差修正的学习过程,忽略阈值定义目标函数为:

        E=\frac{1}{2}\sum_{j=1}^{P}e_{j}^{2}

        e_{j}=y_{j}-\sum_{i=1}^{M}w_{ij}G(||x-\mu_{i}||)

为了使目标函数最小化,各个参数的修正量应与其负梯度成正比。

        \Delta \mu_{i}=-\eta\frac{\partial E}{\partial \mu_{i}}=\eta\frac{w_{ij}}{\sigma _{i}^{2}}\sum_{j=1}^{P}e_{j}G(||x-\mu_{i}||)(x-\mu_{i})

        \Delta \sigma _{i}=-\eta\frac{\partial E}{\partial \sigma _{i}}=\eta\frac{w_{ij}}{\sigma _{i}^{3}}\sum_{j=1}^{P}e_{j}G(||x-\mu_{i}||)||x-\mu_{i}||^{2}

        \Delta w_{ij}=-\eta\frac{\partial E}{\partial w_{ij}}=\eta\sum_{j=1}^{P}e_{j}G(||x-\mu_{i}||)

 

        4、正交最小二乘法OLS

Orthogonal Least Square的思想来源于加权线性回归模型,输出Y是隐节点某种响应参数(回归算子:隐节点的输出)和隐藏层与输出层之间连接权重的线性组合:Y=PW+E 。所有隐节点的回归算子构成回归向量P,学习的过程主要是回归向量正交化的过程。

OLS方法要求把P变换为一个关于正交基向量表示的矩阵,使得P可以表示出各个基向量对输出的贡献大小,对P做QR分解:

        P=QR

其中Q为正交矩阵,R为上三角矩阵,主对角线元素为1,对角线下方元素为0。

Y=QG+E\, ,\; \; G=RW 为新的回归参数向量,求得G后就可得到W的解析解W=R^{-1}G

 

 

参考资料

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

 

你可能感兴趣的:(深度学习)