样本不均衡处理及采样方法

1. 样本不均衡问题

        通常分类机器学习任务期望每种类别的样本是均衡的,即不同目标值样本的总量接近相同。在梯度下降过程中,不同类别的样本量有较大差异时,很难收敛到最优解。

会导致模型泛化能力大大降低,对比例大的样本造成过拟合,预测偏向样本数较多的分类。

1.1 对负样本采样应遵循的原则

1. 对每个用户,要保证正负样本的平衡(数目相似)。

        如点击问题,对于经常无行为(不点击)的用户,尽量少采样。

2. 对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。

        一般认为,很热门而用户却没有行为更加代表用户对这个物品不感兴趣。因为对于冷门的物品,用户可能压根没在网站中发现这个物品,所以谈不上是否感兴趣。

2. 样本不均衡

2.1 采样算法

2.1.1 欠采样(undersampling)

        又叫下采样,减少样本数较多的样本,采用丢弃或选取部分样本的方法。但若随机丢弃负样本,可能丢失一些重要信息(导致模型只学习到总体模式的一部分 )。其代表性算法为EasyEnsemble

2.1.2 过采样(oversampling)

        又叫上采样,增加少数样本,比较常见的方法有:

        1. 随机过采样:将现有样本简单复制,这样训练得到的模型泛化能力通常较差,会导致过拟合;可以加入轻微的随机扰动。

        2. SMOTE算法

        少数类别过采样技术,是一种用于合成少数类样本的过采样技术,通过对训练集中的正例进行插值来产生额外的正例。

    对少数类样本进行分析,然后在现有少数类样本之间进行插值,人工合成新样本,并将新样本添加到数据集中进行训练。

2.1.3 数据合成

        合成少数类样本,组合已有样本特征(从各个feature中随机选出一个已有值,拼接成一个新样本),产生新样本。代表性方法是SMOTE,在相似样本中进行特征的随机选择并拼接出新样本。

2.1.4 增大少数类样本权重

        当少数类样本被误分时,其损失值要乘上相应的权重,从而让分类器更加关注这一类数目较少的样本。

2.2 半监督学习

2.3 代价敏感

        通常对少数类样本进行加权处理,使得模型进行均衡训练。代价敏感加权增大了负样本在模型中的贡献,但没有为模型引入新的信息,既没有解决选择偏误的问题,也没有带来负面影响。

类权重计算方法如下:weight = 样本数/(类别数量 X 每个类别样本的数量)

        通过参数class_weight = 'balanced' 调整正负样本的权重,可以使得正负样本总权重相同,模型KS有5%左右的提升。

2.4 模型角度

1. EasyEnsemble

        利用集成学习机制,将负样本划分成为若干个集合供不同学习器使用。这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息。

2. BalanceCascade

        利用增量训练的思想Boosting,先通过一次下采样产生训练集,训练一个分类器,对于那些分类正确的大众样本不放回,然后对这个更小的大众类样本下采样产生训练集,训练第二个分类器,以此类推,最终组合所有分类器的结果得到最终结果。

3. NearMiss

        利用KNN挑选那些最具代表性的大众样本(计算量很大)。

2.5 阈值移动(threshold-moving)

        基于原始训练集进行学习,但在用训练好的分类器进行预测时,将下面公式嵌入到其决策过程中,称为“阈值移动”。

y为阈值,

这个公式也是类别不均衡学习的一个基本策略-------再缩放(rescaling)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值