.net一个函数要用另一个函数的值_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区域
.net一个函数要用另一个函数的值_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...相关推荐
- 不用工具箱的神经网络matlab程序_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...
前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...
- 神经网络 mse一直不变_MATLAB中的神经网络工具箱(2)函数命令及模型搭建
前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...
- php查询socket数据包头,php 查询数组值php中关于socket的系列函数总结
本文列举了所有关于PHP语言中使用socket相关服务的一些函数.注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号): ...
- python sort函数返回值_python中 sort方法 和sorted函数
sort和sorted在python中常用语列表(或类列表)的排序,但是在python中有所区别. 他们的唯一的共同点恐怕就是都可以对列表排序,区别: 1. sorted是python的内置函数,可以 ...
- 1970 matla 时间_Matlab中时间戳转换为日期的函数
函数一: function [date] = ConvertDate(x) date = datestr((x+28800000)/86400000 + datenum(1970,1,1),31); ...
- fopen函数的用法示例_在C和C ++中使用fopen()函数的用法以及示例
fopen函数的用法示例 In C and C++ programming languages fopen() function is used to open files and make oper ...
- matlab如何求传递函数的幅值_MATLAB中求开环传递函数的幅值裕度、相位裕度、截止频率的margin()函数用法...
一.幅值裕度.相位裕度 相位裕度γ就是Bode图中幅值为0dB时对应的相位加上180°,如图中0dB时的相位是-99.1°,所以该系统的相位裕度就是 -99.1°+180°=80.9°.所谓相位裕度的 ...
- java冒泡排序函数验证_java冒泡排序-选择排序-插入排序-使用API中文文档直接调用函数...
import java.util.Arrays; public class ArrayDemo2_3 { public static void main(String []args) { //---- ...
- matlab norm函数使用_matlab中的norm是什么函数
展开全部 一,对于矩阵62616964757a686964616fe4b893e5b19e31333361313265 我们以下面矩阵为例: A = 0 1 2 3 4 ...
最新文章
- Ubuntu 18 snap 占用 100%,卸载 snap
- linux下动态库符号表,Linux动态库(.so)符号表
- 福利一波,赠票:2018杭州云栖大会 - 单日票(9月22日)
- unity 纹理压缩格式‘_[2018.1]Unity贴图压缩格式设置
- 前端学习(759):预解析案例
- Date Picker控件:
- 【Java从入门到头秃专栏 6】语法篇(五) :多线程 线程池 可见、原子性 并发包 Lambda表达式
- 转载:数据库表结构设计方法及原则
- 盘点一下结构体标签在Go中的应用
- BSD:Berkeley Software Distribution,伯克利软件套件
- idea安装drl插件
- java提示框easyui风格_[Java教程]jQuery EasyUI 提示框(Messager)用法
- PCM data flow - 2 - ASoC data structure
- NLP语义匹配 | 经典前沿方案整理
- iOS开发之UIAlertController的使用
- Spring Cloud Alibaba Sentinel之服务熔断篇
- MongoDB 学习笔记(一):安装及简单shell操作
- JavaCC详解 绝对干货
- XCELSIUS例子---柱形图部件的使用
- Pylab Plotting
热门文章
- MySQL索引知识点
- 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树
- AI种番茄!腾讯xWUR智慧温室大赛预赛揭晓,农科院和三星等五队挺进决赛
- 线程,进程,协程详细解释
- 【H264/AVC 句法和语义详解】(五):Exp-Golomb指数哥伦布编码(理论篇)
- http和socket之长连接和短连接区别
- 信号量函数 semget() semop() semctl()
- 连接池,数据库连接池
- System.currentTimeMillis()存在性能问题
- 数据库不推荐使用外键的9个理由