[机器的机器在学习] 你有一次国庆节大作业待接收~

明天就国庆放假了,正好赶上中秋节,首先祝大家“双节”快乐! 不管是出去玩,还在一个人在家里,在宿舍,在自己的小房子“玩”,祝大家都能找到自己的乐趣!但是呢, 安全第一! 想乘着国庆好好学习一把的童鞋, 也别太拼, 学习一会儿就休息一下。然后我想说,我国庆要出去“嗨”一下了,so 这期间不能更新了。。

==============================

好,接下来我们聊一下机器学习中的一个基本概念,混淆矩阵,confusion matrix,第一个听说混淆矩阵的时候,稀里糊涂的看不懂,等到我明白了机器学习中做分类问题是怎么一回事的时候,渐渐就明白了,为什么会有混淆矩阵。

首先简单说下分类问题,曾今听说过,我们生活中分类是无处不在的,我们每天的生活其实就是在做分类。就比如说我们找工作,自己心里边会对不同公司做个分类,然后选择自己喜欢的那个class。然而限于我们身处象牙塔的童鞋见识,对社会的了解,更具体的对某家公司的了解,可能本来人家是一个很牛逼的公司,然后你都不知道,错误的把人家归类到普通公司了,这就说明你分类分错 了。但是肯定有些公司你是不会分错类的,比如BATJ。。。

好,然后我们用稍微正式点语言描述一下,假设现在教室里有200个同学,按专业分,有2个专业的同学,比如人工智能专业和大数据专业,每个专业都是100名同学。假设他们都是随意坐在教室里, 然后我们在教室中间划一条线(分类器),这样就把200名同学分为了2类。然后发现左边有20名人工智能专业和20名大数据专业的学生,右边有10名人工智能学生和90名大数据专业的学生。然后我们这个最后统计的数据写在一个矩阵里面,如下,这个矩阵就叫混淆矩阵,然后我们解释一下。

先看人工智能专业,实际有100个同学,然后分类器分类之后得到的结果是80名同学都归到了左边,表示分类正确,有20名同学分到右边,表示分类错误。同理大数据专业,有10名同学分类到左边,表示分类错误,有90名同学归到右边,表示分类正确。

然后用稍微专业的术语给大家介绍一下。

TP:实际是正类,预测为正类(预测正确)

FN:实际是正类,预测为负类(预测错误)

FP:实际是负类,预测为正类(预测错误)

TN:实际是负类,预测为负类(预测正确)

相关术语:

不管是正类还负类,都有预测正确的部分,然后把两类预测正确的加起来除以总共的人数,就叫准确率,Accuracy Rate。

Accuracy Rate(准确率) = (TP+TN)/(TP+TN+FN+FP) =(80+90)/200=85%

同理,正类和负类都有预测错误的样本,错误的加起来除以总人数,就叫误分率,Error Rate。

Error Rate(误分率) = (FN+FP)/(TP+TN+FN+FP) =(10+20)/200=15%=1-准确率

上面两个是一个总体的概念,对分类问题的全局而言的。然后对于实际为正类的样本中,预测也为正类(有一部分正类预测为了负类)的样本所占的比例叫做Recall。

Recall(召回率) = TP/(TP+FN) = 80/100=80%

同理,对于预测为正类的样本中,实际也为正类的样本所占的比例叫做Precision。

Precision(查准率) = TP/(TP+FP) =80/(80+10)=88.9%

上面两个是对预测正确而言的,不管是正类还是负类。

那么预测错误的占比怎么表示呢,通过上面几个公式也许大家发现了,其实就是从两个维度分别去考虑,然后就可以表示成不同的表达方式,或者叫度量标准。好,再说两个概念,我们把实际为负类,预测为正类的样本占所有实际为负类的比例叫做False Acceptance Rate或者False Positive Rate

FAR(False Acceptance Rate)=FP/(FP+TN) =10/(10+90)=10%

实际为正类的的样本中被预测为负类的样本所占的比例叫做False Positive Rate。

FRR(False Positive Rate) = FN/(TP+FN) = 20/(80 + 10) = 22.2%

那么有了False Positive Rate,肯定就会有True Positive Rete,其实这个就是Recall。

True Positive Rete = TP/(TP+FN) = 80/100=80%

好,到这里基本概念就都差不多了,然后通过混淆矩阵,还有几个周边的概念,大家必须要去了解的东西,比如F1值,ROC,AUC等,最后还有一个不平衡分类问题,怎么去度量?

Let’s Go On...

F1值:F1值也叫F1 score, F1 measure,公式为:

= 2*(88.9%*80%)/(88.9%+80%)=84.2%

F1值计算不难,重要的是理解他的物理意义,F1将recall和precision合并为一个公式,这样做的好处是可以对比不同模型之间的分类的性能。因为当我们不能通过两个模型的Recall和Precision来做出评价的时候,F1值就派上用场了。

ROC曲线:ROC曲线是一条曲线,既然是一条线,那我们怎么画出来呢?一般来说在二维平面内画一条曲线,需要知道横坐标和纵坐标,高中学的五点作图法,对吧。然后我想问下大家,我们定义一个分类模型,是不是一下就得到了混淆矩阵了?专业点说就是我们可以得到混淆矩阵的个数是离散值还是连续值?很明显是连续值。不然也不用机器那么机智的去学习了。

好,如果你能明白我上面在说什么,那么ROC曲线就不难画出来了。只需要明白ROC曲线的横坐标是False Positive Rate,纵坐标是 True Positive Rete即可!

有了ROC曲线,AUC就更不难理解了,AUC表示ROC曲线与坐标轴围成的面积,求个积分就行了吧,AUC值越大,表示分类器的性能更好!

AUC的计算公式如下

下面这个图就是ROC曲线,红色线表示AUC=0.5的时候ROC曲线的样子。然后这里要提一下基尼系数,因为Gini=2*AUC-1,从图中看,Gini系数指ROC曲线与红色线围成的面积占AUC的比例。基尼系数本来是经济学中的一个概念,基尼系数为0,表示没有贫富差距,基尼系数越大,表示贫富差距越大。

好,到这里我们基本说完了混淆矩阵周边的所有概念,那是不可能的。。。。

接下来的问题是对于不平衡数据来说,对于上面我们讨论的问题说的是人工智能专业和大数据专业都是100名同学,这种分类问题,是常见的二分类问题,如果我们的正类有199个,负类样本有1,然后做分类的时候,上面讲的那些公式基本都废了。。。是的,不信大家可以去试试计算一下。然后最后我要介绍另外一个公式叫G-means,G-means是一种常用的评价不平衡问题的度量准则,公式如下:

好,混淆矩阵周边就介绍到这里了,在写的过程中,我发现这些看似简单的东西,其实其中还有很多的学问,希望大家可以仔细体会一下,然后对自己不懂的东西再多研究研究,搞清楚每个公式的是什么,以及怎么用?

原文发布于微信公众号 - 机器学习和数学(ML_And_Maths)

原文发表时间:2017-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能

2017年最后一篇推送,仍然与技术有关盘点深度学习论文年度之“最”

今年有很多的学术论文发表,以下是小编觉得能够深刻影响到自己的几篇,为大家推荐。对于每一篇文章,都阐述了论文的“目标”,简要总结了相关工作,并解释了推荐的原因。 ...

2039
来自专栏大数据

单因子测试框架

SignalFactorAnalyse单因子测试框架哪些因子可以为组合提供超额收益?这是构建多因子模型的第一步,也是最关键一步。 特征选择非常关键,只有把握关键...

2835
来自专栏机器之心

深度 | 2017 CV 技术报告之图像分割、超分辨率和动作识别

3696
来自专栏量化投资与机器学习

【贝叶斯系列】在研究机构如何应用贝叶方法论进行量化投资

贝叶斯方法与量化投资 贝叶斯方法在量化投资中有哪些应用股票分类 市场趋势识别 波动率估计 投资组合风险 股票分类 构造投资组合的方法是买入好的 股票(未来收...

3629
来自专栏专知

【CVPR2018最佳论文重磅出炉】斯坦福伯克利折桂,何恺明获TPAMI年轻研究员奖

【导读】美国当地时间6 月 18 号,CVPR 2018 在犹他州盐湖城开幕。作为计算机视觉领域的全球顶会,吸引了国内外众多学界、产业界的研究人员参与。CVPR...

1282
来自专栏CDA数据分析师

数据挖掘:聚类算法概述

本篇重点介绍聚类算法的原理,应用流程、使用技巧、评估方法、应用案例等。具体的算法细节可以多查阅相关的资料。聚类的主要用途就是客户分群。 聚类 VS 分类 分类是...

24310
来自专栏AI2ML人工智能to机器学习

图文并茂,卡曼滤波

我务必向大家介绍卡尔曼滤波器(Kalman Filter),因为它之所能, 忒惊人!

802
来自专栏机器学习和数学

[机智的机器在学习] 卷积神经网络入门教程(1)

机智的机器在学习,就像机智的你现在在学习一样,当你在看这篇文章的时候,你就是在学习,学习的材料(数据)就是这篇文章。学习的结果就是你了解了卷积神经网络是个什么鬼...

3926
来自专栏人工智能头条

ICLR 2018最佳论文出炉,无华人获奖

1766
来自专栏AI科技评论

陈陟原:数据降维与可视化| AI 研习社第 53 期猿桌会

相信大多数人都已经接触过数据可视化——Excel 随便画一张表就是了。众所周知,二维数据可视化很容易,条形图、饼状图等等,我们在初中就已经学过了。那么三维数据呢...

1302

扫码关注云+社区

领取腾讯云代金券