《机器学习》笔记-聚类(9)

作者: 刘才权

编辑: 黄俊嘉

前 言

如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习(参考《机器学习/深度学习入门资料汇总》(https://zhuanlan.zhihu.com/p/30980999)),现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了会对书中核心及重点内容进行记录,同时,也会增加自己的理解,包括过程中的疑问,并尽量的和实际的工程应用和现实场景进行结合,使得知识不只是停留在理论层面,而是能够更好的指导实践。记录笔记,一方面,是对自己先前学习过程的总结和补充。 另一方面,相信这个系列学习过程的记录,也能为像我一样入门机器学习和深度学习同学作为学习参考。

  • 章节目录
  • 聚类任务
  • 性能度量
  • 距离计算
  • 原型聚类
  • 密度聚类
  • 层次聚类

1

聚类任务

在无监督学习中(unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记的训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。此类学习任务中研究最多、应用最广的是“聚类”(clustering)。

聚类试图将数据集中的样本划分为若干通常是不相交的子集,每个子集称为一个“簇”(cluster)。

聚类既能作为一个单独的过程,用于找寻数据内的分布结构,也可作为分类等其他学习任务的前驱过程。

2

性能度量

聚类性能度量亦称聚类“有效性指标”(validity index)。与监督学习中的性能度量作用相似。对聚类结果,我们需通过某种性能度量来评估其好坏;另一方面,若明确了最终将要使用的性能度量,则可直接将其作为聚类过程的优化目标,从而更好地得到符合要求的聚类结果。

聚类是将样本集D划分为若干不相交的子集,即样本簇。直观上看,我们希望“物以类聚”,即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。换言之,聚类结果的“簇内相似度”(intra-cluster similarity)高且“簇间相似度”(inter-cluster similarity)低。

聚类性能度量大致有两类:

  • “外部指标”(external index)

将聚类结果与某个“参考模型”(reference model)进行比较;

  • “内部指标”(internal index)

直接考察聚类结果而不利用任何参考模型;

常用的聚类性能度量外部指标有:

  • Jaccard系数(Jaccard Coefficient,简称 JC)
  • FM指数(Fowlkes and Mallows Index,简称FMI)
  • Rand指数(Rand Index,简称RI)

常用的聚类性能度量内部指标有:

  • DB指数(Davies-Bouldin Index,简称DBI)
  • Dunn指数(Dunn Index,简称DI)

3

距离计算

给定样本xi=(xi1,xi2;...;xin),与xj=(xj1;xj2;...;xjn),最常用的是”闵可夫斯基距离“(Minkowski distance),

p=2时,闵可夫斯基距离即欧氏距离(Euclidean distance),

p=1时,闵可夫斯基距离即曼哈顿距离(Manhattan distance),

上面的距离计算式都是事先定义好的,但在不少现实任务中,有必要基于数据样本来确定合适的距离计算式,这可通过”距离度量学习“(distance metric learning)来实现。

4

原型聚类

原型聚类亦称”基于原型的聚类“(prototype-based clustering),此类算法假设聚类结构能通过一组原型刻画,在现实聚类任务中极为常用。通常情形下,算法先对原型进行初始化,然后对原型进行迭代更新求解。采用不同的原型表示、不同的求解方式,将产生不同的算法。

1. k均值算法

给定样本集D={x1,x2,...,xm},”k均值“(k-means)算法针对聚类所得簇划分C={C1,C2,...,Ck}最小化平方误差,

其中,

x是簇Ci的均值向量。直观来看,上面式子在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,E值越小则簇内样本相似度越高。

2. 学习向量量化

与k均值算法类似,“学习向量量化”(Learning Vector Quantization,简称LVQ)也是试图找到一组原型向量来刻画聚类结构,但与一般的聚类算法不同的是,LVQ假设数据样本带有类别标记,学习过程用样本的这些监督信息来辅助聚类。

3. 高斯混合聚类

与k均值、LVQ用原型向量来刻画聚类结构不同,高斯混合(Mixture-of-Gaussian)聚类采用概率模型来表达聚类原型。

5

密度聚类

密度聚类亦称“基于密度的聚类”(density-based clustering),此类算法假设聚类结构能通过样本分布的紧密程度确定。通常情况下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。DBSCAN是一种著名的密度聚类算法。

6

层次聚类

层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。AGNES是一种采用自底向上聚合策略的层次聚类算法。

原文发布于微信公众号 - 机器学习算法工程师(Jeemy110)

原文发表时间:2018-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

循环神经网络(五) ——Bean搜索、bleu评分与注意力模型

20360
来自专栏自学笔记

机器学习可行性与VC dimension

在银行评估贷款申请人的授信请求前,会进行风险评估。符合申请则通过,反之驳回。长时间的数据和申请使得银行从中找到了一些规律并开始learning,所以风险评估就是...

34640
来自专栏PPV课数据科学社区

贝叶斯、概率分布与机器学习

一. 简单的说贝叶斯定理: 贝叶斯定理用数学的方法来解释生活中大家都知道的常识 形式最简单的定理往往是最好的定理,比如说中心极限定理,这样的定理往往会成为某一个...

390100
来自专栏编程

python常用可视化技巧

向AI转型的程序员都关注了这个号 大数据挖掘DT数据分析 公众号: datadw 我们在对数据进行预处理时,常常需要对数据做一些可视化的工作,以便能更清晰的认...

25590
来自专栏达观数据

课堂总结 | 达观数据文本挖掘负责人分享文本分类方法和应用案例

新媒体管家 自然语言处理(NLP)一直是人工智能领域的重要话题,而人类语言的复杂性也给NLP布下了重重困难等待解决。随着深度学习(Deep Learning)的...

63260
来自专栏机器学习算法工程师

机器学习从零开始系列连载(1)——基本概念

作者:张 磊 编辑:赵一帆 本周内容: 1. 一些基本概念 1.1 生成式模型与判别式模型 1.2 参数学习与非参学习 1....

36440
来自专栏AI科技大本营的专栏

神经网络浅讲:从神经元到深度学习

作者 | 计算机的潜意识 整理 | AI科技大本营(rgznai100) 神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神...

41970
来自专栏生信小驿站

R 集成算法④ 梯度提升树

8120
来自专栏PPV课数据科学社区

【干货长文】神经网络浅讲:从神经元到深度学习

  神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解...

31880
来自专栏奇点大数据

机器学习必备的数学基础有哪些?

对于机器学习给出了这样一个定义,机器学习是由三个部分组成,分别是表示、评价,还有优化。这样的三个步骤,实际上也就对应着在机器学习当中所需要的数学。

8920

扫码关注云+社区

领取腾讯云代金券