主要内容

分类学习App中的超参数优化

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

请注意

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

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

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

    请注意

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

  2. (可选)指定如何执行优化。有关更多信息,请参见优化选项

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

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

选择要优化的超参数

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

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

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

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

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

  • 代理决策分裂

  • 每个节点的最大代理数

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

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

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

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

可优化的朴素贝叶斯
  • 分布的名字—软件在两者之间进行搜索高斯而且内核

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

  • 金宝app

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

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

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

  • 盒子约束水平—软件在范围内对数缩放的正数值中搜索(0.001, 1000)

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

  • 多类方法—软件在两者之间进行搜索One-vs-One而且One-vs-All

  • 标准化数据—软件在两者之间进行搜索真正的而且

  • 内核规模可优化超参数组合核尺度模式而且手工核秤预先设定的支持向量机模型的高级选项。

  • 你可以优化内核规模时才可优化的超参数核函数值是高斯.除非指定值为内核规模通过清除优化复选框,应用程序将使用手册的价值1默认情况下,核函数有其他价值吗高斯

有关更多信息,请参见高级支持向量机选项

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

  • 距离度量-软件搜索对象:

    • 欧几里得

    • 城市街区

    • 切比雪夫

    • 闵可夫斯基(立方)

    • Mahalanobis

    • 余弦

    • 相关

    • 斯皮尔曼

    • 汉明

    • Jaccard

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

  • 标准化—软件在两者之间进行搜索真正的而且

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

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

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

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

  • 学习速率—软件搜索范围内对数缩放的实值(0.001, 1)

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

  • 学习者类型

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

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

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

  • 你可以优化样本预测因子的数量时才可优化的超参数整体方法值是.除非指定值为样本预测因子的数量通过清除优化复选框时,应用程序使用的默认值选择所有整体方法有其他价值吗

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

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

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

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

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

  • 标准化—软件在两者之间进行搜索是的而且没有

  • 迭代限制

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

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

优化选项

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

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

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

选项 描述
优化器

优化器值为:

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

相关的话题