《深度学习推荐系统》(第7章)阅读笔记

《深度学习推荐系统》,作者王喆,2020年3月第1版,第7章《推荐系统的评估》。

离线评估

离线评估方法

Holdout检验:将数据集按照一定的比例随机划分成训练集和验证集,验证集用于模型评估。

k-fold交叉验证:将数据集划分成k个大小相等的子集,依次将k个子集作为验证集,其他所有子集作为训练集,最后将k次评估指标的平均值作为最终的评估指标。

Bootstrap自助法:对样本数为n的数据集,进行n次采样作为训练集(有的样本会被重复采样,有的样本没有被采样),没有被采样的样本作为验证集。

离线评估指标

混淆矩阵

总数=P+N=PP+PN=TP+TN+FP+FN Predicted Positive (PP) Predicted Negative (PN)    
Actual Positive (P) True Positive (TP) False Negative (FN) True Positive Rate (TPR) = $\frac{TP}{P}$ = $\frac{TP}{TP + FN}$ False Negative Rate (FNR) = $\frac{FN}{P}$ = $\frac{FN}{TP + FN}$
Actual Negative (N) False Positive (FP) True Negative (TN) False Positive Rate (FPR) = $\frac{FP}{N}$ = $\frac{FP}{FP + TN}$ True Negative Rate (TNR) = $\frac{TN}{N}$ = $\frac{TN}{FP + TN}$
  Positive Predictive Value (PPV) = $\frac{TP}{PP}$ = $\frac{TP}{TP + FP}$ False Omission Rate (FOR) = $\frac{FN}{PN}$ = $\frac{FN}{FN + TN}$    
  False Discovery Rate (FDR) = $\frac{FP}{PP}$ = $\frac{FP}{TP + FP}$ Negative Predictive Value (NPV) = $\frac{TN}{PN}$ = $\frac{TN}{FN + TN}$    

预测模型

准确率:$ACC = \frac{TP + TN}{TP + TN + FP + FN}$

精确率(Precision):$Precision = PPV = \frac{TP}{TP + FP}$

召回率(Recall):$Recall = TPR = \frac{TP}{TP + FN}$

均方根误差(RMSE):$RMSE = \sqrt{\frac{\sum_{i=1}^n(y_i-\hat{y_i})^2}{n}}$($y_i$为样本i真实值,$\hat{y_i}$为样本i预测值,$n$为样本总数)

对数损失函数(LogLoss):$LogLoss = -\frac{1}{N}\sum_{i=1}^N(y_ilogP_i+(1-y_i)log(1-P_i))$($y_i$为样本i真实类别,$P_i$为样本i是正样本的概率,$N$为样本总数)

排序模型

P-R曲线:Precision-Recall曲线,纵轴是Precision,横轴是Recall,从左向右降低正样本阈值描点形成曲线

ROC曲线:TPR-FPR曲线,纵轴是TPR,横轴是FPR,从左向右降低正样本阈值描点形成曲线

曲线下面积AUC:P-R曲线或者ROC曲线下的面积,用来评估模型性能,AUC越大模型性能越好

平均精度均值(mAP):平均精度AP是指,对某个用户测试集排序后每个样本处的Precision的均值(也就是说,将样本按照正样本概率由大到小排列,当正样本阈值取到正好能将某位置样本预测为正样本时,产生的Precision就是该样本处的Precision);mAP是指所有用户AP的均值。

Replay方法

线上评估

Interleaving方法