MATLAB深度学习layer、options参数浅析与文章推荐
很多小伙伴接触matlab深度学习时不清楚layer与training options参数。
matlab深度学习中的layer与training options参数分别决定了你模型的网络架构与训练方式
layer参数包括你模型从输入走向输出的各层,options包括你训练网络的详细参数设定。
下例来源:MATLAB LSTM多输入单输出 模式分类 示例解析(含代码)_严肃小白兔的博客-CSDN博客
layer网络架构
miniBatchSize = 27;
numFeatures = 12;
numHiddenUnits = 100;
numClasses = 9;
layers = [ ...
sequenceInputLayer(numFeatures)
bilstmLayer(numHiddenUnits,'OutputMode','last')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer]
层级设置=[
序列输入层(特征数量)
双向lstm层(隐藏单元个数,'输出模式','多对一')
全连接层(目标个数)%目标个数即分类的类别数
softmax层(映射层)
输出分类层]
此类层级设置仅限lstm长短期记忆神经网络
层级设置可以手段调整,不是固定模式的代码
如果你想达到别的目的,你可以根据需要对layer进行修改,每一层都有其存在的意义。目前能力有限,希望能在后面出一期完整的matlab不同设定层的分析。
options训练选项
maxEpochs = 100;
miniBatchSize = 27;
options = trainingOptions('adam', ...
'ExecutionEnvironment','cpu', ...
'GradientThreshold',1, ...
'MaxEpochs',maxEpochs, ...
'MiniBatchSize',miniBatchSize, ...
'SequenceLength','longest', ...
'Shuffle','never', ...
'Verbose',0, ...
'Plots','training-progress');
选项 = 训练选项设置('累加器', ...
'训练执行单元','cpu', ...
'梯度阈值',1, ...
'最大训练轮次',maxEpochs, ...
'最小步距',miniBatchSize, ...
'序列长度','整个序列', ...
'乱序','否', ...
'在命令窗口中显示训练进度信息',否, ...
'画图','训练过程');
选择优化器:累加器 'adam'(派生自自适应矩估计)求解器通常适合作为首先尝试的优化器。除此之外还有 'rmsprop'(均方根传播)和 'sgdm'(带动量的随机梯度下降)优化器,选取的标准要依据效果。
相关资料:adam:https://www.csdn.net/tags/Ntjagg2sNTIxMy1ibG9n.html
梯度相关概念:梯度下降来龙去脉附matlab代码_金石开1510的博客-CSDN博客
最大训练轮次(MaxEpochs):训练多少轮,epoch是世代的意思,每次使用全部子集完成一次运算就是完成了一次epoch,训练轮次的设置要在防止数据过拟合的前提下尽量提高模型效果。
最小步距 (MiniBatchSize):batch批次的意思,在梯度下降中一般来说要遍历所有样本,但有的时候样本个数特别大,不适合逐一遍历作梯度下降。此时我们就可以将样本划分若干子集,对子集进行遍历,针对每一个子集进行梯度下降,更新参数。MiniBatchSize是每个子集内样本个数,最小是1,最大是全部样本个数。
序列长度(SequenceLength):“最长”-每个小批中的Pad序列具有与最长序列相同的长度。除此之外还有:‘shortest’—截断每个小批中的序列,使其长度与最短序列相同。‘positive integer’—每个小批量的序列具有与最长序列相同的长度,然后分割成指定长度的较小序列。如果发生分裂,则该函数创建额外的小批。
乱序(Shuffle):'never’不打乱数据。除此之外还有:'once’在训练之前,对训练和验证数据进行一次洗牌、'every-epoch’在每个训练轮次之前洗牌训练数据。
推荐文章:MATLAB深度学习工具箱文档——trainingOptions函数的参数设置_素观江湖真的博客-CSDN博客_matlab trainingoptions函数
MATLAB深度学习layer、options参数浅析与文章推荐相关推荐
- 【MATLAB深度学习工具箱】学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的数据结构】
原文链接如下 [MATLAB深度学习工具箱]学习笔记--体脂估计Body Fat Estimation_bear_miao的博客-CSDN博客介绍本示例展示一个函数拟合神经网络如何根据解剖学测量结果估 ...
- 【MATLAB深度学习工具箱】学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的函数】
介绍 上一篇 [MATLAB深度学习工具箱]学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的数据结构]_bear_miao的博客-CSDN博客原文链接如下[MATLAB深度学习工具箱]学 ...
- (转)Matlab深度学习工具试玩手册一:基本操作与迁移学习
原贴博客:https://blog.csdn.net/zfrycw/article/details/80633979 目录 前言 一.利用现成网络进行分类 二.构建简单的分类网络 三.迁移学习 前言 ...
- Matlab深度学习-手写体数字识别
Matlab深度学习 文章目录 Matlab深度学习 前言 一.MNIST手写体数字数据 二.用到的深度学习框架-LeNet5 2-0 LeNet5的网络架构 2-1 框架实现-通过Matlab GU ...
- MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步
MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步 创作目的 项目简介 本期重点---数据集构建 本文所使用数据集简介 用table来搭建训练集 总结 创作目的 大家好,这里是微信公 ...
- MATLAB深度学习之LSTM
MATLAB深度学习之LSTM 深度学习工具箱 net = trainNetwork(sequences,Y,layers,options) clc clear %% 训练深度学习 LSTM 网络,进 ...
- 【第 07 章 基于主成分分析的人脸二维码识别MATLAB深度学习实战案例】
基于主成分分析的人脸二维码识别MATLAB深度学习实战案例 人脸库 全套文件资料目录下载链接–>传送门 本文全文源码下载[链接–>传送门] 如下分析: 主文件 function varar ...
- 第 12 章 基于块匹配的全景图像拼接--Matlab深度学习实战图像处理应用
第 12 章 基于块匹配的全景图像拼接–Matlab深度学习实战图像处理应用GUI实现 效果如图所示 完整案例 主函数文件 Gui_Main.m文件 function varargout = Gui_ ...
- cnn 反向传播推导_深度学习中的参数梯度推导(三)下篇
前言 在深度学习中的参数梯度推导(三)中篇里,我们总结了CNN的BP推导第一步:BP通过池化层时梯度的计算公式.本篇(下篇)则继续推导CNN相关的其他梯度计算公式. 注意:本文默认读者已具备深度学习上 ...
- 第 09 章 基于特征匹配的英文印刷字符识别 MATLAB深度学习实战案例
基于特征匹配的英文印刷字符识别 MATLAB深度学习实战 话不多讲,直接开撸代码 MainForm函数 function MainForm global bw; global bl; global b ...
最新文章
- HDU4920 Matrix multiplication 矩阵
- OpenCV在图像上画线、矩形、椭圆、多边形、填充的多边形、圆、显示文字
- 深度探索C++ 对象模型(4)-Default Copy Constructor(2)
- debug和release的区别
- 【CSS3】---only-child选择器+only-of-type选择器
- OpenCV自适应阈值分割函数:adaptiveThreshold()介绍
- HDFS数据平衡:节点间平衡与节点内平衡
- golang 编译 执行时候报错cannot declare name db.Query
- WINDOWS.H already included.MFC apps must not #include windows.h
- 纲要-Java网络爬虫系统性学习与实战(1)
- 网页三栏布局五种实现方式(左中右)
- 苏炳添博士论文研究自己,奥运学术两兼顾
- Java剑开天门(二)
- 车辆网络安全ISO/SAE 21434解读(十)TARA分析
- NFT - 2022年科技圈新宠
- #4258. 铃铛计数问题
- 1602液晶显示摄氏度
- javascript-彩票游戏
- 【python】猫眼爬虫Top100电影信息
- 第15讲 推断未知:统计推断的基本方法