径向基函数(RBF)神经网络
Data Mining
径向基函数(RBF)神经网络
RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。
简单说明一下为什么RBF网络学习收敛得比较快。当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整,从而导致全局逼近网络的学习速度很慢。BP网络就是一个典型的例子。
如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。
径向基函数解决插值问题
完全内插法要求插值函数经过每个样本点,即。样本点总共有P个。
RBF的方法是要选择P个基函数,每个基函数对应一个训练数据,各基函数形式为,由于距离是径向同性的,因此称为径向基函数。||X-Xp||表示差向量的模,或者叫2范数。
基于为径向基函数的插值函数为:
输入X是个m维的向量,样本容量为P,P>m。可以看到输入数据点Xp是径向基函数φp的中心。
隐藏层的作用是把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了。
将插值条件代入:
写成向量的形式为,显然Φ是个规模这P对称矩阵,且与X的维度无关,当Φ可逆时,有。
对于一大类函数,当输入的X各不相同时,Φ就是可逆的。下面的几个函数就属于这“一大类”函数:
1)Gauss(高斯)函数
2)Reflected Sigmoidal(反常S型)函数
3)Inverse multiquadrics(拟多二次)函数
σ称为径向基函数的扩展常数,它反应了函数图像的宽度,σ越小,宽度越窄,函数越具有选择性。
完全内插存在一些问题:
1)插值曲面必须经过所有样本点,当样本中包含噪声时,神经网络将拟合出一个错误的曲面,从而使泛化能力下降。
由于输入样本中包含噪声,所以我们可以设计隐藏层大小为K,K<P,从样本中选取K个(假设不包含噪声)作为Φ函数的中心。
2)基函数个数等于训练样本数目,当训练样本数远远大于物理过程中固有的自由度时,问题就称为超定的,插值矩阵求逆时可能导致不稳定。
拟合函数F的重建问题满足以下3个条件时,称问题为适定的:
- 解的存在性
- 解的唯一性
- 解的连续性
不适定问题大量存在,为解决这个问题,就引入了正则化理论。
正则化理论
正则化的基本思想是通过加入一个含有解的先验知识的约束来控制映射函数的光滑性,这样相似的输入就对应着相似的输出。
寻找逼近函数F(x)通过最小化下面的目标函数来实现:
加式的第一项好理解,这是均方误差,寻找最优的逼近函数,自然要使均方误差最小。第二项是用来控制逼近函数光滑程度的,称为正则化项,λ是正则化参数,D是一个线性微分算子,代表了对F(x)的先验知识。曲率过大(光滑度过低)的F(x)通常具有较大的||DF||值,因此将受到较大的惩罚。
直接给出(1)式的解:
权向量********************************(2)
G(X,Xp)称为Green函数,G称为Green矩阵。Green函数与算子D的形式有关,当D具有旋转不变性和平移不变性时,。这类Green函数的一个重要例子是多元Gauss函数:
。
正则化RBF网络
输入样本有P个时,隐藏层神经元数目为P,且第p个神经元采用的变换函数为G(X,Xp),它们相同的扩展常数σ。输出层神经元直接把净输入作为输出。输入层到隐藏层的权值全设为1,隐藏层到输出层的权值是需要训练得到的:逐一输入所有的样本,计算隐藏层上所有的Green函数,根据(2)式计算权值。
广义RBF网络
Cover定理指出:将复杂的模式分类问题非线性地映射到高维空间将比投影到低维空间更可能线性可分。
广义RBF网络:从输入层到隐藏层相当于是把低维空间的数据映射到高维空间,输入层细胞个数为样本的维度,所以隐藏层细胞个数一定要比输入层细胞个数多。从隐藏层到输出层是对高维空间的数据进行线性分类的过程,可以采用单层感知器常用的那些学习规则,参见神经网络基础和感知器。
注意广义RBF网络只要求隐藏层神经元个数大于输入层神经元个数,并没有要求等于输入样本个数,实际上它比样本数目要少得多。因为在标准RBF网络中,当样本数目很大时,就需要很多基函数,权值矩阵就会很大,计算复杂且容易产生病态问题。另外广RBF网与传统RBF网相比,还有以下不同:
- 径向基函数的中心不再限制在输入数据点上,而由训练算法确定。
- 各径向基函数的扩展常数不再统一,而由训练算法确定。
- 输出函数的线性变换中包含阈值参数,用于补偿基函数在样本集上的平均值与目标值之间的差别。
因此广义RBF网络的设计包括:
结构设计--隐藏层含有几个节点合适
参数设计--各基函数的数据中心及扩展常数、输出节点的权值。
下面给出计算数据中心的两种方法:
- 数据中心从样本中选取。样本密集的地方多采集一些。各基函数采用统一的偏扩展常数:
dmax是所选数据中心之间的最大距离,M是数据中心的个数。扩展常数这么计算是为了避免径向基函数太尖或太平。 - 自组织选择法,比如对样本进行聚类、梯度训练法、资源分配网络等。各聚类中心确定以后,根据各中心之间的距离确定对应径向基函数的扩展常数。
λ是重叠系数。
接下来求权值W时就不能再用了,因为对于广义RBF网络,其行数大于列数,此时可以求Φ伪逆。
数据中心的监督学习算法
最一般的情况,RBF函数中心、扩展常数、输出权值都应该采用监督学习算法进行训练,经历一个误差修正学习的过程,与BP网络的学习原理一样。同样采用梯度下降法,定义目标函数为
ei为输入第i个样本时的误差信号。
上式的输出函数中忽略了阈值。
为使目标函数最小化,各参数的修正量应与其负梯度成正比,即
具体计算式为
上述目标函数是所有训练样本引起的误差总和,导出的参数修正公式是一种批处理式调整,即所有样本输入一轮后调整一次。目标函数也可以为瞬时值形式,即当前输入引起的误差
此时参数的修正值为:
下面我们就分别用本文最后提到的聚类的方法和数据中心的监督学习方法做一道练习题。
考虑Hermit多项式的逼近问题
径向基函数(RBF)神经网络相关推荐
- 高斯径向基函数(RBF)神经网络
高斯径向基函数(RBF)神经网络 牛顿插值法-知乎 泰勒公式 径向基函数-wiki 径向基网络之bp训练 RBF网络逼近能力及其算法 线性/非线性,使用"多项式"逼近非线性,通过调 ...
- 径向基函数(rbf)神经网络 基础篇 奥利给 干就完了!
今天咱们就一起把径向基函数神经网络翻个底朝天,好好琢磨一下哈.老铁,走着. ![在这里插入图片描述](https://img-blog.csdnimg.cn/2019112613170742.png? ...
- 人工神经网络——径向基函数(RBF)神经网络
此博客排版不好,重新用Markdown写了一篇,同时附上了代码,戳这里 本文摘自:<模式识别与智能计算--matlab技术实现第三版>与<matlab神经网络43个案例分析> ...
- 基于径向基函数RBF神经网络的非线性函数拟合研究-含Matlab代码
目录 一.RBF神经网络基本原理 二.模型建立 三.RBF网络拟合结果分析 四.注意事项 五.参考文献 六.Matlab代码获取 一.RBF神经网络基本原理 1988年Broomhead和Lowe将径 ...
- 径向基函数RBF神经网络相关函数设置
一.newrb() 该函数可以用来设计一个近似(approximate)径向基网络.其调用格式为 [net, tr]=newrb(P, T, GOAL, SPREAD, MN, DE) 其中,P为Q组 ...
- python rbf神经网络_原创,基于径向基函数(RBF)神经网络RBF网络的举例应用!
function RBF_NN_Example() clc clear all % 创建训练样本 % 线性函数的训练 Mn_Train=100*[rand(1,5) rand(1,5)+0.5 r ...
- 径向基函数RBF三维网格变形
前言 之前写过径向基函数(RBF)神经网络做分类或者拟合.然后挖了个坑说在<Phase-Functioned Neural Networks for Character Control>里 ...
- 径向基函数模型matlab,径向基函数RBF.ppt
径向基函数RBF 2006-12-12 北京科技大学 付冬梅 * 例 建立一个径向基神经网络,对非线性函数y=sqrt(x)进行逼近,并作出网络的逼近误差曲线. 6-7 RBF网络的MATLAB函数及 ...
- 机器学习算法-09-深度学习、BP神经网络、Hopfield神经网络、基于数学原理的神经网络、径向基函数RBF(B站一条会说666的咸鱼)
Deep Learning 深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是有一种深度学些的结构 ,深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征的 ...
- 径向基RBF神经网络
1985年,Powell提出了多变量插值的径向基函数(RBF)方法.1988年Moody和Darken提出了一种神经网络结构,即RBF神经网络,属于前向神经网络类型,它能够以任意精度逼近任意连续函数, ...
最新文章
- Orleans 知多少 | 3. Hello Orleans
- QOTD:Java线程与Java堆空间
- 【C/C 】浅谈C/C 中函数指针与回调函数
- vue获取前一个页面路由地址
- mysql leave的作用_MySQL数据库中DELIMITER的作用
- zabbix snmp异常超时、不稳定、时通时断:Timeout while connecting...
- java 指针 引用_C++中的指针和引用与Java中的引用区别
- NC单据模板公式使用
- PL.SQL.Developer.v9.0.1.1613下载地址
- 微信 小程序 APP 渗透测试方案
- springboot+MyBatis返回Map时值为null的字段会丢失
- Nodejs使用robot操作鼠标键盘
- 关于程序员的非技术面试题全在这里。
- 【Linux】Ubuntu20网络频繁掉线解决
- 0018 求球的表面积和体积
- 解析ip到对应城市:ipdatabase
- shell字符串切割 去除文件名后缀
- spring源码分析系列(二)AOP应用
- STC15W408AS最小系统开发板注意事项与烧写实际操作
- 大banner的源代码怎么写,超简单!
热门文章
- Android FrameWork学习(二)Android系统源码调试
- 手机通过WIFI连上ZXV10 H618B路由器但不能上网问题的解决
- 在c 语言中stdio,C语言中,什么时候用到stdio.h之外的解释文件
- 学习笔记第二十五节课
- ElasticSearch _xpack用户管理
- Linux 小知识翻译 - 「RAID」
- 主从同步出现一下错误:Slave_IO_Running: Connecting
- Bzoj3261 最大异或和
- HTML5 ArrayBufferView之DataView
- 学习VIM编辑器的使用