主要内容

分类学习者应用程序中的超参数优化

在选择要训练的特定类型的模型(例如决策树或支持向量机)之后,可以通过选择不同的高级选项来优化模型。金宝app例如,您可以更改决策树或SVM的框约束的最大分割数。其中一些选项是模型的内部参数,或超参数,它们会强烈影响模型的性能。您可以在Classification Learner应用程序中使用超参数优化来自动选择超参数值,而不是手动选择这些选项。对于一个给定的模型类型,应用程序尝试不同的超参数值组合,使用一种优化方案,寻求最小化模型分类错误,并返回一个具有优化的超参数的模型。您可以像使用任何其他训练过的模型一样使用得到的模型。

请注意

因为超参数优化会导致模型过度拟合,所以推荐的方法是在将数据导入Classification Learner应用程序之前创建一个单独的测试集。在训练可优化模型之后,可以看到它在测试集上的表现。示例请参见基于超参数优化的分类学习者应用程序训练分类器

要在Classification Learner中执行超参数优化,请遵循以下步骤:

  1. 选择一个模型类型并决定要优化哪些超参数。看到选择要优化的超参数

    请注意

    逻辑回归或核近似模型不支持超参数优化。金宝app

  2. (可选)指定优化方式。有关更多信息,请参见优化选项

  3. 训练你的模特。使用最小分类误差图跟踪优化结果。

  4. 检查你训练过的模型。看到优化结果

选择要优化的超参数

在分类学习者应用中,在模型类型部份分类学习者选项卡,单击箭头打开图库。该库包括可优化的模型,您可以使用超参数优化训练。

选择可优化模型之后,可以选择要优化的超参数。在模型类型部分中,选择Advanced >高级.应用程序打开一个对话框,你可以在其中进行选择优化选中要优化的超参数的复选框。下,为不希望优化或不可优化的超参数指定固定值。

该表描述了可针对每种类型的模型优化的超参数以及每个超参数的搜索范围。它还包括可以为其指定固定值的附加超参数。

模型 Optimizable Hyperparameters 额外Hyperparameters 笔记
Optimizable树
  • 最大分割数—软件在该范围内按对数缩放的整数中搜索[1,马克斯(2 n - 1)],在那里n是观察数。

  • 划分的标准—软件搜索基尼多样性指数两个规则,最大偏差减少量

  • 代理决策分裂

  • 每个节点的最大代理数

有关更多信息,请参见高级树选项

Optimizable判别
  • 判别类型—软件搜索线性二次对角线性,斜二次

  • 判别类型可优化超参数组合预设模型类型(线性判别而且二次判别)与协方差结构预设型号的高级选项。

有关更多信息,请参见高级鉴别选项

可优化的朴素贝叶斯
  • 分布的名字—软件搜索高斯而且内核

  • 内核类型—软件搜索高斯盒子Epanechnikov,三角形

  • 金宝app

  • 高斯的价值分布的名字可优化超参数指定a高斯朴素贝叶斯模型。类似地,内核分布的名字Value指定核朴素贝叶斯模型。

有关更多信息,请参见高级朴素贝叶斯期权

Optimizable支持向量机
  • 核函数—软件搜索高斯线性二次,立方

  • 框约束级别-软件搜索范围内按对数缩放的正数值(0.001, 1000)

  • 内核规模-软件搜索范围内按对数缩放的正数值(0.001, 1000)

  • 多类方法—软件搜索One-vs-One而且One-vs-All

  • 标准化数据—软件搜索真正的而且

  • 内核规模可优化超参数组合内核缩放模式而且手动内核秤预置支持向量机模型的高级选项。

  • 您可以优化内核规模可优化的超参数核函数值是高斯.除非你指定一个值内核规模通过清除优化复选框,应用程序使用手册的价值1默认情况下,当核函数除了高斯

有关更多信息,请参见先进的支持向量机选项

Optimizable资讯
  • 邻居数量—软件在该范围内按对数缩放的整数中搜索[1,马克斯(2轮(n / 2))),在那里n是观察数。

  • 距离度量—软件搜索:

    • 欧几里得

    • 城市街区

    • 切比雪夫

    • 闵可夫斯基(立方)

    • Mahalanobis

    • 余弦

    • 相关

    • 斯皮尔曼

    • 汉明

    • Jaccard

  • 距离重量—软件搜索平等的,方逆

  • 标准化—软件搜索真正的而且

有关更多信息,请参见高级KNN选项

Optimizable合奏
  • 整体方法—软件搜索演算法RUSBoostLogitBoostGentleBoost,

  • 最大分割数—软件在该范围内按对数缩放的整数中搜索[1,马克斯(2 n - 1)],在那里n是观察数。

  • 学习者人数—软件在该范围内按对数缩放的整数中搜索[10500]

  • 学习速率-软件在范围内按对数缩放的实数中搜索(0.001, 1)

  • 要抽样的预测数—软件在整数范围内进行搜索[1,马克斯(2,p)],在那里p是预测变量的数量。

  • 学习者类型

  • 演算法LogitBoost,GentleBoost价值观整体方法可优化超参数指定a提高了树模型。类似地,RUSBoost整体方法值指定RUSBoosted树模型和整体方法Value指定袋装的树木模型。

  • LogitBoost而且GentleBoost值仅用于二进制分类。

  • 要抽样的预测数可优化超参数在预设集成模型的高级选项中不可用。

  • 您可以优化要抽样的预测数可优化的超参数整体方法值是.除非你指定一个值要抽样的预测数通过清除优化复选框时,应用程序使用默认值选择所有整体方法除了

有关更多信息,请参见高级集成选项

可优化神经网络
  • 完全连接层数—软件搜索12,3.完全连接的层。

    • 软件优化第一层尺寸第二层尺寸,第三层尺寸通过在范围内对数缩放的整数中搜索[1300]

  • 激活—软件搜索线性整流函数(Rectified Linear Unit)双曲正切没有一个,乙状结肠

  • 正则化强度(Lambda)-软件在范围内按对数缩放的实数中搜索[1 e-5 / n, 1 e5 / n],在那里n是观察数。

  • 标准化—软件搜索是的而且没有

  • 迭代限制

  • 当软件优化完全连接层的数量时,它也会优化每一层的大小。你不能指定完全连接的层数和优化层的大小。类似地,您不能指定层的大小和优化层的数量。

有关更多信息,请参见高级神经网络选项

优化选项

默认情况下,分类学习者应用程序使用贝叶斯优化执行超参数调优。贝叶斯优化的目标,以及一般的优化,是找到一个最小化目标函数的点。在应用程序的超参数调优上下文中,点是一组超参数值,目标函数是损失函数,即分类错误。有关贝叶斯优化基础知识的更多信息,请参见贝叶斯优化工作流

您可以指定如何执行超参数调优。例如,您可以将优化方法更改为网格搜索或限制训练时间。在分类学习者选项卡,在模型类型部分中,选择高级>优化器选项.该应用程序打开一个对话框,你可以在其中选择优化选项。

该表描述了可用的优化选项及其默认值。

选项 描述
优化器

优化器的值是:

  • Bayesopt(默认)-使用贝叶斯优化。在内部,该应用程序调用bayesopt函数。

  • 网格搜索-使用网格搜索,每个维度的值的数量由网格划分数价值。该应用程序的搜索顺序是随机的,使用统一的采样,不需要从网格中替换。

  • 随机搜索-在点之间随机搜索,其中点的数量对应于迭代价值。

获取函数

当应用程序对超参数调优执行贝叶斯优化时,它使用采集函数来确定下一组要尝试的超参数值。

采集函数值为:

  • 期望每秒改进加上(默认)

  • 预期改善

  • 预期改善加上

  • 每秒预期改进

  • 低置信界限

  • 改善概率

有关这些获取函数如何在贝叶斯优化上下文中工作的详细信息,请参见采集功能类型

迭代

每次迭代都对应于应用程序尝试的超参数值的组合。当您使用贝叶斯优化或随机搜索时,请指定一个设置迭代次数的正整数。默认值为30.

当你使用网格搜索时,应用程序会忽略迭代值并计算整个网格中每一点的损失。您可以设置一个训练时间限制,以过早地停止优化过程。

培训时间限制 若要设置培训时间限制,请选择此选项并设置以秒为单位的最大训练时间选择。默认情况下,该应用程序没有训练时间限制。
以秒为单位的最大训练时间 将训练时间限制设置为正实数,单位为秒。默认值为300.运行时间可以超过训练时间限制,因为这个限制不会中断迭代评估。
网格划分数 当你使用网格搜索时,设置一个正整数作为应用程序尝试为每个数字超参数的值的数量。应用程序忽略了分类超参数的这个值。默认值为10

最小分类误差图

在指定要优化的模型超参数并设置任何其他优化选项(可选)之后,训练可优化模型。在分类学习者选项卡,在培训部分中,点击火车.该应用程序创建一个最小分类误差图它会随着优化的运行而更新。

请注意

当你训练一个可优化的模型,应用程序禁用使用并行按钮。训练完成后,当你选择一个不可优化的模型时,应用程序使按钮再次可用。该按钮默认是关闭的。

最小分类错误图显示以下信息:

  • 估计最小分类误差-每个浅蓝色点对应优化过程在考虑到目前为止尝试的所有超参数值集(包括当前迭代)时计算出的最小分类错误的估计值。

    估计是基于当前分类误差目标模型的上置信区间,如中所述Bestpoint hyperparameters描述。

    如果你使用网格搜索或随机搜索来执行超参数优化,应用程序不会显示这些浅蓝色的点。

  • 观察到的最小分类误差-每个深蓝色点对应优化过程计算到目前为止观察到的最小分类误差。例如,在第三次迭代中,深蓝色点对应于在第一次、第二次和第三次迭代中观察到的分类错误的最小值。

  • Bestpoint hyperparameters—红色方格表示优化后的超参数对应的迭代。您可以在下面的图的右上角找到已优化的超参数的值优化结果

    优化后的超参数并不总是提供观察到的最小分类误差。当应用程序使用贝叶斯优化执行超参数调优(参见优化选项简单介绍一下),它选择使分类误差目标模型的上置信区间最小的超参数值集,而不是使分类误差最小的集。有关更多信息,请参见“标准”、“min-visited-upper-confidence-interval”的名值对参数bestPoint

  • 最小误差超参数—黄点为观察到的分类误差最小的超参数对应的迭代。

    有关更多信息,请参见“标准”、“min-observed”的名值对参数bestPoint

    如果使用网格搜索执行超参数优化,则Bestpoint hyperparameters最小误差超参数都是一样的。

情节中缺失的点对应于最小分类错误值。

优化结果

当应用程序完成模型超参数的调优时,它返回一个用优化的超参数值训练的模型(Bestpoint hyperparameters).模型指标、显示图和导出模型对应于这个训练过的具有固定超参数值的模型。

中选择模型以检查经过训练的可优化模型的优化结果模型窗格,看看当前模型总结窗格。

当前模型总结窗格包括以下部分:

  • 培训结果—显示可优化模型的性能

  • 模型类型-显示可优化模型的类型,并列出任何固定的超参数值

  • 优化Hyperparameters—列出优化后的超参数值

  • 超参数搜索范围—显示优化后的超参数的搜索范围

  • 优化器选择—显示所选优化器选项

当您使用贝叶斯优化执行超参数调优并将经过训练的可优化模型作为结构导出到工作空间时,该结构包含一个BayesianOptimization对象中的HyperParameterOptimizationResult字段。该对象包含在应用程序中执行的优化结果。

当你生成MATLAB时®代码来自一个经过训练的可优化模型,生成的代码使用模型的固定和优化的超参数值在新数据上进行训练。生成的代码不包括优化过程。有关如何在使用拟合函数时执行贝叶斯优化的信息,请参见利用拟合函数的贝叶斯优化

相关的话题