作者:Ioannis T. Christou, Member, IEEE

IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 33, NO. 2, FEBRUARY 2011

Index Terms—Clustering, machine learning, constrained optimization, combinatorial algorithms

  

  一遍关于聚类集成的论文,作者提出了一种新方法:EXAMCE,适用于类内部准则(intracluster criteria),例如Minimum-Sum-of-Squares-Clustering (MSSC)。什么意思,就是通过计算类内部的关系、距离等进行类划分的方法,例如MSSC,类间距离不考虑。

  算法的优点:

  1. 关注全局最优解,不是局部最优解(kmeans)
  2. 算法的迭代与扩展都是基于最终结果(应该指当前迭代的最终结果)
  3. 在类标号比较多的时候效果好

算法描述前需要理解两个定义:

Intracluster criterion-based clustering (IC3):

  简单点的描述是,如果一个数据集S,划分成k 个类,分别为C1 C2 ...Ck,使用一个成本函数c(.)来衡量各个类,那么样本的划分最优解便是使成本函数之和最小。

Monotone Clustering Property (MCP)

  

  一个聚类结果Ci,如果其包含的样本越多,那么其成本函数的值将越大。

  论文中选用了两种例子,一个是MSSC,minimum-entropy clustering criterion,

MSSC:

  MSSC 其实描述的是这样一个问题:如果将数据集划分成多个类,那么怎样的划分可以使得类内部样本到内中心的欧式距离之和最小。公式的描述如下:

  第一条公式是目标函数,对于每个类,内中的样本到类中心的距离之和,使和最小;第二条公式是求类中心;第三条表示数据集S 中的样本都有有类标号,第四条表示样本不会有两个或以上的类标号。

  容易知道MSSC 是符合上面的两个定义的,目标函数的第二个累加号其实就是cost function,同时很容知道其满足MCP。

minimum-entropy clustering criterion

  最小信息熵聚类也符合,其目标函数是:

理想情况:

  对于瞒住IC3 及MCP 的聚类,最理想的解决过程如下:

  我们的样本数一共有n 个,那么由这n 个样本组成的子集数目则为2^n -1,我们记这个数为N,使用一个n-by-N 矩阵A,来表示这全部的子集,矩阵A 的一列n-by-1表示一个子集,样本属于这个子集的对应位为1,否则为0,其实就是穷举,那么我们有目标函数:

  这里需要解释的如下:

ci:i-th 子集需要的cost

x:一个N-by-1向量,取值为0,1,表示选取那个子集为最终划分的结果。

k: 最终划分类的个数,其实就是选了多少个子集,x 向量的叠加。

e:单位向量。

  理想情况的问题在于我们需要列出样本集的全部非空子集,这是不现实的,作者提出的方法,便是在知道部分子集的情况下,选出最优划分。

论文方法:

  既然只知道部分子集,那么A 矩阵便被约束为AB,其中有为 n-by-q 矩阵,q为子集个数,x同样表示最优选择。论文的思路:知道了部分子集,那么选取出当前的最优结果x,去掉重复分类的部分Rm_Dup(有可能一个样本属于了两个子集),进行局部查找Local(C),对选出的子集进行部分替换Expand(C),将新的子集添加到AB,计算新的目标函数值,迭代到收敛。

  上面的是论文算法的流程,解释一下:

Rm_Dup:

  我们知道当前迭代步的x 的取值,即选取了哪些子集作为最终划分,那么如果一个样本属于两个或以上的类,求这个样本对于这么多个类中的cost function,然后选取cost 最小的保留这个样本,其他的删除,对于MSSC,即样本离类中心最近,那么久保留,其他的便剔除,这样我们便得到了一个样本划分(结果)记为C'。

Local(C):

  Rm_Dup我们获得了一个样本划分(C'),那么便调用知道初始化的一个局部最优的算法,对于MSSC,用的是kmeans,对于信息熵,作者调用的是另外一篇论文的方法。这样获得的聚类结果记为C''。

Expand(C):

   这一步是局部扩展,前两步获得的子集C'''=C' U C",对每个子集都进行一下操作,设定一个变量γ(论文中为10),一个子集中,离中心最远的γ个样本,从远到近逐步剔除,这样便获得γ个新子集;子集外,离中心最近的γ个样本,逐步加入到子集中,便获得γ个新的子集。作者称这一步对结果的提升有0.5 percent。

  这样将这2γ个子集 与C''' 一同并入AB ,作为新的已知子集。结束循环的条件是没有新的子集加入。

  论文方法的介绍结束。

[论文]Coordination of Cluster Ensembles via Exact Methods的更多相关文章

  1. [论文]CA-Tree: A Hierarchical Structure for Efficient and Scalable Coassociation-Based Cluster Ensembles

    作者:Tsaipei Wang, Member, IEEE 发表:IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNET ...

  2. [论文]A Link-Based Cluster Ensemble Approach for Categorical Data Clustering

    http://www.cnblogs.com/Azhu/p/4137131.html 这篇论文建议先看了上面这一遍,两篇作者是一样的,方法也一样,这一片论文与上面的不同点在于,使用的数据集是目录数据, ...

  3. [论文]A Link-Based Approach to the Cluster Ensemble Problem

    论文作者:Natthakan Iam-On, Tossapon Boongoen, Simon Garrett, and Chris Price 下次还是在汇报前先写了论文总结,不然有些点汇报时容易忘 ...

  4. Self-paced Clustering Ensemble自步聚类集成论文笔记

    Self-paced Clustering Ensemble自步聚类集成论文笔记 2019-06-23 22:20:40 zpainter 阅读数 174  收藏 更多 分类专栏: 论文   版权声明 ...

  5. zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐

    [清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengy ...

  6. Spark: Cluster Computing with Working Sets

    本文是对spark作者早期论文<Spark: Cluster Computing with Working Sets>做的翻译(谷歌翻译),文章比较理论,阅读起来稍微有些吃力,但读完之后总 ...

  7. R--基本统计分析方法(包及函数)

    摘要:目前经典的统计学分析方法主要有回归分析,Logistic回归,决策树,支持向量机,聚类分析,关联分析,主成分分析,对应分析,因子分析等,那么对于这些经典的分析方法在R中的使用主要有那些程序包及函 ...

  8. 当我们在谈论kmeans(3)

        本系列意在长期连载分享,内容上可能也会有所删改: 因此如果转载,请务必保留源地址,非常感谢! 博客园:http://www.cnblogs.com/data-miner/(暂时公式显示有问题) ...

  9. Machine Learning and Data Mining(机器学习与数据挖掘)

    Problems[show] Classification Clustering Regression Anomaly detection Association rules Reinforcemen ...

随机推荐

  1. 【PHP】判断变量是否为控

    1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_e ...

  2. spark实战之网站日志分析

    前面一篇应该算是比较详细的介绍了spark的基础知识,在了解了一些spark的知识之后相必大家对spark应该不算陌生了吧!如果你之前写过MapReduce,现在对spark也很熟悉的话我想你再也不想 ...

  3. Java流(Stream)、文件(File)和IO

    Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序列 ...

  4. 自动化运维之使用Python3收发电子邮件~~~附源码

    一.背景介绍   1.1  一些专业名称的解释 MUA——Mail User Agent,邮件用户代理.是用户与电子邮件系统的交互接口,一般来说它就是我们PC机上的一个程序,提供一个好的用户界面,它提 ...

  5. 安装 ubuntu 后,使用 sed 更换国内源

    cd /etc/aptsed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list也可以使用 1 ...

  6. 第 8 章: 模块, 包与分发---Word

    第八章: 模块, 包 与 分发 描述: 大型Python程序以模块和包的形式组织.另外,Python标准库中包含大量模块.本章详细介绍模块和包系统.还将提供有关如何安装第三方模块和分发源代码的信息. ...

  7. 笔记-python-standard library-12.1 pickle

    笔记-python-standard library-12.1 pickle 1.      pickle简介 source code: Lib/pickle.py pickle模块实质上是一个实现p ...

  8. python基础——18(面向对象2+异常处理)

    一.组合 自定义类的对象作为另一个类的属性. class Teacher: def __init__(self,name,age): self.name = name self.age = age t ...

  9. 5、CSS基础part-3

    1.CSS列表 ①类型 ul.disc {list-style-type: disc} ②位置 ul.inside {list-style-position: inside} ③列表图像 2.表格

  10. IOS开发学习笔记015-block和protocol

    一.block block 代码段    标识是 ^    block 和函数很像 1.可以保存代码 2.有返回值 3.有形参 格式 返回值 (block名)(形参列表) = ^(形参列表) {代码段 ...