载入中。。。 'S bLog
 
载入中。。。
 
载入中。。。
载入中。。。
载入中。。。
载入中。。。
载入中。。。
 
填写您的邮件地址,订阅我们的精彩内容:


 
聚类算法教程(2):K-means
[ 2012/11/8 15:46:00 | By: 梦翔儿 ]
 

聚类算法教程(2):K-means

K-means()是一种简单的无监督学习算法,用以解决聚类问题。它的过程简单的通过使用一个簇中心参数实现数据分类(假定共有K的簇)。K-means方法定义K个质心,对于每一个簇质心应该通过巧妙的方法计算位置,因为不同的位置导致不同的结果。因此最好的选择方法是使得彼此尽可能远离对方。下一步把数据集中距离每一质心最近的数据加入到相应的簇中。这样K-means的第一步就完成了。下一步根据前一步新加入到各个簇的数据重新计算每个簇的质心。这样我们就有了K个新的质心,重复第二步和第三部不断的改变k的质心的位置,直到质心不再有变化。换句话说就是质心不在发生移动。

最后,这个算法的目标是得到最小化目标函数。这个目标函数如下:

其中是数据点和簇质心的距离,是簇中n个数据的中心点表示。

该算法步骤如下:

          1. 选取k个数据作为k个簇的初始质心。

          2. 找到每个距离质心最近的数据并加入其中。

          3. 根据新加入簇的数据重新计算各个簇的质心。

          4. 重复第2步和第3步知道所有质心不再发生移动。

          上述步骤已被证明总是可以终止,但K-means算法实际上并不一定能找到最小化目标函数的最优分簇。同时该算法对初始随机选取的K个质心异常敏感,可以通过多次运行算法来减少这种问题。

          K-means是一种简单的算法,并且可以适用于多种领域。我们也正要看到,它的一个好的改进算法便是使用模糊特征向量计算。

参考文献

 
 
  • 标签:聚类 K-means 
  • 发表评论:
    载入中。。。

     
     
     

    梦翔儿网站 梦飞翔的地方 http://www.dreamflier.net
    中华人民共和国信息产业部TCP/IP系统 备案序号:辽ICP备09000550号

    Powered by Oblog.