我正在研究Coursera上Andrew Ng课程的推荐系统,这个问题突然出现在我脑海中。
在课程中,安德鲁为电影提供了建议,比如Netflix。
我们有各种电影评级的输出矩阵Y
,其中每个单元格Y(i,j)
是用户j
给予电影i
的评分。如果用户未对其进行评分,请Y(i,j)=?
假设我们正在进行线性回归,我们有以下最小化目标:
我的问题是,这不是按每个评级计算的吗?如同,所有评级都是平等的。因此,如果有人评价100部电影,他对算法的影响要大于只评价10部电影的人。
我想知道是否可以基于每个用户判断,即所有用户是否相等。
答案 0 :(得分:1)
绝对可以使用weight = 1/ratings_for_user[u]
或weight = 1/sqrt(ratings_for_user[u])
对损失函数应用权重。其中ratings_per_user[u]
是在您的特定样本中给出评级的用户的评分数。这是否是一个好主意是另一个问题。
要回答这个问题,我首先会问一个问题:这对你真正试图解决的问题更有意义吗?如果是,那么第二个问题:你建造的模型是否运作良好?它是否具有良好的交叉验证分数?