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

2017 年 9 月 30 日 机器学习和数学 Alvin_2580


[点击蓝字,一键关注~]



明天就国庆放假了,正好赶上中秋节,首先祝大家“双节”快乐! 不管是出去玩,还在一个人在家里,在宿舍,在自己的小房子“玩”,祝大家都能找到自己的乐趣!但是呢, 安全第一! 想乘着国庆好好学习一把的童鞋, 也别太拼, 学习一会儿就休息一下。然后我想说,我国庆要出去“嗨”一下了,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是一种常用的评价不平衡问题的度量准则,公式如下:


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



登录查看更多
1

相关内容

AAAI2020接受论文列表,1591篇论文目录全集
专知会员服务
98+阅读 · 2020年1月12日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
学人工智能,参加培训真的有用吗?
AINLP
6+阅读 · 2018年10月10日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
条件概率和贝叶斯公式 - 图解概率 03
遇见数学
10+阅读 · 2018年6月5日
Fast R-CNN
数据挖掘入门与实战
3+阅读 · 2018年4月20日
决策树
Datartisan数据工匠
4+阅读 · 2018年4月19日
何恺明大神的「Focal Loss」,如何更好地理解?
PaperWeekly
10+阅读 · 2017年12月28日
从点到线:逻辑回归到条件随机场
夕小瑶的卖萌屋
15+阅读 · 2017年7月22日
从逻辑回归到最大熵模型
夕小瑶的卖萌屋
4+阅读 · 2017年7月11日
[有意思的数学] 参数估计
机器学习和数学
15+阅读 · 2017年6月4日
Arxiv
20+阅读 · 2020年6月8日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
3+阅读 · 2017年11月21日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关资讯
学人工智能,参加培训真的有用吗?
AINLP
6+阅读 · 2018年10月10日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
条件概率和贝叶斯公式 - 图解概率 03
遇见数学
10+阅读 · 2018年6月5日
Fast R-CNN
数据挖掘入门与实战
3+阅读 · 2018年4月20日
决策树
Datartisan数据工匠
4+阅读 · 2018年4月19日
何恺明大神的「Focal Loss」,如何更好地理解?
PaperWeekly
10+阅读 · 2017年12月28日
从点到线:逻辑回归到条件随机场
夕小瑶的卖萌屋
15+阅读 · 2017年7月22日
从逻辑回归到最大熵模型
夕小瑶的卖萌屋
4+阅读 · 2017年7月11日
[有意思的数学] 参数估计
机器学习和数学
15+阅读 · 2017年6月4日
Top
微信扫码咨询专知VIP会员