在您选择要训练的特定类型的模型(例如决策树或支持向量机)后,您可以通过选择不同的高级选项来优化您的模型。金宝app例如,您可以更改决策树的最大分割数或SVM的框约束。其中一些选项是模型的内部参数或超参数,它们会强烈影响模型的性能。无需手动选择这些选项,您可以在Classification Learner应用程序中使用超参数优化来自动选择超参数值。对于给定的模型类型,应用程序通过使用寻求最小化模型分类错误的优化方案来尝试不同的超参数值组合,并返回具有优化的超参数的模型。您可以像使用任何其他训练过的模型一样使用生成的模型。
请注意
因为超参数优化会导致模型过拟合,推荐的方法是在将数据导入Classification Learner应用程序之前创建一个单独的测试集。训练完可优化的模型后,可以看到它在测试集上的表现。有关示例,请参见在分类学习App中使用超参数优化训练分类器.
要在Classification Learner中执行超参数优化,请遵循以下步骤:
在分类学习者应用程序中模型类型部份分类学习者选项卡,单击箭头打开图库。图库包括可优化的模型,您可以使用超参数优化来训练这些模型。
选择可优化模型后,可以选择要优化的超参数。在模型类型部分中,选择高级>高级.应用程序会打开一个对话框,你可以在其中进行选择优化选中要优化的超参数对应的复选框。下值,为不想优化或不可优化的超参数指定固定值。
该表描述了可以针对每种类型的模型进行优化的超参数以及每个超参数的搜索范围。它还包括可以为其指定固定值的额外超参数。
模型 | Optimizable Hyperparameters | 额外Hyperparameters | 笔记 |
---|---|---|---|
Optimizable树 |
|
|
有关更多信息,请参见高级树选项. |
Optimizable判别 |
|
有关更多信息,请参见高级判别选项. |
|
可优化的朴素贝叶斯 |
|
|
有关更多信息,请参见高级朴素贝叶斯选项. |
Optimizable支持向量机 |
|
有关更多信息,请参见高级支持向量机选项. |
|
Optimizable资讯 |
|
有关更多信息,请参见高级KNN选项. |
|
Optimizable合奏 |
|
|
有关更多信息,请参见高级集成选项. |
可优化的神经网络 |
|
|
有关更多信息,请参见高级神经网络选项. |
默认情况下,分类学习应用程序通过使用贝叶斯优化来执行超参数调优。贝叶斯优化的目标,以及一般的优化,是找到一个使目标函数最小化的点。在app的超参数调优上下文中,一个点是一组超参数值,目标函数是损失函数,也就是分类误差。有关贝叶斯优化基础知识的更多信息,请参见贝叶斯优化流程.
您可以指定如何执行超参数调优。例如,您可以将优化方法更改为网格搜索或限制训练时间。在分类学习者选项卡,在模型类型部分中,选择高级>优化选项.应用程序打开一个对话框,你可以在其中选择优化选项。
该表描述了可用的优化选项及其默认值。
选项 | 描述 |
---|---|
优化器 | 优化器值为:
|
获取函数 | 当应用程序对超参数调优执行贝叶斯优化时,它使用采集函数来确定下一组要尝试的超参数值。 采集函数值为:
有关这些获取函数如何在贝叶斯优化上下文中工作的详细信息,请参见采集函数类型. |
迭代 | 每次迭代都对应于应用程序尝试的超参数值的组合。当您使用贝叶斯优化或随机搜索时,请指定一个正整数来设置迭代次数。默认值为 当你使用网格搜索时,应用程序会忽略迭代在整个网格的每个点上对损失进行评估。您可以设置训练时间限制来过早地停止优化过程。 |
培训时限 | 若要设置培训时间限制,请选择此选项并设置以秒为单位的最大训练时间选择。默认情况下,该应用程序没有训练时间限制。 |
以秒为单位的最大训练时间 | 将训练时间限制(以秒为单位)设置为正实数。默认值为300 .运行时间可以超过训练时间限制,因为这个限制不会中断迭代计算。 |
网格划分个数 | 当你使用网格搜索时,设置一个正整数作为应用程序为每个数字超参数尝试的值的数量。应用程序忽略类别超参数的这个值。默认值为10 . |
在指定要优化的模型超参数并设置任何其他优化选项(可选)之后,训练可优化的模型。在分类学习者选项卡,在培训部分中,点击火车.应用程序创建一个最小分类误差图它在优化运行时进行更新。
请注意
当你训练一个可优化的模型,应用程序禁用使用并行按钮。训练完成后,当你选择一个不可优化的模型时,应用程序会让按钮再次可用。该按钮默认关闭。
最小分类误差图显示如下信息:
估计的最小分类误差-每个浅蓝色点对应于优化过程在考虑到目前为止尝试的所有超参数值集(包括当前迭代)时计算出的最小分类误差的估估值。
该估计是基于当前分类误差目标模型的上置信区间,如中所述Bestpoint hyperparameters描述。
如果您使用网格搜索或随机搜索来执行超参数优化,应用程序不会显示这些浅蓝色点。
观察到的最小分类误差-每个深蓝色点对应到目前为止通过优化过程计算的观察到的最小分类误差。例如,在第三次迭代中,深蓝色点对应于在第一次、第二次和第三次迭代中观察到的分类错误的最小值。
Bestpoint hyperparameters—红色方块表示优化后的超参数对应的迭代。您可以在图的右上方找到优化超参数的值优化结果.
优化后的超参数并不总是提供观测到的最小分类误差。当应用程序通过使用贝叶斯优化执行超参数调优(参见优化选项简单介绍一下),它选择使分类误差目标模型的上置信区间最小的超参数值集,而不是使分类误差最小的超参数值集。有关更多信息,请参见“标准”、“min-visited-upper-confidence-interval”
的名称-值对参数bestPoint
.
最小误差超参数-黄色点表示产生观测到的最小分类误差的超参数对应的迭代。
有关更多信息,请参见“标准”、“min-observed”
的名称-值对参数bestPoint
.
如果使用网格搜索执行超参数优化,则Bestpoint hyperparameters和最小误差超参数都是一样的。
情节中的缺失点对应于南
最小分类错误值。
当应用程序完成调优模型超参数时,它返回一个用优化的超参数值训练的模型(Bestpoint hyperparameters).模型度量、显示的图形和导出的模型对应于具有固定超参数值的训练模型。
中选择模型,以检查经过训练的可优化模型的优化结果模型窗格,看看当前模型总结窗格。
的当前模型总结窗格包括以下部分:
培训结果-显示可优化模型的性能
模型类型—显示可优化模型的类型,并列出任何固定的超参数值
优化Hyperparameters—显示优化后的超参数值
超参数搜索范围—显示优化后超参数的搜索范围
优化器选择—显示所选的优化器选项
当您使用贝叶斯优化执行超参数调优并将经过训练的可优化模型作为结构导出到工作空间时,该结构包括BayesianOptimization
对象中的HyperParameterOptimizationResult
字段。对象包含在应用程序中执行的优化结果。
当你生成MATLAB时®代码来自一个经过训练的可优化模型,生成的代码使用模型的固定和优化的超参数值在新数据上进行训练。生成的代码不包括优化过程。有关使用拟合函数时如何执行贝叶斯优化的信息,请参见使用拟合函数的贝叶斯优化.