问题标签 [k-means]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 使用带有 L 方法的平滑器来确定 K-Means 聚类的数量
在应用 L 方法来确定数据集中 k 均值簇的数量之前,是否有人尝试过对评估指标应用更平滑的方法?如果是这样,它是否改善了结果?或者允许较少数量的 k-means 试验,从而大大提高速度?您使用了哪种平滑算法/方法?
这计算了一系列不同试验集群计数的评估指标。然后,为了找到拐点(出现在最佳数量的聚类中),使用线性回归拟合两条线。应用一个简单的迭代过程来改善膝关节拟合 - 这使用现有的评估度量计算并且不需要重新运行 k-means。
对于评估指标,我使用的是 Dunns 指数的简化版本的倒数。为速度而简化(基本上我的直径和集群间计算被简化了)。倒数是为了使指数在正确的方向上工作(即,通常越低越好)。
K-means 是一种随机算法,因此通常会运行多次并选择最佳拟合。这工作得很好,但是当您为 1..N 个集群执行此操作时,时间很快就会增加。因此,控制运行次数符合我的利益。总体处理时间可能决定我的实现是否实用——如果我不能加快速度,我可能会放弃这个功能。
machine-learning - k-means 会陷入无限循环吗?
我研究过 k-means 算法,我知道它是如何工作的。
只是好奇,有没有这种算法会进入无限循环的情况,比如我们是否对初始质心点有一些特别糟糕的选择?我只能想象一种情况 k-means 会在初始选择不好的情况下达到局部最小值。
cluster-analysis - 我在 100 维空间中有 2,000,000 个点。我如何将它们聚集到 K(例如,1000)个集群中?
问题如下。我有 M 个图像并为每个图像提取 N 个特征,每个特征的维数是 L。因此,我有 M*N 个特征(我的案例为 2,000,000),每个特征都有 L 维数(我的案例为 100)。我需要将这些 M*N 特征聚类到 K 个聚类中。我该怎么做?谢谢。
testing - 如何测试 k-means 的实现?
你如何测试你自己的多维数据集的 k-means 实现?
我正在考虑在数据上运行一个已经存在的实现(即 Matlab)并将结果与我的算法进行比较。但这需要两种算法的工作方式大致相同,并且两种结果之间的映射可能不是小菜一碟。
你有更好的主意吗?
matlab - 在 MATLAB 中使用带有预定义种子的 K-means 聚类
我需要一个示例来展示如何在 MATLAB 中使用 K-means 聚类,但使用一些预先指定的数据点作为初始种子。
谢谢
matlab - 在MATLAB中的Kmeans聚类中获取最接近质心的数据点的索引
我在 MATLAB 中使用 K-means 进行一些聚类。如您所知,用法如下:
其中 IDX 给出了 X 中每个数据点的簇号,C 给出了每个簇的质心。我需要获取离质心最近的数据点的索引(实际数据集 X 中的行号)。有谁知道我该怎么做?谢谢
algorithm - 快速 (< n^2) 聚类算法
我有 100 万个 5 维点,我需要将它们分组为 k << 100 万的 k 个集群。在每个集群中,没有两个点应该相距太远(例如,它们可以是具有指定半径的边界球体)。这意味着可能必须有许多大小为 1 的集群。
但!我需要运行时间远低于 n^2。n log n 左右应该没问题。我进行此聚类的原因是避免计算所有 n 点的距离矩阵(这需要 n^2 时间或许多小时),而我只想计算聚类之间的距离。
我尝试了 pycluster k-means 算法,但很快意识到它太慢了。我还尝试了以下贪婪的方法:
在每个维度上将空间切成 20 块。(所以总共有 20^5 件)。我将根据它们的质心将集群存储在这些网格框中。
对于每个点,检索 r(最大边界球半径)内的网格框。如果有足够近的集群,则将其添加到该集群,否则创建一个新集群。
但是,这似乎给了我比我想要的更多的集群。我还两次实施了与此类似的方法,它们给出了非常不同的答案。
是否有任何标准方法可以比 n^2 时间更快地进行聚类?概率算法没问题。
performance - 在java中聚类数千个文本文档
有没有对文本文档进行聚类的有效方法?我考虑过 K-Means,但它似乎太耗时了。有人可以为我提供一种有效的方法吗?
algorithm - 改进 k-means 聚类
我关于计算机视觉的讲义提到,如果我们知道集群的标准差,可以提高 k-means 聚类算法的性能。怎么会这样?
我的想法是,我们可以使用标准偏差首先通过基于直方图的分割来得出更好的初始估计。你怎么看?谢谢你的帮助!
algorithm - k 表示使用现有信息进行分割
所以我遇到了这个问题,它说:
您需要在绿色(草)背景下识别移动(红色)板球。假设彩色图像和光流场都可用,简要描述您将如何使用 K-means 分割解决此任务。
我的答案是定义 2 个簇,因为有两种颜色。由于您有光流,您可以识别板球,并使用该球内的集群来得出每个集群的平均值。然后开始k-means。
你觉得我的解释有道理吗?如果是这样,我不明白为什么我们需要使用 k-means 算法来分割我们已经知道其光流的图像(因此可以分割开始)。想法?谢谢你的帮助!