首先,看Smote算法之前,我们先看下当正负样本不均衡的时候,我们通常用的方法:
- 抽样
常规的包含过抽样、欠抽样、组合抽样
过抽样:将样本较少的一类sample补齐
欠抽样:将样本较多的一类sample压缩
组合抽样:约定一个量级N,同时进行过抽样和欠抽样,使得正负样本量和等于约定量级N
这种方法要么丢失数据信息,要么会导致较少样本共线性,存在明显缺陷
- 权重调整
常规的包括算法中的weight,weight matrix
改变入参的权重比,比如boosting中的全量迭代方式、逻辑回归中的前置的权重设置
这种方式的弊端在于无法控制合适的权重比,需要多次尝试
- 核函数修正
通过核函数的改变,来抵消样本不平衡带来的问题
这种使用场景局限,前置的知识学习代价高,核函数调整代价高,黑盒优化
- 模型修正
通过现有的较少的样本类别的数据,用算法去探查数据之间的特征,判读数据是否满足一定的规律
比如,通过线性拟合,发现少类样本成线性关系,可以新增线性拟合模型下的新点
实际规律比较难发现,难度较高
SMOTE(Synthetic minoritye over-sampling technique,SMOTE)是Chawla在2002年提出的过抽样的算法,一定程度上可以避免以上的问题
下面介绍一下这个算法