当前位置: 首页 > news >正文

MATLAB训练神经网络小结

MATLAB训练神经网络小结

  • 1、一个典型例子
    • 1.1 可视化神经网络
    • 1.2 指定某一层的激活函数
    • 1.3 训练神经网络时使用L1正则化
    • 1.4返回训练过程中的参数
    • 1.5 查看训练好的权重系数
    • 1.6 如何使用早停法来防止过拟合

1、一个典型例子

例如输入特征为10维,想训练一个10x20x10x1的三层ANN,代码可以这样写:

% 直接生成两个隐藏层即可
net=feedforwardnet([20,10]);
% 定义好输入和输出数组X,Y
net=train(net,X,Y)
% 这里要注意的一个问题,例如X原始定义的是[10000,10],Y定义的是[10000,1],
% 因为我们都喜欢定义列向量,这个时候需要改变代码
net=train(net,X',Y'); % 需要将X和Y进行转置

1.1 可视化神经网络

% 这个很简单
view(net)

1.2 指定某一层的激活函数

注意,这里必须设置的是每层统一的激活函数。不可能设置每个神经元不同的激活函数。

% 例如将最后一层激活函数设置为线性函数
net.layers{end}.transferFcn='purelin';

注意,matlab中很多激活函数与普通激活函数命令不一样,例如tanh激活函数在matlab中为tansig,这个问题需要额外注意。

1.3 训练神经网络时使用L1正则化

net.trainParam.regularization.type='L1'

1.4返回训练过程中的参数

[net,tr]=train(net,X,Y);
% tr中包含每轮训练epoch过程中的训练集、验证集、测试集误差变化

1.5 查看训练好的权重系数

net.Iw % 由输入权重值组成的 numLayers x numInputs 元胞数组
net.Lw % 由层权重值组成的numLayers x numLayers 元胞数组
net.b % 由偏置值组成的numLayers x 1 元胞数组

1.6 如何使用早停法来防止过拟合

net.trainParam.max_fail=10 % 指定最大连续失败次数,如果网络连续10次验证集没有改善,
% 则停止训练
http://www.lryc.cn/news/26371.html

相关文章:

  • 实战:一天开发一款内置游戏直播的国产版Discord应用【附源码】
  • 嵌入式学习笔记——基于Cortex-M的单片机介绍
  • Python 虚拟环境的使用
  • 招生咨询|浙江大学MPA项目2023年招生问答与通知
  • Qt std :: bad_alloc
  • 《设计模式》装饰者模式
  • 一文说清Kubernetes的本质
  • 信息发布小程序【源码好优多】
  • 创新型中小企业申报流程
  • 【UE4 Cesium】加载离线地图
  • Spring面试题
  • 动态网站开发讲课笔记03:HTTP协议
  • 2023年天津财经大学珠江学院专升本专业课考试题型
  • 五方面提高销售流程管理的CRM系统
  • AutoCAD通过handle id选择实体
  • 页面状态码的含义
  • Redis 越来越慢?常见延迟问题定位与分析
  • 【python】python-socketio+firecamp使用踩坑指南
  • 【OJ比赛日历】快周末了,不来一场比赛吗? #03.04-03.10 #12场
  • C++11:继承
  • 【蓝桥杯试题】递归实现排列型枚举
  • 入职字节测试岗外包一个月,我离职了...
  • weak学习入门-01
  • 线程池中shutdown()和shutdownNow()方法的区别
  • 高可用/性能
  • PriorityQueues优先队列
  • arm 堆栈
  • leetcode-面试题 05.02. Binary Number to String LCCI
  • C语言函数阐述
  • 二叉树——把二叉搜索树转换为累加树