机器学习中样本比例不平衡的处理方法

原创干货文章第一时间送达!

推荐阅读时间:5min~12min

主要内容:机器学习中样本比例不平衡的处理方法

在机器学习中,常常会遇到样本比例不平衡的问题,如对于一个二分类问题,正负样本的比例是 10:1。

这种现象往往是由于本身数据来源决定的,如信用卡的征信问题中往往就是正样本居多。样本比例不平衡往往会带来不少问题,但是实际获取的数据又往往是不平衡的,因此本文主要讨论面对样本不平衡时的解决方法。

样本不平衡往往会导致模型对样本数较多的分类造成过拟合,即总是将样本分到了样本数较多的分类中;除此之外,一个典型的问题就是 Accuracy Paradox,这个问题指的是模型的对样本预测的准确率很高,但是模型的泛化能力差。

其原因是模型将大多数的样本都归类为样本数较多的那一类,如下所示

准确率为

而假如将所有的样本都归为预测为负样本,准确率会进一步上升,但是这样的模型显然是不好的,实际上,模型已经对这个不平衡的样本过拟合了。

针对样本的不平衡问题,有以下几种常见的解决思路

搜集更多的数据

改变评判指标

对数据进行采样

合成样本

改变样本权重

1

搜集更多的数据

搜集更多的数据,从而让正负样本的比例平衡,这种方法往往是最被忽视的方法,然而实际上,当搜集数据的代价不大时,这种方法是最有效的。

但是需要注意,当搜集数据的场景本来产生数据的比例就是不平衡时,这种方法并不能解决数据比例不平衡问题。

2

改变评判指标

改变评判指标,也就是不用准确率来评判和选择模型,原因就是我们上面提到的 Accuracy Paradox 问题。实际上有一些评判指标就是专门解决样本不平衡时的评判问题的,如准确率,召回率,F1值,ROC(AUC),Kappa 等。

根据这篇文章,ROC 曲线具有不随样本比例而改变的良好性质,因此能够在样本比例不平衡的情况下较好地反映出分类器的优劣。

关于评判指标更详细的内容可参考文章: Classification Accuracy is Not Enough: More Performance Measures You Can Use

3

对数据进行采样

对数据采样可以有针对性地改变数据中样本的比例,采样一般有两种方式:over-sampling和 under-sampling,前者是增加样本数较少的样本,其方式是直接复制原来的样本,而后者是减少样本数较多的样本,其方式是丢弃这些多余的样本。

通常来说,当总样本数目较多的时候考虑 under-sampling,而样本数数目较少的时候考虑 over-sampling。

关于数据采样更详细的内容可参考 Oversampling and undersampling in data analysis

4

合成样本

合成样本(Synthetic Samples)是为了增加样本数目较少的那一类的样本,合成指的是通过组合已有的样本的各个 feature 从而产生新的样本。

一种最简单的方法就是从各个 feature 中随机选出一个已有值,然后拼接成一个新的样本,这种方法增加了样本数目较少的类别的样本数,作用与上面提到的 over-sampling方法一样,不同点在于上面的方法是单纯的复制样本,而这里则是拼接得到新的样本。

这类方法中的具有代表性的方法是 SMOTE(Synthetic Minority Over-sampling Technique),这个方法通过在相似样本中进行 feature 的随机选择并拼接出新的样本。

关于 SMOTE 更详细的信息可参考论文 SMOTE: Synthetic Minority Over-sampling Technique

5

改变样本权重

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

参考:

更多文章请访问:http://wulc.me/

8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset

In classification, how do you handle an unbalanced training set?

本文来自企鹅号 - 机器学习算法与自然语言处理媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能

机器学习的第一步:先学会这6种常用算法

【IT168 资讯】机器学习领域不乏算法,但众多的算法中什么是最重要的?哪种是最适合您使用的?哪些又是互补的?使用选定资源的最佳顺序是什么?今天笔者就带大家一起...

205100
来自专栏Coding迪斯尼

由深入浅,人工智能原理的大白话阐述

15550
来自专栏AI科技评论

干货 | YJango的 卷积神经网络介绍

AI科技评论按:本文来源 知乎,作者:YJango,AI科技评论授权转载。 PS:YJango是我的网名,意思是我写的教程,并不是一种网络结构。。 关于卷积神经...

37170
来自专栏CVer

机器学习术语表

机器学习术语表:https://developers.google.com/machine-learning/glossary/ 机器学习术语表,即机器学习专业...

36090
来自专栏大数据挖掘DT机器学习

【R语言】用gbm包来提升决策树能力

中国有句老话:三个臭皮匠,顶个诸葛亮。这个说法至少在变形金刚中得到了体现,没有组合之前的大力神只是五个可以被柱子哥随手秒掉工地苦力。但组合之后却是威力大增。在机...

43040
来自专栏机器之心

离散优化代替反向传播:Pedro Domingos提出深度学习新方向

39660
来自专栏人工智能LeadAI

从CVPR2017 看多样目标检测

1、导读 When you have trouble with object detection, keep calm and use deep learnin...

48850
来自专栏机器之心

初学TensorFlow机器学习:如何实现线性回归?(附练习题)

选自Technica Curiosa 作者:Nishant Shukla 机器之心编译 参与:Jane W 本文的作者 Nishant Shukla 为加州大学...

33670
来自专栏专知

【深度学习RNN/LSTM中文讲义】循环神经网络详解,复旦邱锡鹏老师《神经网络与深度学习》报告分享03(附pdf下载)

【导读】复旦大学副教授、博士生导师、开源自然语言处理工具FudanNLP的主要开发者邱锡鹏(http://nlp.fudan.edu.cn/xpqiu/)老师撰...

2.9K80
来自专栏开心的学习之路

机器学习项目流程及模型评估验证

4.9日到现在一直在做Udacity的P1项目——波士顿房价预测。这个项目让我收获最大的就是理清了机器学习解决问题的整体流程,搭起一个框架,学会了寻找模型的最优...

88670

扫码关注云+社区

领取腾讯云代金券