不用工具箱的神经网络matlab程序_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...
神经网络函数命令
1、网络创建函数
函数名称 | 功能 |
fitnet | 创建函数拟合网络 |
cascadeforwardnet |
串级,前馈神经网络 |
competlayer | 竞争神经层 |
distdelaynet | 分布时滞的神经网络 |
feedforwardnet | 前馈神经网络 |
layrecnet | 分层递归神经网络 |
patternnet | 创建模式识别网络 |
表中的函数使用语法基本一致,调用格式为:变量名=网络名称(隐含层维数,传递函数)但是,具有延迟结构的网络还需要设置其延迟信息。
2、网络训练函数
所有的网络均可以使用函数train进行训练(1)使用语法[net,tr]= train(net, X,T,Xi.Ai)(2)功能描述输入列表中,net为表示网络的结构体变量,X为网络输入,T表示网络的期望,xi和Ai分别为输入延迟和层延迟的初始条件。返回列表中,net表示新生成的网络,tr为训练记录(包含训练性能等)。通过对 net. train Fcn和 net. train Param的修改,可以设置训练算法以及其他参数。一般来说,训练算法有 trainlm、 trainbr、 trainscg和 trainrp四种可供选择,它们分别为LM反馈、Bayesian校准反馈、共轭梯度反馈和弹性反馈。3、网络评定函数网络的评定,一般是指计算其平方误差均值和线性回归,以判断训练后网络的性能。平方误差均值越小越好,线性回归的判断标准为数据是否沿45°线,越靠近表示实际输出与期望输出之间的差距越小。(1) msemse函数通过测量平方误差的均值来判断网络的性能。其使用语法为perf= mse(net, t, y, ew)其中,net为表示网络的结构体变量,t为期望输出,y为实际输出,ew表示误差权重。(2) regression基本使用语法为[r,m,b]= regression(t,y)其中,t和y分别为网络的期望输出和实际输出,r表示R值,m为回归线的斜率,b为回归线的偏移量。
【例12-1】利用示例数据 house dataset创建一个前馈型神经网络,并对其进行训练以及计算其性能指标。
编写如下 MATLAB程序:
[x,t]=house_dataset; %导入示例数据net=feedforwardnet(15)[net,tr]=train(net,x,t); %训练网络y=net(x); %网络实际输出perf_mse=mse(net,x,t) %计算平方误差均值[r,m,b]=regession(t,y) %计算回归值
结果如下:
house_datanet = Neural Network name: 'Feed-Forward Neural Network' userdata: (your custom info) dimensions: numInputs: 1 numLayers: 2 numOutputs: 1 numInputDelays: 0 numLayerDelays: 0 numFeedbackDelays: 0 numWeightElements: 15 sampleTime: 1 connections: biasConnect: [1; 1] inputConnect: [1; 0] layerConnect: [0 0; 1 0] outputConnect: [0 1] subobjects: input: Equivalent to inputs{1} output: Equivalent to outputs{2} inputs: {1x1 cell array of 1 input} layers: {2x1 cell array of 2 layers} outputs: {1x2 cell array of 1 output} biases: {2x1 cell array of 2 biases} inputWeights: {2x1 cell array of 1 weight} layerWeights: {2x2 cell array of 1 weight} functions: adaptFcn: 'adaptwb' adaptParam: (none) derivFcn: 'defaultderiv' divideFcn: 'dividerand' divideParam: .trainRatio, .valRatio, .testRatio divideMode: 'sample' initFcn: 'initlay' performFcn: 'mse' performParam: .regularization, .normalization plotFcns: {'plotperform', plottrainstate, ploterrhist, plotregression} plotParams: {1x4 cell array of 4 params} trainFcn: 'trainlm' trainParam: .showWindow, .showCommandLine, .show, .epochs, .time, .goal, .min_grad, .max_fail, .mu, .mu_dec, .mu_inc, .mu_max ...(省略一部分)
可以看出结构体net中包含很多信息,通过观察这些内容,可以在以后对net的调用中找到所需要的信息。4.图像绘制
函数名称 | 功能描述 |
plotconfusion |
图分类混淆矩阵 |
ploterrcorr | 误差自相关时间序列图 |
plotsomtop | 小区自组织映射的拓扑结构 |
plotsomplanes | 小区自组织映射重量的飞机 |
plotsomnd | 小区自组织映射邻居的距离 |
plotsomnc | 小区自组织映射邻居的连接 |
plotsompos | 小区自组织映射重量立场 |
plotsomhits | 小区自组织样本映射图 |
plotresponse | 动态网络图的时间序列响应 |
plotregression | 线性回归情节 |
plotinerrcorr | 图输入错误的时间序列的互相关 |
ploterrhist | 绘制误差直方图 |
plotfit | 绘图功能适合 |
例:绘制上面示例中网络的误差柱状图、性能图和训练状态图。
在上例中继续添加代码
e=t-y;figure(1),ploterrhist(e)figure(2),plotperform(tr)figure(3),plotregression(t,y)
神经网络与simulink
打开simulink模块库的方法有两种:(1)在simulink模块库浏览器中,找到Neural Network Toolbox(2) 直接输入命令neural
可以看出它包含五个子模块库,分别是传递函数、网络输入函数、权值函数、处理函数和控制系统。下面对五个子模块库分别介绍。1.Transfer Functions
传递函数模块,都能够接受一个网络输入向量,并相应输出一个网络输出向量。2.Net input Functions
3.Processing Functions
4.Weight Fuctions
5.Control System
神经网络Simulink建模
除了在simulink中进行模块连接,还可以使用gensim函数生成simulink模型。1.创建模型gensim能利用工作空间中的神经网络结构体生成simulink模型。该函数语法为gensim(net,st),net为网络结构体,st为指定采样时间。例:利用gensim函数创建一个前馈型神经网络simulink模型。
[x,t]=simplefit_dataset;net=feedforwardnet(10);net=train(net,x,t);gensim(net)
注:如果不进行网格训练,只能得到中间的模块。2、模型仿真与一般模型仿真一样点击箭头。
因为只输入了一个常数,所以示波器显示一条直线。将Constant换成Signal Generator(3;0.2;赫兹) 再次观察
利用GUI自定义神经网络仿真
1.输入nntool
2.单击import进行网络创建,在select区域选择数据来源,通过选择变量,在destination区域确定变量是作何用。单击New按钮打开创建网络或数据界面,在Data选项卡中可以设置待创建数据的各属性。3.网格训练train4.网络仿真simulate4.显示结果在Output Data区域
不用工具箱的神经网络matlab程序_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...相关推荐
- .net一个函数要用另一个函数的值_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...
前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...
- 神经网络 mse一直不变_MATLAB中的神经网络工具箱(2)函数命令及模型搭建
前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...
- 蚁群算法优化神经网络matlab源程序,粒子群优化神经网络的程序大集合
粒子群程序集合 866867259psobp psobp.m pso(粒子群算法)优化神经网络 粒子群算法(PSO)应用于神经网络优化[matlab] PSOt A Particle Swarm Op ...
- matlab中怎么查看变量,Matlab 查看内存中的变量,清空屏幕等命令
Matlab 查看内存中的变量,清空屏幕等命令 该文章讲述了Matlab 查看内存中的变量,清空屏幕等命令. 1. 查看内存中的变量 who whos 2. clc 清空屏幕 3. clf 清空当前的 ...
- 卷积神经网络代码 Matlab,卷积神经网络matlab程序
cnn卷积神经网络用什么语言来写pascial . 200+这个是hintonmatlab代码的C++改写版.convnetjs-Star,SAE,首选的肯定是LIBSVM这个库;RBM#47.Dee ...
- 作为神经网络的输入_MATLAB实战|基于神经网络河南省降水量预测
1 BP神经网络结构 神经网络旨在通过模仿动物的神经系统利用神经元作为连接结点的新型智能算法,神经网络本身包含三层结构,输入层,隐含层,输出层,每一层都有自己的特殊功能,输入层进行因子的输入与处理.由 ...
- 神经网络matlab拟合,使用浅层神经网络拟合数据
使用浅层神经网络拟合数据 神经网络擅长拟合函数.事实上有证据表明,一个简单的神经网络就可以拟合任何实用函数. 例如,假设您有一家健康诊所的数据.您想要设计一个网络,该网络可以基于 13 个解剖学测量值 ...
- 程序竞赛中常用的C字符串函数
程序竞赛中常用的C语言字符串处理函数 前言: 最好是使用C++的std::string,但是有些情况下,比如字符串比较等,反而是C风格的字符串比较灵活.以下列举常用的函数. 字符串操作 char* s ...
- 一个简单的BP神经网络matlab程序(附函数详解)
说明:20180604更新 1.此文的程序来自博客:http://www.cnblogs.com/heaad/archive/2011/03/07/1976443.html 2.本人对其中涉及到的函数 ...
最新文章
- C#内容分页简单实现代码及祥解
- UA MATH566 统计理论 概念与定理总结
- Job 存储和持久化 (第三部分)
- 吴昂雄回应Arm中国控制权争夺:Arm罢免我无效
- 分享几个特别好用且免费的图片/视频/gif/mp3压缩网站
- Windows要求已数字签名的驱动程序
- 计算机视觉面试宝典--目标检测篇(二)
- c++win32项目 如何显示后再删除一个绘图_如何运用Excel,R等软件结合PPT做出你想要的矢量图...
- Java实现 蓝桥杯 基础练习 特殊的数字
- 索引数组与关联数组的定义及区别
- Python的面向对象,魔术方法、类的三大特征、自省、实例空间、经典类与新式类
- [汇编语言][bx]和loop指令
- 驴商人和胡萝卜的算法逻辑思维问题
- vscode中调试get/post请求的小工具
- 讯飞音乐识别python实现文件识别
- 零基础怎么学手绘,多久能学会?
- canvas转图片,print-js实现打印
- TMC控制平面详解 - VMware Tanzu显露王者风范 (3)
- 交通类广告主钟情门户 食品饮料类广告流向视频
- [opencv]常用阵列操作函数总结
热门文章
- R语言jitter函数为数据添加噪声(noise)扰动信息实战
- python和R对dataframe创建新的列或者改变列:dplyr、rename、map、mapvalues、astype、as.character、as.integer、as.numeric
- C#程序结构 基本语法
- NCBI-SRA数据下载
- 三代测序数据超快组装软件--大牛Li heng 力作
- 友元类实例:日期类 学生类
- python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数
- 操作系统 作业调度实验报告
- 人脸检测识别文献代码
- ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`