• 2、前奏之基于用户的协同过滤算法:UserCF


    仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法,方法有:

    • 隐语义模型
    • 基于图的随机游走算法
    • 基于邻域的方法:应用最广泛
      • 基于用户的协同过滤算法:给用户推荐和他兴趣相似的其他用户喜欢的物品
      • 基于物品的协同过滤算法:给用户推荐和他之前喜欢的物品相似的物品 

    两步走:

    1. 找到和目标用户兴趣相似的用户的集合
    2. 找到这个集合中的用户喜欢的,且目标用户没有听过的商品推荐给目标用户

    一、找到和目标用户兴趣相似的用户的集合

    1、关键是计算两用户的兴趣相似度,主要利用行为的相似度计算兴趣相似度

    • jiacard相似度计算

             

    • 余弦相似度计算:常用

             

    • 余弦相似度改进:对商品流行度惩罚,商品越流行,对相似度贡献值越低

              

    2、计算用户的相似度矩阵

    二、找到这个集合中的用户喜欢的,且目标用户没有听过的商品推荐给目标用户

    1、计算用户u对物品i的偏好值,

       

    1. 在相似度矩阵中按照相似度对用户u关联的用户字典降序排列
    2. 取出前K个用户
    3. 取出和商品 i 用过交互的用户的列表或集合
    4. 取2和3的交集
    5. 对相似度和偏好值累加求和

    2、计算推荐列表

    渐变 --> 突变
  • 相关阅读:
    Java自学-多线程 常见线程方法
    Java自学-多线程 启动一个线程
    Java自学-Lambda 聚合操作
    Java自学-Lambda 方法引用
    Java自学-Lambda 概念
    Java自学-泛型 泛型转型
    Java自学-泛型 通配符
    Java自学-泛型 支持泛型的类
    <VCC笔记> 关于Assertion
    <VCC笔记>VCC简介与安装
  • 原文地址:https://www.cnblogs.com/lybpy/p/9821750.html
Copyright © 2020-2023  润新知