MATLAB神经网络拟合工具箱使用指南:实现神经网络回归的详细步骤

2024-11-27
来源:网络整理

本文介绍了软件中神经网络拟合(Net)工具箱的具体使用。

网络工具箱apk_网络工具箱_网络工具箱下载

在这篇基于神经网络(ANN)回归()的文章中,我们介绍了神经网络(ANN)在软件中的纯代码实现;在软件中,基于神经网络拟合工具箱,实际上只需点击几下鼠标即可实现神经网络回归。本文详细讲解了基于该工具箱实现神经网络回归的具体方法。

当然,当第一次导入我们的训练数据时,我们仍然需要使用几行代码。不过,这里的代码总体来说非常简单。它实际上是根据()函数来读取存储的数据的;然后,提取因变量Y和自变量X以供以后使用。这里需要注意一件事:如果你有多个自变量(比如我这里有两个自变量),你需要将这两个自变量合并,放到一个变量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已经准备好了。

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

打开后的界面如下。

其中,如果我们点击上图左下角的“ ”选项,就可以来到如下图所示的“ ”界面。可以理解,“ ”是神经网络工具箱的整体启动界面,而我们这里需要使用的神经网络拟合工具箱(Net)就是启动界面下的工具之一。

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

点击选择数据后,一定要选择数据的维度。换句话说,在你的输入和输出数据矩阵中,不同的行代表不同的样本,或者同一样本的不同属性(不同的自变量)。

网络工具箱apk_网络工具箱下载_网络工具箱

然后,选择“下一步”,进入划分验证集和测试集数据的界面。在这个界面中,我们需要划分验证集和测试集数据的比例(为什么要划分数据,这里不再赘述。而且,这个界面的右侧还有各个数据集的功能。如果您不明白,请参阅您马上就会明白)。一般来说,当数据量比较小时(我记得据说是不到一百万条数据,即使数据比较小,当然也要看你数据的具体情况),我们按照6:2:2的比例除以即可;当数据量较大时,可以按照98:1:1的比例进行划分。这里我们可以根据实际情况来划分。

然后点击“下一步”进入神经网络结构配置界面。在神经网络拟合工具箱中,我们只能配置神经网络隐藏层的神经元数量,隐藏层数量默认为1层,无法修改;而在基于神经网络(ANN)的()文章中,通过代码,我们不仅可以调整神经元的数量,还可以配置隐藏层的具体数量。

建议先填写默认的神经元数量10;模型运行多次后,可以返回此处根据模型的准确率和运行时间对神经元数量进行第二次调整。

然后点击“下一步”进入神经网络模型的训练界面。这里我们可以选择训练神经网络的具体算法,但总共只有三个选项,包括——算法、算法、算法;另外在《基于神经网络(ANN)回归》一文中,通过代码,我们可以选择的算法有很多,十多种。

这里大家可以结合各个算法的具体介绍,根据自己数据的实际情况进行选择。但一般情况下,您应该选择第一种算法——使用该算法的情况较多。选择算法后,点击“”开始训练模型。

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

并且准确度评价指标的具体值会出现在神经网络模型训练界面的右侧;该值下面的三个选项可用于绘制拟合图。

如果你对这个模型非常不满意,可以多次重复训练,也可以改变隐藏层神经元数量、训练算法等重新建模。如果您对模型总体满意,则点击“下一步”进入模型调整界面。

该接口可以更轻松地执行重复训练、修改隐藏层神经元数量、扩展或替换数据集等,从而改进您的模型。

如果没有问题,点击“下一步”进入解决方案部署界面(应该是这个翻译)。这个接口听起来很高级,但简单来说,就是将我们刚刚训练好的神经网络以不同的形式导出。

但对于我个人来说,这个页面其实用处不大——因为这里导出的并不是纯粹的神经网络代码,而是一些与开发和部署工具相关的函数或图表;这可能对开发者语言更有用。对于我们这些只想训练神经网络模型的人来说,我们可以跳过它。

然后点击“下一步”进入神经网络拟合工具箱的最后一个界面——结果保存界面。

这个接口是我们长期以来训练神经网络模型的最终目标。首先,“ ”栏可以自动生成代码;有了这段代码,以后如果我们要训练这种结构的神经网络模型,就不再需要在神经网络拟合工具箱中点击 ,直接将新的输入数据和输出数据导入到代码中,并修改相应的代码中的参数。比如我们一直提到的基于神经网络(ANN)回归()的文章中,里面的代码实际上就是通过这个选项生成的。

接下来的第二个框“Save Data to”是一个选项,用于保存本次训练神经网络模型过程中的一些关键参数。如果你以后不想用代码重现这个神经网络,而是想直接保存训练好的模型,下次直接用一两行代码调用,那么就选择保存神经网络模型对象这里。 (建议选择最后一个选项,即将所有参数以结构体的格式保存,防止以后需要某个参数时发现没有保存)。

这里我觉得有必要解释一下保存神经网络代码和神经网络参数的区别。如果我们把神经网络代码保存在“ ”一栏,那么以后调用这段代码的时候,就不会直接调用我们这次训练的神经网络模型,而是使用不同的数据,而不是通过这个神经网络来拟合。该工具箱通过修改代码来调试神经网络模型,还可以修改模型的各种参数(如隐藏层数、神经元数量、训练算法等)。而如果我们把神经网络模型的参数保存在“保存数据到”一栏里,那么当我们以后再次调用这个神经网络时,神经网络模型中的参数就不会改变,它永远是你的。该参数现已训练完毕。简单来说,前者是保存调试神经网络模型的代码,后者是保存你现在训练好的神经网络模型。

保存后点击“”退出神经网络拟合工具箱。另外,如果你没有保存任何神经网络代码或参数,系统会贴心地弹出提示框,要求你确认退出。

分享