神经网络工具箱学习

说明:《MATLAB/Simulink系统仿真超级学习手册》石良臣   matlab2018a——仅作为笔记。

神经网络工具箱的四种类型:函数拟合、模式识别、数据聚类、时间序列预测。

神经网络设计与应用的步骤:

  1. 数据收集;
  2. 创建网格;
  3. 设计网络的结构;
  4. 初始化权重和阈值;
  5. 训练网络;
  6. 验证网络;
  7. 使用网络。

12.2.2神经网路函数拟合

1、神经网络拟合GUI

命令行:nnstart           nftool

2、网格创建

(1)数据获取

上图点击“Next”

 

 

 (2)样本分配

 (3)网络结构设置

 

 3、网络训练

 

 回归图                                                             误差柱状图

 

 (4)网络评定

 

如果在训练样本上的性能是好的,但检测性能相当糟糕,说明过度拟合了,需要减少神经元个数;如果训练样本性能样本也不好,则需要增加神经元个数。

(5)结果保存

三种保存方式:生成脚本文件、导入MATLAB工作空间、生成Simulink模型。

 

 

 

 

simulink模块

 

 12.2.3神经网络模式识别

GUI工具nprtool和命令行函数

1、神经网络模式识别GUI

 

 2、网络创建

上图点击“Next”

(1)数据获取

 

 

 

 (2)样本分配

 (3)网络结构设置

3、网络训练

 

 

 4、网络评定

 5、结果保存

三种保存方式:生成脚本文件、导入MATLAB工作空间、生成Simulink模型。

 

 

 12.2.4神经网络数据聚类

1、神经网络聚类GUI

 命令行:nctool——回车键

 无隐含层,而是SOM层。

2、网络创建

上图点击“Next”

   (1)数据获取

 

 

 (2)数据结构设置

 注意:神经网络聚类不需要对样本数据进行分配。

3、网络训练

 

 

 4、网络评定

 

 

 5、结果保存。

 

 

 12.2.5神经网络时间序列预测

1、神经网路时间序列GUI

命令行:ntstool

 

 

 2、网络创建

 (1)数据获取

 

 (2)样本分配

 (3)网络结构设置

 3、网络训练

 

 

 时间序列响应图、误差自动校正图

 4、网络评定和结果保存

 

 

 

 

 12.2.6神经网络函数命令

1、网络创建函数

 调用格式:

变量名 = 网络名称 (隐含层维数,传递函数)

注意:具有延迟结构的网络还需要设置其延迟信息。

2、网络训练函数

(1)使用语法

[net,tr]=train(NET,X,T,Xi,Ai)

(2)功能描述

例12-1

[x,t]=house_dataset;       %导入示例数据
net=feedforwardnet(15)     %创建前馈型神经网路
[net,tr]=train(net,x,t);   %训练网络
y=net(x);                     %网络实际输出
perf_mse=mes(net,x,t)      %计算平方误差均值
[r,m,b]=regression(t,y)    %计算回归值

 4、图像绘制

例12-2

接例12-1的代码

 

e=t-y;                           %计算误差
figure(1),ploterrhist(e)         %误差柱状图
figure(2),plotperform(tr)        %性能图
figure(3),plotregression(t,y)    %训练状态图

12.3神经网络与Simulink

12.3.1神经网路Simulink模块

 

 1、Transfer Functions

 2、Net Input Functions

 3、Weight Functions

 4、Processing Functions

 5、Control Systems

 12.3.2神经网络Simulink建模

方法:GUI;MATLAB命令创建,通过gensim生成simulink模型(常用);

  1. 创建模型

使用语法:gensim(net,st)

注释:结构体;采样时间。

例12-3利用gensim函数创建一个前馈型神经网络的simulink模型。

[x,t]=simplefit_dataset;
net=feedforwardnet(10);
net=train(net,x,t);
gensim(net)

 2、模型仿真

 例12-4

 

 

 12.4自定义神经网络

12.4.1自定义神经网络函数命令

两种使用语法:

net=network

net=network(numInputs,numLayers,biasConnect,layerConnect,outConnect)

例12-5利用network创建一个自定义神经网络,并对其进行仿真。

net=network
net.numInputs=1
net.numLayers=2
% net=networkk(1,2)  %用这句代码可创建相同的网格
%上述代码可创建一个一输入两层的网格。
%下面一行代码可以让网络第一层具有阈值,
%第一层与第一个输入之间有输入权重,第一层与第二层为网格的输出。
net=network(1,2,[1;0],[1;0],[0 0;1 0],[0 1])
%下面代码可以查看自子对象的属性
net.inputs{1}
net.layers{1},net.layers{2}
net.biases{1}
net.inputWeights{1,1},net.layerWeights{2,1}
net.outputs{2}
%下面代码可以获取权重矩阵和阈值向量
net.iw{1,1},net.iw{2,1}
net.b{1}
%运行下面代码可以对网络进行仿真
p=[0.5;-0.1];
y=sim(net,p)

12.4.2神经网络数据管理GUI

1、神经网络数据管理界面“nntool”

 

 2、网络创建

 

 

 

 

 3、网络训练

 4、网络仿真

结束。

  • 8
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值