Matlab实现BP神经网络和RBF神经网络(二)

在上一篇博文中:Matlab实现BP神经网络和RBF神经网络(一) 中,我们讨论了BP网络设计部分,下面我们将设计RBF网络并将它们结果与SVM对比。

数据格式不变,详情请看上一篇博文。

RBF神经网络:

RBF网络和BP网络都是非线性多层前向网络,它们都是通用逼近器。对于任一个BP神经网络,总存在一个RBF神经网络可以代替它,反之亦然。但是这两个网络也存在着很多不同点,他们在网络结构、训练算法、网络资源的利用及逼近性能方面均有差异。RBF网络输入层与隐含层直接连接,相当于直接将输入向量输入到隐含层,隐含层的激活函数有几种,最常用的是高斯函数:

引用块内容

σ称为径向基函数的扩展常数,它反应了函数图像的宽度,σ越小,宽度越窄,函数越具有选择性。RBF网络传递函数是以输入向量与中心向量之间的距离|| X-Cj ||作为自变量的,把高斯函数中的r替换为|| X-Cj ||即可。RBF网络需要确定的参数是数据中心C,扩展常数σ和隐含层到输出层的权值。从网上查阅资料说,RBF网络可以根据具体问题确定相应的网络拓扑结构,具有自学习、自组织、自适应功能,它对非线性连续函数具有一致逼近性,学习速度快,可以进行大范围的数据融合,可以并行高速地处理数据。RBF神经网络的优良特性使得其显示出比BP神经网络更强的生命力,正在越来越多的领域内替代BP神经网络。下图是一个输出神经元RBF网络的示意图:

这里写图片描述

初始化参数:

同BP网络,RBF训练前同样需要初始化各类参数,RBF网络初始化参数有两种方法,一种是监督学习,一种是非监督学习。

(1)非监督方法:

数据中心的选取可以采用非监督的聚类算法,例如kmeans算法,直接求出k个数据中心不再变化,而扩展常数可根据各中心间距离来确定:

引用块内容
这里写图片描述

其中这里写图片描述 为重叠系数。确定数据中心和扩展常数后,权值可以通过求线性方程组求出。

(2)监督方法:

最一般的情况,RBF函数中心、扩展常数、输出权值都应该采用监督学习算法进行训练,经历一个误差修正学习的过程,与BP网络的学习原理一样。同样采用梯度下降法,定义目标函数:

引用块内容

其中,c表示输出层神经元的个数,tk表示第k个输出神经元期望输出,zk表示实际输出。在本实验数据中,k取1。Zk由下式计算:

这里写图片描述

其中,M表示隐含层神经元的个数,Wkj表示隐含层到输出层的权值,X表示输入样本,Cj表示第j个隐含层神经元的数据中心。
分别计算目标函数E对权值Wkj、Cj和扩展常数σ的偏导,得到以下的更新公式

  • 17
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值