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

  • 相关阅读:
    ubuntu在桌面创建快捷方式
    ubuntu下安装VMware
    常用docker命令
    转:如何在Ubuntu 14.04中安装最新版Eclipse
    docker初安装的血泪史
    关于ubuntu中文输入调用不出来的解决办法,具体如正文。
    测试linux下磁盘的读写速率
    pidstat 命令详解(转载)
    TCP/IP 协议栈4层结构及3次握手4次挥手
    nginx反向代理原理及配置详解
  • 原文地址:https://www.cnblogs.com/wjh123/p/11400937.html
Copyright © 2011-2022 走看看