推荐算法——基于项目的协同过滤3

亚马逊、网飞、hulu、youtube

ItemCF并不使用条目的内容属性来计算条目之间的相似度,而是主要通过分析用户行为来记录条目的相似度。

算法认为A和B相似是因为喜欢A的用户大多也喜欢B。

利用用户的历史行为为推荐结果提供推荐解释。比如我喜欢或者收藏过射箭雕刻,我推荐天龙八部。

1,计算项目的相似度

2.根据项目的相似度和用户的历史行为生成推荐列表。

Wij = |同时喜欢项目I和J的人数|/|喜欢项目I的人数|

惩罚热门物品:

Wij = |同时喜欢项目I和J的人数|/sqrt(喜欢I的人数x喜欢J的人数)* *

计算用户u对某个项目的兴趣:

Puj = sum(Sji,Rui) j (-与j最相似的K项的集合。

这个公式的含义是:

* *与用户在历史中感兴趣的项目更相似的项目更有可能在用户的推荐列表中获得较高的排名。

itemCF的普及性更好,但准确率并没有随着k值的增加而提高。

1、IUF

Sij = cij /match.sqrt(N[i]*N[j])计算项目的相似度。

弱化,那就直接忽略cij =(1+1/log(1+n(u))。

2.当然,高活跃度的用户也可以忽略。

W' ij =按类规范化的wij/maxJ(wij)。

归一化后,覆盖率可提高4个百分点。