数模笔记5-聚类分析

聚类分析

聚类:

  • 聚类是一个将数据集划分为若干组 (class)或类 (cluster)的过程,并使得同一个组内的数据对象具有较高的相似度;而不同组中的数据对象是不相似的。
  • 相似或不相似是基于数据描述属性的取值来确定的,通常利用各数据对象间的距离来进行表示。
  • 聚类分析尤其适合用来探讨样本间的相互关联关系从而对一个样本结构做一个初步的评价。

聚类与分类的区别:

  • 聚类是一 种无(教师) 监督的学习方法。与分类不同,其不依赖于事先确定的数据类别,以及标有数据类别的学习训练样本集合。
  • 因此,聚类是观察式学习,而不是示例式学习。

应用:

  • 市场分析:帮助市场分析人员从客户基本库中发现不同的客户群,并用购买模式刻画不同的客户群的特征;
  • 万维网:对WEB日志的数据进行聚类,以发现相同的用户访问模式;
  • 图像处理;
  • 模式识别;
  • 孤立点检测等。

什么是好的聚类:

  • 一个好的聚类方法将产生以下的高聚类:
    • 最大化类内的相似性;
    • 最小化类间的相似性。
  • 聚类结果的质量依靠所使用度量的相似性和它的执行。
  • 聚类方法的质量也可以用它发现一些或所有隐含模式的能力来度量。

聚类分析有两种:一种是对样品的分类,称为Q型(Q型聚类常用的统计量是距离),另一种是对变量 (指标)的分类,称为R型。
R型聚类分析的主要作用:

  1. 不但可以了解个别变量之间的亲疏程度,而且可以了解各个变量组合之间的亲疏程度。
  2. 根据变量的分类结果以及它们之间的关系,可以选择主要变量进行Q型聚类分析或回归分析。 (R2为选择标准)

Q型聚类分析的主要作用:

  1. 可以综合利用多个变量的信息对样本进行分析。
  2. 分类结果直观,聚类谱系图清楚地表现数值分类结果。
  3. 聚类分析所得到的结果比传统分类方法更细致、全面、合理。

样品间的相似度量——距离

  • 常用距离的定义
    设有 n 个样品的 p 元观测数据 : x i = ( x i 1 , x i 2 , . . . , x i p ) T , i = 1 , 2 , . . . , n 这时,每个样品可看成 p 元空间的一个点,每两个点之间的距离记为 d ( x i , x j ) 满足条件: d ( x i , x j ) > = 0 , 且 d ( x i , x j ) = 0 当且仅当 x i = x j d ( x i , x j ) = d ( x j , x i ) d ( x i , x j ) < = d ( x i , x k ) + d ( x k , x j ) 1. 欧氏距离: d ( x i , x j ) = [ ∑ k = 1 p ( x i k − x j k ) 2 ] 1 / 2 p d i s t ( x ) 2. 绝对距离: d ( x i , x j ) = ∑ k = 1 p ∣ x i k − x j k ∣ p d i s t ( x , ′ c i t y b l o c k ′ ) 3. 明氏距离: d ( x i , x j ) = [ ∑ k = 1 p ∣ x i k − x j k ∣ m ] 1 / m p d i s t ( x , ′ m i n k o w s k i ′ , r ) 4. 切式距离: d ( x i , x j ) = m a x 1 < = k < = p ∣ x i k − x j k ∣ m a x ( a b s ( x i − x j ) ) 5. 方差加权距离: d ( x i , x j ) = [ ∑ k = 1 p ( x i k − x j k ) 2 / s k 2 ] 1 / 2 将原数据标准化以后的欧氏距离 6. 马氏距离: d ( x i , x j ) = ( x i − x j ) T ∑ − 1 ( x i − x j ) p i d s t ( x , ′ m a h a l ′ ) 式中 ∑ − 1 为向量 x 和 y 的协方差矩阵的逆矩阵 7. 兰氏距离: d ( x i , x j ) = 1 p ∑ k = 1 p ∣ x i k − x j k ∣ x i k + x j k 8. 杰氏距离: d ( x i , x j ) = [ ∑ k = 1 p ( x i k − x j k ) 2 ] 1 / 2 设有n个样品的p元观测数据: \\ x_i=(x_{i1},x_{i2},...,x_{ip})^T,i=1,2,...,n \\ 这时,每个样品可看成p元空间的一个点,每两个点之间的距离记为d(x_i,x_j)满足条件: \\ d(x_i,x_j)>=0,且d(x_i,x_j)=0当且仅当x_i=x_j \\ d(x_i,x_j)=d(x_j,x_i) \\ d(x_i,x_j)<=d(x_i,x_k)+d(x_k,x_j) \\ 1.欧氏距离:d(x_i,x_j)=[\sum_{k=1}^{p}(x_{ik}-x_{jk})^2]^{1/2}\quad pdist(x) \\ 2.绝对距离:d(x_i,x_j)=\sum_{k=1}^p|x_{ik}-x_{jk}|\quad pdist(x,'cityblock') \\ 3.明氏距离:d(x_i,x_j)=[\sum_{k=1}^{p}|x_{ik}-x_{jk}|^m]^{1/m}\quad pdist(x,'minkowski',r)\\ 4.切式距离:d(x_i,x_j)=max_{1<=k<=p}|x_{ik}-x_{jk}|\quad max(abs(x_i-x_j))\\ 5.方差加权距离:d(x_i,x_j)=[\sum_{k=1}^{p}(x_{ik}-x_{jk})^2/s_k^2]^{1/2}\quad 将原数据标准化以后的欧氏距离\\ 6.马氏距离:d(x_i,x_j)=\sqrt{(x_i-x_j)^T\sum^{-1}{(x_i-x_j)}}\quad pidst(x,'mahal')\\ 式中\sum^{-1}为向量x和y的协方差矩阵的逆矩阵\\ 7.兰氏距离:d(x_i,x_j)=\frac{1}{p}\sum_{k=1}^{p}\frac{|x_{ik}-x_{jk}|}{x_{ik}+x_{jk}}\\ 8.杰氏距离:d(x_i,x_j)=[\sum_{k=1}^{p}(\sqrt{x_{ik}}-\sqrt{x_{jk}})^2]^{1/2} 设有n个样品的p元观测数据:xi=(xi1,xi2,...,xip)T,i=1,2,...,n这时,每个样品可看成p元空间的一个点,每两个点之间的距离记为d(xi,xj)满足条件:d(xi,xj)>=0,d(xi,xj)=0当且仅当xi=xjd(xi,xj)=d(xj,xi)d(xi,xj)<=d(xi,xk)+d(xk,xj)1.欧氏距离:d(xi,xj)=[k=1p(xikxjk)2]1/2pdist(x)2.绝对距离:d(xi,xj)=k=1pxikxjkpdist(x,cityblock)3.明氏距离:d(xi,xj)=[k=1pxikxjkm]1/mpdist(x,minkowski,r)4.切式距离:d(xi,xj)=max1<=k<=pxikxjkmax(abs(xixj))5.方差加权距离:d(xi,xj)=[k=1p(xikxjk)2/sk2]1/2将原数据标准化以后的欧氏距离6.马氏距离:d(xi,xj)=(xixj)T1(xixj) pidst(x,mahal)式中1为向量xy的协方差矩阵的逆矩阵7.兰氏距离:d(xi,xj)=p1k=1pxik+xjkxikxjk8.杰氏距离:d(xi,xj)=[k=1p(xik xjk )2]1/2

变量间的相似度量——相似系数

当对p个指标变量进行聚类时,用相似系数来衡量变量之间的相似程度(关联度),若用Cαβ表示变量之间的相似系数,则应满足:
∣ C α β ∣ < = 1 , 且 C α α = 1 C α β = ± 1 , 当且仅当 α = k β , k ≠ 0 C α β = C β α |C_{αβ}|<=1,且C_{αα}=1\\ C_{αβ}=\pm1,当且仅当α=kβ,k\neq0\\ C_{αβ}=C_{βα} Cαβ<=1,Cαα=1Cαβ=±1,当且仅当α=kβk=0Cαβ=Cβα
相似系数中最常用的是相关系数与夹角余弦。

  • 夹角余弦:
    C i j ( 1 ) = c o s α i j = ∑ t = 1 n x t i x t j ∑ t = 1 n x t i 2 ∑ t = 1 n x t j 2 C_{ij}(1)=cosα_{ij}=\frac{\sum_{t=1}^{n}x_{ti}x_{tj}}{\sqrt{\sum_{t=1}^{n}x_{ti}^2}\sqrt{\sum_{t=1}^{n}x_{tj}^2}} Cij(1)=cosαij=t=1nxti2 t=1nxtj2 t=1nxtixtj

  • 相关系数:
    C i j ( 2 ) = ∑ t = 1 n ( x t i − x i ‾ ) ( x t j − x j ‾ ) ∑ t = 1 n ( x t i − x i ‾ ) 2 ∑ t = 1 n ( x t j − x j ‾ ) 2 C_{ij}(2)=\frac{\sum_{t=1}^{n}(x_{ti}-\overline{x_i})(x_{tj}-\overline{x_j})}{\sqrt{\sum_{t=1}^{n}(x_{ti}-\overline{x_i})^2}\sqrt{\sum_{t=1}^{n}(x_{tj}-\overline{x_j})^2}} Cij(2)=t=1n(xtixi)2 t=1n(xtjxj)2 t=1n(xtixi)(xtjxj)

类间距离

设 d i j 表示两个样品 x i , x j 之间的距离, G p , G q 分别表示两个类别,各自含有 n P , n q 个样品 ( 1 ) 最短距离 D p q = min ⁡ i ∈ G p , j ∈ G q d i j 即用两类中样品之间的距离最短者作为两类间距离 ( 2 ) 最长距离 D p q = max ⁡ i ∈ G p , j ∈ G q d i j 用两类中样品之间的距离最长者作为两类间距离 ( 3 ) 类平均距离 D p q = 1 n p n q ∑ i ∈ G p ∑ j ∈ G q d i j 即用两类中所有两两样品之间距离的平均作为两类间距离 ( 4 ) 重心距离 D p q = d ( x p ‾ , x q ‾ ) = ( x p ‾ − x q ‾ ) T ( x p ‾ − x q ‾ ) 其中 x p ‾ , x q ‾ 分别是 G p , G q 的重心,这是用两类的重心之间的欧氏距离作为两类间的距离 ( 5 ) 离差平方和距离( w a r d ) D p q 2 = n p n q n p + n q ( x p ‾ − x q ‾ ) T ( x p ‾ − x q ‾ ) 显然,离差平方和距离与重心距离的平方成正比。 设d_{ij}表示两个样品x_i,x_j之间的距离,G_p,G_q分别表示两个类别,各自含有n_P,n_q个样品\\ (1)最短距离D_{pq}=\min\limits_{i\in{G_p},j\in{G_q}}d_{ij}\\ 即用两类中样品之间的距离最短者作为两类间距离\\ (2)最长距离D_{pq}=\max\limits_{i\in{G_p},j\in{G_q}}d_{ij}\\ 用两类中样品之间的距离最长者作为两类间距离\\ (3)类平均距离D_{pq}=\frac{1}{n_pn_q}\sum_{i\in{G_p}}\sum_{j\in{G_q}}d_{ij}\\ 即用两类中所有两两样品之间距离的平均作为两类间距离\\ (4)重心距离D_{pq}=d(\overline{x_p},\overline{x_q})=\sqrt{(\overline{x_p}-\overline{x_q})^T(\overline{x_p}-\overline{x_q})}\\ 其中\overline{x_p},\overline{x_q}分别是G_p,G_q的重心,这是用两类的重心之间的欧氏距离作为两类间的距离\\ (5)离差平方和距离(ward)D_{pq}^2=\frac{n_pn_q}{n_p+n_q}(\overline{x_p}-\overline{x_q})^T(\overline{x_p}-\overline{x_q})\\ 显然,离差平方和距离与重心距离的平方成正比。 dij表示两个样品xi,xj之间的距离,Gp,Gq分别表示两个类别,各自含有nP,nq个样品(1)最短距离Dpq=iGp,jGqmindij即用两类中样品之间的距离最短者作为两类间距离(2)最长距离Dpq=iGp,jGqmaxdij用两类中样品之间的距离最长者作为两类间距离(3)类平均距离Dpq=npnq1iGpjGqdij即用两类中所有两两样品之间距离的平均作为两类间距离(4)重心距离Dpq=d(xp,xq)=(xpxq)T(xpxq) 其中xp,xq分别是Gp,Gq的重心,这是用两类的重心之间的欧氏距离作为两类间的距离(5)离差平方和距离(wardDpq2=np+nqnpnq(xpxq)T(xpxq)显然,离差平方和距离与重心距离的平方成正比。

谱系聚类法的步骤

  1. 选择样本间距离的定义及类间距离的定义;
  2. 计算n个样本两两之间的距离,得到距离矩阵D=(dij);
  3. 构造个类,每类只含有一个样本;
  4. 合并符合类间距离定义要求的两类为一个新类;
  5. 计算新类与当前各类的距离。若类的个数为1,则转到步骤6,否则回到步骤4;
  6. 画出聚类图;
  7. 决定类的个数和类。

K-平均聚类算法

  • K-平均 (k-means)算法以k为参数,把n个对象分为k个簇,以使簇内对象具有较高的相似度,而簇间的相似度较低。
  • 相似度的计算根据一个簇中对象的平均值(被看作簇的重心)来进行。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m5OtBqsd-1673690954188)(C:\Users\86137\AppData\Roaming\Typora\typora-user-images\image-20230114173131215.png)]

算法的基本思想:

  • 首先,随机的选择k个对象,每个对象初始的代表了一个簇的平均值;
  • 对剩余的每个对象,根据其与各个簇中心的距离将它赋给最近的簇;
  • 然后重新计算每个簇的平均值;
  • 这个过程不断重复,直到准则函数收敛。

通常选择均方差作为收敛准则函数:

在这里插入图片描述

其中E为数据库中所有对象的均方差之和;p为代表对象的空间中的一个点;mi为聚类Ci的均值(p和mi均是多维的)。

这个准则试图使得生成的结果尽可能地紧凑和独立:当结果簇是密集的,且簇与簇之间区别明显时,算法的效果较好。

算法的特点:

  • 只适用于聚类均值有意义的场合,在某些应用中,如:数据集中包含符号属性时,直接应用k-means算法就有问题;
  • 用户必须事先指定k的个数
  • 噪声和孤立点数据敏感,少量的该类数据能够对聚类均值起到很大的影响。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L、fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值