聚类

在无监督学习中,训练样本的标记是没有指定的,通过对无标记样本的训练来探索数据之间的规律。其中应用最广的便是聚类,聚类试图把一群未标记数据划分为一堆不相交的子集,每个子集叫做”簇“,每个簇可能对应于一个类别标签,但值得注意的是,这个标签仅仅是我们人为指定强加的,并不是数据本身就存在这样的标签。例如音乐软件对音乐的曲分或者流派进行聚类,可以划分为伤感,轻快等一系列标签,但是这个曲分只是人为加上的,音乐本身并不知道自己被分为了什么曲分。

那聚类该如何做性能度量呢?在机器学习中我们都需要对任务进行评价以便于进行下一步的优化。分类和回归都有自己的评估准则,包括准确率,精确度,召回率等,聚类中的性能度量也同样有这样的指标来评价聚类的性能。

考虑聚类的任务的目的,容易想到就是”物以类聚“,即达到”簇内相似度高“,”簇间相似度低“的性能效果。具体的性能度量有两类,一类是外部指标,与某个专家给定的参考模型进行比对,另一类是内部指标,只考虑自己聚类之后的结果。

外部指标

外部指标需要一个参考模型,这个参考模型通常是由专家给定的,或者是公认的参考模型比如公开数据集。对于聚类的结果所形成的簇集合(这里叫做簇C),对于参考模型的簇集合(这里叫做D),对这两个模型结果的样本进行两两配对比较,可得到如下显而易见的数据。

a = 在C中属于相同簇且在D中属于相同簇的样本对的数量。

b = 在C中属于相同簇且在D中属于不同簇的样本对的数量。

c = 在C中属于不同簇且在D中属于相同簇的样本对的数量。

d = 在C中属于不同簇且在D中属于不同簇的样本对的数量。

对这里的abcd,不考虑一个样本属于多个簇的情况,因此每个样本都只能出现在一个集合中,所以a+b+c+d=m(m-1)/2。(m为样本总数)

由此可以导出几个常见的外部性能指标,Jaccard系数,FM指数,Rand指数。

Jaccard指数(简称JC)常用来表示集合之间的相似性和差异性,常常被定义为集合交集大小与集合并集大小的比值,因此也常被叫做并交比。其公式为

Jaccard index

FM指数(简称FMI)

FMI

Rand指数(Rand Index,简称RI)

RI

RI和Jaccard系数十分相似,只是所比较的范围不同而已。这里每个指标的值均在0-1之间,显然值越大说明聚类效果越好。

内部指标

内部指标则只考虑聚类之后这些簇之间的效果,通常用距离来度量。

avg(C):簇C样本间的平均距离

diam(C):簇C样本间的最远距离

dmin(ci,cj):簇间最近样本间的距离

dcen(ci,jc):簇间中心点之间的距离

使用这些簇间的距离指标也可以导出几个常见的性能度量内部指标,DB指数,Dunn指数。

DB指数(简称DBI)

DBI

Dunn指数(简称DI)

Dunn指数

显然,DBI的值越小越好,而DI的值越大越好。

距离度量

计算簇之间的相似性和差异性时常常要使用距离来进行度量,内部指标也都是以距离度量为基础的。

距离常常分为度量距离和非度量距离,其中度量距离满足非负性,对称性,直递性(三角不等式),而非度量距离往往不满足直递性。举个例子,人马和人很像,人马也和马和像,但是人和马的差距非常大,即不满足三角不等式,所以这个距离为非距离度量。

而对于属性可以分为连续属性和离散属性,但这个分类法对距离度量没有多大意义。在考虑距离的时候,属性更多的是考虑有序性,例如高,中,矮是有序的,即高>中>矮。但是金鱼,鲤鱼,草鱼这些便是没有顺序的,无法对这些鱼的品种来比较顺序。

对于有序属性,我们最常使用的是闵科夫斯基距离

闵科夫斯基距离

而当p取不同值的时候,便可得到实际使用的距离度量。

当p=1时,为曼哈顿距离

曼哈顿距离

当p=2时,为欧式距离

欧式距离

当p=无穷大时,为切比雪夫距离

切比雪夫距离

对于无序属性,使用VDM(Value Difference Metric)来表示,令

表示在属性u上取值为a的样本数,

表示在第i个样本簇中在属性u上取值为a的样本数,k为样本簇数,则属性u上两个离散值a,b的VDN距离为:

对于包含有序属性和无序属性的混合属性来说,只需要把闵科夫斯基距离和VDM联合起来就行了

混合距离

而对于多个具有不同重要性的属性来说,只需要使用加权距离就可以了

加权距离

以上的距离都是事先就计算好的,有的距离的度量方法需要通过学习数据中的特征来获得距离,这就属于”距离度量学习“的范畴了。

欢迎大家关注公众号“计算机视觉与机器学习”

计算机视觉和机器学习

聚类dbi指数_聚类中的性能度量相关推荐

  1. 聚类dbi指数_聚类算法

    1 聚类任务 在无监督学习中,获取的数据集是没有label信息的,无监督学习的目的是对无label的数据集进行学习以揭示数据内部的性质及规律,为进一步的数据分析提供基础. 聚类是最常见的无监督学习任务 ...

  2. 聚类dbi指数_聚类-K-Means

    1.什么是K-Means? K均值算法聚类 关键词:K个种子,均值 聚类的概念:一种无监督的学习,事先不知道类别,自动将相似的对象归到同一个簇中 K-Means算法是一种聚类分析(cluster an ...

  3. 聚类dbi指数_聚类算法评价指标——Davies-Bouldin指数(Dbi)

    最近在做一个时空序列聚类的小项目,度量聚类优劣的指标使用到了DBI指数,所以开始学习了一下DBI指数,以下是我的理解和基于python3的实现: 戴维森堡丁指数(DBI),又称为分类适确性指标,是由大 ...

  4. 聚类dbi指数_人脸聚类常用评价指标

    1.概述 好的聚类算法,一般要求类簇具有: 高的类内 (intra-cluster) 相似度 低的类间 (inter-cluster) 相似度 评价一个聚类算法的指标不像有监督的分类算法计算其精确率, ...

  5. 聚类dbi指数_一种基于DBI-PD聚类算法的异常检测机制

    一种基于 DBI-PD 聚类算法的异常检测机制 丁姝郁 [期刊名称] <电脑开发与应用> [年 ( 卷 ), 期] 2015(000)002 [摘要] 分析了网络数据维数和检测准确度之间的 ...

  6. c均值聚类matlab程序_聚类算法之kmeans算法

    一.k-means算法介绍 k-means最早是由James MacQueen在1967年提出的,这一观点能够追溯到1957年Hugo Steinhaus所提出的想法.1957年,斯图亚特最先提出这一 ...

  7. mysql聚类函数排序_聚类算法大盘点 - 如鱼饮水,冷暖自知 - OSCHINA - 中文开源技术交流社区...

    最近在关注聚类分析,了解了之后才发现,原来聚类分析里已经有这么丰富的成果,因此希望对其做个较全面的总结. 本文涉及到的聚类算法较多,请允许我慢慢更新. 1 层次聚类 (Agglomerative Cl ...

  8. k中心点聚类算法伪代码_聚类算法之——K-Means、Canopy、Mini Batch K-Means

    K-Means||算法 K-Means||算法是为了解决K-Means++算法缺点而产生的一种算法: 主要思路是改变每次遍历时候的取样规则,并非按照K-Means++算法每次遍历只获取一个样本,而是每 ...

  9. 层次聚类 matlab代码_聚类算法解析一

    01 概述 本次针对聚类算法进行讲解,因为内容较多,会分多篇文章进行讲解,主要的内容包括聚类算法的整体介绍,针对不同类别的聚类算法比如划分聚类.层次聚类.密度聚类等算法进行介绍,在讲解每类算法时会结合 ...

最新文章

  1. ITSM五大趋势助力企业数字化转型
  2. python delete_python 使用 delete 方法时报错,可以正常删除
  3. 在线编写php文件,php单文件版在线代码编辑器_php实例
  4. Android中TextView中string的特殊符号显示的方法
  5. matlab 多维数组申明
  6. C语言编程快速入门黎明,何用C语言模拟键盘输入?
  7. 基于ajax请求异常捕获
  8. vue移动端下拉切换页面_详解vue移动端 下拉刷新
  9. Windows 10 RTM 官方正式版
  10. SocketTool
  11. 快速修改Windows系统字体样式
  12. 从oracle表中随机抽取数据,Oracle随机抽取数据
  13. 在线翻译PDF文件用什么方法
  14. 入门到精通|有哪些相见恨晚的高效图表制作小技巧?
  15. Android 原生系统设置修改Preference样式
  16. MFC 多个RadioButton设为一组 vs2013
  17. 微软天下行 豪侠汤山会 现场纪实
  18. python求和1到100_python等差数列求和公式前 100 项的和实例
  19. 我的世界java版红石电梯_《我的世界》红石电梯建造教程
  20. alipay.trade.app.pay

热门文章

  1. The Great Gatsby翻译摘录
  2. js调用身份证读卡器(HX-FDX3S)
  3. 安装MySQL卡在apply_安装mysql遇到的坑:在apply server configuration和starting server均被卡...
  4. statsmodels.tsa.seasonal.seasonal_decompose使用移动平均线进行季节性分解
  5. 华为设备DHCP snooping配置
  6. 聚合支付里各扫码支付的返回报文样例
  7. Android Studio2.2 CMAKE高效NDK开发
  8. 验证码的几种方式-普通图形验证码,滑动拼图,图中点选
  9. 部门来了个卷王之王,真的让人奔溃
  10. 『.NET Tools』C#/.NET 计算文本相似度