推荐系统常用评估指标
RMSE
加大了对预测不准的用户物品评分的惩罚。
$$
\text{RMSE}=\sqrt\frac{\sum{u,i\in{T}}(r{ui}-\hat{r_{ui}})^2}{|T|}
$$
MAE
如果评分系统是基于整数建立的,对预测结果取整会降低MAE的误差。
$$
\text{MAE}=\frac{\sum{u,i\in{T}}|r{ui}-\hat{r_{ui}}|}{|T|}
$$
Precision(准确率)&Recall(召回率)
$$
\text{Precision}=\frac{\sum{u\in{U}}|R(u)\bigcap{T(u)}|}{\sum{u\in{U}}|R(u)|}
$$
其中$R(u)$是用户在训练集上的行为给用户作出的推荐列表。
$$
\text{Recall}=\frac{\sum{u\in{U}}|R(u)\bigcap{T(u)}|}{\sum{u\in{U}}|T(u)|}
$$
其中$T(u)$是用户在测试集上的行为给用户作出的推荐列表。
覆盖率
覆盖率描述一个推荐系统对物品长尾的发掘能力。
$$
\text{Coverate}=\frac{|\bigcup_{u\in{U}}R(u)|}{I}
$$
其中$R(u)$是推荐系统给每个用户推荐一个长度为$N$的物品列表。
信息熵
信息熵可以定义覆盖率。
$$
H=\sum_{i=1}^np(i)\log{p(i)}
$$
其中$p(i)$是物品$i$的流行度除以所有物品流行度之和。
基尼系数
基尼系数可以定义覆盖率。基尼系数也可以查看推荐系统算法是否具有马太效应(流行更流行,不流行更不流行)。
$$
G=\frac{1}{n-1}\sum_{j=1}^n(2j-n-1)p(i_j)
$$
其中$i_j$是按照物品流行度$p$从小到大排序的物品列表中的第$j$个物品。
多样性
多样性描述了推荐列表中物品两两之间的不相似性。
$$
\text{Diversity}(R(u))=1-\frac{\sum_{i,j\in{R(u)},i\neq{j}}s(i,j)}{\frac{1}{2}|R(u)|(|R(u)|-1)}
$$
其中$R(u)$为用户$u$的推荐列表,$s(i,j)\in[0,1]$定义了物品$i$和物品$j$之间的相似度。
推荐系统的整体多样性定义为:
$$
\text{Diversity}=\frac{1}{|U|}\sum_{u\in{U}}\text{Diversity}(R(u))
$$
获取各种评测指标的途径
– | 离线实验 | 问卷调差 | 在线实验 |
---|---|---|---|
用户满意度 | x | y | o |
预测准确度 | y | y | x |
覆盖率 | y | y | y |
多样性 | o | y | o |
新颖性 | o | y | o |
惊喜度 | x | y | x |
长尾分布
$$
f_i(k)=\alpha_ik^{\beta_i} \
f_u(k)=\alpha_uk^{\beta_u}
$$
其中$f_u(k)$表示对$k$个物品产生行为的用户数;$f_i(k)$表示被$k$个用户产生过行为的物品数。