多分类学习、类别不平衡

多分类学习

最经典的拆分策略有三种:“一对一(OvO)”、“一对其余(OvR)”、”多对多(MvM)”。
  OvO:将N个类别两两匹配,从而产生 N(N1)/2 个二分类器。将新样本提交给所有的分类器,得到了 N(N1)/2 个结果,最终结果通过投票产生。N比较大的时候,代价还是挺高。
  OvR:每次将一个类作为样例的正例,其他所有均作为反例,得到N个分类器。提交新的样本同时也得到N个结果,最终结果通过投票产生。
  MvM:每次将若干个类作为正例、若干个类作为反例。显然OvO、OvR都是其特例。MvM的正、反类设计必须有特殊的设计,常用的一种技术:”纠错输出码”,简称ECOC。
ECOC是将编码的思想引入类别的划分,并可能在解码过程中具有容错性。ECOC工作过程主要分为两步:
   对N个类做M次划分,每次划分将一部分作为正类,一部分划分反类,从而形成一个二分类训练集。一共产生M个训练集,训练出M个分类器。
   M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类各自的编码进行比较,返回其中距离最小的类别作为最终结果。
多分类学习、类别不平衡_第1张图片
对同一个学习任务来说,ECOC编码越长,纠错能力越强。然而编码越长所需要的训练的分类器越多,计算存储开销都会增大;另一方面对于有限类别码长超过一定范围就没有意义了。对于同等长度的编码,理论上来说,任务两个类别之间的编码距离越远,则纠错能力越强。

类别不平衡问题

  类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。
  从线性分类器角度考虑,利用 y=wTx+b 对新样本x做分类,若y>0.5即为正例,否则为反例。几率 y1y 正反映了正例可能性和反例可能性的比值,那么分类器的决策规则为

y1y>1

  然而,当训练集正、反例数量不同时,令 m+ 表示正例数目, m 表示反例数目,则观测几率是 m+m ,由于训练是对真实样本的无偏采样,因此观测几率就代表了真实几率,于是只要分类器的预测几率高于观测记录就应判为正例,即
y1y>m+m

  这时候就可以令
y\'1y\'>y1y×mm+

  这就是类别不平衡的一个基本策略—“再缩放”。现有技术大体三类方法:第一类是直接对训练集例的反类样例进行“欠采样”,即除去一些反例样本,使正反接近。第二类是对训练集中的正类样本进行“过采样”,即增加一些正例样本,使正反接近。第三类是直接基于原始数据训练集进行学习,但在应训练好的分类器进行预测时,将再缩放策略嵌入其决策过程中,称为“阀值移动”。
  欠采样的时间开销通常远小于过采样,因为前者丢弃了许多数据,后者添加了许多数据。注意的是过采样不能随意对正例样本重复采样,会导致过拟合,过采样的代表性算法SMOTE通过对训练集里的正例进行插值产生额外的正例。另一方面,欠采样也不能随意丢弃数据,可能会丢失重要信息,欠采样的代表性算法EasyEnsemble则是利用集成学习机制,将反例划分为若干个几个供不同学习器使用,这样对每个学习器都进行欠采样,但在全局来看不会丢失重要信息。
  值的一题的是,“再缩放”是“代价敏感学习”的基础。

你可能感兴趣的:(机器学习)