在 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 采样期间更改参数的主要内容,如果未能解决你的问题,请参考以下文章