作业帮 > 综合 > 作业

matlab中Kmeans函数的疑问

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/18 12:06:13
matlab中Kmeans函数的疑问
matlab中kmeans函数是不是只是一次性的将样本数据分成K类,没有对聚类中心的修改和更新以及对聚类的从新修改和判别聚类是否收敛?
是的,没有进行这些检查,所以经常导致返回结果为空,分类失败.
再问: 感谢啊,那是不是如果想完成KMEANS聚类算法,还需要自己从新编程?
再答: 有两个办法 1) 检查结果向量是否所有的元素值都是相同,是则表明分类失败,重新分类一次,毕竟分类失败是偶尔的,成功才是大多数。 2) 添加参数'emptyaction', 'singleton', 把最边缘的一个样本单独列为一个类。 哪个更符合实际情况难说的很,毕竟这种分类办法很依赖于初始化,而和数据的实际分布关系不大。
再问: 你的意思就是说KMEANS这个聚类方法是完全依赖于初始中心来划分聚类,而不是按照数据的实际分布来划分聚类的么? 那那种聚类算法是基于数据空间分布来划分聚类的?
再答: hierarchical clustering 处理边缘离散点比较差 expectation-maximization algorithm (EM), 这个需要事先知道数据分布