打卡+坚持
今日语录:告别平庸,告别懒惰,告别拖延,告别借口
一、kmeans的原理:
kmeans是常用的聚类方法,主要思想是给定k个值和k个中心的情况下,把每个点分到离他最近的簇心得类中,所有点分配完毕以后,再重新计算中心点(取平均值),再进行分配,重复以上步骤,直到达到最大迭代次数或中心点得变化几乎很小得时候。
kmeans的算法很简单,但是k的选值和初始类簇中心点的选值很重要。
二、k的选值和中心点的选取
-
1.确定k个初始类簇中心点的方法是随机选择k个点作为初始的类簇中心点,但是该方法在有些情况下会比较差。
-
2.k个初始类簇的选取有两种方法:
-
1)选择彼此距离尽可能远的k个点。
首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的点作为第二个类初始簇中心点,然后再选择距离前两个点最远的点作为第三个初始类簇的中心点,以此类推,直至选出k个中心点。 -
2)先对数据用层次聚类算法,或canopy算法进行聚类,得到k个簇后,从每个簇中选择一个点,该点可以是该类簇的中心,或者是距离簇中心最近的点。
常用的层次聚类算法有BIRCH和ROCK。这里主要介绍canopy算法:
(1).首先定义两个距离T1和T2,T1>T2.从初始的点的集合S中随机移除一个点P,然后对于还在S中的每个点I,计算该点I与点P的距离,如果