与抽样成本


9

我遇到了以下模拟问题:给定一组已知实数的,在上的分布由 其中表示的正数。虽然我可以靶向这种分布认为大都市,黑斯廷斯样的,我不知道是否存在一个有效的直接取样,取大量的零个概率的优势,从降低算法的顺序至。{ - 1 1 } d PX = X 1... X dα X 1 ω 1 + ... + X d ω d +Ž + ž O 2 dO d {ω1,,ωd}{1,1}d

P(X=(x1,,xd))(x1ω1++xdωd)+
(z)+zØ2dØd

Answers:


4

这是一个相当明显的递归采样器,在最佳情况下(权重)为,在最坏情况下为指数。ω Ødω一世

假设我们已经选择了并希望选择。我们需要计算 和选择的概率为 对于样本任何有效选择,分母将为非零。 X 瓦特X 1... X - 1X = Σ X + 1{ - 1 1 }Σ X d{ - 1 1 } d Σ Ĵ = 1 ω Ĵ X Ĵ X1个X一世-1个X一世X = 1 瓦特X 1... X - 11

wX1个X一世-1个X一世=X一世+1个{-1个1个}Xd{-1个1个}Ĵ=1个dωĴXĴ+
X一世=1个x1xi1
wX1个X一世-1个1个wX1个X一世-1个1个+wX1个X一世-1个-1个
X1个X一世-1个

现在,当然,问题是如何计算。wX1个X一世

如果我们有,那么对于任何带有,因此变为: ω ·&X 0 X X 1 瓦特Σ X + 1Σ X d ω ·&XC:=Ĵ=1个一世ωĴXĴĴ=一世+1个d|ωĴ|ωX0XX1个一世w

X一世+1个XdωX=ωX一世+1个XdX=Ĵ=1个一世ωĴX一世+1个XdXĴ2d-一世XĴ+Ĵ=一世+1个dωĴX一世+1个XdXĴ0=2d-一世C

在相反的情况下,,我们得到,因此。C-Ĵ=一世+1个d|ωĴ|ωX0wX1个X一世=0

否则,我们必须使用递归。wX1个X一世=wX1个X一世1个+wX1个X一世-1个

假设内存不是问题,并且我们可以将,所有子计算都缓存在树中–直到我们遇到了“ nice”情况之一之后,通话需要固定的时间。(无论如何,我们都需要计算整个树以选择。)然后,一旦构建了这计算树,采样器将仅花费时间。问题是建造树需要多长时间,或者等效地,它有多大。w1个w-1个X1个wØd


如果将排序为我们当然会更快地处理“ nice”情况。ω一世ω1个ω2ωd

在最佳情况下,。然后我们立即为或命中一个“不错”的情况,因此树的构建需要恒定的时间,整个采样器需要时间。|ω1个|>Ĵ=2d|ωĴ|w1个w-1个wØd

在最坏的情况下,。那么问题是:总树有多大?ω1个=ω2==ωd

好吧,终止的第一个路径当然是长度为和。因此,树达到该深度为止是完整的,因此至少包含节点。(它有更多;您可能会找到与赌徒的破产问题中使用的参数类似的参数,但是我在谷歌搜索的两分钟内找不到它,也不必特别在意– 不好足够....)1个1个1个-1个-1个-1个d/2Ø2d/22d/2

如果您的设置只有几个非常大的,那么这可能是一种合理实用的方法。如果大小都相似,则对于大来说,它可能仍然是指数级的并且太昂贵了。ω一世ω一世d


感谢您采用这种维特比消除方式。当您编写“在相反情况下”时,我认为您的意思不是第一种情况的补码
C一世-Ĵ=一世+1个d|ωĴ|
C一世Ĵ=一世+1个d|ωĴ|
西安

1
不,不是补码:当截断很大时,您会知道不应用截断;当截断很小时,您将始终应用截断;在这两者之间,您必须递归计算出何时应用或不应用截断。
Dougal '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.