我正在试验一些电影评级数据。目前正在进行一些基于项目和用户的混合预测。从数学上讲,我不确定如何实现我想要的,也许答案只是直截了当的,但我觉得可能还有其他选择。
我现在有4个值,我想得到的平均值
- 基于项目的预测
- 基于用户的预测
- 给定项目的全局电影平均值
- 给定用户的全局用户平均值
随着这一进程的进行,我还需要添加其他值,如加权相似性、流派加权,我相信还有其他一些东西。
现在,我想把重点放在上面所说的我可以获得的数据上,就像其他任何东西一样,便于理解。
这是我的理论。首先,我想对项目和基于用户的预测进行同等加权,这将比全局平均值具有更大的权重。
我觉得,在我非常生疏的数学和一些基本的尝试中,想出一个不那么线性的解决方案是使用谐波平均值。但并非总是趋向于低平均值,而是趋向于全球平均值。
例如
预测项目基本评级4.5
预测的基于用户的评分2.5
全球电影评级3.8
全球用户评分3.6
因此;"中心"/全球平均值为3.7
我可能对此有点偏离了基础,因为我的数学很生疏,但有人想知道我如何用数学表达我的想法吗?
或
你对另一种方法有什么想法吗
我建议您查阅F.Ricci等人2011年的《推荐系统手册》。它总结了推荐引擎中所有常见的方法,并提供了所有必要的公式
以下是4.2.3的摘录:
随着预测中使用的邻居数量的增加,回归方法预测的评分将倾向于项目i的平均评分。假设项目i只有评分范围两端的评分,即它是爱还是恨,那么回归方法将做出安全的决定,即项目的价值是平均的。[…]另一方面,分类方法会预测给i的评级是最频繁的。这风险更大,因为项目会被标记为"好"或"坏"。