高维向量的最佳聚类算法
Posted
技术标签:
【中文标题】高维向量的最佳聚类算法【英文标题】:Best Clustering Algorithm for High Dimensional Vectors 【发布时间】:2019-10-14 18:28:38 【问题描述】:我正在尝试对一组具有 45 个维度的数据点向量使用某种聚类方法。我对聚类数据点相当陌生,想知道是否有人可以指出合适的方法来使用?我曾尝试使用 K-Means 聚类,但想知道我的数据维度是否可能太大?
【问题讨论】:
不是太大,一点也不。 【参考方案1】:Complexity of K-means clustering is O(qknp),其中q是迭代次数,k是聚类数,n是样本量,p是维数。
您可能不想更改 k。
大部分时间 q 是在 K-Means 算法执行过程中确定的,当 cluster-means 停止变化时它就停止了。
大多数时候您希望使用所有数据,但您可能会减少样本量,这会降低结果的准确性。
您可以通过使用主成分分析来减少数据的维度。这会导致一些(在大多数情况下很少)信息丢失。这会影响您的结果。
【讨论】:
【参考方案2】:45 维不是特别高。它充其量只是“中等”维度,因此大多数算法都可以工作。
通常不是维数的问题,而是它们的预处理程度。如果预处理不好,如果一个属性中的信号被另一个属性中的噪声淹没,那么二维可能会成为问题。
没有自动的方法可以做到这一点,否则它会在所有库中。缩放可以帮助,但也可能有害。由用户准备数据并选择参数(例如距离函数和算法)以达到预期的效果,因为没有“理想”的可计算方程。
【讨论】:
以上是关于高维向量的最佳聚类算法的主要内容,如果未能解决你的问题,请参考以下文章
谱聚类(Spectral clustering)(python实现)