kmeans聚类算法实验报告心得体会 kmeans聚类算法属于哪一类?
kmeans聚类算法属于哪一类?
K-M
kmeans聚类属于距离度量吗?
K-means算法是一种基于距离的聚类算法,通过距离来衡量对象之间的相似性。两个样本对象之间的距离越大,相似性越小。关于K-means算法。
K-means算法的思想和上面故事中的牧师选择原理非常相似,最终目标是最小化所有样本数据(村民)到聚类中心(牧师)的距离之和。K-means算法的实现步骤如下:
输入:数据集D{x1,x2,?,xn}D{x1,x2,?,xn},聚类数kk
输出:聚类结果聚类
(1)随机初始化kk个样本作为聚类中心{μ1,μ2,?,μk}{μ1,μ2,?,μk };
(2)计算所有样本西溪到数据集中每个聚类中心的距离dist(xi,μj)dist(xi,μj),将西溪划分为距离最小的聚类中心所在的聚类;
(3)对于每个聚类,更新其聚类中心:μ i1 | ci |∈ x ∈ cix μ i1 | ci |∈ x ∈ cix。
(4)重复步骤(2)和(3),直到聚类中心无明显变化或满足迭代次数。
综上所述,K-means算法的整个过程可以概括为一个优化问题,通过不断迭代使目标函数收敛。K-means算法的目标函数是:
J∑kj1∑ni1dist(xi,μj)J∑j1k∑i1ndist(xi,μj)
从目标函数可以看出,有两个因素对聚类结果有至关重要的影响:kk值和距离度量方法。
对于kk值,这是K-means算法不可避免的问题,直接影响最终聚类结果的准确性。在如何确定kk值的问题上,传统的K-means算法在数据分布未知的情况下,只能通过多次尝试不同的kk值来探索最优值。值得一提的是,很多专家学者对K-means算法进行了优化和改进,解决了K-means算法中如何确定kk值甚至避免kk值的问题,设计了很多改进的K-means算法,这是另外一个大的话题,本文不赘述。
让 让我们来谈谈距离测量。问题。
K-means算法是一种应用广泛、出现率高的聚类算法。想法简单,解释有力。设置kk值后,可以输出指定数量的簇。但是,在实际应用中,我们也需要注意K-means算法的缺点:
聚类前必须确定K-means算法的kk值,在缺乏数据集分布知识的情况下,往往难以估计,只能通过多次尝试探索出最佳的kk值。
K-means算法第一次迭代中的kk聚类中心对算法的最终结果影响很大,但在K-means算法中,第一次迭代中的kk聚类中心是随机选取的,这给算法的聚类结果带来了不确定性。
K-means算法在非球形分布数据集上表现不佳。K-means算法等基于距离的聚类算法的基本假设是,同一个聚类中的对象之间的距离远小于不同聚类中的对象之间的距离,相当于把聚类看作一个球体,因此K-means算法对于非球形分布的数据集可能表现不佳。
K-means算法在不断迭代的过程中逐步优化算法。每次迭代都要计算每个对象到聚类中心的距离,所以当数据量非常大的时候,时间开销比较大。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。