推荐系统

简介: 推荐系统的目标:根据用户的喜好,为不同的用户推荐不同的物品,促成更多的交易。1.协同过滤具有相似消费行为的人,可以相互推荐。比如用户a、b同时购买了手机,a又购买了手机壳,那么b也是手机壳的潜在买家。 往往需要一个物品评分矩阵R,元素ri,jr_{i,j}表示用户i对物品j的评分。一般采用5分制,从1(非常不喜欢)到5(非常喜欢)。形如: 表1.1 一个

推荐系统的目标:根据用户的喜好,为不同的用户推荐不同的物品,促成更多的交易。

1.协同过滤

具有相似消费行为的人,可以相互推荐。比如用户a、b同时购买了手机,a又购买了手机壳,那么b也是手机壳的潜在买家。
往往需要一个物品评分矩阵R,元素ri,j表示用户i对物品j的评分。一般采用5分制,从1(非常不喜欢)到5(非常喜欢)。形如:
表1.1 一个评分矩阵示例

user p1 p2 p3 p4 p5
u1 5 3 4 4 ?
u2 3 1 2 3 3
u3 4 3 4 3 5
u4 3 3 1 5 4
u5 1 5 5 2 1

ui,pi分别表示用户与物品编号。表示待评分。

1.1 基于用户

基本思想:先算用户相似度,找到与用户u最邻近的n个用户。然后根据这些用户对物品p的评分,预测出u对p的评分。

用户相似度,即历史评分行为相似。这也可以说明爱好相似。
使用Pearson相关系数(可译为培生,皮尔逊等),计算a,b两个用户的相似度公式

sim(a,b)=pP(ra,pra¯)(rb,prb¯)pP(ra,pra¯)2pP(rb,prb¯)2(1.1-1)

P为物品集合。 ru¯为用户u的平均评分。
Person相关系数的值从-1(强负相关)到1(强正相关)。
Person相关系数的计算考虑到了不同用户评分标准不尽相同这一情况——有些用户习惯性给高分,有些习惯性差评。
式1.1-2表示 用户a对物品p的评分预测值
pred(a,p)=ra¯+bNsim(a,b)(rb,prb¯)bNsim(a,b)(1.1-2)

N为与用户a打分行为最相似的n个用户的集合。大多数情况下,n取值为20~50比较合理。

1.2 基于物品

基于物品的协同过滤,item-based collaborative filtering 。

基本思想:在购买了p1物品的用户集合中,很多也买了p2,那么其他p1的购买者也是p2的潜在购买者。

物品a,b的相似度计算:

sim(a,b)=|U(a)U(b)||U(a)|×|U(b)|(2.1)

U(p)表示购买了物品p的用户集合。
因此协同过滤中的物品间相似并不一定是物品属性的相似(比如手机与手机壳被同时购买的概率就很大),而是基于被同时购买的概率的相似。
可以得到与物品p最相似的n个邻近物品集合S(p,n)为:
S(p,n)={x|sim(p,x)topn,xP}(2.2)

P为物品全集。
可以得到用户u对物品p的预测评分:
Rec(u,p)=iBought(u)S(p,n)wpirui(2.3)

wpi表示物品p与物品i的相似度; rui表示用户u对物品i的评分; Bought(u)表示用户u的已买物品集。

2.基于内容的推荐

基本思想:基于内容评估未购买物品与已购买物品的相似度,择优推荐。

为物品维护一些特征集合。 以图书为例:
表2.1物品属性

书名 体裁 作者 类型 价格 关键词
The Lace Reader fiction,mystery Tom Hardcover 50.0 detective,historical

表2.2用户小明的偏好

书名 体裁 作者 类型 价格 关键词
/ fiction,romance Selina Paperback(平装) 40.0 school,youth

用户偏好可以分析已购买物品的特征得到。

特征重叠相似度一般用Dice系数计算。
a,b两物品的Dice系数计算为:

Dice(a,b)=2|keywords(a)keywords(b)||keywords(a)|+|keywords(b)|(2.1)

可以描述为 2

3.如何评价一款推荐系统

常用于机器学习的N-折交叉检验同样适用。

3.1 推荐准确率

用户感知不到推荐评分,他看到的就是一个推荐列表,也就是评分后top-n的物品列表。所以可以定义=||||

Precision=uU|Rec(u)Test(u)|uU|Test(u)|(3.1)

Rec(u)为生成的用户u的推荐列表; Test(u)为测试集中用户u的购买列表。二者的交集就是命中的物品集合。

3.2 推荐召回率

可以定义=||||

Recall=uU|Rec(u)Test(u)|uU|Rec(u)|(3.2)

3.3 评分准确率

可以使用均方根误差来评估。

RMSE=u,iT(ruirui^)2|T|(3.3)

rui为用户u对物品i的评分(rating); rui^为预测值。
目录
相关文章
|
搜索推荐 算法
137 推荐系统是什么
137 推荐系统是什么
57 0
|
机器学习/深度学习 算法 搜索推荐
推荐算法介绍
推荐算法介绍
184 0
|
算法 搜索推荐 数据挖掘
139 常见的推荐算法
139 常见的推荐算法
66 0
|
算法 搜索推荐
推荐算法中需要注意的点
推荐算法中需要注意的点
49 0
|
机器学习/深度学习 搜索推荐 算法
基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍(上)
基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍(上)
478 0
基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍(上)
|
搜索推荐 测试技术
推荐系统:协同过滤
可以根据产品元数据计算的,提供制定推荐的选择,推荐与用户过往购买过的产品相关性最相似的产品,今天我们来聊聊如何通过利用用户和产品之间的相似性提供建议的方法。 协同过滤是一种利用用户和产品之间的相似性提供建议的方法。协同过滤分析相似的用户或相似评级的产品,并根据此分析推荐用户。
190 0
|
人工智能 搜索推荐 算法
推荐系统 (协同过滤)
推荐系统 (协同过滤)
155 0
推荐系统 (协同过滤)
|
机器学习/深度学习 搜索推荐 算法
推荐系统干货总结【全】(二)
推荐系统干货总结【全】(二)
154 0
|
存储 搜索推荐 算法
基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍(下)
基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍(下)
590 0
基于协同过滤算法的电影推荐系统设计(二) - 推荐系统介绍(下)
|
机器学习/深度学习 消息中间件 算法
为什么需要推荐系统
流量特点: 稀缺性:获取流量是有成本的,流量成本:
147 0