• 基于邻域的推荐算法


    基于邻域的算法,就是最常见的CF协同过滤算法。分为 基于用户的 user based CF 和 基于物品的 item based CF.

    1.user based CF

    对目标用户u, 找出与之相似的用户集合 U,将U中用户感兴趣而u没见过的物品推荐给u.

    用户相似度,通过将用户表示成商品的向量后计算。

    如果两两用户都计算相似度,那么计算复杂度为O(|U|^2),而对每个u来说,它的向量都是稀疏的。也就是说很多用户间没有交集,相似度计算为0。所以可以先过滤掉这些用户组合后再进行计算。一个方法是建立物品到用户的倒排表,对每个物品下的用户列表,两两组合作为key,key每出现一次加一,这样计算出每种存在交集的用户组合的相似度分子,然后除以分母即得到相似度。

    得到topK相似的用户后,计算目标用户u对物品i的兴趣度就表示成这个K个用户的相似度与他们对u的兴趣度的线性组合。

    用户兴趣相似度的一个改进:将商品流行度考虑进去,对热门商品采取惩罚。

    2.item based CF

    基于用户的CF随着用户增长,用户关系矩阵过大。基于物品的CF推荐与用户之前感兴趣过的物品有关联关系(或相似)的物品。相似度计算方式是通过用户的行为,而不是物品本身的属性来获得。

    也就是将物品表示成用户的向量后计算。和user based CF同理,建立用户-物品的倒排表。

    同理,会对某些属性的用户进行惩罚,来修正物品的相似度。

    ItemCF的相似度矩阵归一化后能够提高精度、覆盖度。

    参考:《推荐系统实践》

  • 相关阅读:
    VB字符串分割为数组,并获取下标值
    VB字符串分割为数组并遍历下标值
    VB去除字符串中的字符.
    VB中case用法
    Win10打开运行的快捷键
    SQL Server新建LinkServer
    SQL Server 存储过程之like赋值
    奋战杭电ACM(DAY5)1007
    ACM必备(学完一个就加亮一个)
    奋战杭电ACM(DAY4)1005
  • 原文地址:https://www.cnblogs.com/akanecode/p/7208997.html
Copyright © 2020-2023  润新知