我的程序出了问题。我试图通过将一组RGB值聚类为3个簇来实现k-means(手动)。我只需要理解就不需要编码帮助。到目前为止,我已经这样做了:
我做过研究,似乎无法理解下一步。研究表明:
在每个群集中,添加所有RGB值,将它们除以该群集中的值的数量,然后使用该值更新均值或;
找出所有RGB值与均值之间的平均距离,然后用该值更新均值或;
每次将RGB添加到群集时更新均值......
我似乎无法理解最后的步骤,谢谢。
答案 0 :(得分:0)
拥有每个群集阵列后,重新计算“群集中心”,作为该群集中项目的平均值。然后,将每个项目重新分配给相应的群集(重新计算后最接近“中心”的群集)。当没有项目更改群集时你就完成了(理论上可能最终会出现一个项目在两个群集之间不断翻转的情况,使用广义距离测量 - 这可以被检测到无论如何都要停止循环 - 但我不知道认为它可能发生欧几里德距离)。
IOW,这将是你的三个选择中的第一个。我甚至不确定你的第二种选择是什么意思;第三个可能不稳定,并且取决于项目的任意顺序,所以我强烈反对它。