K均值算法[重复]

|                                                                                                                   这个问题已经在这里有了答案:                                                      
已邀请:
        如果您明确希望使用k均值,则可以研究描述x均值的文章。当使用x均值的实现时,与k均值相比,唯一的区别在于,您可以为k指定一个范围,而不是指定单个k。最佳选择。在该范围内的某些度量将是x均值输出的一部分。您也可以查看 均值漂移聚类算法。 如果使用给定的数据在计算上可行(可能按照yura建议的那样使用抽样),则可以使用各种k \进行聚类,并使用一些标准的聚类有效性度量来评估所得聚类的质量。这里描述了一些经典的度量:度量。 @doug 在集群分配开始之前,k-means ++为集群数确定最佳k是不正确的。 k-means ++与k-means的区别仅在于,它不是随机选择初始的k个质心,而是随机选择一个初始的质心,并依次选择中心,直到选择了k。在最初的完全随机选择之后,数据点被选为新质心,其概率由潜在函数确定,该函数取决于数据点到已选择中心的距离。 k-means ++的标准参考是k-means ++:Arthur和Vassilvitskii的《精心播种的优点》。 而且,我不认为通常选择k作为主成分的数量会改善您的聚类。想象一下三维空间中的所有数据点都位于通过origo的平面中。然后,您将获得2个主成分,但是点的“自然”聚类可以具有任意数量的聚类。     
        不幸的是没有。没有原则性的统计方法(简单或复杂)可以设置“正确的K”。有启发式的经验法则有时有效,有时无效。 这种情况更为普遍,因为许多聚类方法都具有这些类型的参数。     
        对于智能选择问题,有两种可行的解决方案 常用质心(k)的数量。 首先是PCA的数据,然后是PCA的输出- 主成分(特征向量)及其对变化的累积贡献 在数据中观察到的-很明显表明质心的最佳数量。 (例如,如果您的数据中有95%的可变性由前三个原理解释 分量,则k = 3是k均值的明智选择。) 智能估计k的第二种常用实用解决方案是 是k-means算法的修订版实现,称为k-means ++。在本质上, k-means ++与原始k-means的区别仅在于预处理 步。在此步骤中,估计质心的数量和初始位置。 k-means ++所依赖的算法可以很容易地理解和在代码中实现。两者的一个很好的来源是LingPipe Blog中的2007帖子,它提供了一个很好的 对k-means ++的解释以及对原始论文的引用 首先介绍了这项技术。 除了为k提供最佳选择外,k-means ++显然优于 两种性能均采用原始k均值(相较于大约1/2处理时间 在一次发布的比较中使用k均值)和准确性(三个数量级) 同一比较研究中的错误改善)。     
        当您不知道簇数时,贝叶斯k均值可能是一种解决方案。网站上有一篇相关的论文,并给出了相应的MATLAB代码。     
        解决未知问题(通过统计参数模型等)的最佳解决方案是对数据进行采样并找到最适合子问题的参数,然后在完全问题上使用它们。在这种情况下,请为5%的数据选择最佳K。     

要回复问题请先登录注册