Algorithm 在计算分数时消除偏差

Algorithm 在计算分数时消除偏差,algorithm,Algorithm,我有一个相对简单的算法问题,我向用户推荐问题 我有一组问题和答案(比如,每个问题的评论) (答复) 我想给每个问题的吸引力打分 目前的执行情况: (total comments + likes for all answers for a question) / sqrt (number of answers) 问题: 有时,一个有大量活动的答案会扭曲问题的分数,即使其他20个答案产生的兴趣很小 对于回答很少的问题,应该进行一些缩减 如果您对这两个问题有任何建议,我们将不胜感激。通常,当我们希望

我有一个相对简单的算法问题,我向用户推荐问题

  • 我有一组问题和答案(比如,每个问题的评论) (答复)
  • 我想给每个问题的吸引力打分
  • 目前的执行情况:

    (total comments + likes for all answers for a question) / sqrt (number of answers)
    
    问题:

  • 有时,一个有大量活动的答案会扭曲问题的分数,即使其他20个答案产生的兴趣很小
  • 对于回答很少的问题,应该进行一些缩减

  • 如果您对这两个问题有任何建议,我们将不胜感激。

    通常,当我们希望避免一个样本过于强大时,标准方法是通过以下方法之一:

  • 使用
    log(N)
    代替
    N
    ,使每次观察的效果减弱1
  • 去掉“奇怪”的观察结果:只取中间的X%,并使用它们,例如:从这个问题的最大值只取有1/4-3/4喜欢的观察结果,并去掉倾斜的例子
  • 对于第二个问题-我能想到的一件事是给出一个可变因子:使用
    sqrt(答案数)
    -您可以尝试
    (答案数)^(log(答案数+1)/log(max(答案数+1))
    其中
    max(答案数)
    是数据集中每个问题的最大答案数。
    这将导致问题越来越多,答案也越来越少,我认为这正是你所追求的


    (1):我们通常采用
    log(N+1)
    -因此它也将被定义为
    N==0