K-means算法
核心思想
通过迭代把数据对象划分到不同的簇中,以求目标函数最小化,从而使生成的簇尽可能地紧凑和独立。
首先,随机选取k个对象作为初始的k个簇的质心;
然后,将其余对象根据其与各个簇质心的距离分配到最近的簇;再求新形成的簇的质心。
这个迭代重定位过程不断重复,直到目标函数最小化为止。
目标函数为平方误差准则函数,采用欧几里得距离度量
1、优点:
在处理大数据集时,该算法是相对可扩展性的,并且具有较高的效率。
算法复杂度为O(nkt),其中,n为数据集中对象的数目,k为期望得到的簇的数目,t为迭代的次数。
2、应用局限性:
用户必须事先指定聚类簇的个数;
常常终止于局部最优;
只适用于数值属性聚类(计算均值有意义);
对噪声和异常数据也很敏感;
不适合用于发现非凸形状的聚类簇。
K-medoids算法
处理流程
首先,随机选择k个对象作为初始的k个簇的代表点,将其余对象按与代表点对象的距离分配到最近的簇;
然后,反复用非代表点来代替代表点,以改进聚类质量。(用一个代价函数来估计聚类质量,该函数度量对象与代表点对象之间的平均相异度。)
目标函数采用平方误差准则
1、优点:
对属性类型没有局