大数据技术原理与应用学习笔记(十四)
本系列历史文章
大数据技术原理与应用学习笔记(一)
大数据技术原理与应用学习笔记(二)
大数据技术原理与应用学习笔记(三)
大数据技术原理与应用学习笔记(四)
大数据技术原理与应用学习笔记(五)
大数据技术原理与应用学习笔记(六)
大数据技术原理与应用学习笔记(七)
大数据技术原理与应用学习笔记(八)
大数据技术原理与应用学习笔记(九)
大数据技术原理与应用学习笔记(十)
大数据技术原理与应用学习笔记(十一)
大数据技术原理与应用学习笔记(十二)
大数据技术原理与应用学习笔记(十三)
大数据在不同领域的应用
大数据在不同领域的应用概览
如图所示:
此处重点解释推荐系统及相关概念
推荐系统
推荐系统概述
历史记录→用户喜好→相关推荐
推荐系统是自动联系用户和物品的一种工具,通过研究用户的兴趣偏好,进行个性化计算,发现用户兴趣点,帮助用户从海量信息中发掘潜在需求。
长尾理论
推荐系统通过发掘用户的行为记录,找到用户个性化需求,发现用户潜在的消费倾向,从而将长尾商品准确推荐给需要的用户,帮助用户发现感兴趣却难以发现的商品,最终以实现用户与商家双赢。
推荐方法
推荐方法主要有:
- 专家推荐方法
- 基于统计推荐方法
- 基于内容推荐方法
- ※协同过滤推荐方法
- 混合推荐方法
推荐系统模型
推荐系统基本架构如图所示:
协同过滤推荐算法
协同过滤推荐可分为两种:基于用户的协同过滤和基于物品的协同过滤,这也是大数据在电商领域的应用的重点。
基于用户的协同过滤(UserCF)——最古老
最主要的两步骤:
- 找到和目标User兴趣相似的用户集合
- 找到该集合User喜欢且目标User没听说过的物品推荐给目标User
用户相似度的计算
用u代表User u,用v代表User v,
N
(
u
)
N(u)
N(u)代表User u所感兴趣的物品集合,
N
(
v
)
N(v)
N(v)代表User v代表User v所感兴趣的物品集合。
计算两用户的余弦相似度:
W
u
v
=
∣
N
(
u
)
⋂
N
(
v
)
∣
∣
N
(
u
)
∣
∣
N
(
v
)
∣
W_{uv} = \frac{|N(u) \bigcap N(v)|}{\sqrt{|N(u)||N(v)|}}
Wuv=∣N(u)∣∣N(v)∣∣N(u)⋂N(v)∣
感兴趣程度的计算
※根据用户喜好表绘制物品倒排表,绘制相似度矩阵N
通过用户相似度可将u对物品i感兴趣程度
P
u
i
P_{ui}
Pui
S
(
u
,
k
)
S(u,k)
S(u,k) 是和u最接近的k个用户集合,
N
(
i
)
N(i)
N(i) 是喜欢物品i的用户集合。
r
v
i
r_{vi}
rvi 是隐反馈信息,代表v对i的感兴趣程度,为简化计算可设
r
v
i
r_{vi}
rvi=1)
计算感兴趣程度:
P
u
i
=
∑
v
∈
S
(
u
,
k
)
⋂
N
(
i
)
W
u
v
r
v
i
P_{ui} = \sum_{v \in S(u,k) \bigcap N(i)} W_{uv}r_{vi}
Pui=v∈S(u,k)⋂N(i)∑Wuvrvi
给物品计算
P
u
i
P_{ui}
Pui 后,进行处理(降序等),最后取前N个物品推荐给u。
基于物品的协同过滤(ItemCF)——应用最广泛
最主要的两步骤:
- 计算物品之间的相似度
- 根据物品相似度和用户历史行为,给其推荐列表
※根据用户喜欢的物品列表,绘制物品相似度矩阵(每用户)M
最后汇总所有用户的物品相似度矩阵R。
通过物品相似度计算u对j感兴趣程度
P
u
j
P_{uj}
Puj
公式如下:
P
u
j
=
∑
i
∈
N
(
u
)
⋂
S
(
j
,
k
)
W
j
i
r
u
i
P_{uj} = \sum_{i \in N(u) \bigcap S(j,k)}W_{ji}r_{ui}
Puj=i∈N(u)⋂S(j,k)∑Wjirui
其中
W
j
i
W_{ji}
Wji表示物品之间相似度,
r
u
i
r_{ui}
rui为隐反馈信息,
S
(
j
,
k
)
S(j,k)
S(j,k)表示和j最近的k个物品集合。
UserCF和ItemCF的对比
-
UserCF算法的推荐更偏向社会化:适合应用于新闻推荐、微博话题推荐等应用场景,其推荐结果在新颖性方面有一定的优势
-
UserCF缺点:随着用户数目的增大,用户相似度计算复杂度越来越高。而且UserCF推荐结果相关性较弱,难以对推荐结果作出解释,容易受大众影响而推荐热门物品
-
ItemCF算法的推荐更偏向于个性化:适合应用于电子商务、电影、图书等应用场景,可以利用用户的历史行为给推荐结果作出解释,让用户更为信服推荐的效果
-
ItemCF缺点:倾向于推荐与用户已购买商品相似的商品,往往会出现多样性不足、推荐新颖度较低的问题