机器学习问题

问并回答


劳拉·马丁内斯·莫莱拉


关于回归学习者应用程序的所有内容

这些专栏将着眼于一个主题,解释一些背景知识,并回答我从MATLAB中听到的一些问题®和仿真软万博1manbetx件®社区。

本专栏是关于人们对回归学习者应用程序提出的问题。我将总结一下这个应用程序是什么,然后看看五个问题:

1.我可以使用带有时间序列数据的回归学习者应用程序吗?

2.我能做些什么来减少训练时间?

3.我如何解释不同模型和可用图表的结果?

4.我选择RMSE最低的模型;还有什么我应该做的吗?

5.如何使用新数据进行预测?

本专栏回答了一些关于MATLAB中回归学习程序的问题;它不是一般意义上的回归。

自2017年以来,工程师和科学家已经可以使用回归学习者应用程序。回归分析帮助人们理解变量和数值响应之间的关系,并可以应用于预测能源消耗、财务绩效和制造工艺参数等任务。

从根本上说,回归学习者应用程序使您能够交互式地构建回归模型,而无需编写代码,并度量模型的准确性和性能。您可以快速比较各种回归模型和特性的性能。

该应用程序对于开始机器学习的人特别有用,所以我很高兴能回答一些与该应用程序直接相关的问题。

如果你不熟悉回归学习者应用程序,这里有一个演示视频让你快速上手:
观看视频

问1

问题一

我可以将回归学习器应用程序与时间序列数据一起使用吗?

绝对的。例如,您可以使用回归模型来预测电力负荷或
预测风暴造成的损失

与其他机器学习应用程序一样,在应用程序中使用时间序列数据之前,必须对其进行预处理和清理。这包括将数据调整为正确的格式、规范化数据以使其处于相同的规模、平均分布、处理重复或丢失的数据以及其他任何必要的任务。

这里有一个5:44的视频,介绍如何预处理存储在Microsoft®Excel®工作表中的时间序列数据。还有一个
数据科学教程
这演示了如何使用MATLAB导入、预处理、分析和可视化数据。


另外,你可以看看这个小抄
用MATLAB对时间序列数据进行预处理

问2

我的训练时间太长;我可以做些什么来更快地训练我的模型?

你可以在回归学习者应用程序中做一些事情来加速训练。只是一个简短的提醒,我正在关注应用程序本身的技术。

建议1:使用平行回归模型训练

如果您有并行计算ToolboxTM,那么首先也是更容易尝试的是使用并行回归学习者模型培训。此选项创建并行池以执行并行训练,并使您能够在继续工作的同时同时训练多个模型。如果选择此选项,您将在历史记录列表中看到每个培训和排队模型的进度指示器,并且您还可以随时取消单个模型。这种方法将有助于减少培训时间。
在回归学习者应用程序的菜单栏中选择“使用并行”。

建议2:使用拒绝验证

如果您的数据仍然很大,请确保使用了正确的验证选项。在“回归学习者”应用程序中打开新会话并选择数据时,交叉验证默认选择。

交叉验证可以帮助您将数据划分为若干个层次(k),对模型进行训练,并计算所有折叠的平均测试误差。与其他选项相比,此方法提供了更好的防止过度拟合的保护,但需要多次拟合,因此它适用于中小型数据集。

使用滑块控件,拒不验证可以帮助您选择要用作测试集的数据的百分比。该应用程序将在训练集上训练模型,并使用测试集评估其性能。用于测试的模型仅基于部分数据,因此拒绝验证特别适用于大型数据集。

当然,您也可以选择不验证您的模型,但这将使您有可能对训练数据进行过拟合。
了解有关回归问题的验证选项的更多信息

启动新会话时,默认情况下会选择交叉验证。

建议3:仅在一组模型类型上训练数据

如果您知道您的数据在某个特定的组模型中运行良好,或者某个特定的组模型训练速度太慢,您可以选中或取消选中该特定类型,而不是在应用程序中对其进行全部训练。如果您不确定,您可以尝试该选项所有quick-to-train,它将训练所有通常能够快速训练的模型类型。然后,您可以训练得到最低均方根误差(RMSE)的特定组的所有模型,以找到最佳模型。
了解更多关于训练回归模型的信息

建议4:减少训练数据

你经常听说如何获得足够地数据,但关键是要确保你有足够的正确的数据。您可能有一些几年前不必要的历史数据不再有用。删除或减少此类数据可以加快训练速度,当然您需要关注数据的准确性和表示方式。这应该是您最后的选择,因为您必须非常谨慎地减少数据。

问3

我如何解释不同模型和可用图表的结果?

这是一个非常好的问题!在用数据训练模型以解释结果之后,需要采取一些步骤。

步骤1:找到均方根误差最小的模型

RMSE测量每个模型的预测值和观测值之间的距离,因此它测量这些残差的分布。应用程序将在最低RMSE周围添加一个框。

步骤2:探索模型

一旦你选择了RMSE最低的模型,下一步就是检查
不同的地块可用
在应用程序中。两个流行的情节是响应和预测与实际。

图中:下部RMSE将以粗体显示,周围有一个方框。

较低的RMSE将以粗体显示,并在其周围有一个方框。

较低的RMSE将以粗体显示,并在其周围有一个方框。

响应图

响应图以垂直线显示预测响应与观测值的关系。如果您正在对您的数据使用拒绝验证或交叉验证,那么这个图就特别有趣,因为图中显示的预测是针对拒绝观察的,而模型没有接受过这方面的训练。

图中:使用响应图查看预测和观测之间的距离。

使用响应图查看预测和观测之间的距离。
使用响应图查看预测和观测之间的距离。

预测图与实际图

预测与实际的图可以帮助您检查模型的性能。你的模型的预测响应与实际的响应做了对比。在这个图中,一个完美的回归模型会有一个与观测值相同的预测响应,所以所有的点都在对角线上。然而,这在现实生活中是不会发生的,所以我们的目标是让点尽可能接近对角线,并大致对称地分布在对角线周围。如果您在图中检测到模式,这意味着可以改进模型,您可以训练另一种模型类型,或者使用高级选项使模型更加灵活。

如图所示:预测值与实际值的对比可以帮助您可视化回归模型的准确性

预测图与实际图可以帮助您可视化回归模型的准确性。

预测图与实际图可以帮助您可视化回归模型的准确性。

问4

我选择了RMSE最低的模型;我还应该做些什么来优化它?

在为数据训练和评估了初始模型之后,可以通过调优模型的超参数来确保最佳性能。


要自动选择并查找模型的最佳超参数值,可以使用
hyperparameter优化功能
. 应用程序尝试超参数值的不同组合,以最小化模型的均方误差(MSE),并返回具有优化超参数的新模型。


由于超参数调整的影响因模型而异,因此必须为多种类型的模型优化超参数,因为初始模型可能无法产生最佳性能。

问5

我怎么开始预测呢?

要使用经过充分训练和优化的模型对新数据进行预测,您需要将模型发送到某个地方。您可以将其导出到MATLAB中的工作区,或者使用应用程序中的相同步骤生成用于训练模型的MATLAB代码。从那里,您可以使用MATLAB编译器部署模型™ 或者使用MATLAB编码器从模型生成C/C++代码™.

查看示例以了解要遵循的步骤

想要更多吗?

感谢大家的阅读。如果你有一个关于机器学习的问题,你想在这个专栏中回答,请将它添加到下面的表格中。

谢谢你的建议!