k-medoids(学习Free Mind知识整理)

时间:2021-05-11 16:55:12


看到这里的k-medoids联想到聚类方法有哪些?

http://blog.chinaunix.net/uid-10289334-id-3758310.html

http://www.educity.cn/wenda/418948.html

这k-medoids和k-means两者对比一下图:

 k-medoids(学习Free Mind知识整理)         

                               k-means            

 k-medoids(学习Free Mind知识整理)

                     k-medoids

=================================================================

1.问题:

     给定数据点集P,d-by-N,将这些数据点集聚类到K类中去<K是给定的类的数目,可以不给定K,但本文我们处理不那么复杂的问题>

同时要求下式值最小:Sk是聚类形成的数据集合,mk是每个类集合的“中心”——K-Means与K-Medoids唯一不同的地方

                                                       k-medoids(学习Free Mind知识整理)

演示图:

k-medoids(学习Free Mind知识整理)

2.K-Means算法:

       1. 将数据分为K个非空子集

       2. 计算每个类中心 k-medoids(学习Free Mind知识整理)

       3. 将每个数据点 xj 到最近的 mk 

       4. 返回2,当聚类结果(如:计算得到的中心m1—mk,本文采用的方法)不再变化的时候stop

3.K-Medoids算法:

       1. 随机选择K个点作为初始medoid

       2.将每个数据点分配到最近的medoid

      3. 更新每个类的medoid ——此步导致比K-Means算法的计算量加大

                                                k-medoids(学习Free Mind知识整理)

       4. 返回2,当各类medoid不再变化的时候stop

4.特点:

       -聚类结果与初始点有关(因为是做steepest descent from a random initial starting oint)

       -是局部最优

       -在实际做的时候,随机选择多组初始点,最后选择拥有最低TSD(Totoal Squared Distance)的那组

==================================================================

下面是几个博友的实现:

http://blog.csdn.net/abcjennifer/article/details/8197072

http://blog.csdn.net/lifeitengup/article/details/8245028

==================================================================================================================================