美文网首页机器学习
分类(6):不平衡和多分类问题

分类(6):不平衡和多分类问题

作者: longgb246 | 来源:发表于2016-10-25 13:27 被阅读0次

一、不平衡问题

(1)不平衡数据

例如:一个产品生产的不合格产品数量会远低于合格产品数量。信用卡欺诈的检测中,合法交易远远多于欺诈交易。
这时候,准确率的度量会出现一些问题,因为她把每个类都看得同等重要。
例如,1%的信用卡交易是欺诈行为,则预测每个交易都是合法的模型有99%的准确率,它也可能检测不到任何欺诈交易。

(2)混淆矩阵

在不平衡数据中,稀有类比较有意义,对于二元分类,稀有类通常记为正类,而多数类被认为是负类。下面显示了混淆矩阵:

5_37.png

真正(true positive,TP):++
假正(false positive,FP):-+
真负(true negative,TN):--
假负(false negative,FN):+-

真正率(true positive rate,TPR)或灵敏度(sensitivity):
![](http://www.forkosh.com/mathtex.cgi? TPR=\frac{TP}{TP+FN}=\frac{(++)}{(++)+(+-)})
真负率(true negative rate,TNR)或特指度(specificity):
![](http://www.forkosh.com/mathtex.cgi? TNR=\frac{TN}{TN+FP}=\frac{(--)}{(--)+(-+)})
假正率(false positive rate,FPR):
![](http://www.forkosh.com/mathtex.cgi? FPR=\frac{FP}{TN+FP}=\frac{(+-)}{(--)+(-+)})
假负率(false negative rate,FNR):
![](http://www.forkosh.com/mathtex.cgi? FNR=\frac{FN}{FN+TP}=\frac{(-+)}{(-+)+(++)})
精度(precision):
![](http://www.forkosh.com/mathtex.cgi? p=\frac{TP}{TP+FP}=\frac{(++)}{(++)+(-+)})
召回率(recall)即为真正率:
![](http://www.forkosh.com/mathtex.cgi? r=\frac{(TP)}{(TP)+(FN)}=\frac{(++)}{(++)+(+-)})
精度和召回率是很重要的度量量,称为 F1 统计量:
![](http://www.forkosh.com/mathtex.cgi? F_{1}=\frac{2rp}{r+p}=\frac{2\times TP}{2\times TP+FP+FN}=\frac{2}{\frac{1}{r}+\frac{1}{p}})
F1 是召回率和精度的调和平均数,F1 趋近于它们之间的较小值,因此,一个高的 F1 确保精度和召回率都高。
Fb 的公式:
![](http://www.forkosh.com/mathtex.cgi? F_{b}=\frac{(b{2}+1)rp}{r+b{2}p}=\frac{(b{2}+1)}{\frac{1}{r}+\frac{b{2}}{p}})
低的 b 使得 Fb 更加接近精度,高的 b 使得 Fb 更加接近召回率。

(3)接受者操作曲线(ROC)

是真正率和假正率取折中的一种图形化方法。真正率为 y 轴,假正率为 x 轴。

ROC的几个关键点:

(TPR=0,FPR=0):把所有的都预测为负
(TPR=1,FPR=1):把所有的都预测为正
(TPR=1,FPR=0):理想模型。只要是正的,都预测为正。

一个好的分类器,尽量靠近左上角,随机猜想为对角线。

5_38.png

产生ROC曲线方法:


5_39.png
(4)代价敏感学习

模型 M 的代价:
![](http://www.forkosh.com/mathtex.cgi? C_{t}(M)=TP\times C(+,+)+FP\times C(-,+)+FN\times C(+,1)+FN\times C(-,-))

如下是一个代价矩阵:


5_40.png

它可以把决策边界扩展:


5_41.png

对于代价矩阵,若 C(+,+)=C(-,-)=0 的情况,分类正确不需要代价,则:


5_42.png

求解可以得到决策边界。

基于抽样方法

对于样本进行处理,假设有100个正样本和1000个负样本。
不充分抽样(udersampling):取和正样本一样数量的负样本,取100个负样本,形成训练集。
过分抽样(oversampling):将正样本复制,或者重复抽样,使得正样本的数量和负样本一样1000个。

二、多类问题

1、one-vs-rest 方法。将多类问题分解为 K 个二类问题,将属于yi的归为正类,而其他类被分为负类,依次进行。
2、one-vs-one 方法。它构建K(K-1)/2 个二分类器,每一个分类器用来区分一对类 (yi,yj) ,当为类 (yi,yj) 建立分类器的时候,将不属于 (yi,yj) 的样本忽略掉。

例子:


5_43.png 5_44.png

使用上述两种方法建模后,可能出现分类平局。另一种方法,将输出转变为概率估计,将实例给予高概率的类。

纠错输出编码

纠错输出编码(error-correcting output coding,ECOC):一种处理多分类更加鲁棒的方法,给予每个类一个代码字,对于每个可能预测错误的,选取距离代码字最近的那一类。

相关文章

  • 分类(6):不平衡和多分类问题

    一、不平衡问题 (1)不平衡数据 例如:一个产品生产的不合格产品数量会远低于合格产品数量。信用卡欺诈的检测中,合法...

  • 分类不平衡问题

    数据不平衡问题 答案取决于数据 平衡数据 少数样本过采样 多数样本欠采样 ...

  • 过采样中用到的SMOTE算法

    平时很多分类问题都会面对样本不均衡的问题,很多算法在这种情况下分类效果都不够理想。类不平衡(class-imbal...

  • 采样-概述

    什么是不平衡分类 不平衡分类是一种有监督学习,但它处理的对象中有一个类所占的比例远远大于其余类。比起多分类,这一问...

  • 类别不平衡分类问题和FocalLoss详解

    1.类别不平衡问题 一份给定的数据集中,可能出现类别不平衡,即某种类型的数量特别少,以我现在做的二分类项目为例, ...

  • 原理 + 代码 | 手把手教你基于不平衡数据的 Python 反

    本文将基于不平衡数据,使用Python进行反欺诈模型数据分析实战,模拟分类预测模型中因变量分类出现不平衡时该如何解...

  • 逻辑回归(三)

    多类别分类(Multiclass Classification) 在多类别分类问题中,我们的训练集中有个多个类别,...

  • 条件随机场|机器学习推导系列(二十一)

    一、背景 概述 如上所示,分类问题分为硬分类和软分类两种。硬分类问题指的是分类结果非此即彼的模型,包括SVM、PL...

  • 类别不均衡问题

    在计算机视觉(CV)任务里常常会碰到类别不平衡的问题, 例如:1. 图片分类任务,有的类别图片多,有的类别图片少2...

  • Sklearn Metrics

    分类中的评估标准 Shortcoming of Accuracy 类别不平衡问题时,评估不当。 当我们想在某一类的...

网友评论

    本文标题:分类(6):不平衡和多分类问题

    本文链接:https://www.haomeiwen.com/subject/zhrruttx.html