A Tutorial on Clustering Algorithms - Introduction【翻译】

原文章 A Tutorial on Clustering Algorithms,包含以下部分:

  1. Introduction
  2. Clustering Algorithms
  3. K-means
  4. Fuzzy C-means
  5. Hierarchical
  6. Mixture of Gaussians

本文为 Introduction 翻译内容,后续内容请直接点击以上链接(标记为☑表示已完成内容)。

本文系Subson翻译,转载请注明。


聚类介绍

什么是聚类?

聚类可以说是最重要的无监督学习;所以,和其它的无监督学习问题一样,它解决的是寻找无标签数据集的结构化表示。

聚类的一个不太严谨的定义是“将某种程度上类似的成员组织到一个团体的过程”。

族簇【cluster】是指彼此之间相似的对象的集合,而跟其不相似的对象则属于其它族簇。

我们可以用一个简单的图例来表示聚类过程:

image

在这种情况下,我们可以很容易地从这些被分隔开的数据中辨别出4个族簇。其相似准则是距离————如果根据给定的距离(图示是几何距离)两个或者更多对象是相近的,那么它们属于同一个族簇。这种是基于距离的聚类。

另一种聚类是概念聚类:如果对于一个定义的概念是两个或者更多对象所共有的,那么它们属于同一个族簇。换句话说,这些对象归为一类是根据它们符合的描述概念,而不是根据简单的相似性计算。

聚类的目的

根据上述所言,聚类的目的是确定无标记数据集的内在分组(类别)。但是,如何判定一个好的聚类?如果撇开聚类的最终目的,没有一个绝对“最好”的标准去衡量聚类的好坏(简而言之,忽略聚类的目的去判断聚类的好坏是没有意义的)。因此,用户需要提供让聚类结果符合用户需求的准则。

我们可能对寻找同质群(同类组)的代表(数据简化)感兴趣。例如,寻找“自然集群”并且描述它们未知的属性(“自然”数据类型)、寻找有用且合适的分组(“有用”数据类)或者寻找不常见的数据对象(孤立点检测)。

可能应用场景

聚类算法可以用于很多领域,例如:

  • 市场营销:通过给定的包含大量顾客信息和顾客以往购买记录找出相似行为的顾客群;
  • 生物学:对动物和植物进行分类通过给定的它们的特征;
  • 图书馆:图书订购;
  • 保险:识别高水平赔偿成本的汽车保险单持有人群体,识别欺诈;
  • 城市规划:通过房屋的类型、价值和地理位置识别住房群;
  • 地震研究:聚类可观测的地震中心去识别危险区域;
  • 万维网:文本聚类,聚类网络日志数据去发现相似访问模式的群体。

要求

聚类算法应该满足以下主要要求:

  • 可扩展性;
  • 处理不同类型的属性;
  • 发现任意形式的族簇;
  • 最小限度的领域知识去决定输入参数;
  • 能够处理噪音和异常值;
  • 不敏感的输入记录顺序;
  • 高纬度;
  • 可以被解释并且易用。

难题

聚类存在大量难题,其中有:

  • 当前的聚类技术不能(同时)满足所有的需求;
  • 由于时间复杂度,处理高维度大量的数据项可能是有问题的;
  • 方法的效率取决于“距离”的定义(对于基于距离的聚类);
  • 如果显著的距离测度不存在,我们必须定义它,然而这是不容易的,特别是在多维空间中;
  • 聚类算法的结果能被不同方法解释(在许多情况下其本身是任意的)。

后续章节待续。。。


本文系Subson翻译,转载请注明。

猜你喜欢

转载自blog.csdn.net/Subson/article/details/60959206