【问题标题】:Online k-means clustering在线 k-means 聚类
【发布时间】:2011-04-11 13:02:01
【问题描述】:

k-Means clustering算法有在线版本吗?

在线我的意思是每个数据点都是串行处理的,当它们进入系统时一次一个,因此在实时使用时可以节省计算时间。

我自己写了一篇效果不错的文章,但我真的更希望有一些“标准化”的东西可以参考,因为它会在我的硕士论文中使用。

另外,有人对其他在线聚类算法有什么建议吗? (lmgtfy 失败 ;))

【问题讨论】:

    标签: cluster-analysis k-means


    【解决方案1】:

    是的,有。 Google 没能找到它,因为它通常被称为“序列 k 均值”。

    您可以在this section of some Princeton CS class notes by Richard Duda 中找到两个顺序 K-means 的伪代码实现。我已经复制了以下两种实现之一:

    Make initial guesses for the means m1, m2, ..., mk
    Set the counts n1, n2, ..., nk to zero
    Until interrupted
        Acquire the next example, x
        If mi is closest to x
            Increment ni
            Replace mi by mi + (1/ni)*( x - mi)
        end_if
    end_until
    

    关于它的美妙之处在于,您只需要记住每个集群的平均值和分配给集群的数据点的数量。更新这两个变量后,您可以丢弃数据点。

    我不确定在哪里可以找到它的引文。我会开始查看 Duda 的经典文本 Pattern Classification and Scene Analysis 或更新版本的 Pattern Classification。如果没有,您可以尝试 Chris Bishop 的最新著作或 Daphne Koller 和 Nir ​​Friedman 最近的文本。

    【讨论】:

    • 谢谢。这一切都不同了。
    • 适当的引用实际上可能是 MacQueen 出版物。他肯定包括这个平均更新规则,据我所知,他只通过了一次。那么你就有了这个算法。
    • 我建议用 替换 "( x - mi)" 以明确它是一个距离度量。
    • @HasQUIT--Anony-Mousse MacQueen 的哪个出版物?
    • @RylanSchaeffer 第一个使用kmeans这个名字,cf (ref)
    猜你喜欢
    • 2015-04-11
    • 2011-08-13
    • 2013-08-08
    • 2013-02-14
    • 2018-01-14
    • 2019-03-16
    • 2016-12-16
    • 2011-06-06
    • 2018-02-27
    相关资源
    最近更新 更多