识辨 | 什么是分类?什么是聚类?

【人工智能某种意义上是辨识区别精度的弥聚过程,因而自然少不了分类与聚类方法】

分类是指按照种类、等级或性质分别归类。

聚类是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法图论聚类法、聚类预报法等。在数据挖掘中,聚类也是很重要的一个概念。

◆ ◆ ◆

典型应用

“聚类的典型应用是什么?”在商务上,聚类能帮助市场分析人员从客户基本库中发现不同的客户群,并且用购买模式来刻画不同的客户群的特征。在生物学上,聚类能用于推导植物和动物的分类,对基因进行分类,获得对种群中固有结构的认识。聚类在地球观测数据库中相似地区的确定,汽车保险单持有者的分组,及根据房子的类型、价值和地理位置对一个城市中房屋的分组上也可以发挥作用。聚类也能用于对Web上的文档进行分类,以发现信息。

◆ ◆ ◆

典型要求

可伸缩性:

许多聚类算法在小于 200 个数据对象的小数据集合上工作得很好;但是,一个大规模数据库可能包含几百万个对象,在这样的大数据集合样本上进行聚类可能会导致有偏的结果。我们需要具有高度可伸缩性的聚类算法

处理不同类型数据的能力:

许多算法被设计用来聚类数值类型的数据。但是,应用可能要求聚类其他类型的数据,如二元类型(binary),分类/标称类型(categorical/nominal),序数型(ordinal)数据,或者这些数据类型的混合。

发现任意形状的聚类:

许多聚类算法基于欧几里得或者曼哈顿距离度量来决定聚类。基于这样的距离度量的算法趋向于发现具有相近尺度和密度的球状簇。但是,一个簇可能是任意形状的。提出能发现任意形状簇的算法是很重要的。

用于决定输入参数的领域知识最小化:

许多聚类算法聚类分析中要求用户输入一定的参数,例如希望产生的簇的数目。聚类结果对于输入参数十分敏感。参数通常很难确定,特别是对于包含高维对象的数据集来说。这样不仅加重了用户的负担,也使得聚类的质量难以控制。

处理“噪声”数据的能力:

绝大多数现实中的数据库都包含了孤立点,缺失,或者错误的数据。一些聚类算法对于这样的数据敏感,可能导致低质量的聚类结果。

对于输入记录的顺序不敏感:

一些聚类算法对于输入数据的顺序是敏感的。例如,同一个数据集合,当以不同的顺序交给同一个算法时,可能生成差别很大的聚类结果。开发对数据输入顺序不敏感的算法具有重要的意义。

高维度(high dimensionality):

一个数据库或者数据仓库可能包含若干维或者属性。许多聚类算法擅长处理低维的数据,可能只涉及两到三维。人类的眼睛在最多三维的情况下能够很好地判断聚类的质量。在高维空间中聚类数据对象是非常有挑战性的,特别是考虑到这样的数据可能分布非常稀疏,而且高度偏斜。

基于约束的聚类:

现实世界的应用可能需要在各种约束条件下进行聚类。假设你的工作是在一个城市中为给定数目的自动提款机选择安放位置,为了作出决定,你可以对住宅区进行聚类,同时考虑如城市的河流和公路网,每个地区的客户要求等情况。要找到既满足特定的约束,又具有良好聚类特性的数据分组是一项具有挑战性的任务。

可解释性和可用性:

用户希望聚类结果是可解释的,可理解的,和可用的。也就是说,聚类可能需要和特定的语义解释和应用相联系。应用目标如何影响聚类方法的选择也是一个重要的研究课题。

◆ ◆ ◆

计算方法

传统的聚类分析计算方法主要有如下几种:

1、划分方法(partitioning methods)

给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K聚类算法中可以放宽);对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的纪录越远越好。使用这个基本思想的算法有:K-MEANS算法、K-MEDOIDS算法、CLARANS算法;
。而且这k个分组满足下列条件:(1)>

大部分划分方法是基于距离的。给定要构建的分区数k,划分方法首先创建一个初始化划分。然后,它采用一种迭代的重定位技术,通过把对象从一个组移动到另一个组来进行划分。一个好的划分的一般准备是:同一个簇中的对象尽可能相互接近或相关,而不同的簇中的对象尽可能远离或不同。还有许多评判划分质量的其他准则。传统的划分方法可以扩展到子空间聚类,而不是搜索整个数据空间。当存在很多属性并且数据稀疏时,这是有用的。为了达到全局最优,基于划分的聚类可能需要穷举所有可能的划分,计算量极大。实际上,大多数应用都采用了流行的启发式方法,如k-均值和k-中心算法,渐近的提高聚类质量,逼近局部最优解。这些启发式聚类方法很适合发现中小规模的数据库中小规模的数据库中的球状簇。为了发现具有复杂形状的簇和对超大型数据集进行聚类,需要进一步扩展基于划分的方法。

2、层次方法(hierarchical methods)

这种方法对给定的数据集进行层次似的分解,直到某种条件满足为止。具体又可分为“自底向上”和“自顶向下”两种方案。例如在“自底向上”方案中,初始时每一个数据纪录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。代表算法有:BIRCH算法、CURE算法、CHAMELEON算法等;

层次聚类方法可以是基于距离的或基于密度或连通性的。层次聚类方法的一些扩展也考虑了子空间聚类。层次方法的缺陷在于,一旦一个步骤(合并或分裂)完成,它就不能被撤销。这个严格规定是有用的,因为不用担心不同选择的组合数目,它将产生较小的计算开销。然而这种技术不能更正错误的决定。已经提出了一些提高层次聚类质量的方法。

3、基于密度的方法(density-based methods)

基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离的,而是基于密度的。这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。这个方法的指导思想就是,只要一个区域中的点的密度大过某个阀值,就把它加到与之相近的聚类中去。代表算法有:DBSCAN算法、OPTICS算法、DENCLUE算法等;

4、基于网格的方法(grid-based methods)

这种方法首先将数据空间划分成为有限个单元(cell)的网格结构,所有的处理都是以单个的单元为对象的。这么处理的一个突出的优点就是处理速度很快,通常这是与目标数据库中记录的个数无关的,它只与把数据空间分为多少个单元有关。代表算法有:STING算法、CLIQUE算法、WAVE-CLUSTER算法;

很多空间数据挖掘问题,使用网格通常都是一种有效的方法。因此,基于网格的方法可以和其他聚类方法集成。

5、基于模型的方法(model-based methods)

基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据集。这样一个模型可能是数据点在空间中的密度分布函数或者其它。它的一个潜在的假定就是:目标数据集是由一系列的概率分布所决定的。通常有两种尝试方向:统计的方案和神经网络的方案。

当然聚类方法还有:传递闭包法,布尔矩阵法,直接聚类法,相关性分析聚类,基于统计的聚类方法等。

◆ ◆ ◆

研究情况

传统的聚类已经比较成功的解决了低维数据的聚类问题。但是由于实际应用中数据的复杂性,在处理许多问题时,现有的算法经常失效,特别是对于高维数据和大型数据的情况。因为传统聚类方法在高维数据集中进行聚类时,主要遇到两个问题。①高维数据集中存在大量无关的属性使得在所有维中存在簇的可能性几乎为零;②高维空间中数据较低维空间中数据分布要稀疏,其中数据间距离几乎相等是普遍现象,而传统聚类方法是基于距离进行聚类的,因此在高维空间中无法基于距离来构建簇。

高维聚类分析已成为聚类分析的一个重要研究方向。同时高维数据聚类也是聚类技术的难点。随着技术的进步使得数据收集变得越来越容易,导致数据库规模越来越大、复杂性越来越高,如各种类型的贸易交易数据、Web 文档、基因表达数据等,它们的维度(属性)通常可以达到成百上千维,甚至更高。但是,受“维度效应”的影响,许多在低维数据空间表现良好的聚类方法运用在高维空间上往往无法获得好的聚类效果。高维数据聚类分析是聚类分析中一个非常活跃的领域,同时它也是一个具有挑战性的工作。高维数据聚类分析在市场分析、信息安全、金融、娱乐、反恐等方面都有很广泛的应用。

原文发布时间为:2016-11-03

时间: 2024-11-08 21:40:55

识辨 | 什么是分类?什么是聚类?的相关文章

《中国人工智能学会通讯》——12.43 分类型数据聚类算法研究进展

12.43 分类型数据聚类算法研究进展 在大数据环境下,许多数据是缺乏先验信息的,对数据标注的成本也越来越高,一个最自然的方法是对数据进行适当划分之后再进行相关的数据处理,而聚类分析是数据划分的一种重要技术手段[1] .在许多实际应用中,分类型变量是一种非常重要的数据表现形式[2] .比如,在问卷调查中,客户的兴趣爱好.家庭住址.教育情况都是分类型变量:在电子邮件过滤中,将邮件分为垃圾邮件和合法邮件:在医学中,一个病人受伤的程度可分为轻微的.中度的和严重的:在市场营销中,经常将客户分为高.中.低

《中国人工智能学会通讯》——12.47 分类型数据聚类有效性

12.47 分类型数据聚类有效性 聚类结果的有效性评价是聚类分析中的一个重要组成部分.不同聚类算法或同一算法不同参数设置往往在聚类同一数据时会产生不同的结果.因此,人们需要聚类有效性函数去评价聚类结果,并从众多聚类结果中寻找最适合于数据的一种划分.对于分类型数据而言,k-modes 优化目标函数[31] .分类效用函数[32]和信息熵函数[12]是三个广泛使用的有效性评价函数.k-modes 优化目标函数是由 Huang在 1997 年提出,该目标函数是对 k-means 优化目标函数的扩展.通

教你识辨几个容易被误认为病毒的文件

随着计算机的普及和信息技术的发展,"计算机病毒"一词对每一个人来说都已经不再陌生了,现如今计算机病毒可谓层出不穷,甚至让广大计算机用户几乎到了"谈毒色变"的程度.江民公司技术工程师发现有许多用户对操作系统下的文件不是很了解了解,以至于产生种种的怀疑.以下是用户经常怀疑是病毒的文件: 一.Thumb.db文件 Thumb.db文件被用户误认为是病毒的原因应该有三点: 1.该文件在一些操作系统中的带有图片的文件夹中都存在: 2.即使删除此文件,下次打开该文件夹时仍会生成

计算机文本分类和模糊聚类

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅

【Python数据挖掘课程】二.Kmeans聚类数据分析及Anaconda介绍

        这次课程主要讲述一个关于Kmeans聚类的数据分析案例,通过这个案例让同学们简单了解大数据分析的基本流程,以及使用Python实现相关的聚类分析.         主要内容包括:         1.Anaconda软件的安装过程及简单配置         2.聚类及Kmeans算法介绍        3.案例分析:Kmeans实现运动员位置聚集         前文推荐:[Python数据挖掘课程]一.安装Python及爬虫入门介绍         希望这篇文章对你有所帮助,尤

怎么对用户分类,细分到何等程度

文章描述:用户分类浅谈. 说到网络产品,离不开的话题就是用户,就像传统行业的消费者.人是复杂的,网民的用户行为更加复杂,用户和用户是不一样的,或者说,每个用户都不一样.一款成功的互联网产品往往并没有满足所有用户的需求,而是准确定位了某一类用户并且很好地满足了那类用户的需求.到底定位哪一类用户是我们需要考虑的,所以就需要用户分类. 不分类不好定位, 好的用户分类让我知道了我在追求哪些人,满足哪些人,影响哪些人.但分不好类又会错位,更糟,那怎样才能对某一款产品的用户群进行合理分类呢,下面就来谈谈我对

用户体验设计:用户分类浅析

说到网络产品,离不开的话题就是用户,就像传统行业的消费者.人是复杂的,网民的用户行为更加复杂,用户和用户是不一样的,或者说,每个用户都不一样.一款成功的互联网产品往往并没有满足所有用户的需求,而是准确定位了某一类用户并且很好地满足了那类用户的需求.到底定位哪一类用户是我们需要考虑的,所以就需要用户分类.   不分类不好定位, 好的用户分类让我知道了我在追求哪些人,满足哪些人,影响哪些人.但分不好类又会错位,更糟,那怎样才能对某一款产品的用户群进行合理分类呢,下面就来谈谈我对用户分类的一些看法.

一小时了解数据挖掘⑤数据挖掘步骤&常用的聚类、决策树和CRISP-DM概念

接前面系列4篇: 一小时了解数据挖掘①:解析常见的大数据应用案例  一小时了解数据挖掘②:分类算法的应用和成熟案例解析 一小时了解数据挖掘③:详解大数据挖掘の分类技术 一小时了解数据挖掘④:商务智能原理解读の数据挖掘九大定律 数据挖掘有很多不同的实施方法,如果只是把数据拉到Excel表格中计算一下,那只是数据分析,不是数据挖掘.本文主要讲解数据挖掘的基本规范流程.CRISP-DM和SEMMA是两种常用的数据挖掘流程. 数据挖掘的一般步骤 从数据本身来考虑,数据挖掘通常需要有信息收集.数据集成.数

K-means聚类算法

K-means聚类算法      K-means也是聚类算法中最简单的一种了,但是里面包含的思想却是不一般.最早我使用并实现这个算法是在学习韩爷爷那本数据挖掘的书中,那本书比较注重应用.看了Andrew Ng的这个讲义后才有些明白K-means后面包含的EM思想.      聚类属于无监督学习,以往的回归.朴素贝叶斯.SVM等都是有类别标签y的,也就是说样例中已经给出了样例的分类.而聚类的样本中却没有给定y,只有特征x,比如假设宇宙中的星星可以表示成三维空间中的点集.聚类的目的是找到每个样本x潜