优化在其最常规形式中,是定位一个最小化称为众值函数的点的过程目标函数。贝叶斯优化是一个这样的过程的名称。贝叶斯优化在内部维护了目标函数的高斯过程模型,并使用客观函数评估来培训模型。贝叶斯优化的一种创新是使用收购功能,该算法用于确定下一个评估点。采集功能可以在具有低建模客观函数的点上进行抽样,并探索尚未进行建模的区域。有关详细信息,请参阅贝叶斯优化算法。
贝叶斯优化是统计和机器学习工具箱™的一部分,因为它非常适合优化普遍存在分类与回归算法。HyperParameter是分类器或回归函数的内部参数,例如支持向量机的框约束,或强大的分类集合的学习率。金宝app这些参数可以强烈影响分类器或回归的性能,但通常困难或耗时地优化它们。看贝叶斯优化特征。
通常,优化HyperParameters意味着您尝试最小化分类器或回归的交叉验证丢失。
您可以通过多种方式执行贝叶斯优化:
fitcauto.
和Fitrauto.
- 将预测器和响应数据传递给fitcauto.
或者Fitrauto.
函数以优化各种型号类型和超级参数值。与其他方法不同,使用fitcauto.
或者Fitrauto.
在优化之前,不要求您在优化之前指定单个模型;模型选择是优化过程的一部分。优化最小化交叉验证损耗,该损耗是使用多重建模的treebagger
模型fitcauto.
和一个多数 -regressiongp.
模型Fitrauto.
,而不是其他方法中使用的单个高斯过程回归模型。看贝叶斯优化为了fitcauto.
和贝叶斯优化为了Fitrauto.
。
分类学习者和回归学习者应用 - 选择优化机器中的模型学习应用程序并通过使用贝叶斯优化来自动调整其超级计数器值。优化基于所选验证选项最小化模型丢失。此方法的调谐选项较少,而不是使用拟合功能,但允许您直接在应用中执行贝叶斯优化。看分类学习者应用中的HyperParameter优化和回归学习者应用中的HyperParameter优化。
拟合功能 - 包括优化hyperParameters.
名称 - 值对在许多拟合功能中自动应用贝叶斯优化。优化最小化交叉验证损耗。此方法为您提供比使用更少的调谐选项Bayesopt.
,但使您能够更容易地执行贝叶斯优化。看使用拟合功能的贝叶斯优化。
Bayesopt.
- 通过呼叫来发挥最优化的控制Bayesopt.
直接地。此方法要求您编写一个客观函数,不必表示交叉验证损失。看使用Bayesopt的贝叶斯优化。
为了通过贝叶斯优化最小化交叉验证响应中的错误,请按照下列步骤操作。
选择您的分类或回归求解器fitcdiscr.
那Fitcecoc.
那fitcensemble.
那Fitconnelel.
那Fitcknn.
那FitClinear.
那Fitcnb.
那fitcsvm.
那fitctree
那fitrensemble.
那fitrgp.
那Fitrkernel.
那Fitrinear.
那Fitrsvm.
, 或者fitrtree.
。
决定过度参数以优化,并将其传递给优化hyperParameters.
名称值对。对于每个拟合功能,您可以选择一组HyperParameters。看符合适用功能的资格Quand参数,或使用普遍存在
功能,或咨询拟合功能参考页面。
您可以通过单元格数组参数名称。你也可以设置'汽车'
作为优化hyperParameters.
值,选择典型的Quand参数集以优化,或'全部'
优化所有可用参数。
用于合适功能Fitcecoc.
那fitcensemble.
, 和fitrensemble.
,还包括弱学习者的参数优化hyperParameters.
单元格阵列。
(可选)为该选项结构创建一个选项结构HyperParameterOptimizationOptions.
名称值对。看拟合功能的超参数优化选项。
使用相应的名称值对呼叫拟合函数。
对于例子,见优化SVM分类器使用Bayesian Optimization和优化一个提升的回归集合。此外,每个拟合功能参考页面包含贝叶斯优化示例。
Bayesopt.
使用贝叶斯优化使用Bayesopt.
, 按着这些次序。
例如,看到使用Budesopt优化交叉验证的SVM分类器。
贝叶斯优化算法最适合这些问题类型。
特征 | 细节 |
---|---|
低维度 | 贝叶斯优化在尺寸较少的尺寸下最佳,通常为10或更少。虽然贝叶斯优化可以解决几十个变量的一些问题,但不建议高于约50的尺寸。 |
昂贵的目标 | 贝叶斯优化专为评估速度慢的客观函数而设计。它具有相当大的开销,通常为每次迭代几秒钟。 |
低精度 | 贝叶斯优化不一定提供非常准确的结果。如果您有确定的目标函数,则有时可以通过从中启动标准优化算法来提高准确性 |
全球解决方案 | 贝叶斯优化是一种全球技术。与许多其他算法不同,搜索您不必从各种初始点开始算法的全局解决方案。 |
普遍存在 | 贝叶斯优化非常适合优化普遍存在另一个功能。HyperParameter是控制函数行为的参数。例如, |
符合适用功能的资格Quand参数
函数名称 | 符合条件的参数 |
---|---|
fitcdiscr. |
三角洲 伽玛 鉴定 |
Fitcecoc. |
编码 有资格的 fitcdiscr. 参数'学习者','判别' 有资格的 Fitconnelel. 参数'学习者','内核' 有资格的 Fitcknn. 参数'学习者','knn' 有资格的 FitClinear. 参数'学习者','线性' 有资格的 fitcsvm. 参数'学习者','svm' 有资格的 fitctree 参数'学习者','树' |
fitcensemble. |
方法 numlarnicalningcycles. 学习 有资格的 fitcdiscr. 参数'学习者','判别' 有资格的 Fitcknn. 参数'学习者','knn' 有资格的 fitctree 参数'学习者','树' |
Fitconnelel. |
'学习者' 'kernelscale' 'lambda' 'numexpansiondimensions' |
Fitcknn. |
numneighbors. 距离 距离重量级 指数 标准化 |
FitClinear. |
lambda. 学习者 正则化 |
Fitcnb. |
分发名称 宽度 核心 |
fitcsvm. |
boxconstraint. 内塞尔 凯恩机组 polynomialOrder. 标准化 |
fitctree |
minleafsize. maxnumsplits. 斯波特刺激器 numvariablestosample. |
fitrensemble. |
方法 numlarnicalningcycles. 学习 有资格的 fitrtree. 参数'学习者','树' :minleafsize. maxnumsplits. numvariablestosample. |
fitrgp. |
Sigma. 基本功能 凯恩机组 内塞尔 标准化 |
Fitrkernel. |
学习者 内塞尔 lambda. numexpansiondimensions. 埃斯利昂 |
Fitrinear. |
lambda. 学习者 正则化 |
Fitrsvm. |
boxconstraint. 内塞尔 埃斯利昂 凯恩机组 polynomialOrder. 标准化 |
fitrtree. |
minleafsize. maxnumsplits. numvariablestosample. |
使用拟合功能优化时,您可以使用这些选项HyperParameterOptimizationOptions.
名称值对。将值作为结构。结构中的所有字段都是可选的。
字段名称 | 价值 | 默认 |
---|---|---|
优化器 |
|
'Bayesopt' |
收集功能名称 |
收购函数,其名称包括 |
'预期 - 每秒改善' |
maxobjectiveevaluations |
最大客观函数评估数。 | 30. 为了'Bayesopt' 或者'randomsearch' ,以及整个网格'gridsearch' |
MaxTime. |
时间限制,指定为正面真实。时间限制是以秒为单位的 |
INF. |
numgriddivisiving. |
为了'gridsearch' ,每个维度中的值数。该值可以是正整数的向量,其提供每个维度的值数,或者适用于所有维度的标量。对于分类变量,忽略此字段。 |
10. |
Showplots. |
逻辑值,指示是否显示图表。如果真的 ,此字段绘制迭代号的最佳目标函数值。如果有一个或两个优化参数,并且如果优化器 是'Bayesopt' , 然后Showplots. 还绘制了对参数的目标函数的模型。 |
真的 |
Saptintermediateresults. |
指示是否保存结果的逻辑值优化器 是'Bayesopt' 。如果真的 ,此字段覆盖名为的工作空间变量'贝叶特遗露' 在每次迭代。变量是一个贝叶斯偏见 目的。 |
错误的 |
verb |
显示到命令行。
有关详细信息,请参阅 |
1 |
使用指α. |
逻辑值,指示是否并行运行Bayesian Optimization,这需要并行计算工具箱™。由于并行时序的不可递容性,并行贝叶斯优化不一定会产生可重复的结果。有关详细信息,请参阅并行贝叶斯优化。 | 错误的 |
重新开始 |
逻辑值,指示是否在每次迭代时重新验证交叉验证。如果
|
错误的 |
不超过以下三个字段名称中的一个。 | ||
CVPartition. |
一种CVPartition. 对象,由创建的CVPartition. 。 |
'kfold',5 如果您未指定任何交叉验证字段 |
坚持 |
范围内的标量(0,1) 代表熔断部分。 |
|
kfold. |
整数大于1。 |