主要内容

使用RecressionsVM预测响应预测块

此示例显示了如何使用该支持向量机(SVM)回归模型训练万博1manbetx回归学习者应用,然后使用RecressionsVM预测在Simulink®中进行响应预测的块。万博1manbetx该块接受观察结果(预测数据),并使用训练有素的SVM回归模型返回观察结果的预测响应。

回归学习者应用中的火车回归模型

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

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

加载卡比格x = [加速度,圆柱体,位移,马力,型号,重量];y = mpg;

2.打开回归学习者。在应用标签,在应用部分,单击显示更多箭头显示应用程序画廊。在里面机器学习和深度学习小组,单击回归学习者

3.在回归学习者标签,在文件部分,选择新会话并选择从工作区

4.在工作区对话框的新会话中,选择矩阵X来自数据集变量列表。在下面回复, 点击从工作区选项按钮,然后从工作区中选择矢量y。默认验证选项为5倍交叉验证,以防止过度拟合。对于此示例,请勿更改默认设置。

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

6.选择可训练的可优化SVM模型。在回归学习者标签,在楷模部分,单击显示更多箭头打开画廊。在里面万博1manbetx支持向量机小组,单击优化的SVM

7.在火车部分,单击训练全部并选择选择火车。该应用显示最小MSE图在运行优化过程时。在每次迭代中,该应用程序都会尝试使用高参数值的不同组合,并通过观察到该迭代的最小验证平方误差(MSE)更新图,以深蓝色指示。当应用完成优化过程时,它选择了由红色正方形指示的优化超参数集。有关更多信息,请参阅最小MSE图

该应用在两个中列出了优化的超参数优化结果情节右侧的部分模型超参数模型部分概括标签。通常,优化结果不可再现。

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

另外,您可以生成MATLAB代码,该代码训练与用于训练应用程序中SVM模型的相同设置的回归模型。在回归学习者标签,在出口部分,单击生成功能。该应用程序从您的会话中生成代码,并在MATLAB编辑器中显示文件。该文件定义了接受预测变量和响应变量,训练回归模型并执行交叉验证的函数。将功能名称更改为trainregressionsvmmodel并保存功能文件。通过使用trainregressionsvmmodel功能。

TrainedModel = TrainRegressionsvmmodel(x,y);

9.从训练的模型多变的。训练的模型包含a回归vm模型对象回归vm场地。

svmmdl = trainedmodel.regressionsvm;

由于超参数优化可以导致一个过度拟合的模型,因此推荐的方法是在将数据导入回归学习者应用程序之前创建一个单独的测试集,并查看优化模型在测试集上的性能。有关更多详细信息,请参阅在回归学习者应用中使用超参数优化的火车回归模型

创建Simul万博1manbetxink模型

此示例提供了simulink模型万博1manbetxslexcardatareGressionsvmpredictexample.slx,其中包括RecressionsVM预测堵塞。您可以打开Simulink模型或如万博1manbetx本节中所述创建新模型。

打开Simulin万博1manbetxk模型slexcardatareGressionsvmpredictexample.slx

simmdlname =“ slexcardatareGressionsvmpredictexampame”;open_system(simmdlname)

预载体回调功能slexcardatareGressionsvmpredictExample包括加载示例数据,训练SVM模型的代码,并为Simulink模型创建输入信号。万博1manbetx如果打开simulink模型,则万博1manbetx该软件在预载体在加载Simulink模型之前。万博1manbetx要查看回调函数,在设置关于造型选项卡,单击模型设置并选择模型属性。然后,在回调选项卡,选择预载体回调功能模型回调窗格。

要创建新的Simulink模型,万博1manbetx请打开空白型号模板并添加ReverSionsVM预测块。添加INPORT和OUTPORT块,然后将它们连接到RecressionsVM预测块。

双击ReverSionsVM预测块将打开“块参数”对话框。您可以指定包含训练有素的SVM模型的工作区变量的名称。默认变量名称是SVMMDL。点击刷新按钮。对话框显示用于训练SVM模型的选项SVMMDL在下面训练有素的机器学习模型

回归VM预测块期望一个观察值包含6个预测值。双击INPORT块,并设置端口尺寸到6信号属性标签。

以Simulink模型的结构数组的形式创建一个输入信号。万博1manbetx结构数组必须包含以下字段:

  • 时间- 观测值进入模型的时间点。方向必须对应于预测器数据中的观测值。因此,在此示例中,时间必须是列矢量。

  • 信号- 描述输入数据并包含字段的1 by-1结构数组方面, 在哪里是预测数据数据的矩阵,方面是预测变量的数量。

创建适当的结构数组slexcardatareGressionsvmpredictExample来自汽车舞数据集。

加载汽车舞testx = [加速度,圆柱体,位移,马力,型号,重量];testx = rmmissing(testx);CARSMALLINPUT.TIME =(0:size(testx,1)-1)';carsmallinput.signals(1).values = testx;CARSMALLINPUT.SIGNALS(1).dimensions = size(testx,2);

从工作空间导入信号数据:

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

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

  • 在里面求解器窗格,下模拟时间, 放停止时间CARSMALLINPUT.TIME(END)。在下面求解器选择, 放类型固定步骤,并设置求解器离散(没有连续状态)

有关更多详细信息,请参阅负载信号数据进行仿真(万博1manbetxSimulink)

模拟模型。

SIM(simmdlname);

当Inport块检测到一个观察结果时,它将观察值引导到RecressionsVM预测块中。您可以使用仿真数据检查器(万博1manbetxSimulink)查看出口块的记录数据。

也可以看看

相关话题