zoukankan      html  css  js  c++  java
  • 推荐算法-余弦相似度

    一、余弦相似度:

    余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"

    二维向量的余弦相似度:

    多维向量的余弦相似度(类比)

    协同过滤(Collaborative Filtering, 简称 CF):

    • 收集用户行为
    • 减噪与归一化处理
    1. 减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,我们可以通过经典的数据挖掘算法过滤掉行为数据中的噪音,这样可以是我们的分析更加精确
    2. 归一化:将各个行为的数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确。

    二、基于物品的协同过滤推荐算法(itemCF):

    算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品

    用户行为与权重:点击-1、搜索-3、收藏-5 、付款-10

    用户 A、B、C

    商品 1、2、3、4、5、6

    • 根据用户行为列表计算用户、物品的评分矩阵
    • 根据用户、物品的评分矩阵计算物品、物品的相似矩阵 
    • 相似度矩阵x评分矩阵=推荐列表
    • 推荐列表中用户之前已经有过行为的元素置为0

    三、基于用户的协同过滤推荐算法(UserCF)

    算法思想:给用户推荐和他兴趣相似的其他用户喜欢的物品

    用户行为与权重:点击-1、搜索-3、收藏-5 、付款-10

    用户 A、B、C、D、E、F  

    商品 1、2、3、4、5、6

    • 根据用户行为列表计算物品、用户的评分矩阵
    • 根据物品、用户的评分矩阵计算用户、用户的相似矩阵
    • 相似度矩阵X评分矩阵=推荐列表
    • 将推荐列表中用户已有行为的元素置0

    四、基于内容推荐算法

    算法思想:给用户推荐和他们之前喜欢的物品在内容上相似的其他物品

    1表示电影具有某个特征  0表示电影不具有某个特征

    物品特征建模:Item Profile

    • 构建Item Profile矩阵(电影的特征项矩阵)
    • 构建Item User评分矩阵(用户电影的评分矩阵)
    • Item User x Item Profile = User Profile (用户对电影的喜爱程度)
    • 对Item Profile和User Profile求余弦相似度

    五、基于物品的协同过滤推荐算法(itemCF)说明:

    1、根据用户行为列表计算用户、物品的评分矩阵

    2、根据用户物品的评分矩阵计算物品、物品的相似矩阵

    3、相似度矩阵x评分矩阵=推荐列表

    4、推荐列表中用户之前已经有过行为的元素置为0

  • 相关阅读:
    Android开发 使用 adb logcat 显示 Android 日志
    【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    C语言 结构体相关 函数 指针 数组
    C语言 命令行参数 函数指针 gdb调试
    C语言 指针数组 多维数组
    Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
    C语言 内存分配 地址 指针 数组 参数 实例解析
    CRT 环境变量注意事项
    hadoop 输出文件 key val 分隔符
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
  • 原文地址:https://www.cnblogs.com/wjh123/p/11400937.html
Copyright © 2011-2022 走看看