The k-Means Algorithm
(K-均值聚类算法)
主讲内容
算法性能分析
算法改进
算法简介
算法应用
算法要点
算法描述
算法实例
ISODATA算法
gapstatistics
算法简介
k-means算法,也被称为k-平均或k-均值,是一种得到最广泛使用的聚类算法。它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使生成的每个聚类内紧凑,类间独立。这一算法不适合处理离散型属性,但是对于连续型具有较好的聚类效果。
算法描述
为中心向量c1, c2, …, ck初始化k个种子
分组:
将样本分配给距离其最近的中心向量
由这些样本构造不相交( non-overlapping )的聚类
确定中心:
用各个聚类的中心向量作为新的中心
重复分组和确定中心的步骤,直至算法收敛
算法 k-means算法
输入:簇的数目k和包含n个对象的数据库。
输出:k个簇,使平方误差准则最小。
算法步骤:
,这样就有K 个初始聚类中心。
。
。
,得到K个聚类
2018/5/5
将样本分配给距离它们最近的中心向量,并使目标函数值减小
更新簇平均值
计算准则函数E
K-means聚类算法
划分聚类方法对数据集进行聚类时包括如下
三个要点:
(1)选定某种距离作为数据样本间的相似性度量
上面讲到,k-means聚类算法不适合处理离散型属性,对连续型属性比较适合。因此在计算数据样本之间的距离时,可以根据实际需要选择欧式距离、曼哈顿距离或者明考斯距离中的一种来作为算法的相似性度量,其中最常用的是欧式距离。下面我给大家具体介绍一下欧式距离。
假设给定的数据集,X中的样本用d个描述属性A1,A2…Ad来表示,并且d个描述属性都是连续型属性。数据样本xi=(xi1,xi2,…xid), xj=(xj1,xj2,…xjd)其中, xi1,xi2,…xid和xj1,xj2,…xjd分别是样本xi和xj对应d个描述属性A1,A2,…Ad的具体取值。样本xi和xj之间的相似度通常用它们之间的距离d(xi,xj)来表示,距离越小,样本xi和xj越相似,差异度越小;距离越大,样本xi和xj越不相似,差异度越大。
欧式距离公式如下:
(2)选择评价聚类性能的准则函数
k-means聚类算法使用误差平方和准则函数来评价聚类性能。给定数据集X,其中只包含描述属性,不包含类别属性。假设X包含k个聚类子集X1,X2,…XK;各个聚类子集中的样本数量分别为n1,n2,…,nk;各个聚类子集的均值代表点(也称聚类中心)分别为m1,m2,…,mk。则误差平方和准则函数公式为:
K-MEANS(K均值聚类算法,C均值算法) 来自淘豆网m.daumloan.com转载请标明出处.