西瓜书+实战+吴恩达机器学习(三)机器学习基础(多分类、类别不平衡)

文章目录

  • 0. 前言
  • 1. 多分类学习
  • 2. 类别不平衡

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

本篇介绍机器学习中的多分类类别不平衡问题

1. 多分类学习

一些算法可以直接进行多分类,而另一些算法则不行,基本思路是:将多分类任务拆为若干个二分类任务求解

  1. 一对一(One vs. One, OvO):给定数据集,将 N N N个类别两两配对,产生 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个二分类任务,最终结果通过投票产生
  2. 一对其余(One vs. Rest, OvR):给定数据集,每次将一个类作为正类,其余类作为反类,训练 N N N个分类器,最终结果通过投票产生
  3. 多对多(Many vs. Many, MvM):给定数据集,每次将若干个类作为正类,若干个其他类作为反类,使用纠错输出码ECOC,对 N N N个类别作 M M M次划分,产生 M M M个分类器, M M M个分类器对测试样例进行预测,预测结果组成一个编码,与 N N N个类别的编码对比,距离最短的类别就是结果

在类别较少时,OvO的存储开销和测试时间开销通常比OvR更大。

在类别较多时,OvO的训练时间开销通常比OvR更小。

ECOC编码越长,纠错能力越强,计算、存储开销越大。对于同等长度的编码,任意两个类别之间的距离越远,纠错能力越强。

2. 类别不平衡

类别不平衡(class-imbalance)是指分类任务中不同类别的训练样例数目差别很大

现有技术大体上有三类做法:

  1. 对数目多的类别欠采样:去除一些样例,使得正例、反例数目接近
  2. 对数目少的类别过采样:增加一些样例,使得正例、反例数目接近
  3. 阈值移动:直接对原始数据集进行学习,在决策时使用再缩放, y ′ 1 − y ′ = y 1 − y × m − m + > 1 \frac{y'}{1-y'}=\frac{y}{1-y}\times\frac{m^-}{m^+}>1 1yy=1yy×m+m>1,则判断为正例, m + m^+ m+表示正例数目, m − m^- m表示反例数目

如果欠采样随机丢失样例,可能丢失一些重要信息。

如果过采样不能简单的进行重采样,可能会导致过拟合。


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

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