MATLAB神经网络拟合回归工具箱Neural Net Fitting的使用方法

简介: MATLAB神经网络拟合回归工具箱Neural Net Fitting的使用方法

  本文介绍MATLAB软件中神经网络拟合Neural Net Fitting)工具箱的具体使用方法。

  在基于MATLAB的神经网络(ANN)回归https://blog.csdn.net/zhebushibiaoshifu/article/details/115029033)这篇文章中,我们介绍了MATLAB软件中神经网络(ANN)的纯代码实现;而在MATLAB软件中,其实基于神经网络拟合工具箱,就可以点点鼠标实现神经网络的回归。本文就对基于这一工具箱实现神经网络回归的具体方法加以详细讲解。

  当然,在首先导入我们的数据时,还是需要用到几行代码的。不过这里的代码整体而言也非常简单,其实就是基于readtable()函数,读取存储于Excel中的数据;随后,将因变量Y与自变量X提取出来备用。这里有一点需要注意:大家的自变量如果有多个(比如我这里就有data_NDVIdata_Soil两个自变量),需要将这两个自变量合并,放在一个变量X中。

clc;
close;
clear all;
point_file="E:/LST/01_Data/Analysis/Point_Field.xlsx";
data_all=readtable(point_file);
data_Y=data_all(:,3);
data_NDVI=data_all(:,4);
data_Soil=data_all(:,5);
Y=table2array(data_Y);
N=table2array(data_NDVI);
S=table2array(data_Soil);
X=[N S];

  随后,我们运行这里的代码。如下图所示,可以看到我的因变量Y与自变量X都准备完毕了。

  接下来,我们在MATLAB软件顶部菜单中,依次选择“APP”→“Neural Net Fitting”,打开神经网络拟合工具箱

  打开后的界面如下所示。

  其中,如果我们点击上图左下角的“Neural Network Start”选项,就可以来到如下图所示的“Neural Network Start”界面。可以这么理解,“Neural Network Start”是MATLAB中神经网络工具箱的一个整体的开始界面,而我们这里需要用到的神经网络拟合工具箱Neural Net Fitting)就是该开始界面下属的其中一个工具。

  言归正传,我们再上上图中点击“Next”,就可以看到如下所示的数据筛选界面。该界面就是我们用来选择输入数据(自变量)、输出数据(因变量)的地方。而无论是输入数据还是输出数据,可以看到,我们都需要用鼠标在MATLAB软件的工作区中找到对应的变量。这也是为什么在本文一开始,我们需要先执行一段代码,将数据从Excel中读取到MATLAB中去的原因。

  点击选择完毕数据后,一定注意需要对数据的维度进行选择。换句话说,就是你的输入与输出数据矩阵中,不同行代表的是不同样本,还是同一样本的不同属性(不同自变量)。

  随后,选择“Next”,进入验证集与测试集数据的划分界面。在这个界面中,我们需要对验证集与测试集数据的比例进行划分(为什么要划分数据这里就不再赘述啦,而且这一个界面的右侧也有每一个数据集合的作用,大家不理解的话参考一下就明白了)。一般的,在数据量比较少的情况下(我记得有说少于一百万条数据,就算数据比较少,当然肯定要看大家数据的具体情况),我们按照6:2:2的比例进行划分即可;在数据量多的情况下,则可以按照98:1:1的比例来划分。这里大家就依据实际情况来划分即可。

  随后,点击“Next”,进入神经网络结构配置界面。在神经网络拟合工具箱中,我们仅仅只能对神经网络的隐藏层的神经元数量进行配置,而隐藏层的数量默认为1层,且还不能修改;而在基于MATLAB的神经网络(ANN)回归https://blog.csdn.net/zhebushibiaoshifu/article/details/115029033)这篇文章中,通过代码,我们不仅可以对神经元数量进行调整,还可以配置隐藏层的具体层数

  这里建议大家先按照默认的神经元数量10进行填写;等后期运行过模型几次后,根据模型的精度运行时间,再返回这里对神经元的数量进行二次调整。

  随后,点击“Next”,就进入神经网络模型的训练界面了。这里我们可以选择训练神经网络的具体算法,但一共仅仅有三个选项,包括Levenberg-Marquardt算法、Bayesian regularization算法、Scaled conjugate gradient backpropagation算法;同样是在基于MATLAB的神经网络(ANN)回归https://blog.csdn.net/zhebushibiaoshifu/article/details/115029033)这篇文章中,通过代码,我们可以选择的算法就有很多了,有十余种。

  这里大家结合每一种算法的具体介绍,依据自己的数据实际情况来选择即可。不过一般的,应该选择第一种算法——Levenberg-Marquardt算法的场合会多一些。选择算法完毕后,点击“Train”就可以开始训练模型。

  模型训练完毕后,会弹出如下所示的训练结果窗口。

  且在神经网络模型的训练界面的右侧会出现精度评定指标的具体数值;数值下方的三个选项可以用来绘制拟合情况图。

  如果对这个模型非常不满意,就可以多次重复训练,还可以更改隐藏层神经元数量、训练算法等进行重新建模。如果对模型大体满意,点击“Next”即可进入模型调整界面。

  这个界面可以更方便地进行重复训练、修改隐藏层神经元个数、扩大或更换数据集等,从而完善大家的模型。

  如果没有问题,点击“Next”即可进入解决方案部署界面(应该是这么翻译的)。这个界面听起来高深,其实说简单点,就是将我们刚刚训练好的神经网络,以不同的形式来导出。

  但我对于我个人而言,这个页面其实没有很大的作用——因为这里导出的并不是纯粹的神经网络MATLAB代码,而是一些和开发、部署工具有关的函数或图表;这里或许对于开发人员而言比较有用,对于我们这种只是单纯想训练一个神经网络模型的人而言,直接跳过就可以。

  随后,点击“Next”即可进入神经网络拟合工具箱的最后一个界面——结果保存界面。

  这个界面是我们训练这么久神经网络模型的最终目标。首先,“Generate Scripts”一栏可以自动生成一个MATLAB代码;有了这个代码,以后我们再想对这个结构的神经网络模型进行训练,就不用再在神经网络拟合工具箱中点来点去了,直接把新的输入数据、输出数据导入到代码里,修改代码中对应的参数即可。例如,我们一直提及的基于MATLAB的神经网络(ANN)回归https://blog.csdn.net/zhebushibiaoshifu/article/details/115029033)这篇文章,其中的代码其实就是通过这个选项来生成的。

  接下来第二个方框“Save Data to Workspace”,是对本次你训练神经网络模型过程中一些关键参数进行保存的选项。假如大家今后不想用代码来复现这个神经网络,而是想直接将训练好的模型保存下来,下一次直接用一两句代码调用它,那就选择在这里将神经网络模型对象保存下来就好(建议选择最后一项,即以结构体的格式保存全部的参数,防止之后需要某个参数了结果发现没保存)。

  这里我认为有必要说明一下保存神经网络代码神经网络参数的区别。如果我们在“Generate Scripts”一栏保存了神经网络的代码,那么今后我们调用这个代码,并不是直接调用我们本次训练好的神经网络模型,而是再用不同的数据,不通过这个神经网络拟合工具箱而是通过修改代码的方法,对神经网络模型进行调试,还可以修改模型的各项参数(比如隐藏层数量、神经元数量、训练算法等)。而如果我们在“Save Data to Workspace”一栏保存了神经网络模型这个参数,那么今后再调用这个神经网络的时候,神经网络模型里的各项参数就不会再变了,就永永远远是你现在训练好的这个参数。说得简单一点,前者是保存调试神经网络模型的代码,后者就是保存你现在训练好的这个神经网络模型

  保存完毕后,点击“Finish”即可退出神经网络拟合工具箱。如果大家没有保存任何神经网络代码或参数的话,系统还会很贴心地弹出一个提示框,询问你是否确认退出。

欢迎关注公众号/CSDN/知乎/微博:疯狂学习GIS


相关文章
|
16天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
83 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
|
3天前
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
|
7天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-LSTM-SAM网络时间序列预测算法。使用Matlab2022a开发,完整代码含中文注释及操作视频。算法结合卷积层提取局部特征、LSTM处理长期依赖、自注意力机制捕捉全局特征,通过粒子群优化提升预测精度。适用于金融市场、气象预报等领域,提供高效准确的预测结果。
|
21天前
|
机器学习/深度学习 数据采集 算法
基于WOA鲸鱼优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB 2022a实现时间序列预测,采用CNN-GRU-SAM网络结构,结合鲸鱼优化算法(WOA)优化网络参数。核心代码含操作视频,运行效果无水印。算法通过卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征,全连接层整合输出。数据预处理后,使用WOA迭代优化,最终输出最优预测结果。
|
3月前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
231 80
|
15天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
13天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目使用MATLAB 2022a实现时间序列预测算法,完整程序无水印。核心代码包含详细中文注释和操作视频。算法基于CNN-LSTM-SAM网络,融合卷积层、LSTM层与自注意力机制,适用于金融市场、气象预报等领域。通过数据归一化、种群初始化、适应度计算及参数优化等步骤,有效处理非线性时间序列,输出精准预测结果。
|
26天前
|
传感器 算法 物联网
基于粒子群算法的网络最优节点部署优化matlab仿真
本项目基于粒子群优化(PSO)算法,实现WSN网络节点的最优部署,以最大化节点覆盖范围。使用MATLAB2022A进行开发与测试,展示了优化后的节点分布及其覆盖范围。核心代码通过定义目标函数和约束条件,利用PSO算法迭代搜索最佳节点位置,并绘制优化结果图。PSO算法灵感源于鸟群觅食行为,适用于连续和离散空间的优化问题,在通信网络、物联网等领域有广泛应用。该算法通过模拟粒子群体智慧,高效逼近最优解,提升网络性能。
|
26天前
|
机器学习/深度学习 数据采集 算法
基于GWO灰狼优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a,展示了时间序列预测算法的运行效果(无水印)。核心程序包含详细中文注释和操作视频。算法采用CNN-GRU-SAM网络,结合灰狼优化(GWO),通过卷积层提取局部特征、GRU处理长期依赖、自注意力机制捕捉全局特征,最终实现复杂非线性时间序列的高效预测。
|
2月前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真

热门文章

最新文章