统计学习方法-聚类方法-读书笔记

统计学习方法-聚类方法-读书笔记

    • 1、前言
    • 2、聚类的基本概念
      • 2.1相似度或距离
      • 2.2类或簇
      • 2.3类与类之间的距离
    • 3、层次聚类
    • 4、K均值聚类

1、前言

聚类事针对给定的样本,依据他们的特征和相似度或距离,将其归并到若干个类或簇的数据分析问题。聚类属于无监督学习

2、聚类的基本概念

2.1相似度或距离

聚类的核心概念是相似度或距离。
闵可夫斯基距离
距离越大,相似度越小,距离越小,相似度越大。
d i j = ( ∑ k = 1 m ∣ x k i − x k j ∣ p ) 1 / p d_{ij}=(\sum_{k=1}^m{|x_{ki}-x_{kj}|^p})^{1/p} dij=(k=1mxkixkjp)1/p
当p=2时,称作欧氏距离
d i j = ( ∑ k = 1 m ∣ x k i − x k j ∣ 2 ) 1 / 2 d_{ij}=(\sum_{k=1}^m{|x_{ki}-x_{kj}|^2})^{1/2} dij=(k=1mxkixkj2)1/2
当p=1时,称作曼哈顿距离
d i j = ( ∑ k = 1 m ∣ x k i − x k j ∣ ) d_{ij}=(\sum_{k=1}^m{|x_{ki}-x_{kj}|}) dij=(k=1mxkixkj)
马哈拉诺比斯距离
简称马氏距离,考虑各个分量之间的相关性并与各个分量的尺度无关。距离越大,相似度越小,距离越小,相似度越大。
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)]^{1/2} dij=[(xixj)TS1(xixj)]1/2
当S为单位矩阵时,马氏距离就是欧氏距离
相关系数
相关系数的绝对值越接近于1,表示样本越相似;越接近于0,表示样本越不相似。
r i j = ∑ k = 1 m ( x k i − x i ) ( x k j − x j ) [ ∑ k = 1 m ( x k i − x i ) 2 ∑ k = 1 m ( x k j − x j ) 2 ] 1 / 2 r_{ij}=\frac{\sum_{k=1}^m{(x_{ki}-x_i)(x_{kj}-x_j)}}{[\sum_{k=1}^m(x_{ki}-x_i)^2\sum_{k=1}^m(x_{kj}-x_j)^2]^{1/2}} rij=[k=1m(xkixi)2k=1m(xkjxj)2]1/2k=1m(xkixi)(xkjxj)
其中
x i = 1 m ∑ k = 1 m x k i , x j = 1 m ∑ k = 1 m x k j x_i=\frac{1}{m}\sum_{k=1}^m{x_{ki}},x_j=\frac{1}{m}\sum_{k=1}^m{x_{kj}} xi=m1k=1mxki,xj=m1k=1mxkj
夹角余弦
夹角余弦越接近于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_{k=1}^m{x_{ki}x_{kj}}}{[\sum_{k=1}^m{x_{ki}^2\sum_{k=1}^m{x_{kj}^2}}]^{1/2}} sij=[k=1mxki2k=1mxkj2]1/2k=1mxkixkj
不同相似度度量得到的结果并不一定一致。

2.2类或簇

通过聚类得到的类或簇,本质是样本的子集。如果一个聚类方法假定一个样本只能属于一个类,或类的交集为空集,那么该方法称为硬聚类方法。否则称为软聚类。
设T为给定的正数,若集合G中任意两个样本xi,xj有 d i j < = T d_{ij}<=T dij<=T则称G为一个类或簇。
类的常用特征有下面三种
类的均值xG,又称为类的中心
x G = 1 n G ∑ i = 1 n G x i x_G=\frac{1}{n_G}\sum_{i=1}^{n_G}{x_i} xG=nG1i=1nGxi
分母是类的样本个数。
类的直径DG
类的直径是类中任意两个样本之间的最大距离
D G = m a x d i j D_G=maxd_{ij} DG=maxdij
③类的样本散布矩阵AG,样本协方差矩阵SG
A G = ∑ i = 1 n G ( x i − x G ) ( x i − x G ) T A_G=\sum_{i=1}^{n_G}{(x_i-x_G)(x_i-x_G)^T} AG=i=1nG(xixG)(xixG)T
S G = 1 m − 1 A G S_G=\frac{1}{m-1}A_G SG=m11AG
其中m是样本的维数。

2.3类与类之间的距离

①最短距离或者单连接
定义为两类样本之间的最短距离
②最长距离或完全连接
定义为两类样本间最长的距离
③中心距离
定义为两类中心点之间的距离
④平均距离
定义为两类任意两个样本之间的距离的平均值

3、层次聚类

层次聚类有聚合或自下而上聚类、分裂或自上而下聚类两种方法。
层次聚类属于硬聚类。
预先确定三要素:
(1)距离或相似度
(2)合并规则
(3)停止条件
算法:
输入:n个样本组成的样本集合及样本之间的距离
输出:对样本集合的一个层次化聚类
(1)计算n个样本两两之间的欧氏距离记作矩阵D
(2)构造n个类,每个类包含一个样本
(3)合并类间距离最小的两个类,其中最短距离为类间距离,构建一个新类。
(4)计算新类与当前类之间的距离。若类为1,终止计算,否则回到3
时间复杂度为O(n^3m),m是样本维数,n是样本个数。
统计学习方法-聚类方法-读书笔记_第1张图片

4、K均值聚类

K均值聚类是基于样本集合划分的聚类算法。属于硬聚类。
模型:K均值聚类的模型是一个从样本到类的函数。
策略:通过损失函数最小化划分。
采用欧氏距离平方作为样本之间的距离,定义样本与所属类中心之间的距离总和为损失函数
W ( C ) = ∑ l = 1 k ∑ C ( i ) = l ∣ ∣ x i − x l ∣ ∣ 2 W(C)=\sum_{l=1}^k\sum_{C(i)=l}{||x_i-x_l||^2} W(C)=l=1kC(i)=lxixl2
算法
输入:n个样本集合X
输出:样本集合聚类C
(1)初始化。随机选择k个样本点作为初始聚类中心。
(2)对样本进行聚类,计算每个样本到类中心距离,指派到与其距离最近的中心类中
(3)计算新的类中心
(4)若收敛或者符合条件,停止。否则返回(2)
算法特性
收敛性:不能保证收敛到全局最优,出市中心的选择会直接影响聚类结果。

你可能感兴趣的:(学习笔记)