在 Thompson 采样期间更改参数

Posted

技术标签:

【中文标题】在 Thompson 采样期间更改参数【英文标题】:Changing parameters during Thompson sampling 【发布时间】:2015-11-16 11:52:01 【问题描述】:

Thompson 抽样使用 Beta 概率分布对参数进行抽样。每次采样后,根据得到的样本值改变分布。

目前我正在做以下事情:

dist = new BetaDistribution(alpha, beta);
"sample"
"find new params"
dist = new BetaDistribution(alphaNew, betaNew);

有没有一种方法可以让我在每次更改参数时都不必创建新的 beta 发行版? (我觉得这可能效率低下)

我发现有 setalpha()setBeta() 方法,它们允许更改分布,而无需创建新分布。但是,这些方法现在已被弃用。

【问题讨论】:

【参考方案1】:

分发类型被设计为线程安全的,无需额外的并发构造。实现这一点的主要方法是使分发实例不可变。因此,分布参数无法修改。

因此,为了获得具有不同参数的 Beta 分发实例,必须创建一个新实例。

【讨论】:

以上是关于在 Thompson 采样期间更改参数的主要内容,如果未能解决你的问题,请参考以下文章

是否可以更改随机森林中使用的引导和/或子采样方案?

unity灯光渲染参数

如何在 OMNeT++ 中模拟期间更改网络配置?

使用 fmin 在 Python 中通过采样数据确定 weibull 参数

如何在更改其边界的动画期间强制重绘 CALayer

R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优