BayesianMinimization

BayesianMinimization [f,{conf1,conf2,}]

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

BayesianMinimization[f,reg]

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

BayesianMinimization[f,sampler]

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

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

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

更多信息和选项

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

范例

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

基本范例  (3)

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

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

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

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

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

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

获取估计的最小值:

范围  (3)

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

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

获取运算历史:

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

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

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

同时得到一个属性列表:

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

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

得到函数的模型:

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

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

最小化上述函数:

得到最小值配置:

获取运算历史:

选项  (4)

AssumeDeterministic  (1)

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

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

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

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

InitialEvaluationHistory  (1)

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

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

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

MaxIterations  (1)

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

得到函数的运算次数:

指定迭代的最大次数:

Method  (1)

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

指定试用配置的方法:

指定一个不同的方法:

应用  (2)

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

创建一个损失函数,以检验 Predict 中不同方法的效能:

在由 Predict 的不同方法列表定义的域上最小化损失函数:

查看运算历史:

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

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

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

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

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

得到函数的模型:

可视化分类器的损失函数模型与所估计的最小值:

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

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

得到函数的模型:

可视化分类器的损失函数模型与所估计的最小值:

可能存在的问题  (2)

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

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

得到函数的模型:

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

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

在这种情况下,生成器在每一步提供一个配置值,该值是前一个配置值的平方,所以该值迅速变得非常庞大,造成概率模型不能正常工作.

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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