聚类方法

本文深入探讨了数据挖掘中的聚类概念,包括相似度度量如闵可夫斯基距离、马氏距离、相关系数和夹角余弦。介绍了类的定义和特征,如均值、直径和散布矩阵。接着阐述了层次聚类的聚合与分裂方法,以及k均值聚类算法的原理、损失函数和迭代过程。内容涵盖了k均值聚类的优缺点及其应用。
摘要由CSDN通过智能技术生成

1.基本概念
1.1 相似度或距离
聚类的核心概念是相似度(similarity)或距离(distance),有多种相似度或距离的定义,根据问题特性选择不同相似度。
1.1.1 闵可夫斯基距离
闵可夫斯基距离越大相似度越小,距离越小相似度越大
d i j = ( ∑ 1 m ∣ x k i − x k j ∣ p ) 1 p d_{ij}=(\sum^m_1|x_{ki}-x_{kj}|^p)^\frac{1}{p} dij=(1mxkixkjp)p1
当p=1时,称为曼哈顿距离
当p=2时,称为欧氏距离
当p=∞时称为切比雪夫距离,取各个坐标数值差的最大值

1.1.2 马哈拉诺比斯距离
简称马氏距离,考虑各个分量(特征)之间的相关性并于各个分量的尺度无关。距离越大相似性越小,距离越小相似度越大。
d i j = [ ( x i − x j ) T S − 1 ( x i − x j ) ] 1 2 d_{ij}=[(x_i-x_j)^TS^{-1}(x_i-x_j)]^\frac{1}{2} dij=[(xixj)TS1(xixj)]21
x i = ( x 1 i , x 2 i , . . . , x m i ) T x_i=(x_{1i},x_{2i},...,x_{mi})^T xi=(x1i,x2i,...,xmi)T,
x j = ( x 1 j , x 2 j , . . . , x m j ) T x_j=(x_{1j},x_{2j},...,x_{mj})^T xj=(x1j,x2j,...,xmj)T
S为协方差矩阵,马氏距离可以看为欧氏距离的推广

1.1.3 样本系数
相关系数绝对值越接近1,样本越相似,越接近于0,相似度越低
r i j = ∑ k = 1 m ( x k i − E ( x i ) ) ( x k j − E ( x j ) ) [ ∑ k = 1 m ( x k i − E ( x i ) ) 2 ∑ k = 1 m ( x k j − E ( x j ) ) 2 ] 1 2 r_{ij}=\frac{\sum^m_{k=1}{(x_{ki}-E(x_i))(x_{kj}-E(x_j))}}{[\sum^m_{k=1}{(x_{ki}-E(x_i))^2\sum^m_{k=1}(x_{kj}-E(x_j))^2}]^\frac{1}{2}} rij=[k=1m(xkiE(xi))2k=1m(xkjE(xj))2]21k=1m(xkiE(xi))(xkjE(xj))

1.1.4 夹角余弦
样本之间的相似度也可以用夹角余弦(cosine)来表示,夹角余弦越接近于1,表示样本越相似;越接近于0,表示样本越不相似。
s i j = ∑ k = 1 m x k i x k j [ ∑ k = 1 m x k i 2 ∑ k = 1 m x k j 2 ] 1 2 s_{ij}=\frac{\sum^m_{k=1}x_{ki}x_{kj}}{[\sum^m_{k=1}x^2_{ki}\sum^m_{k=1}x^2_{kj}]^\frac{1}{2}} sij=[k=1mxki2k=1mxkj2]21k=1mxkixkj

1.2 类或蔟
通过聚类得到的类或蔟,本质是样本的子集,分类后类之间存在交集为软聚类,交集为空集为硬聚类
使用 G G G表示类,用 x i , x j x_i,x_j xi,xj表示类中的样本,用 n G n_G nG表示 G G G中样本个数, d i j d_{ij} dij表示两样本间的距离。
常见类定义:

  • d i j ≤ T , T d_{ij}\le{T},T dijT,T为给定正数
  • 集合G中任意两样本满足条件
  • 集合中任一点必定存在另一点满足条件
  • 对于任意一个类G,满足 1 n G − 1 ∑ d i j ≤ T \frac{1}{n_G-1}\sum{d_{ij}}\le{T} nG11dijT
  • 对给定正数T, V,集合G中任意两个样本的距离满足 1 n G ( n G − 1 ) ∑ ∑ d i j ≤ T , d i j ≤ V \frac{1}{n_G(n_G-1)}\sum\sum{d_{ij}}\le{T}, d_{ij}\le{V} nG(nG1)1dijT,dijV

1.3 类常用特征
1.3.1 类的均值,又称为类的中心
E ( x i ) E(x_i) E(xi)
1.3.2 类的直径 D G D_G DG
类的直径定义为类中任意两个样本之间的最大距离
D G = m a x d i j D_G=max { } d_{ij} DG=maxdij
1.3.3 类的样本散布矩阵 A G A_G AG与样本协方差矩阵 S G S_G SG

  • 样本散布矩阵
  • A G = ∑ i = 1 n G ( x i − E ( x i ) ) ( x i − E ( x i ) ) T A_G=\sum_{i=1}^{n_G}{(x_i-E(x_i))(x_i-E(x_i))^T} AG=i=1nG(xiE(xi))(xiE(xi))T
  • 样本协方差矩阵
  • S G = 1 m − 1 A G S_G=\frac{1}{m-1}A_G SG=m11AG m为样本维数

1.4 类与类之间的距离
类之间的距离也称作连接
G p 类 包 含 n p 个 样 本 , G q 包 含 n p 个 样 本 , 分 别 用 x p ‾ , x q ‾ 表 示 均 值 , 即 类 中 心 G_p类包含n_p个样本,G_q包含n_p个样本,分别用\overline{x_p},\overline{x_q}表示均值,即类中心 GpnpGqnpxp,xq

  • 最短距离或单连接
  • D p q = m i n { d i j ∣ x i ∈ G p , x j ∈ G q } D_{pq}=min\{d_{ij}|x_i\in G_p,x_j\in G_q\} Dpq=min{dijxiGp,xjGq}
  • 最长距离或完全连接
  • D p q = m a x { d i j ∣ x i ∈ G p , x j ∈ G q } D_{pq}=max\{d_{ij}|x_i\in G_p,x_j\in G_q\} Dpq=max{dijxiGp,xjGq}
  • 中心距离
  • 即中心点之间的距离
  • 平均距离
  • D p q = 1 n p ( n q ) ∑ ∑ d i j D_{pq}=\frac{1}{n_p(n_q)}\sum\sum{d_{ij}} Dpq=np(nq)1dij

2. 层次聚类
分为聚合(自下而上聚类)及分裂(自上而下聚类)两种方法。
聚合即讲每个样本单独作为一个类,通过将相距最近两类合并建立新类,直到满足停止条件。
分裂聚类开始将所有样本作为一个类,通过将相距最远样本分为两个新类,直到满足停止条件。

3. k均值聚类
k均值聚类基于样本集合划分的聚类算法,k均值聚类将样本集合划分为k个子集,构成k个类,将样本分入类中使得所属类的中心的距离最小。k均值聚类属于硬聚类。

3.1 损失函数
定义样本与其所属类的中心之间的距离的总和为损失函数(欧氏距离平方)

W ( C ) = ∑ l = 1 k ∑ C ( i ) = l ∣ ∣ x i − x ‾ l ∣ ∣ 2 W(C)=\sum^k_{l=1}\sum_{C(i)=l}||x_i-\overline{x}_l||^2 W(C)=l=1kC(i)=lxixl2
x ‾ l \overline{x}_l xl是第l个类的均值或者中心。

即求损失函数最小,分法有极多种,因此最优解求解为np困难问题,使用迭代法求解。

3.2 算法

  • 输入:n个样本集合X
  • 输出:聚类结果C
  • 初始化:令t=0,随机选择k个样本点作为初始聚类中心
  • 对样本聚类,对固定的类中心点 m t = ( m 1 t , . . . m l t , . . . , m k t ) m^t=(m_1^t,...m_l^t,...,m_k^t) mt=(m1t,...mlt,...,mkt),即每个类的中心,计算每个样本到各类距离,选择最近的中心的类中聚类
  • 重新计算类中心,对聚类结果 C t C^t Ct计算当前各类中样本均值,作为新的类中心
  • 迭代直到收敛或符合停止条件
  • 否则t=t+1,重复

3.3 算法特性

  • 总体特点:基于划分的聚类方法,类别数事先指定,以欧式距离平方和表示样本间距离,以中心或样本均值表示类别,以样本到所属类中心距离和为优化目标,得到类别是平坦,非层次化的,迭代算法,不能保证全局最优
  • 收敛性:k均值聚类属于启发式算法,初始中心选择会影响聚类结果
  • 初始类选择:可以用层次聚类对样本进行聚类,得到k类停止,选择每个类中离中心点最近的点作为中心点
  • 类别数选择:尝试使用不同k值聚类,一般聚类结果质量可以使用类的平均直径衡量。一般而言类别数增加到某个值,平均直径不变,此时k值最优,实验时可以使用二分法快速找到最优值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值