这一技术可用来避免过拟合——当直接复制少数类实例并将其添加到主数据集时。从少数类中把一个数据子集作为一个实例取走,接着创建相似的新合成的实例。这些合成的实例接着被添加进原来的数据集。新数据集被用作样本以训练分类模型。 总观测= 1000 欺诈性观察 = 20 非欺诈性观察 = 980 事件发生率 = 2% 从少数类中取走一个包含 15 个实例的样本,并生成相似的合成实例 20 次。 生成合成性实例之后,创建下面的数据集 少数类(欺诈性观察)= 300 多数类(非欺诈性观察)= 980 事件发生率 = 300/1280 = 23.4 % 优点 通过随机采样生成的合成样本而非实例的副本,可以缓解过拟合的问题。 不会损失有价值信息。 缺点 当生成合成性实例时,SMOTE 并不会把来自其他类的相邻实例考虑进来。这导致了类重叠的增加,并会引入额外的噪音。 SMOTE 对高维数据不是很有效。 图 1:合成少数类过采样算法,其中 N 是属性的数量 图 2:借助 SMOTE 的合成实例生成 2.15 改进的合成少数类过采样技术(MSMOTE) 这是 SMOTE 的改进版本,SMOTE 没有考虑数据集中少数类和潜在噪声的基本分布。所以为了提高 SMOTE 的效果,MSMOTE 应运而生。 该算法将少数类别的样本分为 3 个不同的组:安全样本、边界样本和潜在噪声样本。分类通过计算少数类的样本和训练数据的样本之间的距离来完成。安全样本是可以提高分类器性能的那些数据点。而另一方面,噪声是可以降低分类器的性能的数据点。两者之间的那些数据点被分类为边界样本。 虽然 MSOMTE 的基本流程与 SMOTE 的基本流程相同,在 MSMOTE 中,选择近邻的策略不同于 SMOTE。该算法是从安全样本出发随机选择 k-最近邻的数据点,并从边界样本出发选择最近邻,并且不对潜在噪声样本进行任何操作。 2.2 算法集成技术(Algorithmic Ensemble Techniques) 上述部分涉及通过重采样原始数据提供平衡类来处理不平衡数据,在本节中,我们将研究一种替代方法:修改现有的分类算法,使其适用于不平衡数据集。 集成方法的主要目的是提高单个分类器的性能。该方法从原始数据中构建几个两级分类器,然后整合它们的预测。 图 3:基于集成的方法 2.2.1 基于 Bagging 的方法 Bagging 是 Bootstrap Aggregating 的缩写。传统的 Bagging 算法包括生成「n」个不同替换的引导训练样本,并分别训练每个自举算法上的算法,然后再聚合预测。 Bagging 常被用于减少过拟合,以提高学习效果生成准确预测。与 boosting 不同,bagging 方法允许在自举样本中进行替换。 图 4:Bagging 方法 总观测= 1000 欺诈观察= 20 非欺诈观察= 980 事件率= 2% 从具有替换的群体中选择 10 个自举样品。每个样本包含 200 个观察值。每个样本都不同于原始数据集,但类似于分布和变化上与该数据集类似。机器学习算法(如 logistic 回归、神经网络与决策树)拟合包含 200 个观察的自举样本,且分类器 c1,c2 ... c10 被聚合以产生复合分类器。这种集成方法能产生更强的复合分类器,因为它组合了各个分类器的结果。 优点 提高了机器学习算法的稳定性与准确性 减少方差 减少了 bagged 分类器的错误分类 在嘈杂的数据环境中,bagging 的性能优于 boosting 缺点 bagging 只会在基本分类器效果很好时才有效。错误的分类可能会进一步降低表现。 2.2.2. 基于 Boosting 的方法 (责任编辑:本港台直播) |