SMOTE算法的简单表述

SMOTE算法是过采样算法,出自JAIR'2002的文章《SMOTE: Synthetic Minority Over-sampling Technique》,目的是为少数类合成新样本,以解决数据不平衡的问题。


为表述简单,我们举例说明。假设有一个数据集,有两个类A和B,A是少数类,B是多数类。

为了让数据平衡,我们采用SMOTE算法对少数类A进行过采样,SMOTE算法过程是这样的:

假设A类样本数为N,对于每个样本xi,执行下列操作:

(1)在N个样本中取xi的k个近邻点,从中随机选一个点xj,在xi与xj之间插入一个点xi1作为新样本(xi1=xi+λ|xj-xi|,0<λ<1);

(2)将步骤(1)重复M次,就得到M个新样本(xi1,xi2......xiM);

(3)对N个样本全部执行(1)(2)操作,最后将总共得到N*M个新样本

评论