ROC与AUC与主动学习评价指标ALC

首先需要关注一下什么是混淆矩阵,此处认为1为正类,0为负类

预测为0预测为1
真实为0TN真负例(预测为0,真实也为0)FP假正例(预测为1,但真实为0)
真实为1FN假负例(预测为0,但真实为1)TP真正例(预测为1,真实也为1)

那么接下来推导出各个常见指标的定义:

  • Accuracy:准确率: a c c = T T + F = T P + T N T P + T N + F P + F N acc = \frac{T}{T+F}=\frac{TP+TN}{TP+TN+FP+FN} acc=T+FT=TP+TN+FP+FNTP+TN
  • Precision:查准率: P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP,这里需要解释一下为何只有预测为1类的例子,因此在实际例子中常见是不平衡的类别比率,例如在病情诊断例子中,1类通常代表生病类,那么这个类别通常是少数的,因此用查准率来代表模型预测为生病的所有例子中生病的比率为多少
  • Recall:召回率(真正类率): R e c a l l = T R T P + F N Recall = \frac{TR}{TP+FN} Recall=TP+FNTR,同理按照上述例子,这里表达的是在所有生病的例子中,模型能够识别出来的比率是多少
  • FPR:负正类率: F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP
  • TPR:真正类率: T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
  • 截断点:机器学习算法对test样本进行预测后,可以输出各test样本对某个类别的相似度概率。比如t1是P类别的概率为0.3,一般我们认为概率低于0.5,t1就属于类别N。这里的0.5,就是”截断点”。

而ROC曲线是以FPR为横轴,TPR为纵轴所绘制的线

那么接下来将测试集中所有的n个样本预测为正类的置信度进行排序,从高到低,并且接下来进行n次计算,每次需要将排序的第n个样本的置信度作为分类置信度阈值划分类别。例如排序后的序列为[0.9,0.8,0.5,0.4]。

那么第一次迭代,第一个样本的置信度为0.9,那么此时大于0.9的认为是正类(数目为0),小于等于0.9的认为负类(数目为n,即4),可计算得到 F P R = T P R = 0 FPR=TPR=0 FPR=TPR=0,即第一个点为ROC曲线上的 ( 0 , 0 ) (0,0) (0,0)点;第二次选择0.8作为阈值,那么正类样本划分为1,负类样本划分为3,那么再根据样本的真实标签计算 F P R , T P R FPR,TPR FPR,TPR就可以得到下一个点,以此类推。

而AUC就是ROC曲线下的面积,介于0.1到1之间的数值,越接近于1越好

例如下图:

在这里插入图片描述

那么关于ALC,在论文《Results of the Active Learning Challenge》中是这么描述的:

The prediction performance was evaluated according to the Area under the Learning Curve (ALC). A learning curve plots the Area Under the ROC curve (AUC) computed on all the samples with unknown labels, as a function of the number of labels queried. To obtain our ranking score, we normalized the ALC as follows:
g l o b a l s c o r e = A L C − A r a n d A m a x − A r a n d globalscore = \frac{ALC-Arand}{Amax-Arand} globalscore=AmaxArandALCArand
where Amax is the area under the best achievable learning curve and Arand is the area under the average learning curve obtained by making random predictions.

解释:根据学习曲线下的面积(ALC)评估预测性能。学习曲线绘制在具有未知标签的所有样本上计算的ROC曲线下面积(AUC),作为查询的标签数量的函数。为了获得我们的排名分数,我们将ALC标准化如下。

其中Amax是最佳可实现学习曲线下的面积,Arand是通过随机预测获得的平均学习曲线下的面积。

那么首先理解ALC的定义:ALC是学习曲线下的面积,而学习曲线则是绘制了AUC的变化曲线,而AUC是曲线ROC曲线的面积,然后根据论文提供的参考资料(http://www.causality.inf.ethz.ch/activelearning.php?page=evaluation#cont)可以更好理解:学习曲线的横坐标是请求实例的数目的对数,纵坐标为请求该数目的实例时,所请求标签的实例集合计算出来的AUC分数,因此总体绘制出来就是一个AUC的变化曲线。而其中 A m a x Amax Amax代表最理想的情况,即AUC始终为1的情况,而 A r a n d Arand Arand则代表随机策略,那么此时可以认为其数值为0.5。以下为例子:

在这里插入图片描述

上面是简单的例子,以下为论文的实验中的例子:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/162372.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端HTML要了解的知识,DOCTYPE 声明究竟是做什么的、作用是什么?

🌟🌟🌟 专栏详解 🎉 🎉 🎉 欢迎来到前端开发之旅专栏! 不管你是完全小白,还是有一点经验的开发者,在这里你会了解到最简单易懂的语言,与你分享有关前端技术和…

【LeetCode热题100】--55.跳跃游戏

55.跳跃游戏 方法:贪心 对于数组的任意一个位置y,如何判断它是否可以到达? 只要存在一个位置x,它本身可以到达,并且它跳跃的最大长度为xnums[x],这个值大于等于y,即xnums[x]≥y,那么这个位置y…

节省工时超 1500人/天,国泰基金探索金融业人机协同新业态

“十四五”时期是我国经济实现从高速增长转变为高质量发展的关键历史时期,“十四五”规划向金融行业提出了数字化转型与科技监管的新要求。在新一轮科技革命和产业变革趋势下,新一代信息技术与金融行业融合加速,金融行业面临着监管要求与自身…

【MySQL系列】- SELECT语句执行顺序

【MySQL系列】- SELECT语句执行顺序 文章目录 【MySQL系列】- SELECT语句执行顺序一、MYSQL逻辑查询处理的步骤图二、MYSQL执行顺序详解2.1 执行FROM操作2.2 应用ON过滤器2.3 JOIN外部行2.4 应用WHERE过滤器2.5 GROUP BY分组2.6 应用ROLLUP 或 CUBE2.7 HAVING过滤2.8 处理SELEC…

数据结构--B树

目录 回顾二叉查找树 如何保证查找效率 B树的定义 提炼 B树的插入和删除 概括B树的插入方法如下 B树的删除 导致删除时,结点不满足关键字的个数范围时(需要借) 如果兄弟不够借,需要合体 回顾B树的删除 B树 B树的查找 …

单链表经典OJ题:反转链表

题目: 给你单链表的头节点 head ,i请你反转链表,并返回反转后的链表。 图例: 分析: 根据链表的特征,反转链表的本质便是改变节点内部的指针方向。 将原先指向下一个节点的指针进行修改,将其的…

PRCV 2023:语言模型与视觉生态如何协同?合合信息瞄准“多模态”技术

近期,2023年中国模式识别与计算机视觉大会(PRCV)在厦门成功举行。大会由中国计算机学会(CCF)、中国自动化学会(CAA)、中国图象图形学学会(CSIG)和中国人工智能学会&#…

【物联网+JAVA 】智慧工地源码

一、什么是智慧工地? 工地本身不拥有智慧,工地的运作是依赖于人的智慧。工地信息化技术,能够减少对人的依赖,使工地拥有智慧。 智慧工地,就是立足于“智慧城市”和“互联网”,采用云计算、大数据和物联网…

python教程:selenium WebDriver 中的几种等待

嗨喽,大家好呀~这里是爱看美女的茜茜呐 强制等待:sleep() import time sleep(5) #等待5秒设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。 缺点: 不智能,使用太多的sleep会影响脚本运行速度。…

Vue 网络处理 - axios 异步请求的使用,请求响应拦截器(最佳实践)

目录 一、axiox 1.1、axios 简介 1.2、axios 基本使用 1.2.1、下载核心 js 文件. 1.2.2、发送 GET 异步请求 1.2.3、发送 POST 异步请求 1.2.4、发送 GET、POST 请求最佳实践 1.3、请求响应拦截器 1.3.1、拦截器解释 1.3.2、请求拦截器的使用 1.3.3、响应拦截器的使…

微信小程序--小程序框架

目录 前言: 一.框架基本介绍 1.整体结构: 2.页面结构: 3.生命周期: 4.事件系统: 5.数据绑定: 6.组件系统: 7.API: 8.路由: 9.模块化: 10.全局配置&…

【LeetCode】35. 搜索插入位置

1 问题 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 示例…

Linux性能优化--实用工具:性能工具助手

8.0 概述 本章介绍一些在Linux系统上可用的实用程序,它们能够加强性能工具的有效性和可用性。实用工具本身不是性能工具,但是当它们与性能工具一起使用时,它们可以帮助完成如下功能:自动执行繁琐的任务、分析性能统计数据&#x…

【Linux】adduser命令使用

我们经常在linux系统中创建用户。有时候用的是 useradd 有时候用的是 adduser ,好混乱啊到底用哪个啊。今天咱们一起来学习一下。 adduser与useradd的区别 useradd 命令是内置的 Linux 命令,在任何 Linux 系统中都可用。然而,使用这种低级…

语法分析出错,不是 GROUP BY 表达式

报错 ### Cause: dm.jdbc.driver.DMException: 第 9 行, 第 69 列[30]附近出现错误: 语法分析出错 ; bad SQL grammar []; nested exception is dm.jdbc.driver.DMException: 第 9 行, 第 69 列[30]附近出现错误: 语法分析出错at org.springframework.jdbc.support.SQLState…

一篇文章讲明白double、float丢失精度的问题

1.背景 1.10.1 1.2000000000000002 发现上面计算的值竟然和数学计算不一致 2. 问题 计算机是通过二进制计算的,如果我们在二进制的视角来看待上面问题,就很容易发现问题了。 例如:把「0.1」转成二进制的表示,然后还原成十进制&…

学习笔记|串口通信实战|简易串口控制器|sprintf函数|STC32G单片机视频开发教程(冲哥)|第二十一集(下):串口与PC通信

目录 3.串口通信实战实操简易的工作原理Tips:sprintf函数简介 总结课后练习 3.串口通信实战 做一个简易串口控制器。发送对应指令,让板子做相应的事情,或者传输数据(文本模式下发送,不要选择HEX)。 1.串口发送字符Ax\…

IDEA常用AI插件

只推荐免费的 一、对话式AI 1. ChatGPT GPT-4 - Bito AI Code Assistant ChatGPT GPT-4 - Bito AI Code Assistant 插件地址:https://plugins.jetbrains.com/plugin/18289-chatgpt-gpt-4–bito-ai-code-assistant支持自定义prompt支持解释代码支持生成代码注释支持…

常用Python自动化测试框架有哪些?优缺点对比

随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了测试时间。而且由于这些框架被广泛使用,他们具有很好的健壮性&#xff0…

【Mac】时间机器频繁提示磁盘没有正常推出

问题描述 有一次在进行时间机器备份的时候总是提示“磁盘没有正常推出”,并且好几次直接导致系统重启… 估计是 MacOS 系统 bug 解决 看了 Vex 一个帖子之后设置了一个硬盘是否休眠就好了,不要勾选让硬盘处于休眠就可以了,在电池选项界面中…