高斯径向基函数(RBF)神经网络
1.径向基函数
2.RBF网络
3.RBF网络训练方法
4.RBF网络和BP网络对比
5.RBF网络和SVM对比
6.高斯核函数为什么可以映射到高维
7.前馈网络、递归网络和反馈网络
径向基函数
说径向基网络之前,先聊下径向基函数径向基函数(英语:radial basis function,缩写为RBF)是一个取值仅依赖于到原点距离的实值函数,即 ϕ ( x ) = ϕ ( ∥ x ∥ ) {\displaystyle \phi (\mathbf {x} )=\phi (\|\mathbf {x} \|)} ϕ(x)=ϕ(∥x∥)。此外,也可以按到某一中心点c的距离来定义, 即 ϕ ( x , c ) = ϕ ( ∥ x − c ∥ ) {\displaystyle \phi (\mathbf {x} ,\mathbf {c} )=\phi (\|\mathbf {x} -\mathbf {c} \|)} ϕ(x,c)=ϕ(∥x−c∥)。任一满足 ϕ ( x ) = ϕ ( ∥ x ∥ ) {\displaystyle \phi (\mathbf {x} )=\phi (\|\mathbf {x} \|)} ϕ(x)=ϕ(∥x∥)的函数都可称作径向函数。其中,范数一般为欧几里得距离,不过亦可使用其他距离函数。
可以用于许多径向基函数的和来逼近某一给定的函数。这一逼近的过程可看作是一个简单的神经网络(rbf网络中的每个隐单元看作一个径向基函数,然后再线性加权结合逼近)。此外在机器学习中,径向基函数还被用作支持向量机的核函数。
为什么径向基函数可以逼近给定函数呢? 换句话说也就是使用径向基函数解决多变量插值问题,从几何意义上看,相当于根据稀疏的给定样本数据点恢复一个连续的超曲面,在给定点处曲面的值要满足样本值。先给出基于径向基函数的插值函数如下:

可以看出插值函数就是由p个径向基函数和其权值构成(p为给定的样本数),那么也就意味着逼近的这个超曲面上任何一点可以由对应的基函数值得出,具体实例看下图(搬运)

第一张图即给出二维平面中的n个样本点,然后构建n个基函数,如图二中红色的曲线,假设采用高斯径向基函数,其对应的曲线即高斯分布曲线,图三中的蓝色曲线即真正曲线,多维情况下即为超曲面。而我们高斯径向基函数要做的就是用这n个高斯曲线去拟合这条蓝色曲线。可以看出图三中的红色曲线和图二中的曲线不同,这是由图二的曲线乘以一个权值得到的,这也就对应了上面说到的插值函数就是由p个径向基函数和其权值构成(p为给定的样本数)。例如对x1,其真实值为f(x1),即图三中的a点,而与高斯曲线相交于b、c两点,高斯径向基函数拟合的结果就是b和c的纵坐标之和,f(x1)-b-c就是误差,我们要做的就是优化权值参数或者选取其他径向基函数来尽可能还原蓝色曲线。
RBF网络
BF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。
简单说明一下为什么RBF网络学习收敛得比较快。当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整(例如传统的多项式插值法),从而导致全局逼近网络的学习速度很慢。BP网络就是一个典型的例子。
如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。
RBF网络训练方法
1、方法一:
通过非监督方法得到径向基函数的中心和方差,通过监督方法(最小均方误差)得到隐含层到输出层的权值。具体如下:
(1)在训练样本集中随机选择h个样本作为h个径向基函数的中心。更好的方法是通过聚类,例如K-means聚类得到h个聚类中心,将这些聚类中心当成径向基函数的h个中心。
(3)隐含层至输出层之间神经元的连接权值可以用最小均方误差LMS直接计算得到,计算公式如下:(计算伪逆)(d是我们期待的输出值)

2、方法二:
采用监督学习算法对网络所有的参数(径向基函数的中心、方差和隐含层到输出层的权值)进行训练。主要是对代价函数(均方误差)进行梯度下降,然后修正每个参数。具体如下:
(1)随机初始化径向基函数的中心、方差和隐含层到输出层的权值。当然了,也可以选用方法一中的(1)来初始化径向基函数的中心。
RBF网络与BP网络对比
1、局部逼近与全局逼近:
BP神经网络的隐节点采用输入向量与权向量的内积作为激活函数的自变量,而激活函数采用Sigmoid函数。各调参数对BP网络的输出具有同等地位的影响,因此BP神经网络是对非线性映射的全局逼近,每当有新的样本出现时,都要重新计算参数,训练很慢。
4、Poggio和Girosi已经证明,RBF网络是连续函数的最佳逼近,而BP网络不是。
RBF网络和SVM对比
SVM等如果使用核函数的技巧的话,不太适应于大样本和大的特征数的情况(因为SVM间隔最大化是一个二次规划问题,求解将涉及m阶矩阵的计算(m为样本的个数), 因此SVM不适用于超大数据集),因此提出了RBF。
高斯核函数为什么可以将低维映射到高维
相信大部分人都听过核函数可以将低维数据映射到高维中,其实准确说核函数只是给出了数据在低维下计算高维内积的方法。
对于高斯核为什么可以将数据映射到无穷多维,我们可以从泰勒展开式的角度来解释,
再来看 e x e^{x} ex泰勒展开式(具体泰勒展开公式推导见顶部知乎链接):
e x ≈ 1 + x + x 2 2 ! + x 3 3 ! + . . . + x n n ! e^{x} \approx 1 + x + \frac{x^{2}}{2!} + \frac{x^{3}}{3!} + … + \frac{x^{n}}{n!} ex≈1+x+2!x2+3!x3+...+n!xn
所以这个无穷多项的式子正是对于 e x e^{x} ex的近似, e x e^{x} ex所对应的映射:
κ ( x ) = ( 1 , x , x 2 2 ! , x 3 3 ! , . . . , x n n ! ) \kappa \left( x \right) = \left( 1, x, \frac{x^{2} }{2!}, \frac{x^{3} }{3!}, …, \frac{x^{n} }{n!} \right) κ(x)=(1,x,2!x2,3!x3,...,n!xn)
将泰勒展开式带入高斯核,我们得到了一个无穷维度的映射:
κ ( x 1 , x 2 ) = 1 + ( − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 ) + ( − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 ) 2 2 ! + . . . + ( − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 ) 3 3 ! + . . . + ( − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 ) n n ! \kappa \left( x_{1} , x_{2} \right) = 1 + \left(- \frac{\left||x_{1} – x_{2} \right|| ^{2} }{2\sigma ^{2} } \right) + \frac{(-\frac{\left||x_{1} – x_{2} \right|| ^{2} }{2\sigma ^{2} })^{2} }{2!} + … + \frac{(-\frac{\left||x_{1} – x_{2} \right|| ^{2} }{2\sigma ^{2} })^{3} }{3!} + … + \frac{(-\frac{\left||x_{1} – x_{2} \right|| ^{2} }{2\sigma ^{2} })^{n} }{n!} κ(x1,x2)=1+(−2σ2∣∣x1−x2∣∣2)+2!(−2σ2∣∣x1−x2∣∣2)2+...+3!(−2σ2∣∣x1−x2∣∣2)3+...+n!(−2σ2∣∣x1−x2∣∣2)n
即:

当n趋于正无穷时,对于 x 1 x_{1} x1和 x 2 x_{2} x2的内积形式符合在SVM中无穷维度下的内积计算,即高斯核将数据映射到无穷高的维度。
前馈网络、递归网络和反馈网络
前馈网络一般指前馈神经网络或前馈型神经网络。它是一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层,各层间没有反馈。包括:BP神经网络、RBF神经网络等。
递归神经网络(RNN)是两种人工神经网络的总称。一种是时间递归神经网络(recurrent neural network),又名循环神经网络,包括RNN、LSTM、GRU等;另一种是结构递归神经网络(recursive neural network)。
反馈网络(Recurrent Network),又称自联想记忆网络,其目的是为了设计一个网络,储存一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。包括CHNN、DHNN等。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211677.html原文链接:https://javaforall.net
