});

Tutorial: Matlab 神经网络工具箱GUI


Ref with great thanks:CSDN,Zhihu

载入工具箱

如图打开神经网络工具箱,当前推荐使用NN Fitting

Matlab
The toolbox

弹出如下界面,上方是原理介绍,感兴趣可以看看。
点击Next即可
Welcome

数据读取 (关键)

load data
需要从外部载入数据,此处以excel为例,如需要处理hdf等格式可再联系笔者补充
重要快捷键:excel和matlab载入界面通用
同时安下shift+ctrl+方向键可以快速选择整行或整列

下面介绍两种导入excel数据方法
方法一适用于小数据单次训练
方法二适用于数据量较大的
两种方法在反复训练时都可以保存workspace为.m文件以省去重复数据载入的动作
file

方法一:excel预处理

  1. 分别保存输入和输出为新的xls文件,可以保留第一行的参数名称呼。但输入参数那列必须单独剪切粘贴到新的xls文件中
  2. 如下图点击【…】按钮后选择对应输入数据.xls文件
    file

注意选择数据分割方式(row / column )和excel文档匹配
当每个参数的数据保存在一列中时,应选择Matrix columns
导入后确认下图中右方是否维度匹配

无误后next

方法二:导入excel为matlab variables

file

数据集划分


保持train:val:test=70%:15%:15%即可。

  • dataset较小时可以适当增加val, test比例,以保证有足够数据验证训练效果。
  • 数据集大时应增加train比例保证更好的训练效果

隐节点数量


默认10,先不变动,如效果不好再改动。也可针对该变量进行多组训练对比其影响。
一般为2的倍数,目前有经验公式,但不存在普适性规律。
一般来说

  • 隐节点数量越大,所需训练数据量越大
  • 隐节点数量越大,可以学习到更多细节

训练策略

默认levenberg-marquardtz,保持即可。是一种混合牛顿和梯度下降法的步长调整算法。详情可看笔者帖子{LInk:}

训练结果与评价

等待训练完成

主要看R2(点击Regression)和MSE(点击Performance)

  • R2越接近1越好
  • MSE越接近0越好
    下图展示的是Regression R2:

Troubleshooting:

  • Train>val>Test
  • 如果出现train远大于val,或test,表明数据异常过拟合。请减少隐节点数再次尝试。
  • 如出现val, test>train,请再次运行,如频繁出现,建议检查数据分布是否符合正态分布,或skewness是否过大

模型保存与再利用

如下图设置各参数名称后保存即可

保存成功后可见工作区(workspace)出现下图参数:

再次调用网络模型,可在命令行(command window)输入

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.