聚类——总述

聚类(Clustering)的基本概念

聚类属于无监督学习,在聚类前数据没有分类或分组信息。聚类是寻找数据之间内在结构,按照特定标准(如距离准则、相似性系数)把全体数据样本组织成一些相似簇;使得处于相同簇中的数据样本彼此相似性尽可能大,处于不同簇中的样本彼此差异性尽可能地大。聚类的结果在很大程度上取决于事先设定的参数(如类别,初始点等),例如:
在这里插入图片描述

聚类性能好坏的度量

类内相似度高,类间相似度低。度量聚类结果好坏的依据有:可测量性、处理不同类型样本的能力、发现任意形状簇的能力、输入参数所需的先验知识、处理噪声和异常值的能力、对于输入数据的顺序不敏感、基于某些限制条件的聚类 、可解释性和可用性。

需要考虑的问题:(1)样本间的相似性如何量化? (2)如何根据这些相似性指标将类似的样本分为一簇?(3)聚类完成后,对于每一簇的性质如何描述?

相似性度量

A.距离:设两个样本 x = ( x 1 , x 2 , ⋯   , x p ) T ;    y = ( y 1 , y 2 , ⋯   , y p ) T \mathbf x=(x_1,x_2,\cdots,x_p)^T;\;\mathbf y=(y_1,y_2,\cdots,y_p)^T x=(x1,x2,,xp)T;y=(y1,y2,,yp)T,有以下距离:
1.明氏距离(明考夫斯基距离,Minkowski distance): d ( x , y ) = ( ∑ i = 1 p ∣ x i − y i ∣ q ) 1 / q , 其 中 q ≥ 1 \displaystyle d(\mathbf x,\mathbf y)=(\sum^p_{i=1}|x_i-y_i|^q)^{1/q},其中q\ge1 d(x,y)=(i=1pxiyiq)1/q,q1

明氏距离具有非负性、对称性和三角不等式等有两下子,可对各个变量的数据做标准化处理。特别的,当 q = 1 q=1 q=1时,称为绝对值距离或曼哈顿距离;当 q = 2 q=2 q=2时,称为欧式距离;当 q = ∞ q={\infty} q=时,是切比雪夫距离。

2.兰氏距离 d ( x , y ) = 1 p ∑ i = 1 p ∣ x i − y i ∣ ∣ x i + y i ∣ \displaystyle d(\mathbf x,\mathbf y)=\frac{1}{p}\sum^p_{i=1}\frac{|x_i-y_i|}{|x_i+y_i|} d(x,y)=p1i=1pxi+yixiyi,兰氏距离无量纲,适用于高偏斜或含有异常值的数据。

3.马氏距离 d ( x , y ) = ( x − y ) T ⋅ S − 1 ⋅ ( x − y ) \displaystyle d(\mathbf x,\mathbf y)=\sqrt{(\mathbf x-\mathbf y)^T\cdot S^{-1}\cdot (\mathbf x-\mathbf y)} d(x,y)=(xy)TS1(xy) ,其中, S − 1 S^{-1} S1为样本是协方差矩阵。

4.名义尺度变量的一种距离定义 d ( x , y ) = m 1 m 1 + m 2 \displaystyle d(\mathbf x,\mathbf y)=\frac{m_1}{m_1+m_2} d(x,y)=m1+m2m1,其中 m 1 m_1 m1为配合(相同)的变量数, m 2 m_2 m2为不配合(不相同)的变量数。eg, x = ( 男 , 英 语 , 统 计 , 非 教 师 , 校 外 , 学 士 ) T , y = ( 女 , 英 语 , 非 统 计 , 教 师 , 校 外 , 硕 士 ) T \mathbf x=(男,英语,统计,非教师,校外,学士)^T,\mathbf y=(女,英语,非统计,教师,校外,硕士)^T x=()T,y=()T,则 x , y \mathbf x,\mathbf y xy之间的距离为 2 / 3 {2/3} 2/3

B.相似系数:相似系数(或其绝对值)越大,变量之间的相似性程度越高,衡量相似系数的有:

1.夹角余弦 R n \mathcal R^n Rn中变量 x , y \mathbf x,\mathbf y xy之间夹角 θ \theta θ的余弦函数,即 c x y ( 1 ) = c o s θ = ∑ k = 1 p ( x k ⋅ y k ) [ ( ∑ k = 1 p x k 2 ) ⋅ ( ∑ k = 1 p y k 2 ) ] 1 2 \displaystyle c_{xy}(1)=cos\theta=\frac{\sum^p_{k=1}(x_k\cdot y_k)}{[(\sum^p_{k=1}x^2_k)\cdot(\sum^p_{k=1}y^2_k)]^{\frac{1}{2}}} cxy(1)=cosθ=[(k=1pxk2)(k=1pyk2)]21k=1p(xkyk)

2.相关系数 c x y ( 2 ) = r 2 = ∑ k = 1 p [ ( x k − x ˉ ) ⋅ ( y k − y ˉ ) ] [ ( ∑ k = 1 p ( x k − x ˉ ) 2 ) ⋅ ( ∑ k = 1 p ( y k − y ˉ ) 2 ) ] 1 2 \displaystyle c_{xy}(2)=r^2=\frac{\sum^p_{k=1}[(x_k-\bar x)\cdot (y_k-\bar y)]}{[(\sum^p_{k=1}(x_k-\bar x)^2)\cdot(\sum^p_{k=1}(y_k-\bar y)^2)]^{\frac{1}{2}}} cxy(2)=r2=[(k=1p(xkxˉ)2)(k=1p(ykyˉ)2)]21k=1p[(xkxˉ)(ykyˉ)]

距离和相似系数的相互转换 c x y = 1 1 + d x y , d x y = 2 ( 1 − c x y ) \displaystyle c_{xy}=\frac{1}{1+d_{xy}},d_{xy}=\sqrt{2(1-c_{xy})} cxy=1+dxy1,dxy=2(1cxy)

数据矩阵,对p维变量,n个样本,有 [ v 11 ⋯ v 1 f ⋯ v 1 p ⋮ ⋮ ⋮ ⋮ v i 1 ⋯ v i f ⋯ v i p ⋮ ⋮ ⋮ ⋮ v n 1 ⋯ v n f ⋯ v n p ] \left[ \begin{array}{cccc} v_{11}&\cdots& v_{1f} &\cdots & v_{1p}\\ \vdots & \vdots & \vdots & \vdots \\ v_{i1}&\cdots& v_{if} &\cdots & v_{ip}\\ \vdots & \vdots & \vdots & \vdots \\ v_{n1}&\cdots& v_{nf} &\cdots & v_{np}\\ \end{array} \right] v11vi1vn1v1fvifvnfv1pvipvnp
相似度矩阵/距离矩阵,用于存放n个样本两两之间的相似性或距离,即 [ 0 d ( 1 , 2 ) ⋯ ⋯ d ( 1 , n ) d ( 2 , 1 ) 0 d ( 2 , 3 ) ⋮ d ( 2 , n ) d ( 3 , 1 ) d ( 3 , 2 ) 0 ⋯ d ( 3 , n ) ⋮ ⋮ ⋮ ⋮ ⋮ d ( n , 1 ) d ( n , 2 ) ⋯ ⋯ 0 ] \left[ \begin{array}{cccc} 0& d(1,2)&\cdots&\cdots & d(1,n)\\ d(2,1) &0 &d(2,3) & \vdots & d(2,n)\\ d(3,1)&d(3,2)&0 &\cdots & d(3,n)\\ \vdots & \vdots & \vdots & \vdots & \vdots\\ d(n,1)&d(n,2)&\cdots &\cdots & 0\\ \end{array} \right] 0d(2,1)d(3,1)d(n,1)d(1,2)0d(3,2)d(n,2)d(2,3)0d(1,n)d(2,n)d(3,n)0,其中, d ( i , j ) = d ( j , i ) d(i,j)=d(j,i) d(i,j)=d(j,i),即相似度矩阵是一个对角线元素为0的对称阵。

聚类的种类:

1.基于距离阈值的聚类

对待分类模式样本集采取以最大距离原则选取新的聚类中心,以最小距离原则进行模式归类,与基于划分的聚类有相似之处。

2.基于层次的聚类

包含两种:
(1)合并的层次聚类:是一种自底向上的层次聚类算法,从最底层开始,每次通过合并最相似的个体来形成上一层次中的聚类;
(2)分裂的层次聚类:是一种自顶向下的层次聚类算法,从一个包含全部数据点的聚类开始,然后把根节点分裂为一些子聚类,每个子聚类再递归地继续往下分裂。特点是处理速度很快。主要算法有BIRCH、CURE、CHAMELEON等算法。

3.基于划分的聚类

先确定好聚类的类别数,然后挑选几个点(=类别数)作为初始中心点,在给数据点做迭代重置。但计算量大,适合中小规模的球状簇聚类。主要有k-means、k-medoids、k-modes、k-medians、kernel k-means等算法。

4.基于模糊的聚类

是一种基于模糊集理论的聚类方法,样本以一定的概率属于某个类。例如,**FCM算法(模糊C均值(Fuzzy C-means))**是一种以隶属度来确定每个数据点属于某个聚类程度的算法。优点是对于满足正态分布的数据聚类效果会很好,缺点是不能确保收敛于一个最优解,性能依赖于初始聚类中心。

5.基于网格的聚类

该方法是将数据空间划分为网格单元,将数据对象集映射到网格单元中,并计算每个单元的密度。根据预设的阈值判断每个网格单元是否为高密度单元,由邻近的稠密单元组形成“类”。特点是处理速度很快,通常与数据库中样本数无关,只与把数据空间分为多少个单元有关。 主要算法有STING、CLIQUE、WAVE-CLUSTER等。

6.基于密度的聚类

首先,定义两个参数:1.圈的最大半径;2.圈里最少应容纳的点的数量。只要邻近区域的密度超过某个阈值,就继续聚类;一个圈里的,就是一个类。特点是能克服基于距离的算法只能发现“类圆形”的聚类的缺点,对噪声数据的处理比较好。主要算法有DBSCAN、OPTICS、DENCLUE等。

7.基于模型的聚类

为每簇假定了一个模型,寻找数据对给定模型的最佳拟合。主要有基于概率模型的方法(如高斯混合模型GMM )和基于神经网络模型(如自组织映射神经网络模型 SOM)的方法。
优点:是对“类”的划分是以概率形式表现,每一类的特征也可以用参数来表达。
缺点:执行效率不高,特别是分布数量很多并且数据量很少的时候。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值