BayesianMaximization

BayesianMaximization[f,{conf1,conf2,}]

给出一个对象,表示对函数 f 在配置 confi 上进行贝叶斯最大化的结果.

BayesianMaximization[f,reg]

在由区域规范 reg 表示的区域上最大化.

BayesianMaximization[f,sampler]

在通过应用函数 sampler 得到的配置上最大化.

BayesianMaximization[f,{conf1,conf2,}nsampler]

应用函数 nsampler 依次生成由 confi 开始的配置.

更多信息和选项

  • BayesianMaximization[] 返回 BayesianMaximizationObject[],其属性可以通过使用 BayesianMaximizationObject[]["prop"] 获得.
  • 可能的属性包括:
  • "EvaluationHistory"最大化过程中所尝试的配置和值
    "MaximumConfiguration"所得到的使 f 结果最大化的配置
    "MaximumValue"f 获得的估计最大值
    "Method"用于贝叶斯最大化的方法
    "NextConfiguration"如果最大化继续,下一个要尝试的配置
    "PredictorFunction"所得到的函数 f 的最佳预测模型
    "Properties"所有可用属性的列表
  • 配置可以是 Predict 所接受的任何形式(单数据元素、数据元素列表、数据元素的关联,等)和 Predict 所接受的任何类型(数值、文本、声音、图像,等).
  • 当应用于配置 conf 时,函数 f 必须输出实数值.
  • BayesianMaximization[f,] 尝试使用运算 f 最少的次数来得到良好的最小值.
  • BayesianMaximization[f,spec] 中,spec 定义函数 f 的定义域. 定义域可以通过配置列表、几何区域或者配置生成函数定义.
  • BayesianMaximization[f,sampler] 中,sampler[] 必须输出一个适用于 f 来应用的配置.
  • BayesianMaximization[f,{conf1,conf2,}nsampler] 中, nsampler[conf] 必须输出一个适用于 f 来应用的配置.
  • BayesianMaximization 可取的选项如下:
  • AssumeDeterministic False是否假定 f 为确定性的
    InitialEvaluationHistory None配置和值的初始集合
    MaxIterations 100迭代的最大次数
    Method Automatic用于确定所运算的配置的方法
    RandomSeeding1234应该在伪随机发生器内部完成的种子指定方式
  • Method 的可能设置包括:
  • Automatic自动选取方法
    "MaxExpectedImprovement"在当前的最佳值上最大化预期的改善
    "MaxImprovementProbability"在当前的最佳值上最大化改善的概率
  • RandomSeeding 的可能设置包括:
  • Automatic每次调用函数时都会自动重新设置种子
    Inherited使用外部种子随机数
    seed使用明确的整数或字符串作为种子

范例

打开所有单元关闭所有单元

基本范例  (3)

在一个区间上使函数最大化:

使用得到的 BayesianMaximizationObject[] 获取所估计的最大值配置:

获取所估计的最大函数值:

在一个配置集合上使函数最大小化:

在集合上获取最大值配置:

在由随机生成器定义的定义域上使函数最大化:

获取估计的最大值:

范围  (3)

在一个区域上使函数最大化:

得到要查询的可用属性列表:

获取运算历史:

得到用于确定配置所尝试的方法的信息:

获取函数的当前概率模型(这是一个 PredictorFunction):

如果最大化继续的话,得到要尝试的最佳配置:

同时得到一个属性列表:

可视化对该函数建模的良好效果,特别是在最大值附近:

在由随机邻域配置生成器定义的域上,最大化一个带有初始配置的函数:

得到函数的模型:

可视化最大值附近模型的表现:

定义一个函数,取一个图像,计算由 ImageIdentify 将图像识别为实体 所返回的概率,定义域由一个随机发生器在图像库上定义:

最大化上述函数:

得到最大值配置:

获取运算历史:

选项  (4)

AssumeDeterministic  (1)

在由随机生成器定义的域上最大化一个函数:

函数被假定为随机的;一般而言,概率模型中的值将与相同配置的函数值不同:

包括函数是确定性的信息,即无噪声:

对于确定性函数,模型值和配置已运算的函数值具有精度良好的一致性:

InitialEvaluationHistory  (1)

在圆盘区域上对一个函数进行迭代次数较小的最大化:

在下一次运算时使用这次运算的信息:

现在得到所估计的最大值配置:

MaxIterations  (1)

在由随机生成器定义的域上最大化一个函数:

得到函数的运算次数:

指定迭代的最大次数:

Method  (1)

在一个区间上定义一个函数:

指定试用配置的方法:

指定一个不同的方法:

应用  (2)

定义一个训练集,训练使用 Predict 函数的预测函数,并定义一个测试集以衡量它们的效能:

创建一个对数似然函数,以度量 Predict 中测试数据对不同方法的对数似然:

在由 Predict 的不同方法列表定义的域上最大化对数似然函数:

查看运算历史:

得到下一次要尝试的最佳配置:

加载费雪鸢尾花卉数据集,并将其划分为训练集和验证集:

创建黑箱函数. 这里函数是 Classify 函数中所用的两种不同方法下的对数似然函数. 函数参数被称为超级参数.

训练具有两个超级参数( L1 和 L2 的正则化系数)的 logistic 回归分类器:

对超级参数取对数,在由矩形区域定义的域上最大化 logistic 回归分类器的对数似然函数:

得到函数的模型:

可视化分类器的对数似然函数模型与所估计的最大值:

现在训练一个具有超级参数(软边缘参数和伽马缩放参数)的支持向量机 (SVM) 分类器:

对超级参数取对数,在由矩形区域定义的域上最大化 SVM 分类器的对数似然函数:

得到函数的模型:

可视化分类器的对数似然函数模型与所估计的最大值:

可能存在的问题  (2)

当目标函数的域由初始配置集和邻域配置生成器定义时,结果取决于所提供的生成器的质量.

域的定义如上,对函数进行最小化:

得到函数的模型:

由于起始的初始配置离全局最大值很,生成器取相对较小的步长,该算法能收敛于局部最大值:

如果邻域配置生成器的步长过大过小,就有可能导致问题:

上述情况下,运算时间非常长. 由于生成器每次取非常小的步长,该算法将持续运行,直到完成默认的 100 次迭代为止.

Wolfram Research (2016),BayesianMaximization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BayesianMaximization.html (更新于 2017 年).

文本

Wolfram Research (2016),BayesianMaximization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BayesianMaximization.html (更新于 2017 年).

CMS

Wolfram 语言. 2016. "BayesianMaximization." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/BayesianMaximization.html.

APA

Wolfram 语言. (2016). BayesianMaximization. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BayesianMaximization.html 年

BibTeX

@misc{reference.wolfram_2024_bayesianmaximization, author="Wolfram Research", title="{BayesianMaximization}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/BayesianMaximization.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_bayesianmaximization, organization={Wolfram Research}, title={BayesianMaximization}, year={2017}, url={https://reference.wolfram.com/language/ref/BayesianMaximization.html}, note=[Accessed: 17-November-2024 ]}