主要内容

使用回归VM预测块预测响应

这个例子展示了如何使用金宝app回归学习者应用程序,然后使用回归预测Simulink®中用于响应预测的块。该块接受一个观测值(预测数据金宝app),并使用经过训练的SVM回归模型返回观测值的预测响应。

回归学习应用程序中的回归模型训练

在回归学习应用程序中使用超参数优化来训练SVM回归模型。

1.在MATLAB®命令窗口中,加载卡比格并创建一个包含大多数预测变量和响应变量向量的矩阵。

负载卡比格X=[加速度、气缸、排量、马力、车型年款、重量];Y=每加仑;

2.开放式回归学习者。上应用程序选项卡,在应用程序节中,单击显示更多箭头以显示应用程序库。在机器学习与深度学习组,单击回归学习者.

3.在街上回归学习者选项卡,在文件节,选择新会议选择从工作空间..

4.在“从工作区新建会话”对话框中,选择矩阵X数据集变量列表。在下面回答,单击从工作区选项按钮,然后从工作区中选择向量Y。默认验证选项为5倍交叉验证,以防止过度装配。对于本例,请勿更改默认设置。

5.要接受默认选项并继续,请单击开始会话.

6.选择一个可优化的SVM模型进行训练回归学习者选项卡,在模型类型节中,单击显示更多箭头打开图库。在金宝app支持向量机组,单击可优化支持向量机. 应用程序将禁用使用并行当您选择一个可优化的模型时,单击该按钮。

7.在训练部分,单击火车. 该应用程序显示一个最小均方误差图当它运行优化过程时。在每次迭代中,应用程序尝试超参数值的不同组合,并使用在该迭代之前观察到的最小验证均方误差(MSE)更新绘图,以深蓝色表示。当应用程序完成优化过程时,它会选择一组优化的超参数,用红色方框表示。有关详细信息,请参阅最小均方误差图.

该应用程序在两个窗口中列出了优化的超参数优化结果绘图右侧的部分和优化超参数部分当前模型摘要窗玻璃一般来说,优化结果是不可重复的。

8.将模型导出到MATLAB工作区。上回归学习者选项卡,在出口部分,单击出口模式选择出口模式,然后单击好啊. 导出模型的默认名称为训练模型.

或者,您可以生成MATLAB代码,使用与在应用程序中训练SVM模型相同的设置训练回归模型。上回归学习者选项卡,在出口部分,单击生成函数. 该应用程序从会话生成代码,并在MATLAB编辑器中显示该文件。该文件定义了一个函数,该函数接受预测变量和响应变量,训练回归模型,并执行交叉验证。将函数名更改为列车模型并保存函数文件。利用该方法训练支持向量机模型列车模型作用

trainedModel=列车回归VMModel(X,Y);

9.从样本中提取训练好的SVM模型训练模型变量训练模型包含回归中的模型对象回归领域

svmMdl=trainedModel.RegressionSVM;

由于超参数优化可能导致模型过度拟合,因此建议在将数据导入回归学习者应用程序之前创建单独的测试集,并查看优化模型在测试集上的表现。有关更多详细信息,请参阅回归学习应用程序中的超参数优化训练回归模型.

创建Simul金宝appink模型

此示例提供Simulink模型金宝appslexCarDataRegressionSVMPredictExample.slx,其中包括回归预测块。您可以打开Simulink模型或按本节所述创金宝app建新模型。

打开Simulin金宝appk模型slexCarDataRegressionSVMPredictExample.slx.

SimMdlName=“slexCarDataRegressionSVMPredictExample”;开放式系统(SimMdlName)

这个预处理的回调函数slexCarDataRegressionSVMPredictExample包括加载样本数据、训练SVM模型以及为Simulink模型创建输入信号的代码。如果打开Simulink模型,则软件将在中运行代码金宝app预处理加载Simulink模型之前。要查看回金宝app调函数,请在安装程序关于建模选项卡,单击模型设置选择模型属性.然后,在回调选项卡上,选择预处理中的回调函数模型回调窗玻璃

要创建新的Simulink模型,金宝app请打开空白模型模板并添加RegressionSVM预测块。添加输入和输出块,并将它们连接到RegressionSVM预测块。

双击RegressionSVM预测块以打开“块参数”对话框。可以指定包含经过训练的SVM模型的工作空间变量的名称。默认变量名为svmMdl. 点击刷新按钮该对话框显示用于训练SVM模型的选项svmMdl在下面训练机器学习模型.

RegressionSVM Predict块需要一个包含6个预测值的观察值。双击输入块,然后设置端口尺寸到6点了信号属性标签。

为Simulink模型创建结构数组形式的输入信号。结构数组必须包含以下字段:金宝app

  • 时间-观测值进入模型的时间点。方向必须与预测数据中的观测值相对应。所以在这个例子中,时间必须是列向量。

  • 信号-描述输入数据并包含字段的1×1结构数组价值观尺寸哪里价值观是预测数据的矩阵,以及尺寸是预测变量的数量。

为对象创建适当的结构数组slexCarDataRegressionSVMPredictExample模型来自卡斯莫尔数据集。

负载卡斯莫尔testX=[加速度、气缸、排量、马力、车型年款、重量];testX=rmmissing(testX);时间=(0:size(testX,1)-1)';carsmallInput.signals(1).values=testX;carsmallInput.信号(1).尺寸=尺寸(testX,2);

要从工作区导入信号数据,请执行以下操作:

  • 打开“配置参数”对话框。上建模选项卡,单击模型设置.

  • 数据导入/导出窗格中,选择输入选中复选框并输入小卡输入在相邻的文本框中。

  • 解算器窗格,在下面模拟时间设置停止时间输入时间(结束). 在下面解算器选择设置类型固定步长,并设置解算器离散(无连续状态).

有关详细信息,请参阅用于模拟的负载信号数据(金宝appSimulink).

模拟模型。

sim(SimMdlName);

当Inport块检测到一个观测值时,它将观测值引导到RegressionSVM Predict块。你可以使用模拟数据检查器(金宝appSimulink)查看输出端口块的记录数据。

另见

相关话题