Algorithm 使用平滑器和L方法确定K-均值聚类数

Algorithm 使用平滑器和L方法确定K-均值聚类数,algorithm,cluster-analysis,k-means,linear-regression,Algorithm,Cluster Analysis,K Means,Linear Regression,在应用L-方法确定数据集中k-均值聚类的数量之前,是否有人尝试对评估指标应用更平滑的方法?如果是这样,它是否改善了结果?或者允许更少的k-means试验,从而大大提高速度?您使用了哪种平滑算法/方法 “L法”的详细说明如下: 这将计算一系列不同试验群集计数的评估指标。然后,使用线性回归拟合两条直线,以找到膝部(出现在最佳数量的簇中)。应用一个简单的迭代过程来改善膝盖拟合度-这使用了现有的评估指标计算,并且不需要重新运行k-均值 对于评估指标,我使用的是Dunns指数简化版的倒数。简化了速度(基

在应用L-方法确定数据集中k-均值聚类的数量之前,是否有人尝试对评估指标应用更平滑的方法?如果是这样,它是否改善了结果?或者允许更少的k-means试验,从而大大提高速度?您使用了哪种平滑算法/方法

“L法”的详细说明如下:

这将计算一系列不同试验群集计数的评估指标。然后,使用线性回归拟合两条直线,以找到膝部(出现在最佳数量的簇中)。应用一个简单的迭代过程来改善膝盖拟合度-这使用了现有的评估指标计算,并且不需要重新运行k-均值

对于评估指标,我使用的是Dunns指数简化版的倒数。简化了速度(基本上简化了我的直径和簇间计算)。倒数是为了使指数朝着正确的方向运行(即,通常越低越好)

K-means是一种随机算法,因此通常会运行多次并选择最佳拟合。这非常有效,但是当你在1..N个集群中执行此操作时,时间很快就会累积起来。因此,控制跑步次数符合我的利益。总的处理时间可能决定我的实现是否实用——如果我不能加快它的速度,我可能会放弃这个功能。

我以前在这里问过一个问题。我的问题是找到一个一致的方法,找到你描述的L型膝盖。所讨论的曲线代表了复杂度和模型拟合度之间的权衡

其目的是根据所示图找到最大距离
d
的点:


注意:我还没有读到你链接的那篇文章。

进一步思考这个问题,我不认为均匀(即运行平均值)平滑器会有任何显著效果,因为L方法然后使用最小二乘法拟合直线。但是,形状更平滑的图形(如高斯图形)的行为可能会有所不同。我将尝试实现一个中等大小的高斯分布(大约6-10的半宽度对我来说似乎很合适)。这将是一个定性测试。我认为这将是一个很好的中等规模的研究项目。如果有大学生在寻找一个项目,我会对合作/指导/共同创作感兴趣。这样的项目应该进行定量比较,并且比我的具体应用程序更通用。我将在问题中添加项目想法标签。我一直在做的是,跳过一些N值的计算。如果我们感兴趣的是从M到N的簇计数,那么我计算到2N,以便在右侧给出足够的一条线。通过减少一些高计数(例如,仅在某个点之外进行交替),我可以获得类似的精度,并节省一些可观的时间。几周前,我还对代码进行了多线程处理,这对核心i7产生了很大的影响:-)我只计算备用值(例如奇数值)。我只在不太重要的高端做这个。还有X-means,一个k-means变量,从k=2开始,然后迭代地进一步拆分集群。谢谢你的回复。这看起来是在用一种更为几何的方法来处理这篇论文,但如果它简化为相同(或非常相似)的数学,我也不会感到惊讶。我的问题是,首先对数据进行平滑处理是否更好,对于一个非常特定的应用程序(数据点适合于不同计数的集群)。@Amro:你发现这种技术比二阶导数测试更有效吗?这项技术有没有一个标准的名称?L方法就是本文所称的方法。我认为二阶导数的噪声太大,无法准确找到膝盖。@图例:正如@winwaed提到的,二阶导数对噪声非常敏感,这就是我使用上述几何方法的原因…@@winwaed和@Amro:谢谢你的解释。