1

在 mahout 中,我正在设置一个 GenericUserBasedRecommender,目前非常简单,典型设置。

在为项目生成“偏好”值时,我们有以下 5 个数据点:

积极的兴趣

  • 用户在项目上转化(可能的最高兴趣迹象)
  • 正常点赞(用户表示感兴趣,例如点赞按钮)
  • 间接表达兴趣(点击、光标移动、测量“眼球”)

负利率

  • 冷漠(在其他项目上活跃时用户忽略的项目,不感兴趣的模糊表达)
  • 主动不喜欢(大拇指向下,从我的视图中删除项目等)

我应该在什么范围内表达这些不同的属性,让我们使用 1-100 的比例进行讨论?

  • 我是否应该将“积极不喜欢”和“冷漠”聚集在一起,例如分别为 1 和 5,所有喜欢都聚集在 90-100 范围内?
  • “冷漠”和“间接表达兴趣”是否应该更接近中心?就像 20-35 范围内的“冷漠”和 60-70 范围内的“间接喜欢”一样?
  • “用户转换”是否应该打破规模并比其他人高出头和尾?如:“用户转化”@ 100,“较少喜欢”@ ~65,“不喜欢”聚集在 1-10 范围内?
  • 在 1-100 的范围内,50 是有效的“空”,还是完全没有数据点?

我知道最终的答案在于反复试验以及我们数据的含义,但就算法而言,我试图了解在什么时候我需要在兴趣和不感兴趣之间倾斜,以使算法发挥作用适当地。

4

1 回答 1

3

实际范围无关紧要,不适用于此实现。1-100 是可以的,0-1 是可以的,等等。相对值在这里才是真正重要的。

这些值是通过简单(线性)加权平均值估计的。因此响应应该是“线性的”。它应该符合一种直觉,即如果动作 X 的得分比动作 Y 高 2 倍,那么 X 应该是对现实生活兴趣两倍的指标。

一个不错的起点是简单地根据它们的频率调整它们的大小。如果点击转化率为 2%,则您的点击可能会带来 2% 的转化。

我会忽略你提出的“冷漠”信号。它可能会太吵而无法使用。

于 2012-08-31T06:32:49.830 回答