标注一致性计算

news2024/11/16 21:24:54

在统计学中,标注一致性(Inter-annotation agreement, IAA)用于评价独立观察者之间对同一现象进行评估时的一致程度。因此,本文讨论最多的是多位标注员对相同数据进行标注时的一致性评估方法。

一、Kappa统计量

评估一致性最简单且直观的方法是统计标注一致的样本占所有标注样本的百分比。既然如此简单,为什么要引入Kappa?是因为Kappa考虑了随机因素导致的一致性。

Kappa是用来描述定性(分类)任务中标注一致性的统计量,记为\kappa

\kappa = 1-\frac{1-p_o}{1-p_e}=\frac{p_o-p_e}{1-p_e}

其中,p_o代表观察到的标注员之间的一致性,p_e代表基于假设的、由随机因素导致的一致性。

通过观察上式可以发现,当p_o=1时,\kappa =1表明标注结果完全一致。

当标注结果由随机性主导时,p_o=p_e,\kappa =0表明标注结果完全没有一致性。

以下介绍Kappa变体。

1. Cohen's Kappa

Cohen's Kappa只能用来评估两位标注员之间的一致性,适用于分类任务。

p_o是标注一致的样本占所有标注样本的百分比。随机一致性p_e如下式所示计算,其中k为类别的数量。

p_e = \sum_{k} p_{\widetilde{k12}}=\sum_{k}p_{\widetilde{k1}}p_{\widetilde{k2}}=\sum_{k}\frac{n_{k1}}{N}\frac{n_k2}{N}

p_{\widetilde{k12}}代表估计标注员1和2把同一条数据归为第k个类的概率。

基于独立假设,即两个标注员的标注是独立且互不影响,那么有p_{\widetilde{k12}}=p_{\widetilde{k1}}p_{\widetilde{k2}},p_{\widetilde{k1}}=\frac{n_{k1}}{N}通过N条数据中标注员1标注k的数量n_{k1}来评估。

\kappa 大于等于0.8表示已经取得相当满意的一致程度;

\kappa小于0.4表示一致程度不够理想。

Cohen's Kappa存在一个明显的问题:如果两位标注员的一致性p_o相同,那么他们标注的标签分布越趋于一致,\kappa理应越高。然而事实并非如此,这会导致更高的随机一致性p_e,从而使得\kappa下降。

2. Scott's Pi

Scott's Pi相对于Cohen's Kappa采用不同策略计算随机性p_e。即通过标签的联合边缘分布来估计随机一致性,也可以说scott's Pi是算数平均值的平方,而Cohen's Kappa是几何平均值的平方。

p_e = \sum_{k} (\frac{n_{k1}+n_{k2}}{N})^2

Scott's Pi也只能评估两位标注员之间的一致性,无法拓展到多位标注员。

3. Fleiss' Kappa

Fleiss' Kappa在Scott's Pi上进行泛化,使其能对任意固定数量的标注员评估一致性。 假设有N条数据进行多分类任务,每条数据杯标注了n次,k为类别数量。标注数据的索引为i=1,2,...,N,类别的索引为j=1,2,...,k,那么令n_{ij}表示将第i条数据被标注为类别j的次数。

随机一致性p_e的评估方法与Scott's Pi相同,p_j是类别j的联合边缘分布:

p_j = \frac{1}{Nn} \sum_{i=1}^{N} n_{ij}

p_e = \sum_{j=1}^{k} p_{j}^2

标注一致性p_o是每条数据的一致性p_i的均值:

p_i = \frac{1}{n(n-1)}\sum_{j=1}^{k}n_{ij}(n_{ij}-1)

p_o = \frac{1}{N} \sum_{i=1}^{N} p_i 

本部分参考:如何评价数据标注中的一致性?以信息抽取为例,浅谈Fleiss' Kappa - 知乎

二、Jaccard相似系数

Jaccard相似系数用于比较有限样本集之间的相似性与差异性。

Jaccard系数值越大,样本相似度越高。

两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,即:

J(A,B)=\frac{|A\cap B|}{|A\cup B|}

当集合A、B都为空时,J(A,B)定义为1。

三、F-measure

F-measure是Precsion和Recall的加权调和平均。

F=\frac{(\alpha ^2+1)P*R}{\alpha^2(P+R)}

其中,当\alpha =1时,则F-score即为F1.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql高级篇(面试必看)

Mysql高级篇知识点,全篇手打,大家觉得有用的话点一个赞,持续更新 目录 1.Mysql锁的机制:粒度分类,思想分类,实现分类,状态分类,算法分类 2.Mysql的隔离级别:读未提交&…

视觉SLAM学习路线思维导图

整理了一下视觉SLAM学习路线的思维导图,防遗忘,不足的地方也希望各路大神能够不吝赐教。

Nginx(2)静态资源部署

静态资源 静态资源的配置指令静态资源优化配置静态资源压缩Gzip模块配置指令Gzip压缩功能的实例Gzip和sendfile共存问题gzip_static测试使用 静态资源的缓存处理浏览器缓存相关指令 Nginx的跨域问题解决静态资源防盗链防盗链的实现原理防盗链的具体实现 上网搜索访问资源是通过…

Java15——枚举类、注解、作业

1. 枚举类 跳了很多。。。 2. 注解 3. 作业 1. 注意:所有类共享静态属性 所以结果是 9,red 100,red package com.zsq.homework1;public class HM1 {public static void main(String[] args) {Cellphone cellphone new Cellphone();cel…

Java面试题大全(23年整理版)最新全面技巧讲解

程序员面试背八股,可以说是现在互联网开发岗招聘不可逆的形式了,其中最卷的当属 Java!(网上动不动就是成千上百道的面试题总结)你要是都能啃下来,平时技术不是太差的话,面试基本上问题就不会太大…

如何在 MATLAB 中进行图像分割(matlab仿真与图像处理系列第7期)

在 MATLAB 中进行图像分割有多种方法,下面介绍一些常用的方法: 基于阈值的二值化分割这是一种最简单的分割方法,将图像分为两个部分:背景和前景。其主要思想是,选择一个阈值,将图像中的像素值与阈值进行比较,将像素值大于阈值的像素标记为前景(白色),将像素值小于阈值…

自动化测试练手项目推荐

最近收到许多自学自动化测试的小伙伴私信,学习了理论知识后,却没有合适的练手项目。 测试本身是一个技术岗位,如果只知道理论,没有实战经验,在面试中很难说服面试官,比如什么场景下需要添加显示等待&#x…

小白用旧手机搭建web服务器(一):实现局域网访问

1、首先要拥有一部安卓手机 2、下载ksweb 我们需要下载ksweb这款app,这是一位俄罗斯大神制作的,里面集成了Lighttpd、nginx、Apache的服务器,还有mysql服务器等,十分强大。 下载地址:KSWEB_3-93_kill_无ad.apk - 蓝…

大数据技术生态体系

6 大数据技术生态体系 图中涉及的技术名词解释如下: 1)Sqoop:Sqoop 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进…

GPIO复用功能1——定时器输入捕获

文章目录 前言定时器输入捕获红外接收的数据分析捕获思路编程实践1.初始化时钟2.初始化GPIO3.配置定时器的时钟基准4.配置输入捕获参数5.中断配置6.中断服务函数7.处理数据帧 实现效果 总结 前言 前面介绍了GPIO的通用输入输出功能,以及其模拟时序的功能&#xff0c…

软件模拟实现SPI通信-GD32

软件模拟实现SPI通信-GD32 设计流程 #ifndef _SOFT_SPI_H #define _SOFT_SPI_H /** filename: soft_spi.h**/ #include "gd32f10x.h" #include "systick.h"//定义表示具体IO口的资源宏 #define SPI_PORT GPIOA #define SPI_MOSI GPIO_PIN_7 #define SP…

【华为OD机试】翻转骰子(python, java, c++, js)

翻转骰子 前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于OD机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:CSDN。 题目描述 骰子是…

java中的knife4j、Swagger配置过程详解

knife4j的配置过程如下&#xff1a; 1、首先引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency><groupId>com.github…

CentOS Linux的替代品(四)_openEuler 22.03-LTS基础安装教程

文章目录 1 openEuler 22.03-LTS简介1.1 系统安装1.1.1 发布件1.1.2 最小硬件要求1.1.3 硬件兼容性 1.2 关键特性1.2.1 openEuler 22.03-LTS基于 Linux Kernel 5.10内核构建, 在进程调度、内存管理等方面带来10余处创新1.2.2 新介质文件系统1.2.3 内存分级扩展1.2.4 用户态协议…

Clouder Manager日常管理及使用

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

低代码:解放生产力的利器还是一场空洞的炒作?

低代码有人说是毒瘤&#xff0c;也有人说是银弹。到底应该怎么看呢&#xff1f;存在即合理。 “存在”包括两个角度&#xff1a; 银弹论毒瘤论 无论从哪个角度看&#xff0c;既然存在这样的论调&#xff0c;就有它们的合理性。 先把关注点移到低代码本身&#xff0c;低代码…

关联查询和子查询

关联查询和子查询&#xff1a; 二、关联查询&#xff1a; 1、全连接&#xff1a;两个表作笛卡尔积 2、内连接&#xff1a;找到两个表中的关联数据 3、外连接&#xff1a; 左外连接&#xff1a;grade中12无学生&#xff0c;但是还是会显示出来&#xff08;以左边的表为基准&am…

javascript 触发事件

在 JavaScript 中&#xff0c;原始方法 initEvent() 用于创建新事件。 最新更新添加了用于构建自定义事件的新关键字。 此外&#xff0c;在为 JavaScript 构建的清单中还有大量事件。 以下部分将预览预定义事件之一的示例及其触发方式。 还有一个定制的事件&#xff0c;将细节…

Redis 高可用【主从复制 哨兵 集群】

主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简单的故障恢复。缺陷&#xff1a;故障恢复无法自动化&#xff1b;写操作无法负载均衡&am…

使用JMX管理Spring Bean

1.使用JMX管理Spring Bean 2.spring通过annotation注解注册MBean到JMX实现监控java运行状态 3.Spring与JMX集成