AUC是否可以直接用作损失函数去优化呢?.doc

AUC是否可以直接用作损失函数去优化呢?.doc

ID:27484285

大小:158.50 KB

页数:12页

时间:2018-12-04

AUC是否可以直接用作损失函数去优化呢?.doc_第1页
AUC是否可以直接用作损失函数去优化呢?.doc_第2页
AUC是否可以直接用作损失函数去优化呢?.doc_第3页
AUC是否可以直接用作损失函数去优化呢?.doc_第4页
AUC是否可以直接用作损失函数去优化呢?.doc_第5页
资源描述:

《AUC是否可以直接用作损失函数去优化呢?.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、AUC是否可以直接用作损失函数去优化呢?  引言  CTR问题我们有两种角度去理解,一种是分类的角度,即将点击和未点击作为两种类别。另一种是回归的角度,将点击和未点击作为回归的值。不管是分类问题还是回归问题,一般在预估的时候都是得到一个[0,1]之间的概率值,代表点击的可能性的大小。  如果将CTR预估问题当作回归问题,我们经常使用的损失函数是MSE;如果当作二分类问题,我们经常使用的损失函数是LogLoss。而对于一个训练好的模型,我们往往需要评估一下模型的效果,或者说泛化能力,MSE和LogLoss当然也可以作为我们的评价指标,但除此之外,我们最常用的还是AUC。  想

2、到这里,我想到一个问题,AUC是否可以直接用作损失函数去优化呢?  说了这么多,我们还不知道AUC是什么呢?不着急,我们从二分类的评估指标慢慢说起,提醒一下,本文二分类的类别均为0和1,1代表正例,0代表负例。  1、从二分类评估指标说起  1.1混淆矩阵  我们首先来看一下混淆矩阵,对于二分类问题,真实的样本标签有两类,我们学习器预测的类别有两类,那么根据二者的类别组合可以划分为四组,如下表所示:    上表即为混淆矩阵,其中,行表示预测的label值,列表示真实label值。TP,FP,FN,TN分别表示如下意思:  TP(truepositive):表示样本的真实类别

3、为正,最后预测得到的结果也为正;FP(falsepositive):表示样本的真实类别为负,最后预测得到的结果却为正;FN(falsenegative):表示样本的真实类别为正,最后预测得到的结果却为负;TN(truenegative):表示样本的真实类别为负,最后预测得到的结果也为负.  可以看到,TP和TN是我们预测准确的样本,而FP和FN为我们预测错误的样本。  1.2准确率Accruacy  准确率表示的是分类正确的样本数占样本总数的比例,假设我们预测了10条样本,有8条的预测正确,那么准确率即为80%。  用混淆矩阵计算的话,准确率可以表示为:    虽然准确率可

4、以在一定程度上评价我们的分类器的性能,不过对于二分类问题或者说CTR预估问题,样本是极其不平衡的。对于大数据集来说,标签为1的正样本数据往往不足10%,那么如果分类器将所有样本判别为负样本,那么仍然可以达到90%以上的分类准确率,但这个分类器的性能显然是非常差的。  1.3精确率Precision和召回率Recall  为了衡量分类器对正样本的预测能力,我们引入了精确率Precision和召回率Recall。  精确率表示预测结果中,预测为正样本的样本中,正确预测为正样本的概率;召回率表示在原始样本的正样本中,最后被正确预测为正样本的概率;  二者用混淆矩阵计算如下:   

5、 精确率和召回率往往是一对矛盾的指标。在CTR预估问题中,预测结果往往表示会被点击的概率。如果我们对所有的预测结果进行降序排序,排在前面的是学习器认为最可能被点击的样本,排在后面的是学习期认为最不可能被点击的样本。  如果我们设定一个阈值,在这个阈值之上的学习器认为是正样本,阈值之下的学习器认为是负样本。可以想象到的是,当阈值很高时,预测为正样本的是分类器最有把握的一批样本,此时精确率往往很高,但是召回率一般较低。相反,当阈值很低时,分类器把很多拿不准的样本都预测为了正样本,此时召回率很高,但是精确率却往往偏低。  1.4F-1Score  为了折中精确率和召回率的结果,我

6、们又引入了F-1Score,计算公式如下:    对于F1Score有很多的变化形式,感兴趣的话大家可以参考一下周志华老师的西瓜书,我们这里就不再介绍了。  1.5ROC与AUC  在许多分类学习器中,产生的是一个概率预测值,然后将这个概率预测值与一个提前设定好的分类阈值进行比较,大于该阈值则认为是正例,小于该阈值则认为是负例。如果对所有的排序结果按照概率值进行降序排序,那么阈值可以将结果截断为两部分,前面的认为是正例,后面的认为是负例。  我们可以根据实际任务的需要选取不同的阈值。如果重视精确率,我们可以设定一个很高的阈值,如果更重视召回率,可以设定一个很低的阈值。  到

7、这里,我们会抛出两个问题:1)设定阈值然后再来计算精确率,召回率和F1-Score太麻烦了,这个阈值到底该设定为多少呢?有没有可以不设定阈值来直接评价我们的模型性能的方法呢?  2)排序结果很重要呀,不管预测值是多少,只要正例的预测概率都大于负例的就好了呀。  没错,ROC和AUC便可以解决我们上面抛出的两个问题。  ROC全称是“受试者工作特征”,(receiveroperatingcharacteristic)。我们根据学习器的预测结果进行排序,然后按此顺序逐个把样本作为正例进行预测,每次计算出两个重要的值,分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。