kmeans(k均值聚类算法c均值算法)讲解学习

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
欧式距离公式如下:
d
d xi , x j
xik x jk 2
k 1
• (2)选择评价聚类性能的准则函数
k-means聚类算法使用误差平方和准则函数来
评价聚类性能。给定数据集X,其中只包含描述属
性,不包含类别属性。假设X包含k个聚类子集
X1,X2,…XK;各个聚类子集中的样本数量分别为n1,
。和 C2 O2 ,O3 ,O4 。 中心为 M1 2.5,2 , M 2 2.17,0 。
显然 dM 2 ,O3 dM1,O3 ,故将O3分配给C2
• 对于 O4 : d M1,O4 0 52 2 02 29
Ox y 10 2
20 0
d M 2 , O4 0 52 0 02 5
3 1.5 0
• 因为 d M 2,O4 d M1,O4 所以将 O4 分配给 c2 4 5 0
E1 0 02 2 22 0 52 2 22 25 M1 O1 0,2
E2 27.25 M 2 O2 0,0
Ox y
总体平均方差是: E E1 E2 25 27.25 52.25
(3)计算新的簇的中心。
三个要点:
• (1)选定某种距离作为数据样本间的相似性度 量
上面讲到,k-means聚类算法不适合处理离散型 属性,对连续型属性比较适合。因此在计算数据样 本之间的距离时,可以根据实际需要选择欧式距离 、曼哈顿距离或者明考斯距离中的一种来作为算法 的相似性度量,其中最常用的是欧式距离。下面我 给大家具体介绍一下欧式距离。
将样本分配给距离它们最近的中心向量,并使目
标函数值减小
n
i1
min
j{1, 2 ,...,k }
||
xi

p
j
||2
更新簇平均值
xi

1 Ci
x
xCi
计算准则函数E
E
k i 1
2
xCi x xi
2020/3/7
K-means聚类算法
划分聚类方法对数据集进行聚类时包括如下
0,2
O1
,O0,220,0, 为M初2 始O的2 簇0,0中 。心,
(2)对剩余的每个对象,根据其与各个簇中心的距
0
离,将它赋给最近的簇。
0
对 O3 :
dM1,O3 0 1.52 2 02 2.5
0
2
dM 2 ,O3 0 1.52 0 02 1.5
n2,…,nk;各个聚类子集的均值代表点(也称聚类中
心)分别为m1,m2,…,mk。则误差平方和准则函数
公式为:
kLeabharlann Baidu
2
E p mi
i1 pX i
• (3)相似度的计算根据一个簇中对象的平均值
来进行。
• (1)将所有对象随机分配到k个非空的簇中。
• (2)计算每个簇的平均值,并用该平均值代表相 应的簇。
• 对于 : O5 d M1, O5 0 52 2 22 5
55 2
d M 2 , O5 0 52 0 22 29
• 因为 d M1,O5 d M2,O5 所以将 O5 分配给 C1
• 更新,得到新簇 C1 O1,O5 和 C2 O2,O3,O4 • 计算平方误差准则,单个方差为
10 2 20 0 3 1.5 0
M1 0 5 2,2 2 2 2.5,2 M 2 0 1.5 5 3,0 0 0 3 2.17,0
45 0 55 2
重复(2)和(3),得到O1分配给C1;O2分配给C2,O3分配
,给C2 ,O4分配给C2,O5分配给C1。更新,得到新簇 C1 O1,O5
假设给定的数据集 X xm | m 1,2,...,total,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越不相似,差异度越大。
输入:簇的数目k和包含n个对象的数据库。
输出:k个簇,使平方误差准则最小。 算法步骤: 1.为每个聚类确定一个初始聚类中心,这样就有K 个 初始聚类中心。 2.将样本集中的样本按照最小距离原则分配到最邻 近聚类 3.使用每个聚类中的样本均值作为新的聚类中心。 4.重复步骤2.3直到聚类中心不再变化。 5.结束,得到K个聚类
算法简介
• k-means算法,也被称为k-平均或k-均 值,是一种得到最广泛使用的聚类算法。 它是将各个聚类子集内的所有数据样本 的均值作为该聚类的代表点,算法的主 要思想是通过迭代过程把数据集划分为 不同的类别,使得评价聚类性能的准则 函数达到最优,从而使生成的每个聚类 内紧凑,类间独立。这一算法不适合处 理离散型属性,但是对于连续型具有较 好的聚类效果。
• (3)根据每个对象与各个簇中心的距离,分配给 最近的簇。
• (4)然后转(2),重新计算每个簇的平均值。 这个过程不断重复直到满足某个准则函数才停止 。
例子
Ox 10 20 3 1.5 45 55
数据对象集合S见表1,作为一个聚类分析的二维
y
样本,要求的簇的数量k=2。
2
(1)选择 O1 即M1
• 算法描述
1. 为中心向量c1, c2, …, ck初始化k个种子 2. 分组:
✓ 将样本分配给距离其最近的中心向量 ✓ 由这些样本构造不相交( non-overlapping )
的聚类
3. 确定中心: ✓ 用各个聚类的中心向量作为新的中心
4. 重复分组和确定中心的步骤,直至算法收敛
算法 k-means算法
相关文档
最新文档