数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)

文章目录

  • 前言
  • 概述:层次聚类与非层次聚类
  • 如何测量样本点之间的距离
  • 如何测量样本相似度
  • 层次聚类
    • 最短距离法
      • 步骤图解
    • 类平均法
      • 步骤图解
  • 非层次聚类:K平均法算法图解
  • 自组织映射SOM (self-organizing map)
  • 参考文献

前言

情報分析・管理論第5回〜第7回の復習
这篇博文是京都大学情报学研究科2021年后期,情报分析・管理论5~7回的总结的第二部分。

第5回:关联规则学习(association rule learning),朴素贝叶斯分类器(naive bayes classifier)

本文
第6回:层次聚类(hierarchical clustering),非层次聚类(non-hierarchical clustering) ,SOM (self-organizing map)

第7回:决策树(decision tree),支持向量机(support vector machine) (待更新)



概述:层次聚类与非层次聚类

层次聚类(hierarchical clustering):先分出小类,再将小类合并到更大的类里,直到所有的数据点可以归为一类。
常见方法有最短距离法,类平均法等
数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第1张图片

非层次聚类(non-hierarchical clustering):基于样本距离,将离得近的归为一类。
常见方法有K平均法
数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第2张图片

通过以上的讨论我们发现,聚类的前提是计算样本点之间的距离相似度



如何测量样本点之间的距离

我们有两个点 x , y ∈ R n \textbf{x},\textbf{y} \in R^n x,yRn

  • 欧拉距离(Euclid distance)
    ( ∑ i = 1 n ∣ x i − y i ∣ 2 ) 1 / 2 (\sum_{i=1}^{n}|x_i-y_i|^2)^{1/2} (i=1nxiyi2)1/2
  • 闵可夫斯基距离(Minkowski distance)
    ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 / p ,   p ∈ K (\sum_{i=1}^{n}|x_i-y_i|^p)^{1/p},\space p \in K (i=1nxiyip)1/p, pK
  • 曼哈顿距离(Manhattan distance)
    ∑ i = 1 n ∣ x i − y i ∣ \sum_{i=1}^{n}|x_i-y_i| i=1nxiyi
  • 堪培拉距离(Canberra distance)
    ∑ i = 1 n ∣ x i − y i ∣ ∣ x i ∣ + ∣ y i ∣ \sum_{i=1}^{n}\frac{|x_i-y_i|}{|x_i|+|y_i|} i=1nxi+yixiyi

如何测量样本相似度

  • 余弦相似性
    c o s ( θ ) = x ⋅ y ∣ ∣ x ∣ ∣ ⋅ ∣ ∣ y ∣ ∣ = ∑ x i y i ∑ x i 2 ∑ y i 2 cos(\theta)=\frac{\textbf x\cdot \textbf y}{||\textbf x||\cdot||\textbf y||}=\frac{\sum x_iy_i}{\sqrt{\sum x_i^2} \sqrt{\sum y_i^2}} cos(θ)=xyxy=xi2 yi2 xiyi
  • Pearson相关系数
    r = ∑ ( x i − µ x ) ( y i − µ y ) ∑ ( x i − µ x ) 2 ∑ ( x i − µ y ) 2 r=\frac{\sum (x_i-µ_x)(y_i-µ_y)}{\sqrt{\sum(x_i-µ_x)^2}\sqrt{\sum(x_i-µ_y)^2}} r=(xiµx)2 (xiµy)2 (xiµx)(yiµy)
    µ x µ_x µx µ y µ_y µy分别是 x , y x,y x,y的样本均值
  • Jaccard系数
    对于集合A和B的相似度
    J ( A , B ) = ∣ A ⋂ B ∣ ∣ A ⋃ B ∣ J(A,B)=\frac{|A\bigcap B|}{|A \bigcup B|} J(A,B)=ABAB
    |A|是集合A的元素个数

层次聚类

最短距离法

步骤图解

  1. 根据需求选取一种计算方式,计算样本量的距离(相似度)
  2. 找出离得最近的点将其分为一组,对剩下的点进行相同处理
  3. C1与C2的距离为 d 12 = 6 d_{12}=6 d12=6

数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第3张图片

  1. d 12 = 9 , d 13 = 3 d_{12}=9, d_{13}=3 d12=9,d13=3 ,因此将C1与C3分在一类变成C4
  2. C2与C4的距离 d 24 = m i n { C 12 , C 23 } = 5 d_{24}=min\{C_{12},C_{23}\}=5 d24=min{C12,C23}=5
    数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第4张图片

类平均法

步骤图解

  1. 第一步依然是算出样本点之间的距离
  2. 将离得最近的点划为一类
  3. 再计算类与类之间的距离,与“最短距离法”不同的地方在于,这里的距离不再是以点为基础,而是选取的组与组之间的平均距离,这里 d 12 = 8.25 d_{12}=\frac{}{}8.25 d12=8.25而非之前的6

数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第5张图片

  1. 将离得最近的类分在一起
  2. C2与C4之间的距离是加权平均, d 24 = ∣ C 1 ∣ ⋅ d 12 + ∣ C 3 ∣ ⋅ d 23 ∣ C 1 ∣ + ∣ C 3 ∣ = 2 ⋅ 9 + 2 ⋅ 5 2 + 2 = 7 d_{24}=\frac{|C1| \cdot d_{12}+|C3|\cdot d_{23}}{|C1|+|C3|}=\frac{2 \cdot 9+2\cdot5}{2+2}=7 d24=C1+C3C1d12+C3d23=2+229+25=7
    数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第6张图片


非层次聚类:K平均法算法图解

K平均法(K-means)的算法步骤:

  1. 咱们的目标是把数据分成K类,为方便图示,设K=3
  2. 从数据中随机选择3个点 A 1 ( 1 ) , A 2 ( 1 ) , A 3 ( 1 ) A^{(1)}_1,A^{(1)}_2,A^{(1)}_3 A1(1),A2(1),A3(1)

数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第7张图片

  1. 算出其余每个点离这三个点的距离,假设点a里 A 1 ( 1 ) A^{(1)}_1 A1(1)更近,则将a归位 A 1 ( 1 ) A^{(1)}_1 A1(1)

数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第8张图片

  1. 在这三类 A i ( 1 ) , i = 1 , 2 , 3 A^{(1)}_i, i=1,2,3 Ai(1),i=1,2,3内部,算出质心,记为 A 1 ( 2 ) , A 2 ( 2 ) , A 3 ( 2 ) A^{(2)}_1,A^{(2)}_2,A^{(2)}_3 A1(2),A2(2),A3(2)
    数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第9张图片
  2. A i ( 1 ) A^{(1)}_i Ai(1) A i ( 2 ) , i = 1 , 2 , 3 A^{(2)}_i, i=1,2,3 Ai(2),i=1,2,3的距离 d d d小于某个给定的阈值,则认为我们已到达期望的结果
    否则,重复步骤3,4

数据挖掘|层次聚类,非层次聚类 ,SOM |样本距离,样本相似度 |情报分析管理论5~7回总结(二)_第10张图片



自组织映射SOM (self-organizing map)

SOM算法 [ 1 ] ^{[1]} [1]:
假设我们有N个样本点,每个样本 x i ∈ R m , i = 1 , 2 , . . . , n x_i \in \mathbb{R}^m,i=1,2,...,n xiRm,i=1,2,...,n

  1. 初始化: 随机生成K个向量 v i ∈ R m v_i\in \mathbb{R}^m viRm

  2. 在第t次迭代里,随机选取一个样本 x ( t ) x^{(t)} x(t),基于欧拉距离找出离其最近的向量,设为 v B M U ( t ) v_{BMU}^{(t)} vBMU(t),我们称这个向量为BMU(best matching unit)

  3. v B M U v_{BMU} vBMU出发更新周围的其他向量,更新规则如下
    v B M U v_{BMU} vBMU得到的奖励最高,其他离 v B M U v_{BMU} vBMU越近的向量,"奖励"越多,离得远的向量,"奖励"越少
    v k ( t + 1 ) ← v k ( t ) + β ( t ) ( x ( t ) − v k ( t ) ) , k = 1 , 2 , . . , K   β ( t ) = η ( t ) e − D ( t ) 2 / 2 σ ( t ) ,   η ( t ) = η 0 e − t / τ η ,   D ( t ) = ∣ ∣ v k ( t ) − v B M U ( t ) ∣ ∣ 2 ,   σ ( t ) = σ 0 e − t / τ σ v_{k}^{(t+1)} \leftarrow v_k^{(t)}+ \beta^{(t)} (x^{(t)}-v_k^{(t)}) ,k=1,2,..,K\\ \space \\ \beta^{(t)}=\eta^{(t)}e^{-{D^{(t)}}^2/2\sigma^{(t)}},\\\space\\ \eta(t)=\eta_0e^{-t/\tau_{\eta}} ,\space D^{(t)}=||v_k^{(t)}-v_{BMU}^{(t)}||_2, \space \sigma(t)=\sigma_0e^{-t/\tau_{\sigma}} vk(t+1)vk(t)+β(t)(x(t)vk(t)),k=1,2,..,K β(t)=η(t)eD(t)2/2σ(t), η(t)=η0et/τη, D(t)=vk(t)vBMU(t)2, σ(t)=σ0et/τσ
    η 0 \eta_0 η0 σ 0 \sigma_0 σ0是初始值, τ η \tau_\eta τη τ σ \tau_\sigma τσshi是常数



参考文献

[1] 《自己組織化マップ入門》, 古川徹生


你可能感兴趣的:(课堂笔记,机器学习背后的理论,聚类,数据挖掘,机器学习,算法,数据分析)