推荐算法中模型评估标准——AUC和 NE

广告电商等推荐算法中,评估模型质量的指标,目前用的较多的有:AUC,NE, Bias.

AUC(area under curve):  名字曲线下面积,曲线指的的是ROC曲线,ROC曲线如下图(a)所示,其中横坐标是假正率(负样本预测为正的比率),纵坐标是真正率(正样本预测为正的比率),很显然,假正率越低同时真正率越高的越好。但这些比率和分类阈值有关,相关比率曲线如图(b),阈值取得越低,更多的样本被预测为正,真正率将会很高,但假正率也增高;反之阈值过高,假正率会很低,但真正率也会变低。我们尽量希望假正率低且虚警率高,所以曲线应该尽可能低靠近左上角。

在推荐算法中,我们不太关心阈值怎么取的问题,因为我们只需要对全部item进行打分并排序就够了,排在前面的N个(N由业务需求决定)推荐给用户。如果在分类问题中,需要制定一个阈值,一般来说,我们会选择一个比较折中的阈值,在图(a)的equal error rate位置,这个位置是左上角到右下角连线与ROC曲线的交点,这时候假正率和假负率相等,认为比较平衡。

《推荐算法中模型评估标准——AUC和 NE》

AUC是曲线下面积,这个值越接近1,表面曲线越靠近左上角,认为模型性能越好。auc的直观含义是任意取一个正样本和负样本,正样本得分大于负样本的概率。

NE(normized entropy):是由facebook提出的模型评估标准。它的定义为每次曝光时预测得到的log loss(交叉熵损失)的平均值,除以整个数据集原本的信息熵,如下所示:

《推荐算法中模型评估标准——AUC和 NE》

其中N是样本数量,yi是预测值{+1,-1},pi是预测为+1的概率(在LR算法模型中的评分值,p是整体CTR。对于好的预测:当yi=1时,即样本为正,pi约接近1越好;当yi=-1,即样本为负,pi约接近0越好。我们发现,在好的预测时,NE的分子项都接近于0,而不好的预测,NE会增大。因此,NE越小,通常认为模型越好。

为什么需要将整个数据集的信息熵作为NE公式的分母呢,即为什么要normlize?这主要是解决样本分布不均衡的情况。设想一下,如果样本99%都是负样本(或者正样本),模型将所有样本都预测为负样本(或正样本),如果不进行normalize,NE会很小,但这样的模型显然是没有意义的。为了抵消掉训练数据样本分布不平衡带来的影响,我们利用整体CTR的信息熵作为分母,为什么是信息熵呢?我们可以看下面二进熵的函数曲线,我们发现样本不平衡时(正样本概率接近0或1),信息熵很小,作为分母抵消掉分子过小的问题。

《推荐算法中模型评估标准——AUC和 NE》

 

 

    原文作者:starxhong
    原文地址: https://blog.csdn.net/hongxingabc/article/details/81228729
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞