博客
关于我
RBF神经网络——案例一
阅读量:267 次
发布时间:2019-03-01

本文共 1723 字,大约阅读时间需要 5 分钟。

给定输入向量 p = − 1 : 0.1 : 1 p=-1:0.1:1 p=1:0.1:1和目标向量 [ t = 0.0596 0.6820 0.0424 0.0714 0.5216 0.0967 0.8181 0.8175 0.7224 0.1499 0.6596 0.5186 0.9730 0.6490 0.8003 0.4538 0.4324 0.8253 0.0835 0.1332 ] \begin{bmatrix} t = 0.0596 & 0.6820 & 0.0424 & 0.0714 & 0.5216 & 0.0967 & 0.8181 & 0.8175 & 0.7224 & 0.1499 & 0.6596 & 0.5186 & 0.9730 & 0.6490 & 0.8003 & 0.4538 & 0.4324 & 0.8253 & 0.0835 & 0.1332\end{bmatrix} [t=0.05960.68200.04240.07140.52160.09670.81810.81750.72240.14990.65960.51860.97300.64900.80030.45380.43240.82530.08350.1332],设计一个RBF神经网络,完成 y = f ( x ) y=f(x) y=f(x)

% 创建、训练、存储RBF神经网络clear all;  % 清除所有内存变量clc;  % 清屏p = -1:0.1:0.9;  % 输入向量t = [0.0596 0.6820 0.0424 0.0714 0.5216 0.0967 0.8181 0.8175...    0.7224 0.1499 0.6596 0.5186 0.9730 0.6490 0.8003 0.4538...    0.4324 0.8253 0.0835 0.1332];  % 目标向量net = newrb(p,t,0.01,0.01,20,3);  % 设计径向基网络 save net61 net  % 存储训练后的网络a%%% RBF神经网络仿真load net61 net;  % 加载训练后的网络i = -1:0.05:0.9;  % 测试样本r = sim(net,i);  % 仿真结果figure('NumberTitle','off','Name','RBF神经网络案例一');  %修改窗口标题hold on;plot(p,t,'k');  % 绘制训练样本图形plot(i,r,'o');  % 绘制函数拟合曲线hold off;
  • 运行结果为:
    NEWRB, neurons = 0, MSE = 0.0963896
    NEWRB, neurons = 3, MSE = 0.0678653
    NEWRB, neurons = 6, MSE = 0.0420571
    NEWRB, neurons = 9, MSE = 0.0201837
    NEWRB, neurons = 12, MSE = 0.00555406

网络训练的误差性能曲线和曲线拟合仿真结果如图所示:

误差性能曲线

在这里插入图片描述

曲线拟合仿真结果

在这里插入图片描述

newrb()函数

newrb用于设计径向基网络

net = newrb(P,T,goal,spread,MN,DF)[net,tr] = newrb(P,T,goal,spread,MN,DF)
  • P:输入向量组成的R×Q维矩阵
  • T:目标分类向量组成的S×Q维矩阵
  • goal:均方误差,默认值为0
  • spread:径向基函数的扩展速度,默认值为1
  • MN:神经元的最大数目,默认是Q
  • DF:两次显示之间所添加的神经元数目,默认值为25
  • net:返回值,一个径向基网络
  • tr:返回值,训练纪录

newrb()函数设计的径向基网络net可用于函数逼近。

  • 径向基函数的扩展速度spread越大,函数的拟合就越平滑。但是,过大的spread意味着需要非常多的神经元以适应函数的快速变化。
  • 如果spread设定过小,则意味着需要许多神经元来适应函数的缓慢变化,这样一来,设计的网络性能就不会很好。

转载地址:http://mcoo.baihongyu.com/

你可能感兴趣的文章
HTML中!DOCTYPE含义以及各个信息参数的详解
查看>>
【Java】Java基础之局部变量和成员变量
查看>>
如何删除SQL Server 2014
查看>>
手把手教你用docker部署自己的npm私服verdaccio
查看>>
error TS1192: Module ‘“fs“‘ has no default export.
查看>>
Java高并发系列(读书笔记)——等待(wait)和通知(notify)机制
查看>>
Java高并发系列(读书笔记)——等待线程结束(join)和谦让(yield)
查看>>
MyBatisPlus快速入门——MyBatisPlus集成Druid配置应用
查看>>
react项目:react拦截器和token问题
查看>>
2020-11-22周总结
查看>>
BCGControlBar教程:应用向导
查看>>
MyEclipse教程:Web开发——部署并测试项目
查看>>
【更新】CLion v2018.3发布(六):VCS和插件
查看>>
Linux-调试器gdb-make/makefile-git工具
查看>>
C++-必须知道的类的6个默认成员函数(构造-析构-拷贝构造-操作符重载)
查看>>
移动通信教学大纲
查看>>
leetcode关于微信读书的笔记-字符串
查看>>
文件服务器——src文件夹
查看>>
从零构建通讯器--4.4-4.5信号在创建线程的实战作用、write函数写入日志设置成不混乱、文件IO详解
查看>>
从零构建通讯器--5.2三次握手,telnet,wireshark
查看>>