如何找到最受欢迎的产品

时间:2011-10-14 00:09:10

标签: machine-learning

这更像是一般的,全知的查询而不是问题。     所以这就是它。 假设我有1000件商品,我可以在任何一天在网站上销售。 在任何一天,我都可以卖掉(比如说)只有100件物品。 可以说,明显的目标是在任何一天销售最大数量的产品(最大化收入)。 解决这个问题的最佳方法是什么。问题是..我如何选择1000个产品中的哪一个?我肯定,有了这些信息就很难了。如果我必须使用机器学习解决它,那么这个问题就属于这个问题。 这不是监督学习..? 基本上,我只是在寻找周围的人给我一些想法.. :) 感谢

4 个答案:

答案 0 :(得分:2)

这是multi-armed bandit problem的变体。优化利润的最基本方法是选择一个数字εє[0,1],然后对于您选择的每个产品,选择最常用的概率(1-ε)或随机概率ε。这样,随着时间的推移,您将对每种产品进行越来越准确的流行度估算,同时保持高利润。更复杂的方法包括跟踪产品受欢迎程度upper confidence bounds

答案 1 :(得分:1)

天真的方法是为每个产品存储出售的概率(显示多少次出现的次数)。并且基于这些概率在1000中选择100.因此任何产品都有要选择的变化,并且变化等于其可行性。 BTW对于这种可能性,最好使用lower confidence bound。因此,从100次销售70次的产品比从10次销售7次的产品更好。

答案 2 :(得分:1)

我受到这篇文章的启发,在Hadoop中实现了一堆多臂强盗算法,作为我在github上基于Hadoop的开源机器学习项目的一部分。我最近还发布了一篇关于使用一些实现的算法找到最佳产品价格的博客。

http://pkghosh.wordpress.com/2013/08/25/bandits-know-the-best-product-price/

https://github.com/pranab/avenir

答案 3 :(得分:0)

那么你从哪里得到关于这些物品的数据?例如,如果您有每个项目的一些销售数据,那么您只需在数据库中为其创建一列,然后SELECT * FROM items ORDER BY 'number_sold' DESC LIMIT 100并在每次销售商品时以+1更新