关联规则与基于用户/物品协同过滤(隐语义模型)

关联规则和协同过滤
推荐系统的评价指标
第一层次:基于数据的指标
– 预测评分准确度、预测评分关联、分类准确度、排序准确度
第二层次:商业应用上的关键表现指标
– 用户受推荐影响后的转化率、客单价、购买品类数和活跃度等的变化
第三层次:用户真实体验

推荐系统特殊评价指标(现在比较流行)
多样性/新颖性/惊喜度
多样性:描述推荐系统中推荐结果能否覆盖用户不同兴趣领域;一般通过推荐列表中物品的两两间不相似性来计算
新颖性:用户是否已知推荐列表中的物品,可通过推荐结果平均流行度和对用户进行问卷来获得
惊喜度:若推荐结果和用户的历史兴趣不相似并让用户很满意,则是一个惊喜的推荐,可定性地通过推荐结果与用户历史兴趣的相似度和用户满意度来衡量
在这里插入图片描述

评价指标——用户满意度
通过一些对用户行为(如购买率、满意或不满意反馈按钮)统计得到;一般情况下,可用点击率、用户停留时间和转化率等指标度量用户的满意度

评价指标——预测准确度(推荐系统最重要的离线测评指标)

  1. 评分预测
    评分预测的预测准确度一般用均方根误差(RMSE)和平均绝对误差(MAE)计算
  2. Top N推荐
    网站提供推荐服务时,一般给用户一个个性化推荐列表,这种推荐叫TopN推荐。
    召回率实际就是查全率(看推荐的物品对整个商品的覆盖);准确率是我们推荐的商品确实是客户所喜欢的
    覆盖率:描述一个推荐系统对物品长尾的发掘能力(推荐系统里能够推荐多少冷门的商品);最简单的定义为推荐系统能够推荐出的物品占总推荐物品集合的比例。

购物篮分析和关联规则
定义
单个客户一次购买商品的总和称为一个购物篮

算法
不考虑购物顺序:关联规则
考虑购物顺序:序贯模型

应用
超市货架布局:互补品和互斥品
套餐设计和捆绑销售

算法
不考虑购物顺序:关联规则
考虑购物顺序:序贯模型

关联规则挖掘
关联规则挖掘定义:给定一个交易数据集T,找出其中所有支持度和置信度满足一定条件的关联规则
最简单方法为穷举项集所有组合,且计算和判断每个组合是否满足条件
怎样快速挖出满足条件的关联规则是关联挖掘的需要解决主要问题
Apriori算法是解决这一问题最流行的算法

其他算法
Brute-force algorithm暴力筛选法
FP-growth algorithm 频繁模式增长筛选算法

关联规则挖掘:Apriori算法

关联规则优缺点
优点
– 原理易于理解,比较容易解释
– 提炼规则相对稳定,不需要频繁更新
缺点
– 并不是真正的个性化推荐,不同用户推荐结果不同
– 面对稀疏数据效果不佳

基于邻域相似性推荐和协同过滤
基于相似性推荐流程
收集用户偏好
根据用户偏好计算用户相似性
匹配用户,推荐商品

用户偏好如何整合
将不同行为分组
加权操作

相似度如何计算 (协同过滤算法的核心)
余弦相似度
欧式距离倒数
– 使得结果分布在(0,1]上,数值越大,相似度越高
皮尔逊相似度

相似度除了可用在协同过滤,还可以用在人脸识别或者手写识别

相比欧式距离,余弦距离更加注意两个向量在方向上的相对差异,而不是在空间上的绝对距离

Pearson相似度
Pearson相似度定义为两个变量之间协方差和标准差的商,是度量线性相关性的最常用方法
Pearson系数的取值范围为[-1,1],当值为负时,为负相关,当值为正时,为正相关,绝对值越大,则正/负相关程度越大
优点是计算中考虑了用户评分的均值
缺点:
– 如果用户只对一个商品有评分
– 如果用户对所有商品评分一样
– 没有考虑到用户评分数量的差异

协同过滤
协同过滤是利用群体智慧解决个性化的一个典型方法
协同是群体行为,过滤则是针对个人的行为
Item-based CF
– 通过用户对不同item评分评测item之间相似性,基于item之间相似性做出推荐
– 物以类聚
user-based CF
– 通过不同用户对item评分来评测用户之间的相似性,基于用户之间的相似性做出推荐
– 人以群分

关联规则vs协同过滤
关联规则
– 回答问题:某消费者购买商品A,那么他还可能买什么商品?
– 特征:直接的推荐,从整体数据中挖掘潜在关联,与单个人的偏好无关
协同过滤
– 回答问题:1)与A客户相似的客户群是谁?将客户群中物品推荐给A;2)与A物品相似的物品群是什么?对某用户,若其已经购买或收藏A,则推荐该用户与A相似的物品群
– 特征:间接推荐,即先找到相似的人或物,再根据品味相似的人的偏好进行推荐
– 协同过滤=协同(集体智慧的部分)+过滤(针对具体某个人又做了一次个性化)

基于用户的协同过滤算法
基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐
简单概括:给用户推荐和他兴趣相似的其他用户喜欢的物品
基于用户协同过滤思想很简单,基于用户对物品偏好找到相邻邻居用户,再将邻居用户喜欢的推荐给当前的用户
计算上,就将一个用户对所有物品的偏好作为一个向量计算用户之间的相似度,找到相似邻居后,根据邻居相似度权重及它们对物品的偏好,预测当前用户对没有涉及物品的偏好,计算得到一个排序的物品列表作为推荐
上图给了一个例子,对于用户A,根据用户历史偏好,计算得到一个邻居用户C,然后将用户C喜欢的物品D推荐给用户A
在这里插入图片描述

基于用户协同过滤算法包括两个步骤:

  1. 找到和目标用户兴趣相似的用户集合(用户间的两两结合构建相似度
  2. 找到该集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户(通过用户间的相似度乘以购买用户对物品的打分来评估目标用户的偏好程度

基于物品协同过滤算法
基于item的协同过滤,通过用户对不同item评分来评测item之间的相似性,基于item之间的相似性做出推荐
简单概括:给用户推荐和他之间喜欢的物品相似物品,相比基于用户的协同过滤,基于物品的协同过滤多了物品与物品之间的共现相似度矩阵

基于物品协同过滤算法主要分两步:

  1. 计算物品之间相似度
  2. 根据物品相似度和用户历史行为给用户生成推荐列表

user-based CF vs item-based CF
对电子商务和电影音乐推荐网站,考虑用户数量一般大大超过商品数量,此时基于物品协同过滤推荐计算复杂度相对较低,是应用较广泛推荐算法
对如新闻推荐等物品增长较快,实用性较高的场合,更适合采用基于用户的协同过滤
对比如微博这样的社交网站,一方面考虑内容数量和更新速度,基于用户的协同过滤是一个不错的选择,再加上社会网络信息,可增加用户对推荐解释的信服程度

注意:对于是使用基于物品协同过滤还是使用基于用户协同过滤,主要考虑是哪个相似度矩阵比较小,就使用哪一个

协同过滤优缺点
优点
– 能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等
– 共享他人的经验,避免了内容分析的不完全和不精确
– 有推荐新信息的能力,可发现内容上完全不相似的信息,可以发现用户潜在的但自己尚未发现的兴趣偏好
缺点
– 冷启动问题
– 数据稀疏问题
– 热门物品干扰,两个不同领域的最热门物品间有较高的相似度

(面试问题)如何抵消热门产品对协同过滤的影响(长尾问题)?
answer:建立加权惩罚项

基于模型的个性化推荐——隐语义模型
基于模型协同过滤主要有以下模型:
隐语义模型
贝叶斯信念网协同过滤模型
聚类协同过滤模型
概率因素模型
ALS交替最小二乘模型——spark中所提供的推荐系统模型的最优解

SVD矩阵分解的目的是解决稀疏矩阵的问题
SVD矩阵分解是将用户与物品的相似度矩阵拆分成用户与类和类与物品矩阵的乘积

隐语义模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
特征工程本质就是建变量;每个特征就是每个变量。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值