前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本。但是函数命令的灵活性是GUI所不及的。也应该有所了解。

神经网络函数命令

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区域

.net一个函数要用另一个函数的值_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...相关推荐

  1. 不用工具箱的神经网络matlab程序_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...

    前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...

  2. 神经网络 mse一直不变_MATLAB中的神经网络工具箱(2)函数命令及模型搭建

    前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...

  3. php查询socket数据包头,php 查询数组值php中关于socket的系列函数总结

    本文列举了所有关于PHP语言中使用socket相关服务的一些函数.注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号): ...

  4. python sort函数返回值_python中 sort方法 和sorted函数

    sort和sorted在python中常用语列表(或类列表)的排序,但是在python中有所区别. 他们的唯一的共同点恐怕就是都可以对列表排序,区别: 1. sorted是python的内置函数,可以 ...

  5. 1970 matla 时间_Matlab中时间戳转换为日期的函数

    函数一: function [date] = ConvertDate(x) date = datestr((x+28800000)/86400000 + datenum(1970,1,1),31); ...

  6. fopen函数的用法示例_在C和C ++中使用fopen()函数的用法以及示例

    fopen函数的用法示例 In C and C++ programming languages fopen() function is used to open files and make oper ...

  7. matlab如何求传递函数的幅值_MATLAB中求开环传递函数的幅值裕度、相位裕度、截止频率的margin()函数用法...

    一.幅值裕度.相位裕度 相位裕度γ就是Bode图中幅值为0dB时对应的相位加上180°,如图中0dB时的相位是-99.1°,所以该系统的相位裕度就是 -99.1°+180°=80.9°.所谓相位裕度的 ...

  8. java冒泡排序函数验证_java冒泡排序-选择排序-插入排序-使用API中文文档直接调用函数...

    import java.util.Arrays; public class ArrayDemo2_3 { public static void main(String []args) { //---- ...

  9. matlab norm函数使用_matlab中的norm是什么函数

    展开全部 一,对于矩阵62616964757a686964616fe4b893e5b19e31333361313265 我们以下面矩阵为例: A = 0     1     2 3     4     ...

最新文章

  1. Ubuntu 18 snap 占用 100%,卸载 snap
  2. linux下动态库符号表,Linux动态库(.so)符号表
  3. 福利一波,赠票:2018杭州云栖大会 - 单日票(9月22日)
  4. unity 纹理压缩格式‘_[2018.1]Unity贴图压缩格式设置
  5. 前端学习(759):预解析案例
  6. Date Picker控件:
  7. 【Java从入门到头秃专栏 6】语法篇(五) :多线程 线程池 可见、原子性 并发包 Lambda表达式
  8. 转载:数据库表结构设计方法及原则
  9. 盘点一下结构体标签在Go中的应用
  10. BSD:Berkeley Software Distribution,伯克利软件套件
  11. idea安装drl插件
  12. java提示框easyui风格_[Java教程]jQuery EasyUI 提示框(Messager)用法
  13. PCM data flow - 2 - ASoC data structure
  14. NLP语义匹配 | 经典前沿方案整理
  15. iOS开发之UIAlertController的使用
  16. Spring Cloud Alibaba Sentinel之服务熔断篇
  17. MongoDB 学习笔记(一):安装及简单shell操作
  18. JavaCC详解 绝对干货
  19. XCELSIUS例子---柱形图部件的使用
  20. Pylab Plotting

热门文章

  1. MySQL索引知识点
  2. 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树
  3. AI种番茄!腾讯xWUR智慧温室大赛预赛揭晓,农科院和三星等五队挺进决赛
  4. 线程,进程,协程详细解释
  5. 【H264/AVC 句法和语义详解】(五):Exp-Golomb指数哥伦布编码(理论篇)
  6. http和socket之长连接和短连接区别
  7. 信号量函数 semget() semop() semctl()
  8. 连接池,数据库连接池
  9. System.currentTimeMillis()存在性能问题
  10. 数据库不推荐使用外键的9个理由