聚类分析的简单理解(1)

各位小伙伴们大家好,这几天我在学习聚类分析这个统计方法,所以希望通过这个文章来概括下自己所学的知识,并且希望大家可以指出不足

1:什么是聚类分析?

聚类分析(cluster analysis)是一种将数据所研究的对象进行分类的统计方法,像聚类方法这样的一类方法有个共同的特点:事先不知道类别的个数和结构,据以进行分析的数据是对象之间的相似性(similarity)和相异性(dissimilarity)的数据.将这些相似(相异)的数据可以看成是对象与对象之间的”距离”远近的一种度量,将距离近的对象看做一类,不同类之间的对象距离较远,这个可以看作为聚类分析方法的一个共同的思路.

聚类分析可以根据分类对象的不同分为Q类型聚类分析和R类型聚类分析.

Q类型可以看做为对于样本的聚类,R类型可以看作为对于变量进行聚类分析.

2:距离和相似系数

其实个人觉得,聚类分析本质上就是研究样本和变量的聚类的一个过程,尽管我们在聚类的时候使用的方法有很多,但是这样的方法的选择往往都和变量的类型有关系,因为数据来源和测量方法的不同,我们可以把变量大致分为两类:

1:定量的变量:比如说我们的长度重量,人口,速度等,这些变量都是由具体的特征数值所构成,很多都是用真实的测量计数而来

2:定性变量:这样的量并非只有数量上的变化,但是往往有一些性质上的差异,比如说成绩的名次,性别,产品的型号等等.

1:距离:

现在设X(ik)为第i个样本的第K个指标,数据矩阵如图所示:

每一个样本都具有P个变量,现在我们把每个样本看成为一个点,这n个样本就可以看作为n个点,第i个样本与第j个样本之间的距离记作为d(ij),在聚类的过程中,个人倾向于距离较近的点归为一类,距离较远的点归为不同的类.距离必须满足一下几个条件:

1:对于一切的i,j,d(ij)>=0;

2:d(ij)=0,当且仅当i,j个样本的各种变量相同;

3:dij=dji,对于一个i,j

4:dij<=dik+dkj,对于一切i,j,k

对于求距离的几种常用的方法:

1:求绝对值距离:

2:Euclide距离:

3:Minkowski距离:

这里我发现绝对值距离和Eucide距离是MinKowski距离的特例,要是各种变量的单位不同或者测量值范围相差很大时,不应该采用Minkowski距离,应该是先进行标准化数据处理,然后再用标准化数据进行计算.

4:chebyshev距离:

这个是minkowski距离中q趋向于无穷的时候的状况

以上的这几种都是丢定量变量的距离定义,还有几种定性的变量距离定义的方法,接下来打算用实例的时候再结合进行解释:

2:相似系数

聚类分析方法不仅用对样本进行分类,而且也可以用对变量进行分类,在对变量进行分类时,一般用相似系数来度量变量之间的相似程度:

现在我们设C(ij)表示Xi和Xj间的相关系数一般要求:

当C(ij)越接近于1,说明Xi和Xj之间的关系也就越亲切,如果C(ij)越接近0,则两者的关系也就越疏远.一般用求夹角余弦的方法,来求相似的系数.

3:一个实例:

对305名女中学生测量8个相关的体型指标,相应的相关矩阵如下图所示,将相关系数看做相似系数,定义距离为:

现在使用最长距离法做系统分析:

现在解题的方法如下:

首先,我们先输入相应的相关系数矩阵,这里使用R语言来进行操作:

1:先输入相关的矩阵

然后做相关的系统聚类分析

这里边使用了一个新的函数as.dist(),其作用是将普通的矩阵转化为聚类分析所使用的距离结构

d<-as.dist(1-r);hc<-hclust(d);dend<-as.dendrogram(hc)

然后写一段小程序,在绘图命令中调用它,使谱系图变得更好看

最后一步,画出谱系图:

de <- dendrapply(dend,addE);plot(de,nodePar= nP)

所有的代码如图所示:

所得到的图形如图所示:

从这个图里我们可以看出,变量X2(手臂长)与X3(上肢长)首先合为一类,接下来是X1(身高)和X4(下肢长)合并为一了你,在合并就是讲得到的类合并为一个新类,后边的X5和X3合并,最后X7,X8合并为一类.

这个时候,肯定有很多的小伙伴们想,在聚类中类的个数应该怎么选择才是最适宜的,所以我想在下一篇文章中讲一讲我对于类的个数的确定以及系统聚类法的自己学习的一些经验.

PS:自己在学习中,曾经陷入到了深陷算法推理的迷局,往往花费大量时间,还得不到结果,但是我们并不是每个人都有数学天赋,并不是每个人都是数学家,这个时代更最看重的是我们的应用能力,我们只需要保证我们理解调用就好,所以我尽量减少算法推理过程,加强工具的使用过程,大家一起加油吧!

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

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

2017校招数据分析岗笔试/面试知识点

2017校招正在火热的进行,后面会不断更新涉及到的相关知识点。尽管听说今年几个大互联网公司招的人超少,但好像哪一年都说是就业困难,能够进去当然最好,不能进去是不...

65770
来自专栏杨熹的专栏

CS224d-Day 5: RNN快速入门

---- CS224d-Day 5: 什么是RNN 本文结构: 1.什么是 RNN?和NN的区别? 2.RNN 能做什么?为什么要用 RNN? 3.RNN 怎么...

29050
来自专栏懒人开发

(10.1)James Stewart Calculus 5th Edition:Curves Defined by Parametric Equations

有的时候,有些曲线不符合 the Vertical Line Test 竖线检测 例如:

14010
来自专栏智能算法

纹理图像分析的基本方法简述

纹理是物体表面固有的一种特性,所以图像中的区域常体现出纹理性质。纹理可以认为是灰度(颜色)在空间以一定的形式变化而产生的团(模式)。纹理与尺度有密切的关系,一般...

494150
来自专栏重庆的技术分享区

3吴恩达Meachine-Learing之线性代数回顾-(Linear-Algebra-Review)

17340
来自专栏ATYUN订阅号

伯克利人工智能研究项目:为图像自动添加准确的说明

人类可以很容易地推断出给定图像中最突出的物体,并能描述出场景内容,如物体所处于的环境或是物体特征。而且,重要的是,物体与物体之间如何在同一个场景中互动。视觉描述...

36350
来自专栏大数据挖掘DT机器学习

R语言与点估计学习笔记(EM算法与Bootstrap法)

众所周知,R语言是个不错的统计软件。今天分享一下利用R语言做点估计的内容。主要有:矩估计、极大似然估计、EM算法、最小二乘估计、刀切法(Jackknife)、自...

406100
来自专栏崔庆才的专栏

深度学习效果不好?试试 Batch Normalization 吧!

Batch Normalization(简称BN)自从提出之后,因为效果特别好,很快被作为深度学习的标准工具应用在了各种场合。BN大法虽然好,但是也存在一些局...

1.5K30
来自专栏AI研习社

如何使用 Keras 实现无监督聚类

由于深度学习算法在表达非线性表征上的卓越能力,它非常适合完成输入到有标签的数据集输出的映射。这种任务叫做分类。它需要有人对数据进行标注。无论是对 X 光图像还是...

60820
来自专栏机器之心

专栏 | 云脑科技-实习僧文本匹配模型及基于百度PaddlePaddle的应用

22040

扫码关注云+社区

领取腾讯云代金券