| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 推荐中的评估指标:AUC、GAUC -> 正文阅读 |
|
[人工智能]推荐中的评估指标:AUC、GAUC |
本文将介绍一下分类任务中的一个非常重要的评估指标:AUC,以及针对AUC的不足引出的另一指标:GAUC。 混淆矩阵
ROC曲线
绘制方法:
ROC曲线反映了排序质量的好坏,也就是预测结果的好坏(正例在前,反例在后)。 AUCAUC是ROC曲线的量化指标,即ROC曲线下的面积。AUC值越大越好,即面积曲线下面积越大越好。 AUC的意义:随机抽取一对正负样本,AUC是把正样本预测为1的概率大于把负样本预测为1的概率的概率。这句话有点拗口,用公式写就是: A U C = P ( P 正 > P 负 ) ?????? 公 式 ( 1 ) AUC = P(P_正 > P_负) \ \ \ \ \ \ 公式(1) AUC=P(P正?>P负?)??????公式(1)
AUC的优势:能够综合考虑到正例和负例,因此可以应对样本不均衡的情况。 求解AUC有两种公式:
A U C = ∑ M ? N I ( P 正 , P 负 ) M ? N , ?? I ( P 正 , P 负 ) = { 1 , P 正 > P 负 0.5 , P 正 = P 负 0 , P 正 < P 负 ?????? 公 式 ( 2 ) AUC = \frac{\sum_{M*N} I(P_正,P_负)}{M*N},\ \ I(P_正,P_负) = \begin{cases} 1,P_正 > P_负 \\ 0.5,P_正 =P_负 \\ 0,P_正<P_负 \end{cases} \ \ \ \ \ \ 公式(2) AUC=M?N∑M?N?I(P正?,P负?)?,??I(P正?,P负?)=??????1,P正?>P负?0.5,P正?=P负?0,P正?<P负????????公式(2) 其中 M M M、 N N N 分别为正、负样本数。上述公式中的求和是在 M + N M+N M+N 个总样本中,取出 M ? N M*N M?N 个正负样本对,然后计算 I ( P 正 , P 负 ) I(P_正,P_负) I(P正?,P负?)
A U C = ∑ i n s i ∈ 正 例 r a n k i n s i ? M ? ( M + 1 ) 2 M ? N ?????? 公 式 ( 3 ) AUC = \frac{\sum_{ins_i ∈ 正例} rank_{ins_i} - \frac{M*(M+1)}{2}}{M*N} \ \ \ \ \ \ 公式(3) AUC=M?N∑insi?∈正例?rankinsi???2M?(M+1)????????公式(3) 其中
M
M
M、
N
N
N 分别为正、负样本数。 GAUC:Group AUC为什么要引入GAUC:因为AUC有时候不能满足推荐/广告系统中用户个性化的需求。 看个例子: 假设现有两个用户甲和乙,一共有5个样本其中+表示正样本,-表示负样本。现有两个模型A和B,对5个样本的predict score按从小到大排序如下:
但这两个模型的AUC如何呢?根据公式(3)计算, A U C A = 0.833 AUC_A = 0.833 AUCA?=0.833, A U C B = 0.667 AUC_B = 0.667 AUCB?=0.667。我们发现AUC在这个场景下不准了。这是因为,AUC是对于全体样本排序后计算的一个值,反映了模型对于整体样本的排序能力。但用户推荐是一个个性化的场景,不同用户之间的商品排序不好放在一起比较。因此阿里妈妈团队使用了Group AUC来作为另一个评价指标。GAUC即先计算各个用户自己的AUC,然后加权平均,公式如下: G A U C = ∑ u i w u i ? A U C u i ∑ w u i GAUC = \frac{\sum_{ui} w_{ui} * AUC_{ui}}{\sum w_{ui}} GAUC=∑wui?∑ui?wui??AUCui?? 实际计算时,权重可以设为每个用户view或click的次数,并且会滤掉单个用户全是正样本或全是负样本的情况。 GAUC代码
也可以参考这个代码: https://github.com/qiaoguan/deep-ctr-prediction/blob/master/DeepCross/metric.py |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:34:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |