RBF神经网络算法分析与应用(适合快速入门实战)
在开始这个话题之前要告诉大家一个不幸的消息:RBF神经网络无论如何都替代不了传统的向前传播型网络,肯能你马上就要滑走了,但请等等!!!这并不妨碍RBF在如今各行各业中的广泛应用。可以打个比方说RBF是方仲永,那个最终泯然众人的家伙,但是其年幼时的风光、天才的智慧也值得我们来说一说!
资源戳这里:RBF神经网络的实际应用——曲线拟合-机器学习文档类资源-CSDN下载
径向基(RBF)网络是一个三层的网络,除了输入输出之外仅有一个隐藏层。隐藏层中的转换函数是局部响应的高斯函数,而其他向前神经网络,转换函数一般都是全局响应函数,由于这样的不同,要实现同样的功能,RBF神经网络需要更多的神经元,这就是RBF神经网络不能取代标准向前神经网络的原因。但是这也正是RBF优于其他网络的原因,它的网络模型更精简、训练时间更短。同时它对函数的逼近也是最优的,可以以任意精度逼近任意连续函数。隐层中神经元越多,逼近越精确!
RBF是一种两层向前型神经网络,因包含一个具有径向基函数神经元的隐层和一个具有线性神经元的输出层而得名。
径向基神经元的传递函数有各种各样的形式,但最常用的是高斯函数(radbas)。与之前介绍的神经元不同,
如何计算各单元值:
隐单元计算方法如下
更多可以戳这里:RBF神经网络是什么? - 知乎
RBF神经网络的训练可以分为两个阶段:
第一阶段为无监督学习,从样本数据中选择记忆样本/中心点;可以使用聚类算法,也可以选择随机给定的方式。
第二阶段为监督学习,主要计算样本经过RBF转换后,和输出之间的关系/权重;可以使用BP算法计算、也可以使用简单的数学公式计算。
1. 随机初始化中心点
2. 计算RBF中的激活函数值,每个中心点到样本的距离
3. 计算权重,原函数:Y=GW
4. W = G^-1Y
RBF网络能够逼近任意非线性的函数(因为使用的是一个局部的激活函数。在中心点附近有最大的反应;越接近中心点则反应最大,远离反应成指数递减;就相当于每个神经元都对应不同的感知域)。
可以处理系统内难以解析的规律性,具有很好的泛化能力,并且具有较快的学习速度。
有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。
当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整,从而导致全局逼近网络的学习速度很慢,比如BP网络。
如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络,比如RBF网络。
RBF和BP神经网络的对比
BP神经网络(使用Sigmoid激活函数)是全局逼近;RBF神经网络(使用径向基函数作为激活函数)是局部逼近;
相同点:
- 1. RBF神经网络中对于权重的求解也可以使用BP算法求解。
不同点:
- 1. 中间神经元类型不同(RBF:径向基函数;BP:Sigmoid函数)
- 2. 网络层次数量不同(RBF:3层;BP:不限制)
- 3. 运行速度的区别(RBF:快;BP:慢)
%%清空环境变量
clc
clear
%%产生训练样本,训练输入,训练输出
%ld为样本隶属
ld=400;
%产生2*ld的矩阵
x=rand(2,ld);
%将x转换到[-1.5 1.5]之间
x=(x-0.5)*1.5*2;
%x的第一行为x1,第二行为x2
x1=x(1,:);
x2=x(2,:);
%计算网络输出F值
F=20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2);
%%建立RBF神经网络
%采用approximate RBF神经网络,spread为默认值
net=newrb(x,F);
%%建立测试样本
interval=0.1;
[i,j]=meshgrid(-1.5:interval:1.5);
row=size(i);
tx1=i(:);
tx1=tx1';
tx2=j(:);
tx2=tx2';
tx=[tx1;tx2];%%使用建立的RBF网络进行模拟,得出网络输出
ty=sim(net,tx);
%%使用图像,画出三维图
%真正的函数图像
interval=0.1;
[x1,x2]=meshgrid(-1.5:interval:1.5);
F=20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2);
subplot(1,3,1);
mesh(x1,x2,F);
zlim([0,60]);
title('真正的函数图像');
%网络得出的函数图像
v=reshape(ty,row);
subplot(1,3,2);
mesh(i,j,v);
zlim([0,60]);
title('RBF神经网络结果');
%误差图像
subplot(1,3,3);
mesh(x1,x2,F-v);
zlim([0,60]);
title('误差图像');
set(gcf,'position',[300,250,900,400])
RBF神经网络算法分析与应用(适合快速入门实战)相关推荐
- Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫)
Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫) https://blog.csdn.net/u012662731/article/details/78537432 出 ...
- python3 爬虫实例_【实战练习】Python3网络爬虫快速入门实战解析(上)
原标题:[实战练习]Python3网络爬虫快速入门实战解析(上) 摘要 使用python3学习网络爬虫,快速入门静态网站爬取和动态网站爬取 [ 前言 ] 强烈建议:请在电脑的陪同下,阅读本文.本文以实 ...
- Python教程:网络爬虫快速入门实战解析
建议: 请在电脑的陪同下,阅读本文.本文以实战为主,阅读过程如稍有不适,还望多加练习. 网络爬虫简介 网络爬虫,也叫网络蜘蛛(Web Spider).它根据网页地址(URL)爬取网页内容,而网页地址( ...
- Python3网络爬虫快速入门实战解析
Python3网络爬虫快速入门实战解析 标签: python网络爬虫 2017-09-28 14:48 6266人阅读 评论(34) 收藏 举报 分类: Python(26) 作者同类文章X 版权声明 ...
- Python3 网络爬虫快速入门实战解析
点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...
- beautifulsoup网页爬虫解析_Python3 网络爬虫快速入门实战解析
点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...
- MongoDB 快速入门实战教程最新版
在上一篇 <MongoDB 实战教程:数据库与集合的 CRUD 操作篇> 中,我们学习了MongoDB 与 NoSQL 的关系. MongoDB 的安装.数据类型.MongoShell.创 ...
- TensorFlow:AI工程师的快速入门实战利器
经过几年的发展,深度学习已经成为人工智能领域最热门的技术.谷歌.亚马逊.百度.Facebook 纷纷开源了自己的深度学习框架. 在众多框架中,TensorFlow 凭借其强劲的运算性能.高效的超大集群 ...
- ElasticSearch快速入门实战
一.ElasticSearch简介 1.简介 创始人是Shay Banon(谢巴农),它是java开发,是凯源的企业级搜索引擎,能够实现实时搜索,特点是稳定.可靠.快速,并且安装使用方便.(内置JDK ...
- Spring快速入门实战笔记
下载地址:https://github.com/2020GetGoodOffer/test Spring入门 Spring IoC IoC即控制翻转,传统开发中当需要调用对象时需要调用者手动new操作 ...
最新文章
- python中文字符编码问题
- cleanmymac 4.2_15北师大版八年级物理上册4.2节乐音微课视频|知识点|练习
- 聊聊LightProbe原理实现以及对LightProbe数据的修改
- PC和服务器的IP地址信息DNS,PC和服务器的IP地址信息DNS
- UVa 264 - Count on Cantor
- Androidz之clickable
- 二级c语言函数调用题,2013年计算机二级C语言函数调用考点归纳
- 科目三路考需准备事项
- 块元素、行内块和内联元素_如何删除内联块元素之间的空间?
- centos修改磁盘uuid_为什么MySQL用uuid做主键会被骂?
- 【专栏必读】王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图
- 谈谈出入React框架踩过的坑
- Java实现智能对话机器人自动聊天+语音秒回
- 光环PMP ITTO
- 北斗产业有哪些“芯”优势
- iov_iter结构体
- FFMPEG 实现混音,加水印,加文字,模糊水印任意滤镜组合
- react学习之路(一)
- 内网环境能连接数据库 使用vpn用工具能连接数据库但是java驱动连接不了
- 分享一个神器!16倍速看视频,闪瞎了我的狗眼!
热门文章
- Java框架全开源商城PC+手机版+微商城独立版+全开源系统源码
- 最全Mac系统快捷键一览
- python网课答案查询_网课答案查询助手v1.0
- leetcode幂集
- 首页css命名,常用的CSS命名规则
- c语言include iostream,求助,虚拟机上#includeiostream一直报错
- SMA、SPI、LTE
- oracle9i如何卸载,如何卸载oracle 9i
- windows7系统安装中文语言包汉化问题
- XP框架开启debug模式_推荐一个兼容性强完美支持XP框架的安卓模拟器,一直在用!...