论文相关
最近在看推荐系统相关的一些论文和文章,将一些较好的资源和论文放在这里记录一下
- https://zhuanlan.zhihu.com/p/52169807
- 讲述了youtube推荐系统的精妙之处
- https://zhuanlan.zhihu.com/p/61827629(https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650411547&idx=1&sn=76dd53c96bd97ec37c9d078a402f7eb0)
- youtube推荐系统当中serving部分为什么使用带权重的LR,为什么预测的是用户的观看时长
- https://mp.weixin.qq.com/s/CGZosNuRvMg-tKjgqnZ6XQ
- 总结了一些推荐系统方面的论文
几个常用指标的总结
- 召回率:
- 精准率:
- AUC:
- 真阳性
- 假阳性
HR(hit ratio):退给用户的top-k个条目当中有几个是真正的
H
R
@
K
=
N
u
m
b
e
r
o
f
h
i
t
s
@
K
∣
G
T
∣
HR@K = \frac{Number \space of \space hits @K}{|GT|}
HR@K=∣GT∣Number of hits@K
假如有三个用户,在测试集当中分别有10,12,8个商品,而top-10推荐列表当中分别命中了6,5,4个。那么HR@10 = (5+5+4)/(10+12+8)=0.5
MAP(Mean Average Precision):
- 考虑了推荐列表的排序
- 给用户
u
u
u推荐一些物品,它的平均准确率:
A
P
(
u
)
=
1
∣
Ω
u
∣
∑
i
∈
Ω
u
∑
j
∈
Ω
u
h
(
p
u
j
<
p
u
i
)
+
1
p
u
i
AP(u) = \frac{1}{|\Omega_u|} \sum_{i \in \Omega_u} \frac{\sum_{j \in \Omega_u} h(p_{uj} < p_{ui})+1}{p_{ui}}
AP(u)=∣Ωu∣1i∈Ωu∑pui∑j∈Ωuh(puj<pui)+1
其中 Ω u \Omega_u Ωu 表示推荐给用户列表当中的真正正确的商品, ∣ Ω u ∣ |\Omega_u| ∣Ωu∣表示其个数
p u i p_{ui} pui:表示物品 i i i在推荐列表当中的位置
h ( p u j < p u i ) h(p_{uj} < p_{ui}) h(puj<pui):表示物品 j j j 是否在物品 i i i 之前,如果是则为1,否则为0,所以 ∑ j ∈ Ω u h ( p u j < p u i ) \sum_{j \in \Omega_u} h(p_{uj} < p_{ui}) ∑j∈Ωuh(puj<pui) 表示所有在物品 i i i 之前的用户感兴趣的物品有多少个 - MAP 就是在对所有的用户做一个平均: M A P = 1 ∣ U ∣ ∑ u ∈ U A P ( u ) MAP = \frac{1}{|U|} \sum_{u \in U} AP(u) MAP=∣U∣1u∈U∑AP(u) 其中 U U U表示用户的集合
NDCG(Normalized Discounted Cummulative Gain)
- CG(累积增益): 将推荐列表当中每个推荐的相关性累加起来,作为这个推荐列表的得分
- C G k = ∑ i = 1 k r e l i CG_k = \sum_{i=1}^k rel_i CGk=i=1∑kreli,其中 r e l i rel_i reli 表示在推荐列表当中处于位置 i i i 的元素的相关性得分
- DCG:由于CG没有考虑推荐列表当中元素位置的影响,所以。。。这里对于排名靠后的元素进行打折处理。 D C G k = ∑ i = 1 k 2 r e l i − 1 l o g 2 ( i + 1 ) DCG_k = \sum_{i=1}^k \frac{2^{rel_i} - 1}{log_2 (i+1)} DCGk=i=1∑klog2(i+1)2reli−1
- IDCG: idea DCG,最好的推荐
- NDCG: N D C G u @ k = D C G u @ k I D C G u , 这 是 归 一 化 的 过 程 NDCG_u@k = \frac{DCG_u@k}{IDCG_u}, 这是归一化的过程 NDCGu@k=IDCGuDCGu@k,这是归一化的过程。 N D C G @ k = 1 ∣ U ∣ ∑ u ∈ U N D C G u @ k NDCG@k = \frac{1}{|U|} \sum_{u \in U} NDCG_u@k NDCG@k=∣U∣1u∈U∑NDCGu@k
MRR(Mean Reciprocal Rank)
- M R R = 1 ∣ U ∣ ∑ u = 1 ∣ U ∣ 1 r a n k u MRR = \frac{1}{|U|} \sum_{u=1}^{|U|} \frac{1}{rank_u} MRR=∣U∣1u=1∑∣U∣ranku1,其中 r a n k u rank_u ranku 表示对用用于u的推荐列表,第一个用户感兴趣的物品所在的位置。 U U U表示总的用户集合
参考文章
- auc/ROC讲解的不错:https://www.jianshu.com/p/4dde15a56d44
- 推荐系统的相关指标:https://zhuanlan.zhihu.com/p/38875570