您的位置:首页 > 其它

无监督机器学习的kmeans思想介绍

2013-06-13 20:38 211 查看
最近在看一些基本的简单算法,思想空间中邻近点是有关联的,这当然我也不知道为什么就对了,虽然我们简单的低维空间中很直观是这样的,但是高维空间中的点是不是就真的有关系呢,这个只能是一种猜想。

k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。

假设要把样本集分为c个类别,算法描述如下:

(1)适当选择c个类的初始中心;

(2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;

(3)利用均值等方法更新该类的中心值;

(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。

该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。

当然这是算法最直接的介绍,很多时候这只是某种系统中的一小步,我们经常可以用这个来做一些算法上叫做codebook的东西!然后利用这些这个codebook对一部分已知数据进行标注,然后对未知数据进行一些判断!后面我会介绍一些这方面的东西!当然这些距离测度可以采用欧氏距离或者海明距离或者曼哈顿距离等。这写东西可以自己做实验去尝试。具体使用什么需要和应用一起相关使用!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 Kmeans