• 1.摘要
  • 2.基本信息
  • 3.算法简介
  • 4.算法思想
  • 5.算法描述
  • 6.算法性能

PAM

5
PAM算法

PAM(Partitioning Around Medoid,围绕中心点的划分)是聚类分析算法中划分法的一个聚类方法,是最早提出的k-中心点算法之一。

基本信息

  • 中文名

    PAM

  • 外文名

    Partitioning Around Medoid

  • 全称

    围绕中心点的划分

  • 应用

    商业制造业金融业医药业

算法简介

如今数据挖掘的理论越来越广泛的应用在商业、制造业、金融业、医药业、电信业等等许多领域。数据挖掘的目标之一是进行聚类分析。聚类就是把一组个体按照相似性归成若干类别,它的目的是使得属于同一类别的个体之间的差别尽可能的小,而不同种类别上的个体间的差别尽可能的大。PAM聚类算法是众多聚类算法的之一。PAM算法的优势在于:PAM算法比K-平均算法更健壮,对“噪声”和孤立点数据不敏感;它能够处理不同类型的数据点;它对小的数据集非常有效。

算法思想

PAM聚类算法的基本思想为:

选用簇中位置最中心的对象,试图对n个对象给出k个划分;代表对象也被称为是中心点,其他对象则被称为非代表对象;最初随机选择k个对象作为中心点,该算法反复地用非代表对象来代替代表对象,试图找出更好的中心点,以改进聚类的质量;在每次迭代中,所有可能的对象对被分析,每个对中的一个对象是中心点,而另一个是非代表对象。对可能的各种组合,估算聚类结果的质量;一个对象Oi可以被使最大平方-误差值减少的对象代替;在一次迭代中产生的最佳对象集合成为下次迭代的中心点。

算法描述

输入:簇的数目k和包含n个对象的数据库

输出:k个簇,使得所有对象与其距离最近中心点的相异度总和最小

(1) 任意选择k个对象作为初始的簇中心点 (2) Repeat

(3) 指派每个剩余对象给离他最近的中心点所表示的簇

(4) Repeat

(5) 选择一个未被选择的中心点Oi

(6) Repeat

(7) 选择一个未被选择过的非中心点对象Oh

(8) 计算用Oh代替Oi的总代价并记录在S中

(9) Until 所有非中心点都被选择过

(10) Until 所有的中心点都被选择过

(11) If 在S中的所有非中心点代替所有中心点后的计算出总代价有小于0的存在,then找出S中的用非中心点替代中心点后代价最小的一个,并用该非中心点替代对应的中心点,形成一个新的k个中心点的集合;

(12) Until 没有再发生簇的重新分配,即所有的S都大于0.