返回介绍

数学基础

统计学习

深度学习

工具

Scala

七、类别不平衡问题

发布于 2023-07-17 23:38:26 字数 2593 浏览 0 评论 0 收藏 0

  1. 通常在机器学习中都有一个基本假设:不同类别的训练样本数目相当。

    • 如果不同类别的训练样本数目稍有差别,通常影响不大。

    • 如果不同类别的训练样本数目差别很大(极端情况下,如正类样本只有十个,反类样本一百万个),则会对学习过程造成影响。这就是类别不平衡问题(class-imbalance)。

      这里讨论中,假设正类样本偏少、反类样本偏多。

  2. 对于类别不平衡问题,常用的有三种方法:

    • 基于再缩放策略进行决策,称之为阈值移动threshold-moving
    • 直接对训练集里的反类样本进行欠采样undersampling
    • 直接对训练集里的正类样本进行过采样oversampling
  3. 对于正负样本极不平衡的场景,可以完全换一个不同的角度来看问题:将它看作一分类One Class Learning或者异常检测Novelty Detection问题。

    此时可以用One-class SVM模型。

7.1 再缩放

  1. 假设对样本 $ MathJax-Element-410 $ 进行分类时,预测为正类的概率为 $ MathJax-Element-414 $ 。常规的做法是将 $ MathJax-Element-414 $ 与一个阈值,比如 0.5 , 进行比较。 如果 $ MathJax-Element-413 $ 时,就判别该样本为正类。

    概率 $ MathJax-Element-414 $ 刻画了样本为正类的可能性, 几率 $ MathJax-Element-415 $ 刻画了正类可能性与反类可能性的比值。

  2. 当存在类别不平衡时,假设 $ MathJax-Element-416 $ 表示正类样本数目, $ MathJax-Element-417 $ 表示反类样本数目,则观测几率是 $ MathJax-Element-418 $ 。

    假设训练集是真实样本总体的无偏采样,因此可以用观测几率代替真实几率。于是只要分类器的预测几率高于观测几率就应该判断为正类。即如果 $ MathJax-Element-419 $ , 则预测为正类。

  3. 通常分类器都是基于概率值来进行预测的,因此需要对其预测值进行调整。在进行预测的时候,令:

    $ \frac{\bar p}{1-\bar p}=\frac{p}{1-p} \times \frac{N^{-}}{N^{+}} $

    然后再将 $ MathJax-Element-420 $ 跟阈值比较。这就是类别不平衡学习的一个基本策略:再缩放rescalling

  4. 再缩放虽然简单,但是由于“训练集是真实样本总体的无偏采样”这个假设往往不成立,所以无法基于训练集观测几率来推断出真实几率。

7.2 欠采样

  1. 欠采样会去除一些反类使得正、反类数目接近。

  2. 欠采样若随机抛弃反类,则可能丢失一些重要信息。

    常用方法是将反类划分成若干个集合供不同学习器使用,这样对每个学习器来看都是欠采样,但是全局来看并不会丢失重要信息。

7.3 过采样

  1. 过采样会增加一些正类使得正、反类数目接近。

  2. 过采样不能简单的对原始正类进行重复采样,否则会导致严重的过拟合。

    通常在原始正类之间插值来生成额外的正类。

  3. 常见的有以下过采样策略:

    • SMOTE方法:对于每个正类样本 $ MathJax-Element-429 $ ,从它的 $ MathJax-Element-430 $ 近邻中随机选取一个样本点 $ MathJax-Element-423 $ ,然后根据下式生成一个新的正类样本: $ MathJax-Element-424 $ ,其中 $ MathJax-Element-425 $ 是随机数。

      该方法有两个问题:

    • 增加了正类样本之间重叠的可能性。

    • 生成了一些没有提供有益信息的样本。

    • Borderline-SMOTE方法:它类似SMOTE,但是对于每个正类样本 $ MathJax-Element-429 $ ,首先要评估:是否应该为该正类样本生成新的样本点。

      • 评估准则是:如果 $ MathJax-Element-429 $ 的 $ MathJax-Element-430 $ 近邻中,有超过一半以上的反类样本,则为该正类样本生成新样本。

        反类样本超过一半,则说明该正类样本位于正类与反类的边界。如果 $ MathJax-Element-429 $ 的 $ MathJax-Element-430 $ 近邻中正类样本比较多,则该正类样本很可能就是处于一群正类样本的内部。

      • 该方法生成新样本的算法与SMOTE方法相同。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文