原创不易,转载前请注明博主的链接地址:Blessy_Zhu https://blog.csdn.net/weixin_42555080

一、 从BP神经网络到RDF神经网络

在上一篇文章BP(Back Propagation)神经网络学习笔记介绍了BP神经网络是误差逆向传播的多层神经网络。在信号处理 、模式识别等系统中,多层前馈网络是应用较为广泛的模型 。但是大部分基于反向传播的多层前馈网络的学习算法必须基于某种非线性优化技术的缺点 ,计算量大、学习速度慢。径向基函数神经网络(Radial Basis Function Neural Network)理论为多层前馈网络的学习提供了一种新颖而有效的手段 。RBF 网络不仅具有良好的推广能力, 而且计算量少 ,学习速度一般也比其它算法快得多 。

径向基函数是一个取值仅仅依赖于离原点距离的实值函数,也就是Φ(x)=Φ(‖x‖),或者还可以是到任意一点c的距离,c点称为中心点,也就是Φ(x,c)=Φ(‖x-c‖)。任意一个满足Φ(x)=Φ(‖x‖)特性的函数Φ都叫做径向基函数,标准的一般使用欧氏距离(也叫做欧式径向基函数),尽管其他距离函数也是可以的。最常用的径向基函数是高斯核函数 ,形式为 k(||x-xcx_cxc​||)=exp{- ||x-xcx_cxc​||^2/(2∗σ)2(2*σ)^2(2∗σ)2) } 其中x_c为核函数中心,σ为函数的宽度参数 , 控制了函数的径向作用范围。
 


一般化之后,适用于全部数据,输入层到隐含层是非线性映射,基函数是高斯函数:

为什么RBF可以大大加快神经网络的学习速度同时避免局部极小问题呢?

用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。其中,隐含层的作用是把向量从低维度的p映射到高维度的h,这样低维度线性不可分的情况到高维度就可以变得线性可分了,主要就是核函数的思想。这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。

二、 RBF神经网络

如下图:
RBF神经网络的拓扑结构是一种三层前向网络:
➢输入层由信号源结点构成,仅起到数据信息的传递作用,对输入信息不进行任何变换;
➢第二层为隐含层,结点数视需要而定,隐含层神经元的核函数(作 用函数)为高斯函数,对输入信息进行空间映射变换;
➢第三层为输出层,它对输入模式做出响应,输出层神经元的作用函数为线性函数,对隐含层神经元输出的信息进行线性加权后输出,作为整个神经网络的输出结果。

这样,RBF求解的参数有3个:基函数的中心、方差以及隐含层到输出层的权值。
(1)自组织选取中心学习方法:

第一步:无监督学习过程,求解隐含层基函数的中心与方差

第二步:有监督学习过程,求解隐含层到输出层之间的权值

首先,选取h个中心做k-means聚类,对于高斯核函数的径向基,方差由公式求解:
    


  

Cmax为所选取中心点之间的最大距离。
隐含层至输出层之间的神经元的连接权值可以用最小二乘法直接计算得到,即对损失函数求解关于w的偏导数,使其等于0,可以化简得到计算公式为:
    


(2)直接计算法

隐含层神经元的中心是随机地在输入样本中选取,且中心固定。一旦中心固定下来,隐含层神经元的输出便是已知的,这样的神经网络的连接权就可以通过求解线性方程组来确定。适用于样本数据的分布具有明显代表性。

(3)有监督学习算法

通过训练样本集来获得满足监督要求的网络中心和其他权重参数,经历一个误差修正学习的过程,与BP网络的学习原理一样,同样采用梯度下降法。因此RBF同样可以被当作BP神经网络的一种。

这样,概括的来说RBF神经网络的隐层将输入空间映射到一个新空间 ,输出层在该新空间中实现线性组合器 ,可调节参数就是该线性组合器的权 。 RBF 网络的输出为 :
 



其中,Wi是隐含层到输出层的权重,Ri(x)是从输入层到隐含层径向基函数。

RBF 网络中所用的非线性函数的形式对网络性能的影响并不是至关重要的 ,关键因素是基函数中心的选取, 中心选取不当构造出来的RBF 网络的性能一般不能令人满意。例如, 如果某些中心靠的太近 , 会产生近似线形相关,从而带来数值上的病变条件 。由于 RBF 网络中心选取是该网络能否成功用于实际的关键 ,因此下面我们主要研究径向高斯函数中心的选取算法 。文章《RBF 网络基函数中心选取算法的研究》
{ 百度网盘:链接:https://pan.baidu.com/s/1myqBkLRLS4ODQmd-ma_9Aw 密码:25wz}中介绍了:随机算法选取 RBF 中心、 自组织学习算法选取 RBF 基函数中心:HCM 算法和Konhonen 自组织映射算法、最近邻聚类学习算法选取 RBF 基函数中心等三种选取RBF中心的方法。它的结论是:

随机选取算法确定的方法虽然简单 ,但构造的 RBF 神经网络的性能较差 ,并且隐单元到输出层的权矢量还需经过 1000 次的迭代学习 ,网络的学习时间较长 ,计算量较大 。HCM 算法和Konhonen 算法确定基函数中心的方法较复杂 ,需要确定
聚类度量和聚类结束标准 ,聚类阶段要经过许多次的迭代学习。虽然构造的 RBF 神经网络的性能较优越 ,但隐单元到输出层的权矢量还需经过 1000 次的迭代学习 ,网络的学习时间更长, 计算量更大。最近邻聚类算法确定基函数中心而构造的 RBF 神经网络表现出学习时间短,计算量小和性能优良的特点。前三种算法只适用于静态模式的离线学习,而最近邻聚类算法用于动态输入模式的在线学习。
结果表明了最近邻聚类选取算法具有学习时间短 ,计算量小和网络性能优良的优点, 是一种实用的前馈网络的快速学习的有效算法,适用于系统辨识等实际应用场合。

三、 RBF神经网络与BP神经网络和SVM的区别

3.1 RBF神经网络与BP神经网络的区别

  • 1、局部逼近与全局逼近:

    • BP神经网络的隐节点采用输入模式与权向量的内积作为激活函数的自变量,而激活函数采用Sigmoid函数。各调参数对BP网络的输出具有同等地位的影响,因此BP神经网络是对非线性映射的全局逼近。
    • RBF神经网络的隐节点采用输入模式与中心向量的距离(如欧式距离)作为函数的自变量,并使用径向基函数(如Gaussian函数)作为激活函数。神经元的输入离径向基函数中心越远,神经元的激活程度就越低(高斯函数)。RBF网络的输出与部分调参数有关,譬如,一个wij值只影响一个yi的输出(参考上面第二章网络输出),RBF神经网络因此具有“局部映射”特性。

      所谓局部逼近是指目标函数的逼近仅仅根据查询点附近的数据。而事实上,对于径向基网络,通常使用的是高斯径向基函数,函数图象是两边衰减且径向对称的,当选取的中心与查询点(即输入数据)很接近的时候才对输入有真正的映射作用,若中心与查询点很远的时候,欧式距离太大的情况下,输出的结果趋于0,所以真正起作用的点还是与查询点很近的点,所以是局部逼近;而BP网络对目标函数的逼近跟所有数据都相关,而不仅仅来自查询点附近的数据。
  • 2、中间层数的区别
    BP神经网络可以有多个隐含层,但是RBF只有一个隐含层。
  • 3、训练速度的区别
    使用RBF的训练速度快,一方面是因为隐含层较少,另一方面,局部逼近可以简化计算量。对于一个输入x,只有部分神经元会有响应,其他的都近似为0,对应的w就不用调参了。
  • 4、Poggio和Girosi已经证明,RBF网络是连续函数的最佳逼近,而BP网络不是。

3.2 RBF神经网络与SVM的区别

SVM等如果使用核函数的技巧的话,不太适应于大样本和大的特征数的情况,因此提出了RBF。
另外,SVM中的高斯核函数可以看作与每一个输入点的距离,而RBF神经网络对输入点做了一个聚类。RBF神经网络用高斯核函数时,其数据中心C可以是训练样本中的抽样,此时与svm的高斯核函数是完全等价的,也可以是训练样本集的多个聚类中心,所以他们都是需要选择数据中心的,只不过SVM使用高斯核函数时,这里的数据中心都是训练样本本身而已。
RBF神经网络的kernel核函数:
 


SVM的kernel核函数:
 


3.3 为什么高斯核函数就是映射到高维空间

首先给出高斯核函数的定义公式:
 


 

实际上,可以化简为:
 


 

通过幂级数展开:
 


 

可以看到,其中X向量会生成类似多项式核展开的形式,譬如原来的参数有x1,x2。映射后,参数包含了x1x1 ,x1x2,x2*x2将原来2维映射到3维上了。

四、总结

RBF神经网络是为了解决大部分基于反向传播的多层前馈网络的学习算法必须基于某种非线性优化技术的缺点 ,计算量大、学习速度慢的问题。RBF通过使用高斯和函数的方法,使得,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。

这篇文章就到这里了,欢迎大佬们多批评指正,也欢迎大家积极评论多多交流。


参考文章:

1 RBF、GRNN和PNN神经网络的深入浅出
2 RBF(径向基)神经网络
3 RBF神经网络和BP神经网络的关系
4 RBF神经网络设计
5 RBF(径向基函数)神经网络
6 百度网盘:链接:https://pan.baidu.com/s/1myqBkLRLS4ODQmd-ma_9Aw 提取码:25wz
7 百度网盘:链接:https://pan.baidu.com/s/1mYqtYWeaxDfYCHFHYhvz7g 提取码:hksz

径向基(Radial Basis Function:RBF)神经网络学习笔记相关推荐

  1. 径向基(Radial basis function)神经网络、核函数的一些理解

    径向基函数(RBF)在神经网络领域扮演着重要的角色,如RBF神经网络具有唯一最佳逼近的特性,径向基作为核函数在SVM中能将输入样本映射到高维特征空间,解决一些原本线性不可分的问题. 本文主要讨论: 1 ...

  2. 径向基函数(RBF Radial Basis Function)神经网络

    径向基函数(RBF Radial Basis Function)神经网络是由J.Moody和C.Darken在20世纪80年代末提出的一种神经网络,它是具有单隐层的三层前馈网络.由于它模拟了人脑中局部 ...

  3. 核函数与径向基函数 (Radial Basis Function 简称 RBF)详解

    1.核函数 1.1核函数的由来 -----------还记得为何要选用核函数么?----------- 对于这个问题,在Jasper's Java Jacal博客<SVM入门(七)为何需要核函数 ...

  4. 径向基(Radial Basis Function:RBF)神经网络

    前言 径向基函数是一个取值仅仅依赖于离远点的实值函数,也就是ϕ(x)=ϕ(∣∣x∣∣)\ \phi(x)=\phi(||x||) ϕ(x)=ϕ(∣∣x∣∣),或者还可以是任意一点c的距离,c点称为中心 ...

  5. RBF神经网络学习笔记一

    S函数代码 function [sys,x0,str,ts] =RBF1(t,x,u,flag) %%%符号说明 %%输入 %t:当前时间 %x:状态向量 %u:模块输入 %flag:任务标志 %p1 ...

  6. RBF(Radial Basis Function Network)+径向基网络

    RBF(Radial Basis Function Network)+径向基网络 在SVM中引入Gaussian Kernel就能在无限多维的特征转换中得到一条"粗壮"的分界线(或 ...

  7. matlab径向基函数插值,径向基函数(Radial Basis Function)插值

    将RBF用于插值 标签(空格分隔):径向基函数插值 算法 RBF 曲面重构 当高维数据稀疏,需要预测一些数据,需要使用曲面重构的方法. 曲面重构一般可以分为: 插值 重构 曲面插值里我们一般使用径向基 ...

  8. 神经网络学习笔记(一) RBF径向基函数神经网络

    神经网络学习笔记(一) RBF径向基函数神经网络 2018年08月06日 13:34:26 吃机智豆长大的少女乙 阅读数:2735 RBF径向基函数神经网络 初学神经网络,以下为综合其他博主学习材料及 ...

  9. 神经网络学习笔记-02-循环神经网络

    神经网络学习笔记-02-循环神经网络 本文是根据WildML的Recurrent Neural Networks Tutorial写的学习笔记. 循环神经网络 循环神经网络适用于处理序列化信息,比如: ...

最新文章

  1. linux上如何主指定的静态路由永久有效
  2. 单链表-逆置单链表(头插法且双指针)
  3. 触手可得的云原生 | 阿里云中间件发布多项新功能
  4. ASP.NET MVC 音乐商店 - 7.成员管理和授权
  5. 基于采购订单的MIRO校验过程
  6. java stringbuffer详解_Java常用类StringBuffer详解
  7. influxdb无法实现关联表_双汇:从棘手的InfluxDB+Redis到TDengine
  8. (效果一)js实现上拉加载
  9. [javascript|基本概念|Number]学习笔记
  10. mysql-演练0722
  11. hdu 4609 3-idiots(FFT计数)
  12. SmartBear继SoapUI Pro 5 2之后推出新版本改名SoapUI NG Pro
  13. android 广告字幕,Android编程实现类似天气预报图文字幕垂直滚动效果的方法
  14. 盘点微信的前世今生,微信成功的必然和偶然
  15. Ubuntu 突然不然联网解决方法
  16. ISAPI_Rewrite
  17. 零基础和我一起学Python系统 第五天 字符串
  18. R语言泊松(Poisson)分布
  19. Rust的crate
  20. 电脑桌面没有此电脑图标如何处理?

热门文章

  1. 虚拟机检测绕过总结--不定时更新
  2. linux编译器更新,英特尔 Fortran 编译器 Linux 版
  3. HBuilder连接手机真机测试连接不上
  4. 中文停用词表和英文停用词表
  5. 一、集群技术概述(入门级)
  6. 教你动手写UDP协议栈 - UDP数据包解析<1>
  7. 转:关于销售环节的折扣、折让、回扣、佣金的介绍
  8. Eclipse 安装教程(图文注释)及JDK安装配置环境变量
  9. 2021-08-05 Java练习题
  10. Leetcode系列-字符串-单词搜索II