CTR预估评价指标介绍
1.1 Logloss
1.1.1 基本原理
- Logloss即对数损失, 也称为对数似然损失(Log-likelihood Loss),或交叉熵损失(cross-entropy Loss), 是在概率估计上定义的.可用于评估分类器的概率输出.
- CTR预估是一个二分类问题,只有两类 {0, 1}, 则Logloss公式为
其中,yi
为输入实例xi
的真实类别,pi
为预测输入实例xi
属于类别 1 的概率. - 对于完全正确的分类(预测概率为1),Logloss为0
- 对所有样本的Logloss表示对每个样本的Logloss的平均值, 对于完美的分类器, 对数损失为 0 .
- 注意控制范围,避免因为0或1带来的log溢出问题
1.1.2 可视化
- Logloss通过惩罚错误的分类,实现对分类器的准确度(Accuracy)的量化. 最小化Logloss基本等价于最大化分类器的准确度.
- 为了计算Logloss, 分类器必须提供对输入的所属的每个类别的概率值, 不只是最可能的类别.
- 下图展示了lable=1时Logloss值的范围 当预测概率接近1时,Logloss缓慢下降。但随着预测概率的降低,Logloss迅速增加 Logloss对两种类型的错误都会进行处罚,尤其是那些置信度很高的错误预测!
1.2 AUC
1.2.1 二分类的常用评价指标
CTR预估是一个二分类问题。二分类问题的评价指标有FP rate,TP rate,准确率accuracy,精确率precision,召回率recall,分别定义如下:
-
precision表示的是预测为阳性的样本中有多少是预测对的,recall表示有多少阳性样本被预测了出来,这二者通常是此消彼长,需要根据具体场合看用哪个指标。
-
accuracy表示预测准确的占所有的样本的比例。
1.2.2 ROC曲线
- ROC曲线以FPR(False Positive Rate)为横坐标,以TPR(True Positive Rate)为纵坐标对于二分类器,可以通过ROC曲线评判优劣。若FPR越小,TPR越大,则说明分类器性能越好,即曲线越逼近左上角,越好。
- 最理想状态就是(0,1)点,最差情况是(1,0)点。
- 由于预测值是一个评分,还要通过选定一个阈值来将它划分成1还是0。预测值大于阈值的样本为正样本,预测值小于阈值的样本为负样本,从而得到一对(FPR,TPR)值,此(FPR,TPR)就可以看做ROC图上的一点。
- 不难推测到,只要我们设置一系列不同阈值,就可以得到一系列(FPR,TPR)点,从而画出最终ROC曲线。例如下面示例:
1.2.3 ROC曲线特性
- 当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。
- 在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化,ROC曲线基本保持原貌。
上图中,{a,b}图代表原始数据集正负样本平衡时。{c,d}代表测试集中负样本的数量增加到原来的10倍后,分类器的结果。易发现ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大
1.2.4 AUC
-
AUC(Area Under Curve)被定义为ROC曲线下的面积, 显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。
- 数学上可以证明,AUC值等于一个概率,即在前面已经排序的样本列表中,随机选取一个正样本,再随机选取一个负样本,正样本排在负样本之前的概率。AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。
- AUC表征了正样本排在负样本前面的能力,并且与阈值选取无关,而与模型本身有关。