当前位置:   article > 正文

推荐系统学习【1】协同过滤系统_协同过滤推荐系统

协同过滤推荐系统

协同过滤系统Collaborative Filtering Recommender Systems

一、推荐系统分类

1.1基于内容的推荐

利用用户和项目的信息进行推荐,主要思想就是首先抽取表示该项目的项目特征; 然后利用用户过去感兴趣以及不感兴趣的项目特征数据学习该用户的偏好特征; 最后通过比较用户的偏好特征和候选项目特征为用户推荐一组相关性最大的项目。

1.2协同过滤推荐

利用用户或物品间的相似度以及历史行为数据以对目标用户进行有效推荐。

1.3混合推荐

二、基于协同过滤的推荐

协同过滤系统通过计算系统中用户之间的相似度,根据他们之间的相似模式来预测项目。利用“项目-用户评分矩阵”进行推荐,主要分为以下几步:
(1)用户-评分矩阵是一个二维矩阵,在二维矩
阵 R 中, U 和 I 分别对应用户和项目。Rij是用户 Ui对项目 lj 的评分。如果用户未对项目评分则项目值设为 0。
(2)使用矩阵 R 预测用户 i 对项目 j 的评分, 以便为用户可能喜欢的 N 个项目做出推荐。
协同过滤推荐的一般过程

2.1基于内存的协同过滤

基于内存的协同过滤分为基于用户的方法(User-based CF)和基于项目的方法(Item-based CF),是利用用户的历史喜好信息计算用户之间的距离, 然后利用目标用户的邻居用户对商品评价的加权值来预测目标用户对特定商品的喜好程度, 推荐系统根据喜好程度对目标用户进行推荐。基于用户的推荐更社会化, 反映用户所在的兴趣群体中物品的热门程度; 基于项目的推荐更个性化, 反映用户自己的兴趣传承

计算相似度常用方法

(1)皮尔森(Pearson)相关系数
用于度量任意两变量间线性相关的程度, 系数值越大表明两者相关性越强, 系数的输出范围为[–1,1]。
在这里插入图片描述
其中, Iij表示用户i 和用户j 共同评分过的项目集合, Ri,x和 Rj,x分别表示用户 i 和用户 j 对项目 x 的评分, -RI 和-RJ 分别表示用户i 和用户j 对所有项目评分的平均值。
(2)余弦相似度
输出范围和皮尔森相关性系数一致, 含义也相似。
在这里插入图片描述
修正的余弦相似度:
利用减去用户对项目的平均评分的方式改善余弦相似度中未考虑不同用户对项目的评分标准存在差异的问题。
在这里插入图片描述
其中, Ixy表示用户i 和用户j 共同评分过的项目集合, Rx,i和 Ry,i分别表示用户 x和用户 y 对项目 i 的评分, -RX 和-RY 分别表示用户X和用户Y 对所有项目评分的平均值。
(3)杰卡德(Jaccard)相似系数
是衡量两个集合之间相似度的一种指标。用户 u 和用户 v 共同评分过的项目集合的数量与他们评分过的总项目集合的数量之间的比例称为杰卡德相似系数。由于该方法无法反映用户的具体评分偏好信息, 因此通常用于评估用户是否会对项目进行评分而不是预测用户对项目的具体评分。
在这里插入图片描述
其中 N(u), N(v)分别表示用户 u 和用户 v 评分过的项目集合

(4)欧氏距离
对于用户 ui 和 uj, 欧氏距离即计算这两个用户的评分向量在 n 维向量空间中的绝对距离
在这里插入图片描述
在实际使用中, 通常还需要将欧氏距离进行归一化处理, 可以得出两者之间的相似性为:
在这里插入图片描述

2.2基于模型的协同过滤

比较常用有贝叶斯模型,矩阵分解矩阵分解[12]。矩阵分解是推荐系统中最常用
的协同过滤模型之一。该模型利用用户-项目评分矩阵预测用户对项目的评分, 通过学习用户潜在向量U 和项目的潜在向量 V, 使 U 和 V 内积近似于用户真实评分 X, 得到预测的评分 R 可以写成:

其中 i 是用户索引, j 是项目索引, rij 表示用户 i 对项目 j 的预测评分, u 是用户的潜在向量, v 是项目的潜在向量。然后计算其损失函数为:
在这里插入图片描述

三、协同过滤的任务

基于协同过滤的推荐系统可以根据任务的不同分为评分预测和 Top-N 推荐。

3.1基于模型的协同过滤

该任务的主要应用场景为评价网站, 如豆瓣网站。通过建模用户对项目的历史评分记录得到用户的兴趣模型, 进而预测用户对未评分项目的评分。最常用的技术是矩阵分解技术。

3.2 TOP-N推荐

该任务的主要应用场景为购物网站或一般拿不到显式评分信息的网站, 如亚马逊网站、淘宝网站。通过用户的隐式反馈信息为其推荐可能感兴趣的前 N 个商品。

四、评价指标

4.1评分预测—准确度

(1)平均绝对误差(Mean Absolute Error,MAE)
在这里插入图片描述
(2)均方根误差(Root Mean Square Error,RMASE)
在这里插入图片描述

4.2 排名准确度

令 R(u)表示模型根据用户在训练集上的行为计算出的推荐项目列表, T(u)表示用户在测试集上的真实喜爱列表

R(u)预测不推荐
T(u)
实际不推荐

(1)查准率 ① ① + ③ \frac{①}{①+③} +
在这里插入图片描述
(2)召回率 ① ① + ② \frac{①}{①+②} +
在这里插入图片描述
(3) F1 分数。该方法能够兼顾精确率和召回率, 可以看作是准确率和召回率的一种加权平均。
在这里插入图片描述
(4) 折损累计增益(Discounted Cumulative Gain, DCG)
目的在于让排名越靠前的结果越能影响最后的结果。
在这里插入图片描述
(5) 归一化折损累计增益 (Normalized Discounted cumulative gain, NDCG)
由于搜索结果随着检索词的不同, 返回的数量是不一致的, 而 DCG 是一个累加的值, 无法对两个不同的搜索结果进行比较, 因此需要归一化处理。
在这里插入图片描述
IDCGp 为理想情况下的最大 DCG 值,
在这里插入图片描述
其中, |REL|表示结果按照相关性从大到小排序后, 前 p 个结果组成的集合。

4.2 覆盖率

覆盖度标识推荐系统对物品长尾的发掘能力, 用以衡量系统是否能推荐到所有物品。设现有用户
集合为 U, 系统为每个用户 u 提供 Top-N 推荐列表为R(u), 则覆盖度为
在这里插入图片描述

五、常用数据集

推荐系统中常用的数据集主要有 MovieLens、Jester、Book-Crossings、Last.fm、Wikipedia
在这里插入图片描述

其中, MovieLens 是电影评分的集合, 有 3 种大小的数据集; Jester包含150个笑话, 大约600万评分;
Book-Crossings 是关于图书评分的数据集; Last.fm 提供音乐推荐的数据集, 包含用户最喜爱的艺术家列表及其播放次数; Wikipedia 是其用户撰写的百科全书, 被广泛用于社交网络分析、图像和数据库实现测试以及用户行为研究。

六、目前问题及解决方式

传统协同过滤推荐系统的问题主要包括: 冷启动与稀疏性问题、可扩展性问题、多样性问题以及可解释性问题。

6.1 冷启动与稀疏性问题

当出现新用户或新项目的时候无法做出推荐,问题被称为冷启动问题。
用户评价过的项目或用户间重叠的项目数量过少, 使得用户-项目矩阵出现极端稀疏性。
协同过滤方法可以根据它们使用的信息源分为三条通路。开创性的工作是仅利用评分数据或签到
数据作为单一来源用于推荐; 为了进一步提高推荐性能, 随后一些算法考虑了额外的信息(如用户的社
交网络或商品的属性 ); 第三是迁移协同过滤(Transfer Collaborative Filtering, TCF),它尝试从源域学习知识应用到目标域以实现更好推荐。

6.2 可扩展性问题

随着互联网和信息计算的发展, 用户和项目数量也急剧增长, 传统协同过滤推荐算法的计算过
程和运算量将呈指数型增长, 会使推荐系统遭受很严重的可扩展性问题; 此外, 系统需要准确、实时地为系统中的所有用户进行推荐, 而这需要推荐系统具有较高的可扩展性。在协同过滤技术中, 基于模型的方法更易解决系统的可扩展性问题。

6.3 多样性问题

该问题是指用户只能获得其用户画像中已知的或已定义的物品推荐, 阻碍用户发现新物品或其他
选择。然而推荐多样性是一切推荐系统的目标。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/627068
推荐阅读
相关标签
  

闽ICP备14008679号