Matlab试验箱rbf,matlab实现RBF的相关函数
摘自《matlab神经网络43个案例分析》
(1)newrb()
该函数可以用来设计一个近似径向基网络(approximate RBF)。调用格式为:
[net,tr]=newrb(P,T,GOAL,SPREAD,MN,DF)
其中P为Q组输入向量组成的R*Q位矩阵,T为Q组目标分类向量组成的S*Q维矩阵。GOAL为均方误差目标(Mean Squard Error Goal),默认为0.0;SPREAD为径向基函数的扩展速度,默认为1;MN为神经元的最大数目,默认为Q;DF维两次显示之间所添加的神经元数目,默认为25;ner为返回值,一个RBF网络,tr为返回值,训练记录。
用newrb()创建RBF网络是一个不断尝试的过程(从程序的运行可以看出来),在创建过程中,需要不断增加中间层神经元的和个数,知道网络的输出误差满足预先设定的值为止。
(2)newrbe()
该函数用于设计一个精确径向基网络(exact RBF),调用格式为:
net=newrbe(P,T,SPREAD)
其中P为Q组输入向量组成的R*Q维矩阵,T为Q组目标分类向量组成的S*Q维矩阵;SPREAD为径向基函数的扩展速度,默认为1
和newrb()不同的是,newrbe()能够基于设计向量快速,无误差地设计一个径向基网络。
(3)radbas()
该函数为径向基传递函数,调用格式为
A=radbas(N)
info=radbas(code)
其中N为输入(列)向量的S*Q维矩阵,A为函数返回矩阵,与N一一对应,即N的每个元素通过径向基函数得到A;info=radbas(code)表示根据code值的不同返回有关函数的不同信息。包括
derive——返回导函数的名称
name——返回函数全称
output——返回输入范围
active——返回可用输入范围
使用exact径向基网络来实现非线性的函数回归:
%%清空环境变量
clc
clear
%%产生输入输出数据
%设置步长
interval=0.01;
%产生x1,x2
x1=-1.5:interval:1.5;
x2=-1.5:interval:1.5;
%按照函数先求的响应的函数值,作为网络的输出
F=20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2);
%%网络建立和训练
%网络建立,输入为[x1;x2],输出为F。spread使用默认
net=newrbe([x1;x2],F);
%%网络的效果验证
%将原数据回带,测试网络效果
ty=sim(net,[x1;x2]);
%%使用图像来看网络对非线性函数的拟合效果
figure
plot3(x1,x2,F,'rd');
hold on;
plot3(x1,x2,ty,'b-.');
view(113,36);
title('可视化的方法观察严格的RBF神经网络的拟合效果');
xlabel('x1')
ylabel('x2')
zlabel('F')
grid on函数图像:
approximate RBF网络对同意函数进行拟合
%%清空环境变量
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])结果图像:
结论,可以看出神经网络的训练结果能够较好逼近该非线性函数F,由误差图可知,实景网络的预测效果在数据边缘处的误差较大,在其它书指出的拟合效果很好,网络的输出值与函数值之间的插值在隐藏层神经元的个数为100时已经接近0,说明网络输出能非常好地逼近函数。
本文同步分享在 博客“风翼冰舟”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Matlab试验箱rbf,matlab实现RBF的相关函数相关推荐
- MATLAB小技巧(24)RBF,GRNN,PNN-神经网络
MATLAB小技巧(24)RBF,GRNN,PNN-神经网络 前言 一. MATLAB仿真一 二. MATLAB仿真二 三. 小结 前言 MATLAB进行图像处理相关的学习是非常友好的,可以从零开始, ...
- matlab径向基网络,MATLAB——径向基网络拟合曲线和分类
1.广义RBF P=:.:; rand('state',pi); %指定状态,产生相同的随机数 T=sin(*P)+rand(,length(P)); % 给正弦函数加噪声 plot(P,T,'o') ...
- matlab 椭圆方程拟合,matlab中如何插值拟合求椭圆方程
[g_fitting.rar] 使用正交多项式完成数据拟合.程序对读入的gps采样点完成曲线拟合. (2007-08-01, matlab, 1KB, 26次) [曲面拟合.rar] 这是利用matl ...
- 目标层准则层MATLAB,层次分析法-MATLAB
层次分析法-MATLAB 第八章 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全 ...
- matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc
扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...
- matlab的combuilder系列-matlab下做com组件 zzfrom SMTH bbs
matlab的combuilder系列-matlab下做com组件 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com ...
- ln x的matlab表示,ln在matlab中怎么表示
实现thln13算法的matlab程序_数学_自然科学_专业资料.clear a... (x) a^x ln x ax logba cos x tan x cot x ... (2) 指数和对数函数指 ...
- matlab 解函数方程,MATLAB程序设计教程(7)—MATLAB解方程与函数极值
MATLAB程序设计教程(7)--MATLAB解方程与函数极值 第7章MATLAB解方程与函数极值 7.1 线性方程组求解 7.2 非线性方程数值求解 7.3 常微分方程初值问题的数值解法 7. ...
- matlab程序圆形牛栏,Matlab课本计算题.doc
Matlab课本计算题 Matlab计算题: 农夫老李有一个半径为10m的圆形牛栏,里面长满了草,老李要将家里的一头牛拴在牛栏边的一根栏桩上,要求只让牛吃到圆形牛栏中的一半的草,请问栓牛鼻的绳子应为多 ...
最新文章
- 程序员的十大谎言,你中了几个? | 每日趣闻
- input框在ios中的阴影问题
- 阿里云 超级码力在线编程大赛初赛 第2场 题目3. 五字回文
- [机器学习-原理篇]支持向量机(SVM)深入理解
- 最全面超大规模数据集下载链接汇总(转)
- 直播丨Oracle 12.2系列安装
- 乐播投延迟很高_定投基金有变化
- 资深面试官解答:大厂月薪过20K的测试工程师,都需要满足哪些要求?
- 骑手的困境,资本的压榨
- Unity读取内部、外部资源详解
- 矩阵分析与应用(20)
- flac格式如何转mp3?
- Django:A server error occurred. Please contact the administrator.
- 第22批符合道路运输车辆卫星定位系统标准 及规范的车载终端
- tvp5150的iic配置-应用程序实现。
- windows 7编辑启动菜单 bcdedit linux,bcdedit用法详解 windows7/vista启动修改
- AT32 EMAC MQTT Client
- 键盘按钮keyCode对照表
- 山东大学网络靶场实验平台—团队进度(三)
- unittest篇3-测试套件(TestSuite)详解
热门文章
- 关于码云的一些基本知识_网络攻防前期知识储备 - osc_ojkfylwq的个人空间 - OSCHINA - 中文开源技术交流社区...
- Word2007及以上(OMML)公式转换为MathType公式出现问号的解决办法
- 【观察】中国公有云IaaS增速第一 浪潮云“势如破竹”的背后
- 基于PostgreSQL的时序数据库TimescaleDB(上)
- 品牌对比 | 康师傅 VS 统一
- 监听keyup 和keydown 事件
- Linux学习——总结ARM裸机开发步骤
- linux ramdisk根文件系统,ramdisk 根文件系统制作
- OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
- 机器视觉LED光源类型及技术简介