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