不平衡学习
定义
顾名思义即我们的数据集样本类别极不均衡,以二分类问题为例,假设我们的数据集是$S$,数据集中的多数类为$S_maj$,少数类为$S_min$,通常情况下把多数类样本的比例为$100:1$,$1000:1$,甚至是$10000:1$这种情况下为不平衡数据,不平衡数据的学习即需要在如此分布不均匀的数据集中学习到有用的信息。
如搜索引擎的点击预测(点击的网页往往占据很小的比例),电子商务领域的商品推荐(推荐的商品被购买的比例很低),信用卡欺诈检测,网络攻击识别等等。
缺点
考虑一个$500:1$的数据集,即使把所有样本都预测为多数类其精度也能达到$500/501$之高,很显然这并不是一个很好的学习效果,因此传统的学习算法在不平衡数据集中具有较大的局限性。
但是可以考虑平衡两个样本的误差率
解决方案
-
采样,使样本均衡些
-
随机欠采样
在多样本中选择少量样本跟少数样本组成训练样本 * 随机过采样
在少数样本中重复采样跟多样本组成训练样本
对于上述两种采样方法都有一些缺点,针对这些问题提出了几种其它的采样算法。
-
SMOTE 基于随机过采样算法的一种改进方案
通过建模去生成新的样本
-
informedundersampling采样技术 EasyEnsemble算法和BalanceCascade算法
-
-
考虑不同误分类情况代价的差异性对算法进行优化
- 代价敏感学习算法(Cost-Sensitive Learning)
- AdaCost算法
不平衡学习的评价方法
- 正确率与F值
- G-Mean
- ROC曲线和AUC
Comments
comments powered by Disqus