【问题标题】:How to choose the weight for a weighted average?如何选择加权平均的权重?
【发布时间】:2019-02-19 11:56:36
【问题描述】:

我正在针对机器学习问题执行特征提取过程,但遇到了问题。

考虑一组产品。每个产品都被评为 0 或 1,分别对应 bad 或 good。现在我想为每个独特的产品计算 [0, n] 区间内的评分,其中 n 是大于 0 的整数。

每种产品的总评分明显不同,因此简单的平均会引发以下问题:

avg_ratio_score = good_rates / total_rates
a) 1/1 = 1
b) 95/100 = 0.95

即使 ratio a) 更高,ratio b) 也会让用户更有信心。因此,我需要一个加权平均值。

问题是选择什么重量。产品的频率从 100 到 100k 不等。

我的第一个方法如下:

ratings frequency interval    weight
--------------------------    ------
90k - 100k                      20
80k - 90k                       18
70k - 80k                       16
60k - 70k                       14
50k - 60k                       12
40k - 50k                       11
30k - 40k                       10
20k - 30k                        8
10k - 20k                        6
5k - 10k                         4
1k - 5k                          3
500 - 1k                         2
100 - 500                        1
1 - 100                        0.5

weighted_rating_score = good_ratings * weight / total_ratings

起初这听起来像是一个很好的解决方案,但看看一个真实的例子,它可能并不像看起来那么好:

 a. 90/100 = 0.9 * 0.5 = 0.45
 b. 50k/100k = 0.5 * 20 = 10

这样的结果表明产品 b) 是比产品 a) 更好的替代品,但查看原始比率可能并非如此。

我想知道一种有效的(如果有的话)计算完美重量或其他类似建议的方法。

【问题讨论】:

    标签: feature-extraction weighted-average


    【解决方案1】:

    我认为您的问题的答案是主观的,因为您选择与样本数量较少导致的不确定性相关的重要性也是主观的。

    但是,考虑到样本数量较少的“惩罚”,我可以想出另一种方法来纠正样本数量较少的评级。看下面的公式:

    (GoodRates / TotalRates) - alpha * (1 / TotalRates)
    

    我无法内联添加公式的图像,但你可以看到它here。

    此公式使评分接近简单评分,因为 TotalRates 接近无穷大。实际上,数百及以上数量级的偶数变得可以忽略不计。选择不同的 alpha 值会增加或减少较低总比率的重要性。

    在粗略方面,您始终可以考虑更复杂的评级方法,这些方法将捕获数据的其他属性,例如在相同数量的观察下对更高比率的更大惩罚等等。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 2017-08-06
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2013-02-16
      相关资源
      最近更新 更多