文章目录
- 1.监督学习与无监督学习
- 2. 聚类分析
-
- 2.1簇的其他区别
- 2.2类型
-
- 2.2.1 基于中心的簇
- 2.2.2 基于连续性的簇
- 2.2.3 基于密度的簇
- 2.2.4 基于概念的簇
- 2.3 应用
- 2.4 三要素
- 3.距离函数
-
- 3.1 距离函数的要求
- 3.2标准化
- 3.3其他相似、不相似函数
- 4.评价指标
-
- 4.1外部指标(有参考模型)
- 4.2无参考模型(内部指标)
- 5 聚类算法
-
- 5.1k-均值聚类
-
- 收敛性
- k如何确定?
- 如何初始化K-means
- 预处理和后处理
- 局限性
- k-medoids
- 5.2GMM高斯混合模型和EM
-
- 参数学习:极大似然估计--EM
-
- 与k-means比较
- 5.3层次聚类
-
- 5.4基于密度的聚类DBSCAN
-
- 其他算法
-
1.监督学习与无监督学习
- 有监督学习
- 分类:y是类别标签
- 回归:y-连续值
- 排序:y是序数
- 无监督学习
- 密度估计:y密度
- 聚类:y类簇
- 维度约简、可视化:y是x的低纬表示
- 原因:
- 原始数据易得,标注数据难
- 节约内存和计算资源
- 减少噪声
- 有助于可解释的数据分析
- 经常作为监督学习的预处理步骤
|
k-均值聚类 |
GMM |
层次聚类 |
基于密度的聚类 |
算法 |
随机中心,迭代更新簇中心 |
EM求解;E步是软划分的k-means;M步不仅估计了均值还有协方差;属于所有簇概率均等时一样 |
树;凝聚式,分列式 |
连接性,最大性的点属于簇 |
局限性 |
不同尺寸、密度、非球形不可用;扰动影响大 |
- |
贪心(拆分和合并不可逆);没有全局目标函数;对噪声和离群点敏感;难处理不同尺寸的簇和凸的簇;成链,误把大簇分裂 |
参数确定困难 ,不适合密度差异大的数据集;对变化的维度和高维数据不友好 |
损失函数 |
最小平方距离和 |
最小化负对数似然 |
没有优化一个全局的目标函数 |
|
划分 |
点到簇的硬划分 |
从属关系的软划分 |
层次划分,拆分合并不可逆 |
|
优点 |
- |
- |
不需要确定k,聚类结果可能对应着有意义的分类体系 |
不需要确定簇的数量;任意形状;对离群点稳定 |
超参数确定 |
间隔统计;交叉检验;簇的稳定性;非参数方法 |
|
|
eps;minPts=k:同一个簇的点,到他们k最近邻的距离相同(画出来找) |
预处理 |
归一化;消除离群点 |
|
|
|
后处理 |
删除小簇;分裂远;合并近的 |
|
|
|
收敛 |
收敛(J单调下降) |
收敛 |
|
|
最优 |
局部极小 |
局部极小 |
|
|
假设 |
簇是球的且每个簇的概率相等(欧式距离、质心) |
簇是高斯分布,属于每个簇的概率不同,但每个簇都有可能,球或椭球形 |
|
|
2. 聚类分析
- 寻找样本中的簇,使得同一簇内样本相似,不同簇内样本不相似
- 目标:产生一个簇的集合
- 类型
- 三要素
- 定义远近
- 距离函数、相似度
- 距离函数要求
- 常用距离函数
- 尺度不一致:标准化
- 相似度
- 簇内相似度
- 平均距离 a v g ( C ) = 2 ∣ c ∣ ( ∣ c ∣ − 1 ) Σ 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) avg(C)=\frac{2}{|c|(|c|-1)}\Sigma_{1\leq iavg(C)=∣c∣(∣c∣−1)2Σ1≤i<j≤∣C∣dist(xi,xj)
- 最远距离 d i a m ( C ) = m a x 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C)=max_{1\leq idiam(C)=max1≤i<j≤∣C∣dist(xi,xj)
- 簇间相似度
- 最小距离KaTeX parse error: Undefined control sequence: \inC at position 38: …x_i \in C_i,x_j\̲i̲n̲C̲_j}dist(x_i,x_j…
- 中心点距离 d c e n ( C i , C j ) = d i s t ( μ i , μ j ) , μ i = 1 ∣ C i ∣ Σ x i ∈ C i x i d_{cen}(C_i,C_j)=dist(\mu_i,\mu_j),\mu_i=\frac{1}{|C_i|}\Sigma_{x_i\in C_i}x_i dcen(Ci,Cj)=dist(μi,μj),μi=∣Ci∣1Σxi∈Cixi
- 评价聚类质量
- 如何获得聚类的簇
- 如何表示簇
- 如何,如何设计划分和优化的算法,算法何时停止
|
特性 |
基于中心的簇 |
距离自己中心近,其他中心远 |
基于邻接(连续)的簇 |
和簇内至少一个点距离最近 |
基于密度的簇 |
簇由高密度区域组成 |
基于概念的簇 |
同一簇共享某些性质 |
|
指标1 |
指标2 |
指标3 |
有参考模型(外部指标) |
J C = a a + b + c , J C ∈ [ 0 , 1 ] , J C ↑ , 一 致 性 ↑ JC=\frac{a}{a+b+c},\\JC\in[0,1],JC\uparrow,一致性\uparrow JC=a+b+ca,JC∈[0,1],JC↑,一致性↑ |
F M I = a a + b a a + c , F M I ∈ [ 0 , 1 ] , F M I ↑ , 一 致 性 ↑ FMI=\sqrt{\frac{a}{a+b}\frac{a}{a+c}},\\FMI\in[0,1],FMI\uparrow,一致性\uparrow FMI=a+baa+ca ,FMI∈[0,1],FMI↑,一致性↑ |
R I = 2 ( a + d ) m ( m − 1 ) , R I ∈ [ 0 , 1 ] , R I ↑ , 一 致 性 ↑ RI=\frac{2(a+d)}{m(m-1)},\\RI\in[0,1],RI\uparrow,一致性\uparrow RI=m(m−1)2(a+d),RI∈[0,1],RI↑,一致性↑ |
无参考模型(内部指标 |
* D B I = 1 k Σ i = 1 k m a x i ≠ j a v g ( C i ) + a v g ( C j ) d c e n ( μ i , μ j ) , D B I ↓ , 质 量 ↑ DBI=\frac{1}{k}\Sigma_{i=1}^kmax_{i\neq j}\frac{avg(C_i)+avg(C_j)}{d_{cen}(\mu_i,\mu_j)}\\,DBI\downarrow,质量\uparrow DBI=k1Σi=1kmaxi=jdcen(μi,μj)avg(Ci)+avg(Cj),DBI↓,质量↑ |
D I = m i n 1 ≤ i < j ≤ k d m i n ( C i , C j ) m a x 1 ≤ l ≤ k d i a m ( C l ) , D I ↑ , 质 量 ↑ DI=min_{1\leq i< j\leq k}\frac{d_{min}(C_i,C_j)}{max_{1\leq l \leq k}diam(C_l)}\\,DI\uparrow,质量\uparrow DI=min1≤i<j≤kmax1≤l≤kdiam(Cl)dmin(Ci,Cj),DI↑,质量↑ |
- |
2.1簇的其他区别
- 独占(Exclusive) vs. 非独占的(non-exclusive)
- 模糊(Fuzzy) vs. 非模糊的(non-fuzzy)
- 在模糊聚类中, 一个样本点以一定权重属于各个聚类簇
- 权重和为1
- 概率聚类有相似的特性
- 部分(Partial) vs. 完备( complete )
- 异质(Heterogeneous) vs. 同质(homogeneous)
2.2类型
- 基于中心的簇
- 基于邻接的簇
- 基于密度的簇
- 基于概念的簇
2.2.1 基于中心的簇
- 簇内的点
- 中心:
- 质心(所有点的平均)或
- 中心点表示(有代表性的点
2.2.2 基于连续性的簇
- 基于连续性的簇:相比其他任何簇的点,每个点都至少和所属簇的某一个点更近
2.2.3 基于密度的簇
- 基于密度的簇:簇是有高密的区域形成的,簇之间是一些低密度的区域
2.2.4 基于概念的簇
- 同一簇共享某种性质,这一性质是从整个结合推导出来的
- 基于概念的簇难检测,它通常不是:
- • 基于中心
- • 基于关系
- • 基于密度
2.3 应用
- 图像分割
- 人类种族分析
- 复杂网络分析
- 用户画像
- 商品分析
- 文本分析
- 计算生物学
2.4 三要素
- 定义远近
- 评价聚类质量
- 如何获得聚类的簇
- 如何表示簇
- 如何,如何设计划分和优化的算法,算法何时停止
3.距离函数
- 如何衡量样本之间的“远近”?
- 文档聚类时,我们如何衡量文档间远近?
- 图像分割时,我们如何衡量像素点之间的远近?
- 用户画像时,我们如何衡量用户之间的远近?
- 我们需要量化这些样本,并计算它们之间的距离
- 距离(Distance)/相似(Similarity)/不相似(Dissimilarity)/邻近(Proximity)函数的选择与应用相关
- 需要考虑特征的类型
- 可以从数据直接学习相似/距离函数
- 距离函数要求
- 常用距离函数
- 尺度不一致:标准化
3.1 距离函数的要求
- 函数dist() 是一种距离度量当且仅当:
- , ≥ 0 (非负性)
- , = 0 = (同一性)
- , = , (对称性)
- , ≤ , + , (直递性)
- Minkowski 距离: d i s t m k = ( Σ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dist_{mk}=(\Sigma_{u=1}^n|x_{iu}-x_{ju}|^p)^{\frac{1}{p}} distmk=(Σu=1n∣xiu−xju∣p)p1
- p=2 Euclidean 距离: : d i s t m k ≝ d i s t e d dist_{mk} ≝ dist_{ed} distmk=defdisted
- p=1 Manhattan 距离: : d i s t m k ≝ d i s t m a n dist_{mk} ≝ dist_{man} distmk=defdistman
- 这类距离函数对特征的旋转和平移变换不敏感,对数值尺度敏感
- 如果样本特征值尺度不一致,将数据标准化
3.2标准化
- x i j = Z ( x i j ) = x i j − x j ˉ σ j , 第 j 个 特 征 的 方 差 σ j , 均 值 x j ˉ x_{ij}=Z(x_{ij})=\frac{x_{ij}-\bar{x_j}}{\sigma_j},第j个特征的方差\sigma_j,均值\bar{x_j} xij=Z(xij)=σjxij−xjˉ,第j个特征的方差σj,均值xjˉ
- 其他标准化方法
- 标准化不一定起效果
3.3其他相似、不相似函数
- 针对二值数据的Jaccard 系数
- 刻画变量之间的相关性系数作为相似性度量
- 无序属性上的值差异性度量
- 向量间的余弦相似度(Cosine similarity)
4.评价指标
|
指标1 |
指标2 |
指标3 |
有参考模型(外部指标) |
J C = a a + b + c , J C ∈ [ 0 , 1 ] , J C ↑ , 一 致 性 ↑ JC=\frac{a}{a+b+c},\\JC\in[0,1],JC\uparrow,一致性\uparrow JC=a+b+ca,JC∈[0,1],JC↑,一致性↑ |
F M I = a a + b a a + c , F M I ∈ [ 0 , 1 ] , F M I ↑ , 一 致 性 ↑ FMI=\sqrt{\frac{a}{a+b}\frac{a}{a+c}},\\FMI\in[0,1],FMI\uparrow,一致性\uparrow FMI=a+baa+ca ,FMI∈[0,1],FMI↑,一致性↑ |
R I = 2 ( a + d ) m ( m − 1 ) , R I ∈ [ 0 , 1 ] , R I ↑ , 一 致 性 ↑ RI=\frac{2(a+d)}{m(m-1)},\\RI\in[0,1],RI\uparrow,一致性\uparrow RI=m(m−1)2(a+d),RI∈[0,1],RI↑,一致性↑ |
无参考模型(内部指标 |
* D B I = 1 k Σ i = 1 k m a x i ≠ j a v g ( C i ) + a v g ( C j ) d c e n ( μ i , μ j ) , D B I ↓ , 质 量 ↑ DBI=\frac{1}{k}\Sigma_{i=1}^kmax_{i\neq j}\frac{avg(C_i)+avg(C_j)}{d_{cen}(\mu_i,\mu_j)}\\,DBI\downarrow,质量\uparrow DBI=k1Σi=1kmaxi=jdcen(μi,μj)avg(Ci)+avg(Cj),DBI↓,质量↑ |
D I = m i n 1 ≤ i < j ≤ k d m i n ( C i , C j ) m a x 1 ≤ l ≤ k d i a m ( C l ) , D I ↑ , 质 量 ↑ DI=min_{1\leq i< j\leq k}\frac{d_{min}(C_i,C_j)}{max_{1\leq l \leq k}diam(C_l)}\\,DI\uparrow,质量\uparrow DI=min1≤i<j≤kmax1≤l≤kdiam(Cl)dmin(Ci,Cj),DI↑,质量↑ |
- |
4.1外部指标(有参考模型)
- 参考模型
- Jaccard系数
- J C = a a + b + c , J C ∈ [ 0 , 1 ] , J C ↑ , 一 致 性 ↑ JC=\frac{a}{a+b+c},JC\in[0,1],JC\uparrow,一致性\uparrow JC=a+b+ca,JC∈[0,1],JC↑,一致性↑
- FM指数
- F M I = a a + b a a + c , F M I ∈ [ 0 , 1 ] , F M I ↑ , 一 致 性 ↑ FMI=\sqrt{\frac{a}{a+b}\frac{a}{a+c}},FMI\in[0,1],FMI\uparrow,一致性\uparrow FMI=a+baa+ca ,FMI∈[0,1],FMI↑,一致性↑
- Rand指数
- R I = 2 ( a + d ) m ( m − 1 ) , R I ∈ [ 0 , 1 ] , R I ↑ , 一 致 性 ↑ RI=\frac{2(a+d)}{m(m-1)},RI\in[0,1],RI\uparrow,一致性\uparrow RI=m(m−1)2(a+d),RI∈[0,1],RI↑,一致性↑
4.2无参考模型(内部指标)
- 质量好:簇内相似度高,簇外相似度低
- 簇内相似度
- 平均距离 a v g ( C ) = 2 ∣ c ∣ ( ∣ c ∣ − 1 ) Σ 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) avg(C)=\frac{2}{|c|(|c|-1)}\Sigma_{1\leq iavg(C)=∣c∣(∣c∣−1)2Σ1≤i<j≤∣C∣dist(xi,xj)
- 最远距离 d i a m ( C ) = m a x 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C)=max_{1\leq idiam(C)=max1≤i<j≤∣C∣dist(xi,xj)
- 簇间相似度
- 最小距离KaTeX parse error: Undefined control sequence: \inC at position 38: …x_i \in C_i,x_j\̲i̲n̲C̲_j}dist(x_i,x_j…
- 中心点距离 d c e n ( C i , C j ) = d i s t ( μ i , μ j ) , μ i = 1 ∣ C i ∣ Σ x i ∈ C i x i d_{cen}(C_i,C_j)=dist(\mu_i,\mu_j),\mu_i=\frac{1}{|C_i|}\Sigma_{x_i\in C_i}x_i dcen(Ci,Cj)=dist(μi,μj),μi=∣Ci∣1Σxi∈Cixi
- DB指数
- D B I = 1 k Σ i = 1 k m a x i ≠ j a v g ( C i ) + a v g ( C j ) d c e n ( μ i , μ j ) , D B I ↓ , 质 量 ↑ DBI=\frac{1}{k}\Sigma_{i=1}^kmax_{i\neq j}\frac{avg(C_i)+avg(C_j)}{d_{cen}(\mu_i,\mu_j)},DBI\downarrow,质量\uparrow DBI=k1Σi=1kmaxi=jdcen(μi,μj)avg(Ci)+avg(Cj),DBI↓,质量↑
- Dumn指数
- D I = m i n 1 ≤ i < j ≤ k d m i n ( C i , C j ) m a x 1 ≤ l ≤ k d i a m ( C l ) , D I ↑ , 质 量 ↑ DI=min_{1\leq i< j\leq k}\frac{d_{min}(C_i,C_j)}{max_{1\leq l \leq k}diam(C_l)},DI\uparrow,质量\uparrow DI=min1≤i<j≤kmax1≤l≤kdiam(Cl)dmin(Ci,Cj),DI↑,质量↑
5 聚类算法
5.1k-均值聚类
随机选取K个种子数据点(seeds)作为K个簇中心
repeat
foreach ∈ do
计算与每一个簇中心的距离
将指配到距离最近的簇中心
endfor
用当前的簇内点重新计算K个簇中心位置
until 当前簇中心未更新
K均值(K-means)聚类:基于划分的聚类方法
- 如何表示簇?
- 每个簇都用其质心(centroid)或者叫原型(prototype) μ k \mu_k μk表示
- 如何划分节点?
- 距离使用欧式距离进行度量
- 每个节点都划分到最近的那个质心的簇中
- r i k r_{ik} rik ∈{0,1}为从属度,指示样本是否属于簇,且 Σ k = 1 K r i k = 1 \Sigma_{k=1}^Kr_{ik}=1 Σk=1Krik=1
- 优化目标:
- 损失函数 J = Σ i = 1 n Σ k = 1 K r i k ∣ ∣ x i − μ k ∣ ∣ 2 J=\Sigma_{i=1}^n\Sigma_{k=1}^Kr_{ik}||x_i-\mu_k||^2 J=Σi=1nΣk=1Krik∣∣xi−μk∣∣2, 平方误差和(SSE)
- 如何优化(chicken and egg problem)
- 如果中心点已知,我们可以对所有点进行划分
- 固定 μ k = Σ i r i k x i Σ i r i k , 最 小 化 J \mu_{k}=\frac{\Sigma_ir_{ik}x_i}{\Sigma_ir_{ik}},最小化J μk=ΣirikΣirikxi,最小化J
- 如果从属关系已知,我们可以计算中心点
- 固定 r i k , 最 小 化 J r_{ik},最小化J rik,最小化J
- 迭代计算
收敛性
- k-means 是在损失函数上进行坐标下降(coordinate descent)的优化
- 损失函数J 单调下降, 所以损失函数值会收敛, 所以聚类结果也会收敛
- k-means 有可能会在不同聚类结果间震荡,但是在实际中较少发生
- 局部极小:J 是非凸的(non-convex), 所以损失函数J上应用坐标下降法不能够保证收敛到全局的最小值. 一个常见的方法是运行k-means多次,选择最好的结果(局部极小
k如何确定?
- k是超参数
- J随k增大而递减
- 方法:
- 间隔统计(会有拐点)(分析随k上升,J下降的间隔
- 交叉检验(分两个子集,一个估计中心,一个求J
- 簇的稳定性:通过重采样和分裂,度量簇的收敛程度
- 非参数方法:为k加一个先验概率
如何初始化K-means
- 不同的初始化选择造成不同的结果
- 即便存在k个真实的簇,正好选到k个簇的中心的概率也小
- 启发式
- 随机选择k个数据点作为中心点
- 选择第i+1个中心时,选择与距离之前选出的中心最远的点
预处理和后处理
- 预处理
- 后处理
- 删除小的簇:可能代表离群点
- 分裂松散的簇:簇内节点距离和大
- 合并距离近的簇
局限性
- 尺寸不同、密度不同、非球形时,得不到理想的结果
- 扰动影响大
- 消除:
- 使用更大数量的簇,k增加
- 几个小的簇表示一个真实的簇
- 使用基于密度的方法
- 离群点–>自己成了一个簇
- 尺寸不同
- 密度不同
- 非球形
- 离群点带来的问题
k-medoids
- 不用均值,而是用中心点
- 部分情况只知道数据样本见得相似矩阵
- 只需要数据间的相似度量就可迭代计算
5.2GMM高斯混合模型和EM
- 概率解释: 假设有K个簇,每一个簇服从高斯分布,以概率π随机选择一个簇 k ,从其分布中采样出一个样本点,如此得到观测数据
- N个样本点的似然函数(Likelihood)
- p ( x ; θ ) = Π i N Σ k = 1 K π k N ( x i ∣ μ k , Σ k ) , 其 中 Σ k π k = 1 , 0 ≤ π k ≤ 1 p(x;\theta)=\Pi_i^N\Sigma_{k=1}^K\pi_kN(x_i|\mu_k,\Sigma_k),其中\Sigma_k\pi_k=1,0\leq \pi_k\leq 1 p(x;θ)=ΠiNΣk=1KπkN(xi∣μk,Σk),其中Σkπk=1,0≤πk≤1
- 引入隐变量,指示所属类,k维独热表示
- p ( z k = 1 ) = π k p(z_k=1)=\pi_k p(zk=1)=πk
- p ( x i ∣ z ) = Π k K N ( x i ∣ μ k , Σ k ) z k p(x_i|z)=\Pi_k^KN(x_i|\mu_k,\Sigma_k)^{z_k} p(xi∣z)=ΠkKN(xi∣μk,Σk)zk
- p ( x i ∣ z k = 1 ) = N ( x i ∣ μ k , Σ k ) p(x_i|z_k=1)=N(x_i|\mu_k,\Sigma_k) p(xi∣zk=1)=N(xi∣μk,Σk)
- p ( x i ) = Σ z p ( x i ∣ z ) p ( z ) = Σ k = 1 K π k N ( x i ∣ μ k , Σ k ) p(x_i)=\Sigma_zp(x_i|z)p(z)=\Sigma_{k=1}^K\pi_kN(x_i|\mu_k,\Sigma_k) p(xi)=Σzp(xi∣z)p(z)=Σk=1KπkN(xi∣μk,Σk)
- 从属度(可以看做,xi属于第k个簇的解释
- γ ( z i k ) = p ( z i k = 1 ∣ x i ) = p ( z i k = 1 ) p ( x i ∣ z k = 1 ) Σ k = 1 K p ( z i k = 1 ) p ( x i ∣ z k = 1 ) = π k N ( x i ∣ μ k , Σ k ) Σ k = 1 K π k N ( x i ∣ μ k , Σ k ) \gamma(z_{ik})\\=p(z_{ik=1}|x_i)\\=\frac{p(z_{ik}=1)p(x_i|z_k=1)}{\Sigma_{k=1}^Kp(z_{ik}=1)p(x_i|z_k=1)}\\=\frac{\pi_kN(x_i|\mu_k,\Sigma_k)}{\Sigma_{k=1}^K\pi_kN(x_i|\mu_k,\Sigma_k)} γ(zik)=p(zik=1∣xi)=Σk=1Kp(zik=1)p(xi∣zk=1)p(zik=1)p(xi∣zk=1)=Σk=1KπkN(xi∣μk,Σk)πkN(xi∣μk,Σk)
参数学习:极大似然估计–EM
- 极大似然估计
- 难:log里面有求和,所有参数耦合
- 似然函数取最大值时满足的条件: l o g ( P ( x ∣ θ ) 对 μ k 求 导 log(P(x|\theta)对\mu_k求导 log(P(x∣θ)对μk求导
- 0 = − Σ i = 1 N π k N ( x i ∣ μ k , Σ k ) Σ k = 1 K π k N ( x i ∣ μ k , Σ k ) Σ k ( x i − μ k ) 0=-\Sigma_{i=1}^N\frac{\pi_kN(x_i|\mu_k,\Sigma_k)}{\Sigma_{k=1}^K\pi_kN(x_i|\mu_k,\Sigma_k)}\Sigma_k(x_i-\mu_k) 0=−Σi=1NΣk=1KπkN(xi∣μk,Σk)πkN(xi∣μk,Σk)Σk(xi−μk)
- μ k = Σ i γ ( z i k ) x i γ ( z i k ) \mu_k=\frac{\Sigma_i\gamma(z_{ik})x_i}{\gamma(z_{ik})} μk=γ(zik)Σiγ(zik)xi
- π k = Σ i γ ( z i k ) N \pi_k=\frac{\Sigma_i\gamma(z_{ik})}{N} πk=NΣiγ(zik)
- Σ k = Σ i γ ( z i k ) ( x i − μ k ) ( x i − μ k ) T γ ( z i k ) \Sigma_k=\frac{\Sigma_i\gamma(z_{ik})(x_i-\mu_k)(x_i-\mu_k)^T}{\gamma(z_{ik})} Σk=γ(zik)Σiγ(zik)(xi−μk)(xi−μk)T
- 这不是封闭解–》EM
- E:给定当前参数估计值,求后验概率 γ ( z i k ) = E ( z i k ) \gamma(z_{ik})=E(z_{ik}) γ(zik)=E(zik)
- M:依据后验概率 γ ( z i k ) \gamma(z_{ik}) γ(zik),求参数估计 μ k 、 π k 、 Σ k \mu_k、\pi_k、\Sigma_k μk、πk、Σk
- 迭代收敛到局部极小
EM
- 通用EM
- 目标函数:极大似然函数 l o g P ( X ∣ θ ) = l o g Σ z P ( x , z ∣ θ ) logP(X|\theta)=log\Sigma_zP(x,z|\theta) logP(X∣θ)=logΣzP(x,z∣θ)
- 用于:不完整数据的对数似然函数
- 不知Z的数据,只知道Z的后验分布 P ( z ∣ x , θ o l d ) P(z|x,\theta^{old}) P(z∣x,θold)
- 考虑其期望 Q ( θ , θ o l d ) = E p ( z ∣ x , θ o l d ) ( l o g P ( x , z ∣ θ ) ) Q(\theta,\theta^{old})=E_{p(z|x,\theta^{old})}(log P(x,z|\theta)) Q(θ,θold)=Ep(z∣x,θold)(logP(x,z∣θ))
- 最大化期望 θ n e w = a r g m a x θ Q ( θ , θ o l d ) \theta^{new}=argmax_\theta Q(\theta,\theta^{old}) θnew=argmaxθQ(θ,θold)
- E:求 P ( z ∣ x , θ o l d ) P(z|x,\theta^{old}) P(z∣x,θold)
- M: θ n e w = a r g m a x θ Q ( θ , θ o l d ) \theta^{new}=argmax_\theta Q(\theta,\theta^{old}) θnew=argmaxθQ(θ,θold)
- why是启发式的,但却存在似然函数?
- Q ( θ , θ o l d ) = E p ( z ∣ x , θ o l d ) ( l o g P ( x , z ∣ θ ) ) = p ( x ; θ ) Q(\theta,\theta^{old})=E_{p(z|x,\theta^{old})}(log P(x,z|\theta))=p(x;\theta) Q(θ,θold)=Ep(z∣x,θold)(logP(x,z∣θ))=p(x;θ)
- 完整数据和不完整数据的比较
- 不完整数据: l o g p ( x ) = Σ i l o g Σ z p ( x i ∣ z ) p ( z ) = Σ i l o g Σ k = 1 K π k N ( x i ∣ μ k , Σ k ) logp(x)=\Sigma_ilog \Sigma_zp(x_i|z)p(z)=\Sigma_ilog \Sigma_{k=1}^K\pi_kN(x_i|\mu_k,\Sigma_k) logp(x)=ΣilogΣzp(xi∣z)p(z)=ΣilogΣk=1KπkN(xi∣μk,Σk)
- 完整数据
- l o g p ( x , z ∣ θ ) = l o g p ( z ∣ θ ) p ( x ∣ z , θ ) = Σ i Σ k z i k ( l o g π k + l o g N ( x i ∣ μ k , Σ k ) ) logp(x,z|\theta)=logp(z|\theta)p(x|z,\theta)=\Sigma_i\Sigma_k z_{ik}(log\pi_k+logN(x_i|\mu_k,\Sigma_k)) logp(x,z∣θ)=logp(z∣θ)p(x∣z,θ)=ΣiΣkzik(logπk+logN(xi∣μk,Σk))
- E z ( l o g p ( x , z ∣ θ ) ) = Σ i Σ k E ( z i k ) ( l o g π k + l o g N ( x i ∣ μ k , Σ k ) ) = Σ i Σ k γ ( z i k ) ( l o g π k + l o g N ( x i ∣ μ k , Σ k ) ) E_z(logp(x,z|\theta))\\=\Sigma_i\Sigma_kE(z_{ik})(log\pi_k+logN(x_i|\mu_k,\Sigma_k))\\=\Sigma_i\Sigma_k\gamma(z_{ik})(log\pi_k+logN(x_i|\mu_k,\Sigma_k)) Ez(logp(x,z∣θ))=ΣiΣkE(zik)(logπk+logN(xi∣μk,Σk))=ΣiΣkγ(zik)(logπk+logN(xi∣μk,Σk))
EM收敛性保证
- 目标:最大化 P ( x ∣ θ ) = Σ z p ( x , z ∣ θ ) P(x|\theta)=\Sigma_zp(x,z|\theta) P(x∣θ)=Σzp(x,z∣θ)
- 直接优化 P ( x ∣ θ ) P(x|\theta) P(x∣θ)很困难,但优化完整数据的 p ( x , z ∣ θ ) p(x,z|\theta) p(x,z∣θ)容易
- 证明
- 分解
- 对任意分布q(z),下列分解成立
- l n p ( x ∣ θ ) = L ( q , θ ) + K L ( q ∣ ∣ p ) 其 中 , L ( q , θ ) = Σ z q ( z ) l n ( p ( x , z ∣ θ ) q ( z ) ) K L ( q ∣ ∣ p ) = − Σ z q ( z ) l n ( p ( z ∣ x , θ ) q ( z ) ) K L ( q ∣ ∣ p ) ≥ 0 , L ( q , θ ) 是 l n p ( x ∣ θ ) 的 下 界 lnp(x|\theta)=L(q,\theta)+KL(q||p)\\其中,\\L(q,\theta)=\Sigma_zq(z)ln(\frac{p(x,z|\theta)}{q(z)})\\KL(q||p)=-\Sigma_zq(z)ln(\frac{p(z|x,\theta)}{q(z)})\\KL(q||p)\geq0,L(q,\theta)是lnp(x|\theta)的下界 lnp(x∣θ)=L(q,θ)+KL(q∣∣p)其中,L(q,θ)=Σzq(z)ln(q(z)p(x,z∣θ))KL(q∣∣p)=−Σzq(z)ln(q(z)p(z∣x,θ))KL(q∣∣p)≥0,L(q,θ)是lnp(x∣θ)的下界
- E: 最 大 化 L ( q , θ ) , q ( z ) = P ( z ∣ x , θ o l d ) 最大化L(q,\theta),\\q(z)=P(z|x,\theta^{old}) 最大化L(q,θ),q(z)=P(z∣x,θold)
- M : 原 来 的 下 界 L ( q , θ ) = Σ z P ( z ∣ x , θ o l d ) l n ( p ( x , z ∣ θ ) q ( z ) ) = Q ( θ , θ o l d ) + c o n s t − − − 正 好 是 期 望 M:原来的下界L(q,\theta)=\Sigma_zP(z|x,\theta^{old})ln(\frac{p(x,z|\theta)}{q(z)})=Q(\theta,\theta^{old})+const---正好是期望 M:原来的下界L(q,θ)=ΣzP(z∣x,θold)ln(q(z)p(x,z∣θ))=Q(θ,θold)+const−−−正好是期望
- 下界提升了
与k-means比较
- 高斯混合模型的E步是一个软划分版本的 K-means. ∈ [0,1]
- 高斯混合模型的M步估计除了估计均值外还估计协方差矩阵
- 当所有π 相等, Σ k = δ 2 I , 当 δ → 0 , γ i k → 0 , 1 \Sigma_k=\delta^2I,当\delta\rightarrow 0,\gamma_{ik}\rightarrow{0,1} Σk=δ2I,当δ→0,γik→0,1,那么两个方
法是一致的
5.3层次聚类
-
产生树形嵌套的聚类簇
- 可以被可视化为树状图(dendrogram)
- 树形的示意图,记录了簇合并或分割的序列
-
优点
-
不需要提前假定聚类的簇数
- 通过选择树状图的某一层可以获得任意簇数量的聚类结构
- 用户可以在层次化的聚类中选择一个分割,得到一个最自然的聚类结果( 例如,各个簇的簇间相似性高于一定阈值)
-
聚类结果可能对应着有意义的分类体系
- 例如在生物科学中 (e.g., 门纲目科, 人类种系, …)
-
分类
- 自底向上(凝聚式): 递归的合并相似度最高/距离最近的两个簇
- 自顶向下 (分列式): 递归地分裂最不一致的簇(例如:具有最大直径的簇)
5.3.1 凝聚式(自底向上)
- 相较于分列式,凝聚式是更加流行的层次聚类技术
- 基本算法非常直观
- 关键是如何计算簇之间的近似程度(proximity ) →不同的定义簇间距离的方
法,将得到不同的聚类算法
- 算法
- 起始状态
- 中间过程
- 经过一些合并步骤后,可以得到一些簇
- 合并最近的两个簇(C2,C5),并更新相似度矩阵–如何更新?
- 缺点:
- 贪心: 一旦簇被合并或者拆分,过程不可逆
- 没有优化一个全局的目标函数
- 不同方法存在一个或多个以下问题:
- 对噪声和离群点敏感
- 比较难处理不同尺寸的簇和凸的簇
- 成链, 误把大簇分裂
- 相似度矩阵如何更新?
- 如何定义簇间相似度
|
优点 |
缺点 |
最小距离(min) |
可形成非球形、非凸的簇 |
链式效应 |
最大距离(max) |
优点:对噪声更加有鲁棒性(不成链) |
趋向于拆开大的簇,偏好球形簇 |
平均距离(group average) |
折中 |
|
中心点距离(distance between centroids) |
- |
反向效应(偶棉合并的簇间距离可能比之前合并的簇的簇间距离更近) |
ward’s方法试用平方误差 |
两个簇的相似性基于两个簇融合后的平方误差的增加;偏向球形簇k-means的层次化版本(可用于初始化k-means) |
- |
5.4基于密度的聚类DBSCAN
- 概念
- 密度=给定半径(eps)内点的个数
- 核心点:密度大于minPts的点
- 边界点:密度少于minPts,但半径内的点都在某个核心点的范围内
- 噪声点:此外的点
- 点q由p密度可达:连接两个点的路径上所有的点都是核心点
- 点q 和点p 是密度相连的,如果存在点o 从其密度可达点q 和点p(间接抵达)
- 聚类的簇满足以下两个性质:
- 连接性:簇内的任意两点点是密度相连的;
- 最大性:如果一个点从一个簇中的任意一点密度可达,那么该点属于该簇
算法
如何确定超参数eps,minPts
- 直观想法:同一个簇内的点,它们第k个最近邻大约相同的距离。
- 噪声点到其第k最近邻距离较远
- 方法:画出每个点到其第k最近邻的距离
其他算法
◼聚类公平性
• 意义:聚类主体与人相关
• 多种公平性定义
• 多种聚类算法下的公平性
◼Multi-View数据聚类
• 数据来自多个源
• 数据的属性不一致
• 例如:text + image + voice
◼聚类算法的加速
• 例如DBSCAN++:减少密度计算量,提
升算法应用速度
• 提高密度聚类并行性
基于AutoEncoder
- Deep Embedding Network(DEN):AE加入正则学习更适合的表示
- 步骤:利用AE对原是数据降维,再利用k-means聚类学到的表示
- 局部性保持正则项:聚类最近的点距离不变
- 组稀疏正则项:表示分为多组,只有部分组激活
- Deep Embedded Clustering(DEC)是一个典型的基于无监督的深度神经网络聚类算法
- 步骤
- 先在AE预训练,采用encoder参数进行初始化
- 利用聚类损失进行训练,利用自我训练目标
基于CDNN
网络仅仅通过聚类损失进行调节,网络可以使CNN,FCN,DBN等
[参考文献]
1.国科大prml课程郭嘉丰老师ppt