如何理解协同过滤?
基于用户的协同过滤主要基于用户之间的相似性(取决于用户的历史偏好数据)。首先计算用户之间的相似度,然后将用户喜欢的项目推荐给相似的用户。也就是说,当用户需要个性化推荐时,可以先通过兴趣爱好或行为习惯等找到与自己相似的其他用户,然后推荐那些喜欢和不知道的相似用户。
基于项目之间的相似度,基于项目的协同过滤首先计算项目之间的相似度,然后根据用户的评分将用户喜欢的相似项目推荐给用户。也就是说,当一个用户需要个性化推荐时,比如说,因为他之前购买过《集体智能编程》一书,他会推荐《机器学习实践》一书,因为其他很多用户同时购买了这两本书。
基于用户的协同过滤需要在线(系统上线后)找到用户之间的相似关系,计算复杂度肯定会高于基于文章的协同过滤。同时,我们还需要考虑推荐算法的冷启动问题(如何在没有大量用户数据的情况下让用户满意推荐结果)。例如,我们可以让用户在注册时选择自己感兴趣的领域来生成粗粒度的推荐。
基于用户的协同过滤是推荐用户喜欢的、与他们有共同兴趣的项目。因此,基于用户的协同过滤推荐更具社会性,即推荐的项目是群组中符合用户兴趣的热点项目,并且可以向用户推荐新类别的项目。
基于项目的协作过滤是推荐与用户以前喜欢的项目相似的项目。基于项目的协同过滤更具个性化,因为推荐的项目一般都满足自己的独特兴趣,所以更适合用户个性化需求强烈的领域。然而,由于商品的相似性相对稳定,很难向用户推荐新的商品类别。
协同过滤中als算法输出两个分解矩阵u*v什么意思?
在本文中,矩阵用斜体大写字母(如r)表示,标量用小写字母(如i,j)表示。给定一个矩阵r,
rij表示它的一个元素ri。表示矩阵r的第i行,r.j表示矩阵r的第j列,rt
表示矩阵r的转置,r-1
表示矩阵r的逆矩阵。本文给出的矩阵r表示m个用户和n个对象的评级矩阵,矩阵u和v分别表示用户和推荐对象的特征矩阵
原文标题:协同过滤推荐算法 如何理解协同过滤?,如若转载,请注明出处:https://www.saibowen.com/tougao/22908.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。