matlab中的K-means算法
如果不使用kmeans(X,K)语法,我们如何在Matlab中实现K-means算法 实际上问题不在于实现算法。请参见下图: 我实现了大多数网站提供的算法,例如 我设置了4个X观测值(200个样本),我已经知道这4个观测值来自1个集群。 因此,根据算法,显示图像的上述聚类是可以解释的,而事实并非如此。我认为4个初始值不应该随机选择 我还运行了一些其他源代码,例如。得出了同样的结果。您可以从下载我的观察结果并自己查看结果。通过“不使用kmeans(X,k)语法”您的意思是不预先指定k,集群的数量吗?这是不可能的,因为算法依赖于提前知道集群的数量。如果您确实想在不事先知道集群数量的情况下执行集群,我会研究另一种算法,例如matlab中的K-means算法,matlab,cluster-analysis,k-means,Matlab,Cluster Analysis,K Means,如果不使用kmeans(X,K)语法,我们如何在Matlab中实现K-means算法 实际上问题不在于实现算法。请参见下图: 我实现了大多数网站提供的算法,例如 我设置了4个X观测值(200个样本),我已经知道这4个观测值来自1个集群。 因此,根据算法,显示图像的上述聚类是可以解释的,而事实并非如此。我认为4个初始值不应该随机选择 我还运行了一些其他源代码,例如。得出了同样的结果。您可以从下载我的观察结果并自己查看结果。通过“不使用kmeans(X,k)语法”您的意思是不预先指定k,集群的数量
如果您想使用可用的源代码实现K-means算法,请查看可靠的实现。但是语法正是kmeans(X,k)。如果您想实现自己的k-means或(出于任何原因)不想使用MATLAB k-means语法,那么有几种方法:
同时指定了k和X。我想知道k-means的源代码。我检查了VLFeat。看起来,这是一个与matlab兼容的库。我能找到作为函数m文件的解决方案吗?VLFeat实际上是通过.mex文件链接到Matlab的C代码,所以实际上没有任何Matlab代码可以查看。不过,您可以查看C代码,看看发生了什么……如果您想知道
kmeans
源代码,请在MATLAB的命令提示符下输入键入kmeans.m
。@Ata:算法很简单,描述得很好:。你应该能够把它作为一个练习来实施。如果您在代码方面遇到问题,可以寻求帮助,但请表明您已经做出了努力…@Ata:Kmeans算法对初始化非常敏感,请参阅此相关问题:
1. Give initial values to m1 .. mk
2. Assignment with closest mean
3. Update