首先需要明确,Kappa系数既可用于统计中的一致性检验,也可以用于机器学习中来衡量分类精度。它们的本质是一样的,但是理解方式略有不同,本文将从机器学习的角度来阐述Kappa系数。

一、基本思想

一般来说,对于机器学习中的分类问题,最简单粗暴的衡量指标就是准确率(accuracy),但是对于样本标签分布极其不均衡的数据,准确率就会出现误导了。
比如对于如下数据集,100个样本中10个是猫,10个是狗,需要预测每个样本是猫还是狗。当我们直接预测所有样本都是狗时,我们的预测率就可以达到90%。
这个准确率会造成分类结果很好的误导,那么我们是否可以考虑构造一个新的指标,把这个90%的准确率作为baseline(定义其为0),而全部分类正确时定义为1,得到如下图中My_score的指标。


这个指标基本接近Kappa系数了,只是Kappa系数的baseline计算方式不同。

二、Kappa系数定义

1.一致性检验中对kappa系数的定义

这里借鉴一下一致性检验中对kappa的定义来理解,假设下图中的R1是预测的样本分布,R2是真实样本分布。OA是R1的预测准确率,AC是在现有的预测样本数量分布既定的情况下,随机打乱计算得到的平均正确率baseline。
那么Kappa系数就可以解释为预测准确率减去Baseline得到的额外正确率,除以1减去baseline得到的剩余可提升正确率。

2.机器学习视角的公式

对于每个预测结果,计算Kappa系数的baseline都不一样。如下公式所述。accuracy就是预测结果的准确率;
P_e是baseline,它的含义是如果随机打乱提交的结果,那么平均准确率会使多少?它可以通过下面的公式计算得到,其中k是第k个预测类别,n_k1和n_k2分别是真实值和预测值在第K个类别的个数。
如假设我们预测结果中有20个猫和80个狗,那么可以计算得到Baseline是0.74,它意味着即使我在100个样本中随机指定20个为猫,其余的为狗,平均准确率也可以达到0.74.

3.进一步调整公式

由于1-accuracy其实就等于错误率,所以可以将刚才的公式改写为:

二、Weighted Kappa系数定义

1.Weighted Error

要理解加权的kappa系数,我们首先要理解加权误差
假设我们有如下数据集,并且我们认为在猫和狗之间分类错是相对可以理解的,但是将老虎分类成猫/狗就很不好了。
为了将这个想法数字化,我们可以构造一个加权的错误矩阵,猫狗之间分类错误的系数是1,老虎分类错误的系数是10。这样对老虎分类错误会导致这个样本的误差乘以10.

2.Weighted error和Weighted Kappa

具体来说,我们怎么计算加权误差呢?
我们可以按照下图中的方式计算
左边的混淆矩阵是预测值和真实值的分布,右边的权重矩阵是每个分类结果的误差权重系数,总加权误差就等于每个格子的两两乘积之和。

从而我们就得到了加权Kappa系数的公式

3.Linear Weighted Kappa 和 Quadratic Weighted Kappa

在大多数情况下,我们会以一种比较简单通用的方式定义误差权重。
例如,对于有顺序的多标签分类问题(有顺序是指标签类别之间是有大小顺序的,如预测用户会点击1次,2次,3次三个类别),我们通常会将标签分类为:1,2,3。这种情况下预测值与真实值间隔越远其实是更严重的,所以这就是我们的误差权重派上用场的地方了!

常见的权重主要有两种形式:

  • 线性权重:误差系数等于两个label之间差的绝对值,如将1预测为3误差权重为2
  • 二次权重:误差系数等于两个label之间差的平方,如将1预测为3误差权重为4

很明显,二次权重对判断错误更大的项惩罚更重,一般也使用得更广泛

机器学习 Cohen s Kappa,Quadratic Weighted Kappa 详解相关推荐

  1. quadratic weighted kappa计算公式

    标题:quadratic weighted kappa计算公式 提要:最近准备参加一个MICCAI举办的人工智能医疗图像比赛,是关于病情分类的,然后里面要求的评价标准是这个quadratic weig ...

  2. 机器学习(32)之典型相关性分析(CCA)详解 【文末有福利......】

    微信公众号 关键字全网搜索最新排名 [机器学习算法]:排名第一 [机器学习]:排名第一 [Python]:排名第三 [算法]:排名第四 人工智能与Python公开课 限时免费 文末领取 前言 典型关联 ...

  3. 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))

    机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...

  4. 机器学习——时间序列ARIMA模型(一):差分法详解

    机器学习--时间序列ARIMA模型(一):差分法详解 一.所需数据的性质 平稳性 样本数据需随着时间序列而发生变化,且序列的均值和方差不发生明显变化. 预测出在未来的一段期间内数据顺着现有的" ...

  5. 机器学习最易懂之贝叶斯模型详解与python实现

    文章目录 0.预备知识 0.1 先验概率.条件概率.后验概率 0.2 贝叶斯公式 0.3 极大似然估计 0.4 生成模型与判别模型 1.朴素贝叶斯模型 1.1 朴素贝叶斯的符号说明 1.2 朴素贝叶斯 ...

  6. 机器学习模型评估指标ROC、AUC详解

    我是小z ROC/AUC作为机器学习的评估指标非常重要,也是面试中经常出现的问题(80%都会问到).其实,理解它并不是非常难,但是好多朋友都遇到了一个相同的问题,那就是:每次看书的时候都很明白,但回过 ...

  7. 机器学习--支持向量机(四)SMO算法详解

    上篇我们讲到,线性和非线性都转化为求解的问题即: 求解的方法就是SMO算法,下面详细介绍SMO算法: 在讲解SMO算法之前先说明一下讲解思路,首先先帮助大家理解这个式子,说明推倒的过程细节,然后和原论 ...

  8. 机器学习中四类进化算法的详解(遗传算法、差分进化算法、协同进化算法、分布估计算法)

    1.遗传算法(Genetic Algorithm,GA) GA算法原理 首先我们来介绍进化算法的先驱遗传算法,遗传算法(Genetic Algorithm,简称GA)是一种最基本的进化算法,它是模拟达 ...

  9. 机器学习-周志华-支持向量机的逻辑详解

    这是博主的第一篇博客,非常激动兴奋,有误之处尽请谅解.我在读本章节时遇到很多陌生的专业词和概念,相信有些人与我一样初读时会盲目往下读而不进行深度逻辑理解.逻辑理解是指把整个章节的逻辑性串联起来,为什么 ...

  10. 线性回归 - 机器学习多元线性回归 - 一步一步详解 - Python代码实现

    目录 数据导入 单变量线性回归 绘制散点图 相关系数R 拆分训练集和测试集 多变量线性回归 数据检验(判断是否可以做线性回归) 训练线性回归模型 先甩几个典型的线性回归的模型,帮助大家捡起那些年被忘记 ...

最新文章

  1. IOS开发----生成静态库(.a)
  2. g++编译后运行时无法链接动态库的解决方法
  3. linux 查看libevent 安装目录,linux下libevent安装配置与简介 以及 linux库文件搜索路径的配置...
  4. angular微信支付实际url地址不同
  5. idea控制台怎么调出来_酸汤饺子最近火了,可是酸汤是怎么调出来的?引起了网友的好奇...
  6. 前端学习(625):数据类型导读
  7. 关于开源分布式事务中间件Fescar,我们总结了开发者关心的13个问题
  8. 信息学奥赛一本通(2038:【例5.5】最大数位置)
  9. Mongoose之 SchemaTypes 数据类型
  10. 豆瓣书籍数据爬取与分析
  11. LVS部分调度算法的适应场景分析
  12. c++图书管理系统_我用Python帮学校写了一款图书管理系统!教导员居然请我吃饭
  13. CDA第九届认证考试数据报告重磅发布!
  14. 比特bit,字节Byte,带宽流量和流速的关系,存储容量单位
  15. 动易CMS从word复制粘贴公式
  16. 由于系统限制了文件目录的读/写权限,程序将会退出,你可以重新安装百度网盘到有权限的目录或以管理员身份运行百度网盘。
  17. EXCEL插入超链接——无法打开指定文件
  18. CL-200A串口通信
  19. 从阿里巴巴发行价看A股新股投资机会
  20. 零基础解读ChatGPT:对人类未来工作是威胁还是帮助?

热门文章

  1. 你必须会的微服务之Hystrix熔断器
  2. Java程序员技术书籍指南
  3. 怎么把PDF文件转换成图片?这两种方法可以收藏下来
  4. c++ PDFium pdf转为图片
  5. win10 外接触摸屏触摸校准
  6. CST Studio Suite 2020 安装教程
  7. 计算机晋级职称考试内容,职称计算机考试内容
  8. c语言网络时间校准,c语言如何建时间校准来和电脑一致?
  9. springboot自定义start解析(start中配置从数据源)
  10. UML用例图讲解及画法