k-means算法
给定一个n个对象的数据集,划分聚类技术将构造数据的k个划分,每一个划分就代表一个簇,k<=n。将数据划分为k个簇,且k个划分满足下列条件:
每一个簇至少包括一个对象
每一个对象属于且仅属于一个簇
划分思想
“物以类聚,人以群分”
距离越近,相似度越大,相异度越小。
明可夫斯基距离公式
d
(
i
,
j
)
=
q
(
∑
(
x
i
−
x
j
)
q
)
d(i,j)=^{q}\sqrt(\sum (x_{i}-x_{j})^q)
d(i,j)=q(∑(xi−xj)q)
q=1:曼哈顿距离
q=2:欧几里得距离
评价函数
观察聚类的簇内差异和簇间差异。在同一个簇中的对象尽可能相似,不同簇中的对象尽可能相异。
簇内:
wc的值越小越好
簇外:
又叫k-平均算法,采用距离作为相异度的评价指标,以簇内差异函数作为聚类质量的优化目标函数,即将所有数据对象到它的粗中心点的距离平方和作为目标函数,算法寻找最优聚类的策略是使目标函数达到最小值(簇中心不变化等价于wc达到最小值)
移动簇中心
对每个簇求平均,如果不等于当前中心点,则平均作为簇中心,如果存在一个簇的中心不等于平均,循环。