问题:
有X个属性,所有属性均为0到1之间的浮点数。
选择一个属性的成本是固定的C(与将其保留在0处相反)
属性的成本与其值成比例(无论是指数还是线性)。
如果给定预算B,我该如何进行不偏(随机?)的子集属性选择?
假设“成本”函数类似于以下内容:(指数版本)
cost = C*sgn(x) + ke^(ax)
0 <= x <= 1
Constants: C, k, a
我的第一个想法是某种优化问题,但实际上没有什么可以最大化/最小化的东西。我想你可以将其视为尽可能接近B的解决方案。然而这并不太合理,因为我不是在寻找“最佳”解决方案,任何足够接近B的解决方案都可以。
然后,我开始研究随机抽样,这似乎是最相似的问题。我发现了一些称为随机加权抽样的东西,看起来很有前途,但我不确定“预算”如何适应其中。
我不需要非常精确或保证独立的结果。也许我过于复杂化了?在这个阶段,我只是寻找一些可以在Java或类似语言中快速实现的简单方法。
编辑:我按照下面的建议,在math.stackexchange.com发布了问题here。我认为我在那里更清楚地表达了我想要实现的内容。