《机器学习西瓜书》学习笔记——第三章_线性模型_类别不平衡问题

2023-10-30

类别不平衡是指分类任务中不同类别的训练样例数目相差很大

现有技术大体上有三类做法解决此问题:
1. 欠采样
2. 过采样
3. 阈值移动/再缩放

1. 欠采样

直接对训练集里的反类样例进行欠采样,即去除一些反例使得正反例数目接近,然后再进行学习。欠采样若随机丢弃反例,可能会丢失重要信息。代表性算法:EasyEmsemble,利用集成学习机制,将反例划分为若干个集合,供不同学习器使用,这样对每个学习器来看都进行了欠采样,但全局来看不会丢失重要信息。

2. 过采样

对训练集里的正类样例进行过采样,即增加一些正例,使得正反例数目接近,然后再进行学习。但不能简单对初始正例样本重复采样,否则过拟合严重。代表性算法SMOTE,通过对训练集的正例进行插值,产生额外的正例。

3. 阈值移动

基于原始训练集进行学习,但在用训练好的分类器进行预测时,将 y1y y ′ 1 − y ′ = y1y y 1 − y * m+m m + m − 再缩放考虑入决策过程。

几率 y1y y 1 − y 反应正例可能性和反例可能性之比值,阈值设置为0.5表明分类器任务正反例可能性相同,即分类器决策为:

y1y y 1 − y >1则为正例, y1y y 1 − y 为预测几率.

当训练集中正反例的数目不同时,令 m+ m + 表示正例数目, m m − 表示反例数目,观测几率为 m+m m + m − ,通常假设训练集是真是样本总体的无偏采样,因此观测几率代表真是几率,所以只要预测几率大于观测几率就应判断为正例。即:

y1y y 1 − y > m+m m + m − 则预测为正例

但是,我们的分类器是基于 y1y y 1 − y >1进行决策的,因此对其预测值进行调整,使其基于 y1y y 1 − y >1决策时实际在执行 y1y y 1 − y > m+m m + m − ,所以,需要令:

y1y y ′ 1 − y ′ = y1y y 1 − y * m+m m + m −

这就是类别不平衡学习的基本策略——再缩放

再缩放/再平衡虽然简单,但实际操作并不平凡。因为训练集是真实样本总体的无偏采样的假设,一般并不成立。未必可有效基于训练集观测几率来估计真实几率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《机器学习西瓜书》学习笔记——第三章_线性模型_类别不平衡问题 的相关文章

  • Element-ui 表单的基础使用

    1 基本三大组件
  • 4-6 三部排序Java

    快排变体 极限思维 全部为0 必为p 一般的排序有许多经典算法 如快速排序 希尔排序等 但实际应用时 经常会或多或少有一些特殊的要求 我们没必要套用那些经典算法 可以根据实际情况建立更好的解法 比如 对一个整型数组中的数字进行分类排序 使得
  • 了解CommonJS模块化规范

    1 概述 Node应用由模块组成 采用CommonJS模块规范 每个文件就是一个模块 有自己的作用域 在一个文件里面定义的变量 函数 类 都是私有的 对其他文件不可见 example js var x 5 var addX function

随机推荐