Press "Enter" to skip to content

类别不平衡:探索正负样本平衡技术

让我们学习一下欠采样以及它如何帮助解决类别不平衡的问题

我们之前已经正式解释了类别不平衡的影响及其原因,并且我们还解释了几种解决此问题的过采样技术,如随机过采样、ROSE、RWO、SMOTE、BorderlineSMOTE1、SMOTE-NC和SMOTE-N。在这篇文章中,我们将试图通过类似的方式介绍欠采样技术,同时假设根据我们之前的解释,显然欠采样如何帮助解决不平衡问题是显而易见的。

欠采样技术通常分为两大类:受控和不受控。在受控技术中,算法接收一个数字,表示最终数据集中应该有多少样本;而在不受控技术中,欠采样通常通过简单地删除满足某些条件的点来执行。事先不知道有多少点会满足这样的条件,显然无法进行控制。在本文中,我们将介绍两种受控欠采样技术(随机欠采样和K-means欠采样)和两种不受控欠采样技术(Tomek Links和Edited Nearest Neighbors)。

简单随机欠采样

在这种技术中,如果已知应该从类别k中删除N_k个点,那么就从该类别中随机选择N_k个点进行删除。

以下是在包含三个类别0、1和2的数据中对两个多数类别进行欠采样的示例。

Figure by the author using the Imbalance.jl package in Julia

以下是一个动画,显示不同程度的欠采样输出

Animation by the author using the Imbalance.jl package in Julia

请注意,这完全是一个随机过程;没有特定的选择来决定保留哪些点。由于这个原因,数据的分布可能会严重改变。

K-Means欠采样

通过更加谨慎地选择要删除(或保留)的点,我们可以保留数据的分布。在K-Means欠采样中,如果需要对类别k保留N_k个点,则使用K=N_k进行K-Means聚类,得到N_k个最终中心点。K-Means欠采样将这些中心点(或每个中心点的最近邻;这是一个超参数)作为最终返回的N_k个点。因为这些中心点自身保留了数据的分布,所以结果是一个保留该分布的更小的点集。

以下是在包含三个类别0、1和2的数据中对两个多数类别进行欠采样的示例。

Figure by the author using the Imbalance.jl package in Julia

请注意,它在保留数据结构方面比简单随机欠采样更加谨慎,这在进行更多欠采样时将更加明显。让我们通过以下动画进一步说明:

Animation by the author using the Imbalance.jl package in Julia

请注意,中心点取决于初始化,而初始化通常涉及随机性。

这是一种无控制的欠采样技术,其中如果一个点属于Tomek链的一部分,则可以将其移除。两个点形成Tomek链的条件如下:

  • 它们属于不同的类别
  • 这两个点互为最近邻

这里的理论是这样的,这样的点对于决策边界的改善没有帮助(例如,可能让过拟合更容易),而且它们可能是噪声。以下是应用Tomek链的示例:

Figure by the author using the Imbalance.jl package in Julia

注意,在欠采样之后,更容易找到更线性的决策边界,同时也使数据更平衡。在这里,我们跳过了对绿色的少数类别进行欠采样,并在某个类别的点数达到一定数量后停止欠采样。

为了更近距离地观察到这一过程,考虑以下动画:

Animation by the author using the Imbalance.jl package in Julia

编辑最近邻欠采样

虽然Tomek链主要是一些不帮助改善决策边界或者是噪声的点,但并不是所有噪声点都会形成Tomek链。如果类别k_1中的一个噪声点存在于类别k_2的密集区域中,那么噪声点的最近邻可能有一个不是噪声点的最近点,这意味着它不会形成Tomek链。编辑最近邻欠采样默认情况下保留一个点的条件是其大多数邻居属于同一类别。还可以选择只有当所有邻居都属于同一类别时才保留,或者对于最小欠采样只有当存在与同一类别的邻居时才保留。

以下动画展示了该算法的效果:

Animation by the author using the Imbalance.jl package in Julia

注意,它清除了更多对决策边界没有帮助或者是噪声的点。如果以正确的方式改变邻居数k或保留条件,还可以进行更多的清除。以下动画说明了这种效果。

Animation by the author using the Imbalance.jl package in Julia

“mode”和“only mode”条件之间的差别在于前者仅保留其类别是邻居中最常见的类别之一的点;而后者仅保留其类别是邻居中唯一最常见的类别的点。

这样我们介绍了一些有趣的欠采样算法。希望这能帮助您更多地了解控制和无控制的欠采样。下次再见,再见。

参考资料:

[1] Wei-Chao, L., Chih-Fong, T., Ya-Han, H., & Jing-Shang, J. (2017). Clustering-based undersampling in class-imbalanced data. Information Sciences, 409–410, 17–26.

[2] Ivan Tomek. Two modifications of cnn. IEEE Trans. Systems, Man and Cybernetics, 6:769–772, 1976.

[3] Dennis L Wilson. Asymptotic properties of nearest neighbor rules using edited data. IEEE Transactions on Systems, Man, and Cybernetics, pages 408–421, 1972.

Leave a Reply

Your email address will not be published. Required fields are marked *