我正在创建一组项目,每个项目都在计算样本中出现的次数。后来我希望随机选择一个项目,但我希望有机会选择任何特定项目等于所有项目的所有出现次数相比的出现次数。
我相信我找到了一个很好的解决方案,但我很感兴趣这个概念的标准术语是什么,以及实现它的标准方法是什么。
答案 0 :(得分:1)
这个名字本身没有名称,但这是在粒子过滤期间基于证据更新您的信念的重要一步,这可能是您正在寻找的术语。
选择从0到n-1的随机数(r)(n是所有项目的总出现次数)。然后迭代每个项目并从r中减去出现次数。当你低于零时,选择最后一项。请注意,将同一项目分组到同一位置并不重要。你可能有重复,这仍然有效。
或者,如果您的出现单独存储在数组中(而不是直方图),只需从数组中选择一个随机索引。