对具有高相关性的不平衡数据进行聚类

数据挖掘 机器学习 聚类 图像分类 阶级失衡
2022-03-08 03:43:51

我正在对两个类别的图像进行聚类,但出于实验的目的,我不知道标签,即这是一个unsupervised问题。通过correlation heatmaps和其他实验,我相信我的图像是高度相关的,至少通过Pearson correlation coefficient. 但是,我在我的问题中面临非常大的不平衡数据集,因此,当不平衡超过左右的比率时,我的分层凝聚聚类失败。10:1

我不知道替代解决方案。我曾尝试通过 降低维度PCA,但这无济于事。

3个回答

如果 PCA 没有帮助,那么我认为您的问题与图像之间的相关性无关。我认为你的问题只是如果类太不平衡,你的分类器很难正确学习问题。如果是这样,那么可能的解决方案是:

  • 获取更多数据(总是:-))
  • 对大类进行欠采样(例如,仅使用该类示例的 10%)
  • 对小类进行过采样(该类的重复示例)
  • 调整你的损失函数,为小班的错误分配更高的成本

当不平衡的问题得到解决时,我希望 PCA 能让模型更容易学习,所以我会尝试把它放回去。

当您遇到高相关性问题时,您应该进行降维多重共线特征可以通过PCA自动编码器等技术进行“总结”和控制,以降低维度。我不推荐 PCA,因为它只能提取与您的数据线性相关的因素。在我看来:

Autoencoders  >  PCA

还有许多其他的降维技术,但这些是最常见的。

一旦减少了数据的维数,您就可以在减少的数据集上运行聚类分析,并观察不同的观察结果(及其类别)将如何相互分布。

希望这会有所帮助,否则请告诉我。

您面临的问题是,一个类解释了大部分方差,而另一个类只做出了很小的贡献。通过 PCA 减少维度并没有多大帮助,因为那里的重点是解释数据的“大多数”。

我建议您尝试一种方法,首先将数据分为 2 个以上(例如 50 个)类。这将迫使无监督学习算法考虑“少数”因素。类质心的集合将没有大部分总体方差,然后您可以对质心运行分类以识别感兴趣的子类。