1. 推荐系统评测指标
(1)用户满意度
通过用户调查或者在线实验获得,可以通过购买率度量用户的满意度、与购买率类似的点击率、用户停留时间和转化率等指标来度量
(2)预测准确度
- 评分预测
评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算.
对于测试集中的一个用户 u u u和物品 i i i,令 r u i r_{ui} rui是用户 u u u对物品 i i i的实际评分,而 r u i ^ \hat{r_{ui}} rui^是推荐模型预测出的评分,
那么RMSE可以定义为: R M S E = ∑ u , i ∈ T ( r u i − r ^ u i ) 2 ∣ T ∣ RMSE = \sqrt{\frac{\sum_{u,i \in T}(r_{ui} - \hat{r}{ui})^2}{|T|}} RMSE=∣T∣∑u,i∈T(rui−r^ui)2 MAE定义为: M A E = ∑ u , i ∈ T ∣ r u i − r ^ u i ∣ ∣ T ∣ MAE = \frac{\sum{u,i \in T}|r_{ui} - \hat{r}_{ui}|}{|T|} MAE=∣T∣∑u,i∈T∣rui−r^ui∣ RMSE由于存在平方项,使得使得用户真实评分与推荐系统预测评分相差较大的用户加大了惩罚,即该评测指标对系统要求更加的苛刻 - TopN推荐
该推荐方式最常用的预测准确率指标一般是精确率(precision)和召回率(recall),
令 R ( u ) R(u) R(u)为通过推荐模型得到的推荐列表, T ( u ) T(u) T(u)为用户在实际场景中(测试集)的行为列表.
精确率(precision): 分类正确的正样本个数占分类器判定为正样本的样本个数比例(这里 R ( u ) R(u) R(u)相当于是模型判定的正样本) P r e c i s i o n = ∑ u ∈ U ∣ R ( u ) ∩ T ( u ) ∣ ∑ u ∈ U ∣ R ( u ) ∣ Precision= \frac{\sum_{u \in U}|R(u) \cap T(u)|}{\sum_{u \in U}|R(u)|} Precision=∑u∈U∣R(u)∣∑u∈U∣R(u)∩T(u)∣
召回率(recall): 分类正确的正样本个数占真正的正样本个数的比例(这里的 T ( u ) T(u) T(u)相当于真正的正样本集合)
R e c a l l = ∑ u ∈ U ∣ R ( u ) ∩ T ( u ) ∣ ∑ u ∈ U ∣ T ( u ) ∣ Recall= \frac{\sum_{u \in U}|R(u) \cap T(u)|}{\sum_{u \in U}|T(u)|} Recall=∑u∈U∣T(u)∣∑u∈U∣R(u)∩T(u)∣
有时候为了更加全面的评估TopN推荐,通常会选取不同的推荐列表长度计算多组精确率与召回率然后分别绘制出精确率曲线和召回率曲线,需要注意的是这里并不是PR曲线,感兴趣的可以了解一下PR曲线相关的知识.
(3)覆盖率
推荐系统所有推荐出来的商品集合数占总物品集合数的比例。
信息熵定义覆盖率: 其中 p ( i ) p(i) p(i)是物品 i i i的流行度除以所有物品流行度之和 H = − ∑ i = 1 n p ( i ) l o g p ( i ) H = -\sum_{i=1}^n p(i) logp(i) H=−i=1∑np(i)logp(i) 基尼系数定义覆盖率: 其中 i j i_j ij是按照物品流行度p从小到大排序的物品列表中第 j j j个物品 G = 1 n − 1 ∑ j = 1 n ( 2 j − n − 1 ) p ( i j ) G=\frac{1}{n-1} \sum_{j=1}^{n}(2j-n-1)p(i_{j}) G=n−11j=1∑n(2j−n−1)p(ij)
(4)多样性
比如商品基于内容的相似,基于协同过滤的相似,这样就可以得到不同角度的多样性.
令函数
s
(
i
,
j
)
s(i,j)
s(i,j)为物品
i
i
i和物品
j
j
j的相似性,那么用户推荐列表的多样性可以定义为:
D
i
v
e
r
s
i
t
y
(
R
(
u
)
)
=
1
−
∑
i
,
j
∈
R
(
u
)
s
(
i
,
j
)
1
2
∣
R
(
u
)
∣
(
∣
R
(
u
)
∣
−
1
)
Diversity(R(u))=1-\frac{\sum_{i,j \in R(u)}s(i,j)}{\frac{1}{2}|R(u)|(|R(u)|-1)}
Diversity(R(u))=1−21∣R(u)∣(∣R(u)∣−1)∑i,j∈R(u)s(i,j) 推荐系统整体的多样性可以定义为所有用户推荐列表多样性的平均值:
D
i
v
e
r
s
i
t
y
=
1
U
∑
u
∈
U
D
i
v
e
r
s
i
t
y
(
R
(
u
)
)
Diversity = \frac{1}{U} \sum_{u\in U}Diversity(R(u))
Diversity=U1u∈U∑Diversity(R(u))
(5)新颖性
(6)AUC曲线
2.召回
召回层负责将海量的候选集快速缩小为几万到几千的规模;
排序层则负责对缩小后的候选集进行精准排序。
(1)多路召回策略
采用不同的策略、特征或简单模型,分别召回一部分候选集,然后把候选集混合在一起供后续排序模型使用
(2)embedding
主要目的是将稀疏的向量(如one-hot编码)表示转换成稠密的向量。
目前主流的Embedding技术主要可以分为三大类。
- text embedding
- image embedding
- graph embedding
在推荐系统领域,text embedding技术是目前使用最多的embedding技术,对于文本特征可以直接使用该技术,对于非文本的id类特征,可以先将其转化成id序列再使用text embedding的技术获取id的embedding再做召回。
常见的text Embedding的技术有:
- 静态向量:word2vec, fasttext, glove
- 动态向量:ELMO, GPT, BERT