内容简介
聚类是数据挖掘领域的一个重要分支。
《数据聚类》全面系统地介绍聚类的主要方法。首先,对涉及聚类的各个方面进行简略的综述;然后,对各类聚类算法进行较详细的讨论。
《数据聚类》主要内容分为三大部分:第1部分是经典算法部分(第2~6章),讨论k-均值、DBSCAN等传统算法;第二部分是高级算法部分(第7~12章),讨论半监督聚类、高维数据聚类、不确定数据聚类等;第三部分是多源数据聚类部分(第13章),主要讨论多视角聚类和多任务聚类。
《数据聚类》可供数据科学与人工智能等领域的研究人员、工程技术人员、相关学科研究生和基础较好的高年级本科生参考阅读。
内页插图
目录
序
前言
符号表
1 概述
1.1 问题描述
1.2 方法进展
1.2.1 经典算法
1.2.2 高级算法
1.2.3 多源数据算法
1.3 半监督聚类
1.4 数据类型
1.4.1 属性数据
1.4.2 离散序列数据
1.4.3 时间序列数据
1.4.4 文本数据
1.4.5 多媒体数据
1.4.6 流数据
1.4.7 各类数据聚类技术汇总
1.5 衍生问题
1.5.1 特征选择
1.5.2 测度学习
1.5.3 聚类集成
1.5.4 软聚类
1.5.5 多解聚类
1.5.6 聚类验证
1.5.7 可视化与交互聚类
1.6 新的挑战
1.6.1 大数据聚类
1.6.2 多模数据聚类
1.6.3 深度聚类
1.7 结论
参考文献
2 基于模型的聚类
2.1 混合模型
2.1.1 混合模型简介
2.1.2 高斯混合模型
2.1.3 伯努利混合模型
2.1.4 混合模型选择
2.2 期望最大化算法
2.2.1 詹森不等式
2.2.2 期望最大化算法分析
2.2.3 期望最大化算法框架
2.2.4 期望最大化扩展算法
2.3 求解高斯混合模型
2.4 求解伯努利混合模型
参考文献
3 基于划分的聚类算法
3.1 划分方法概述
3.2 k-均值算法
3.2.1 目标函数
3.2.2 算法流程
3.2.3 性能分析
3.2.4 k的选择
3.2.5 初始中心点选择
3.3 类k-均值算法
3.3.1 k-中心点算法
3.3.2 k-中值算法
3.3.3 k-modes算法
3.3.4 模糊k-均值算法
3.3.5 核k-均值算法
3.3.6 二分k-均值算法
3.4 改进的k-均值算法
3.4.1 改进的k-均值算法概述
3.4.2 基于边界值的k-均值算法
3.4.3 阴阳k-均值算法
3.4.4 基于块向量的加速k-均值算法
参考文献
4 基于密度的聚类算法
4.1 密度算法概述
4.2 DBSCAN算法
4.2.1 基本定义及算法流程
4.2.2 算法分析
4.3 OPTICS算法
4.3.1 基本定义及算法流程
4.3.2 算法分析
4.4 DENCLUE算法
……
5 基于网格的聚类算法
6 层次聚类算法
7 半监督聚类
8 谱聚类
9 基于非负矩阵分解的聚类
10 高维数据聚类
11 图聚类
12 不确定数据聚类
13 多源相关数据聚类
后记
彩版
前言/序言
2016年初,谷歌围棋Alpha Go以4:1的成绩战胜了人类围棋世界冠军李世石,引起全世界的关注,这标志着人工智能的发展进入了一个全新的阶段。近几年来,人工智能得到飞速的发展,在很多领域如图像识别、语音识别等方面取得了突破性的进步。人工智能的研究也得到全世界学术界和产业界的高度关注,进入了一个新的高潮期。种种迹象表明,人类进入全方位智能时代已经为期不远了。所有这一切几乎均得益于神经网络的新技术——深度学习的发现和发展(非常有趣的是人工智能的几次高潮均来自神经网络的进步,可见神经网络的生命力)。深度学习的概念由Hinton等于2006年提出,在近年来已经逐渐成为机器学习的主流技术,在多数应用领域的性能明显超出已有技术。
机器学习包括监督学习和无监督学习。目前的深度学习基本上只带来监督学习的进步,但仅靠监督学习是无法实现完整的人工智能的。作为智能系统,监督学习似乎足够“能”而不足够“智”。足够“能”体现为它能够在大数据中挖掘知识,这甚至是人脑做不到的。事实上人脑并不是处理大数据的系统,人类在任何领域所掌握的知识均有限,例如,每个人仅认识数干个汉字或单词。不足够“智”体现为监督学习需要大量人工标记的训练样本。人脑的学习并不需要大量的样本训练,人类是在没有指导或少量指导的条件下获得知识的,而且人脑会不断地学习并强化自己在各个领域的知识。人类在有限知识的基础上体现出惊人的创造力。类似人脑的智能系统更需要无监督学习、小样本学习、强化学习和迁移学习等功能。因此,人工智能的发展仍然任重而道远。
本书讨论聚类技术。聚类是无监督学习的主要内容,在很多文献中人们甚至把聚类和无监督学习两个概念等价使用。聚类一直是机器学习、数据挖掘、模式识别等领域的重要组成内容,近年来更得到高度重视。2015年,中国人工智能学会理事长李德毅院士在“新一代信息技术产业发展高峰论坛”上指出:“人类的认知科学要想有所突破,首先就要在大数据聚类上取得突破,聚类是挖掘大数据资产价值的第一步。”同年,深度学习的领军人物Lecun、Bengio和Hinton在Nature上的综述指出:“人和动物的学习很大程度上是无监督的:我们通过观察发现世界的结构,而不是对每个物体命名。”
那么什么是聚类呢?《周易·系辞上》说:“方以类聚,物以群分,吉凶生矣。”自然的事物总是按一定的规律组织起来的,人们通过认识这些组织的结构特征获得知识,从而做出决策。以生物为例(我们这个世界是因为有生物而活泼生动的),人们根据生物的相似程度(包括形态结构和生理功能等),把生物划分为种和属等不同的等级,并对每一类群的形态结构和生理功能等特征进行科学的描述,以弄清不同类群之间的亲缘关系和进化关系。相信很多人小时候学习生物时都会惊讶于鲸居然是哺乳动物而不是鱼,猫和老虎是同一科等。
和分类(监督学习的主要任务)不同,聚类是在无标记样本的条件下将数据分组,从而发现数据的天然结构。聚类在数据分析中扮演重要的角色,它通常被用于以下三个方面。
(1)发现数据的潜在结构:深入洞察数据、产生假设、检测异常、确定主要特征。
(2)对数据进行自然分组:确定不同组织之间的相似程度(系统关系)。
(3)对数据进行压缩:将聚类原型作为组织和概括数据的方法。
这几个方面的功能使聚类既可以作为预处理程序,又可以作为独立的数据分析工具。
聚类是典型的交叉学科,在很多领域有广泛的应用,其研究已有60多年的历史。生物分类学者、社会学者、哲学家、生物学家、统计学家、数学家、工程师、计算机科学家、医学研究者等众多收集和处理实际数据的工作者都对聚类方法做出了贡献。在不同的领域,聚类还可能被称为Q-分析、拓扑、凝结、分类等。聚类的概念最早出现在1954年的一篇处理人类学数据的论文中。自此开始,聚类一直是相关领域重要的研究内容之一。2009年,有人用谷歌学术搜索做过统计,发现仅2007年一年就有1660个包含“数据聚类”的条目。几十年来有数以万计的文献讨论聚类算法及其在科学和工程领域的应用,这充分说明聚类对数据分析的重要性。
《数据聚类:探索数据内在结构的奥秘》 本书是一部关于数据聚类方法论的深度探索,旨在为读者揭示如何从海量、杂乱的数据中挖掘出有意义的群体和模式。我们并非直接教授具体的聚类算法,而是着眼于构建一个理解和应用聚类技术的坚实基础。本书将引导您穿越数据分析的迷宫,理解聚类背后的哲学,以及它在现实世界中扮演的关键角色。 第一部分:理解数据的本质与挑战 在深入探讨聚类方法之前,理解我们所面对的数据的本质至关重要。数据并非简单的一堆数字或文本,而是信息、特征和潜在规律的载体。本书将首先从“数据是什么”这一根本问题出发,探讨数据的多样性——从结构化到非结构化,从数值型到类别型,从低维到高维。我们将认识到,数据的“清洗”和“预处理”并非仅仅是技术操作,而是理解数据内在含义的必要步骤。 数据的多面性: 我们将解析不同类型数据的特性,例如,数值型数据中的连续性和离散性,类别型数据中的名义性和顺序性。理解这些差异,将直接影响我们选择何种距离度量和聚类算法。 数据质量的挑战: 真实世界的数据往往充斥着噪声、缺失值、异常值和冗余信息。本书将探讨这些问题如何扭曲聚类结果,以及如何通过数据清洗和变换策略来提升数据的质量,为有效的聚类奠定基础。 降维的艺术: 高维数据是现代数据分析中的一个普遍难题。本书将介绍降维的概念,解释为何在高维空间中进行聚类会遇到“维度诅咒”,并简要触及一些常用的降维技术(如主成分分析PCA、t-SNE),使其成为聚类分析的有力前奏。 第二部分:聚类的哲学与理论基石 聚类并非一种简单的数学运算,而是一种基于相似性度量的探索性数据分析方法。在这一部分,我们将剥离算法的表象,深入探究聚类背后的核心理念。 相似性与相异性: 聚类的核心在于度量数据点之间的相似性或相异性。本书将详细阐述各种度量方法,包括欧氏距离、曼哈顿距离、余弦相似度、Jaccard相似系数等。我们将深入分析不同场景下选择何种度量方式的考量,以及它们对聚类结果的影响。例如,为何在文本分析中余弦相似度比欧氏距离更受欢迎? 簇的定义与目标: 究竟什么是“簇”?本书将探讨不同聚类方法的“簇”的定义。有的追求紧密的球状簇,有的则能发现任意形状的簇。理解这些定义,有助于我们匹配算法与实际问题。我们还会讨论聚类分析的目标:是发现数据的内在结构?还是为了数据压缩和表示?或者是为了异常检测? 评价聚类质量: 如何知道我们的聚类结果是好的?本书将介绍多种评估聚类效果的方法。我们会区分内部评估指标(如轮廓系数、Davies-Bouldin指数)和外部评估指标(如ARI、AMI),并讨论在无监督学习场景下,评估的挑战与策略。 第三部分:策略性地选择与应用聚类方法 算法的百花齐放,使得选择最适合的聚类算法成为一项关键技能。本书不直接罗列算法,而是从策略和应用的角度引导读者做出明智的选择。 基于划分的聚类(Partitioning-based Clustering): 以K-Means为代表的这类方法,将数据集划分为预先指定的K个簇。我们将深入分析K-Means的原理,探讨其优缺点,以及影响K选择的因素。同时,也会触及K-Medoids等变体,以应对不同的数据特性。 基于层次的聚类(Hierarchical Clustering): 从个体数据点开始,逐步构建或分解簇的层次结构。本书将介绍凝聚型(Agglomerative)和分裂型(Divisive)层次聚类的基本思想,以及如何利用树状图(Dendrogram)来理解和选择簇的数量。 基于密度的聚类(Density-based Clustering): 发现任意形状簇,并能有效处理噪声。DBSCAN将是本部分的重点,我们将解析其核心概念——“密度可达性”和“核心点”,并探讨其在处理不规则簇和噪声方面的优势。 基于模型的聚类(Model-based Clustering): 假设数据生成服从某种概率模型,并尝试估计模型参数。高斯混合模型(GMM)将是我们探讨的重点,我们将理解其在数据分布假设下的聚类能力。 聚类方法的选择与权衡: 面对纷繁的算法,本书将提供一个决策框架。我们将从数据规模、数据维度、簇的形状、噪声的存在、是否需要预设簇数等角度,引导读者权衡不同算法的适用性。 第四部分:聚类在真实世界中的应用与展望 聚类技术并非纸上谈兵,它在各个领域都展现出强大的生命力。本书将通过生动的案例,展示聚类如何赋能决策、洞察和创新。 客户细分与市场营销: 如何将相似的客户群体识别出来,进行精准营销?本书将探讨聚类在构建用户画像、个性化推荐、市场定位等方面的应用。 图像分析与模式识别: 在图像处理领域,聚类如何帮助我们分割图像、识别物体?我们将简要介绍聚类在图像分割、特征提取中的作用。 生物信息学与基因分析: 如何对基因数据进行分组,发现疾病相关的基因模式?本书将阐述聚类在基因表达分析、蛋白质功能分类等领域的价值。 异常检测与欺诈识别: 识别与大多数数据点显著不同的“异常”数据。我们将讨论聚类如何帮助我们发现潜在的欺诈行为、网络攻击或设备故障。 文本挖掘与主题发现: 如何从大量文档中发现潜在的主题?本书将探讨聚类在文档聚类、主题建模等文本分析任务中的应用。 聚类结果的可视化: 如何直观地展示聚类结果,使其更易于理解?本书将强调可视化在解释聚类分析中的重要性,并介绍一些常用的可视化技术。 第五部分:进阶思考与未来方向 数据科学领域日新月异,聚类技术也在不断发展。在本书的最后,我们将带领读者思考一些更深层次的问题,并展望聚类的未来。 半监督与监督聚类: 当部分数据带有标签时,如何利用这些信息提升聚类效果?我们将简要介绍半监督和监督聚类的概念。 动态聚类与流数据处理: 如何处理不断产生的新数据?我们将探讨在流式数据环境中进行聚类的挑战与方法。 可解释的聚类: 在一些关键应用中,我们不仅需要聚类结果,还需要理解为什么数据会被这样划分。我们将探讨提升聚类模型可解释性的思路。 与其他数据挖掘技术的融合: 聚类并非孤立存在,它常常与其他技术(如分类、降维、关联规则挖掘)协同工作,共同解决复杂问题。 结语 《数据聚类:探索数据内在结构的奥秘》并非一本枯燥的算法手册,而是一次深入数据世界的旅程。我们希望通过本书,读者能够建立起一套系统的聚类思维框架,掌握选择和应用恰当聚类方法的能力,并能灵活地将聚类技术应用于解决实际问题。无论您是数据分析的初学者,还是希望深化理解的专业人士,本书都将成为您探索数据宝藏的得力助手。