K均值聚类算法
Posted 我的技术笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K均值聚类算法相关的知识,希望对你有一定的参考价值。
1.聚类算法的概述
聚类属于无监督学习。K均值聚类是一种常见的聚类算法。
2.聚类算法要解决的问题
给定一个元素集合。
每个元素有若干个属性。
使用某种算法将这个集合分成K个子集。
要求每个子集内部元素之间的相异度尽可能低。
不同子集的元素相异度尽可能高。
3.元素之间的相异度
给定集合内的两个元素X={x1,x2,…,xn},Y={y1,y2,…,yn}。相异度定义为一个非负实数。元素属性的类型不同,相异度的计算方法也不同。
标量
欧式距离
曼哈顿距离
闵可夫斯基距离
二元变量
取值不同的属性个数/单个元素的属性个数
取值不同的属性个数/(单个元素的属性个数-同取0的属性个数)
分类变量
取值不同的属性个数/单个元素的属性个数
序数变量
将序数变量转换为标量
向量
两个向量的余弦
这是度量相似度
4.K均值算法
从集合中取K个元素,作为K个子集各自的中心。
分别计算其余元素到这K个元素的相异度,将每个元素划分到相异度最低的子集。
对这K个子集重新计算各自的中心,即取子集中各个属性的平均数。
将集合中全部元素按照新的中心重新聚类。
重新执行上面这一步,直至聚类结果不再变化。
以上是关于K均值聚类算法的主要内容,如果未能解决你的问题,请参考以下文章