本篇文章是在参考西瓜书、PPT课件、网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助。这篇笔记只是复习的一个参考,大家一定要结合书本、PPT来进行复习,有些公式的推导最好能够自己演算一遍。由于作者水平有限,笔记中难免有些差错,欢迎大家评论留言。
完整版跳转

9. 聚类

9.1 距离

聚类的主要思想是将无标签的数据分为若干个组,其中类内聚集、类间分离。
想要衡量“相似度”,我们需要有对距离的定义。距离必须满足以下条件:

  • D(A,B)=D(B,A)D(A,B)=D(B,A)D(A,B)=D(B,A)
  • D(A,A)=0D(A,A)=0D(A,A)=0
  • D(A,B)=0⟺A=BD(A,B)=0 \iff A=BD(A,B)=0⟺A=B
  • D(A,B)≤D(A,C)+D(C,B)D(A,B) \leq D(A,C)+D(C,B)D(A,B)≤D(A,C)+D(C,B)
    闵可夫斯基距离定义了一系列距离,rrr阶闵可夫斯基距离是:
    d(x,y)=∑i∣xi−yi∣rrd(x,y)=\sqrt[r]{\sum_i|x_i-y_i|^r}d(x,y)=ri∑​∣xi​−yi​∣r​
    显然,r=1r=1r=1时为曼哈顿距离,r=2r=2r=2时为欧几里得距离(L2范数),r=+∞r=+ \inftyr=+∞时是两个向量各个维度之差的绝对值的最大值。
    还有各种其他的距离,例如汉明距离、最小编辑距离等。
    注意:KL距离不满足以上4点。

9.2 K-Means

给定样本集DDD和划分聚类的数量kkk,聚类需要将样本划分为kkk个不相交的簇C={C1,…,Ck}C=\{C_1,\dots,C_k\}C={C1​,…,Ck​}.
算法:

  1. 随机初始化kkk个簇中心μ(0)=μ1(0),…,μk(0)\mu^{(0)}=\mu_1^{(0)},\dots,\mu_k^{(0)}μ(0)=μ1(0)​,…,μk(0)​
  2. 将每个训练样本打上距离其最近的簇中心的标签
    C(t)(j)←arg⁡min⁡i∣∣μi−xj∣∣2C^{(t)}(j) \leftarrow \arg\min_i||\mu_i-x_j||^2C(t)(j)←argimin​∣∣μi​−xj​∣∣2
  3. 根据新的CCC重新计算各类的μ\muμ,回到第二步继续迭代求解。
    μi(t+1)←arg⁡min⁡μ∑j:C(j)=i∣∣μ−xj∣∣2\mu_i^{(t+1)} \leftarrow \arg\min_{\mu}\sum_{j:C(j)=i}||\mu-x_j||^2μi(t+1)​←argμmin​j:C(j)=i∑​∣∣μ−xj​∣∣2
    算法迭代终止的条件:当一轮迭代前后每个点所属的类别都不再变化,或者一轮迭代前后,μ\muμ的变化很小,小于某个极小值,则停止迭代。
    K-Means算法优化的实际上是样本中所有点到其所属的类别中心的距离之和
    F(μ,C)=∑j=1m∣∣μC(j)−xj∣∣2F(\mu , C) = \sum_{j = 1}^m||{\mu_{C(j)}-x_j}||^2F(μ,C)=j=1∑m​∣∣μC(j)​−xj​∣∣2
    优化目标即
    min⁡μmin⁡CF(μ,C)=min⁡μmin⁡C∑i=1k∑j:C(j)=i∣∣μi−xj∣∣2\min_{\mu}\min_CF(\mu , C)=\min_{\mu}\min_C\sum_{i = 1}^k{\sum_{{j:C(j)=i}}{||{\mu_i-x_j}||^2}} μmin​Cmin​F(μ,C)=μmin​Cmin​i=1∑k​j:C(j)=i∑​∣∣μi​−xj​∣∣2

EM算法角度

  1. 固定μ\muμ,优化CCC(Expectation step)
    min⁡C(1),C(2),…,C(m)∑j=1m∣∣μC(j)−xj∣∣2=∑j=1mmin⁡C(j)∣∣μC(j)−xj∣∣2\min_{C(1),C(2),\dots,C(m)}\sum_{j = 1}^m||{\mu_{C(j)}-x_j}||^2=\sum_{j = 1}^m\min_{C(j)}||{\mu_{C(j)}-x_j}||^2C(1),C(2),…,C(m)min​j=1∑m​∣∣μC(j)​−xj​∣∣2=j=1∑m​C(j)min​∣∣μC(j)​−xj​∣∣2
    即为每个样本分配一个距离最近的簇中心的类标签。
  2. 固定CCC,优化μ\muμ(Maximization step)
    min⁡μ1.μ2,…,μk∑i=1k∑j:C(j)=i∣∣μi−xj∣∣2=∑i=1kmin⁡μi∑j:C(j)=i∣∣μi−xj∣∣2\min_{\mu_1.\mu_2,\dots,\mu_k}\sum_{i = 1}^k{\sum_{{j:C(j)=i}}{||{\mu_i-x_j}||^2}} =\sum_{i = 1}^k\min_{\mu_i}\sum_{{j:C(j)=i}}{||{\mu_i-x_j}||^2}μ1​.μ2​,…,μk​min​i=1∑k​j:C(j)=i∑​∣∣μi​−xj​∣∣2=i=1∑k​μi​min​j:C(j)=i∑​∣∣μi​−xj​∣∣2
    即为每个类重新选取簇中心。

K-Means与EM算法的比较:

  • K-means 算法其实是EM算法的一种特殊情况;
  • K-Means算法对数据点进行了硬分配,即认为每个数据点只属于唯一的聚类;而EM算法则认为数据点是由多个分布共同生成的。

产生式模型角度

假设数据集来自于kkk个方差相同的高斯分布的混合,不妨设第iii个分布的均值为μi\mu_iμi​,且每个分布的协方差阵均为σ2I\sigma^2Iσ2I。
每个训练样本产生步骤:

  1. 以P(y=i)P(y=i)P(y=i)的概率随机选择第iii个高斯分布
  2. 以第iii个高斯分布产生样本x∼N(μi,σ2I)x \sim N(\mu_i, \sigma^2I)x∼N(μi​,σ2I)

    p(x∣y=i)∼N(μi,σ2I)p(x)=∑ip(x∣y=i)p(y=i)p(x|y=i) \sim N(\mu_i,\sigma^2I)\\p(x)=\sum_ip(x|y=i)p(y=i)p(x∣y=i)∼N(μi​,σ2I)p(x)=i∑​p(x∣y=i)p(y=i)
    高斯贝叶斯分类器
    log⁡P(y=i∣x)P(y=j∣x)=log⁡P(x∣y=i)P(y=i)P(x∣y=j)P(y=j)=…=wTx+b\begin{aligned} \log\frac{P(y=i|x)}{P(y=j|x)}&=\log\frac{P(x|y=i)P(y=i)}{P(x|y=j)P(y=j)}\\ &=\dots\\&=w^Tx+b \end{aligned}logP(y=j∣x)P(y=i∣x)​​=logP(x∣y=j)P(y=j)P(x∣y=i)P(y=i)​=…=wTx+b​
    可得这是一个线性决策面(具体推导可参照贝叶斯判别中的决策面推导)。

最大似然(MLE)

由于yiy_iyi​未知(即无法获知P(xi,yi)P(x_i,y_i)P(xi​,yi​)),我们选择最大化边缘似然
arg⁡max⁡∏jP(xj)=arg⁡max⁡∏j∑i=1kP(yj=i,xj)=arg⁡max⁡∏j∑i=1kP(yj=i)P(xj∣yj=i)\begin{aligned} \arg \max \prod_jP(x_j)&=\arg\max\prod_j\sum_{i=1}^kP(y_j=i,x_j)\\ &=\arg\max\prod_j\sum_{i=1}^kP(y_j=i)P(x_j|y_j=i) \end{aligned}argmaxj∏​P(xj​)​=argmaxj∏​i=1∑k​P(yj​=i,xj​)=argmaxj∏​i=1∑k​P(yj​=i)P(xj​∣yj​=i)​
而每个xix_ixi​仅可以属于某一个类别(硬指派),即P(yj=i)=1or 0,1if i=C(j)P(y_j=i)=1\text{ or }0,1 \text{ if }i=C(j)P(yj​=i)=1 or 0,1 if i=C(j),则arg⁡max⁡log⁡∏j∑i=1kP(yj=i)P(xj∣yj=i)=arg⁡max⁡∑jlog⁡∑i=1kP(yj=i)P(xj∣yj=i)∝arg⁡max⁡∑jlog⁡(exp⁡{−12(xj−μC(j))T(σ2I)−1(xj−μC(j))})=arg⁡max⁡∑jlog⁡(exp⁡(−12σ2∣∣xj−μC(j)∣∣2))=arg⁡max⁡∑j−12σ2∣∣xj−μC(j)∣∣2∝arg⁡max⁡∑j−∣∣xj−μC(j)∣∣2=arg⁡min⁡∑j∣∣xj−μC(j)∣∣2\begin{aligned} \arg\max\log\prod_j\sum_{i=1}^kP(y_j=i)P(x_j|y_j=i)&=\arg\max\sum_j\log\sum_{i=1}^kP(y_j=i)P(x_j|y_j=i)\\ & \propto\arg \max \sum_j \log(\exp\{-\frac12(x_j-\mu_{C(j)})^T(\sigma^2I)^{-1}(x_j-\mu_{C(j)})\})\\ & = \arg\max\sum_j\log( \exp (-\frac1{2\sigma^2}||x_j-\mu_{C(j)}||^2))\\ & = \arg\max \sum_j -\frac1{2\sigma^2}||x_j-\mu_{C(j)}||^2\\ & \propto \arg\max \sum_j -||x_j-\mu_{C(j)}||^2\\ & = \arg\min \sum_j ||x_j-\mu_{C(j)}||^2 \end{aligned}argmaxlogj∏​i=1∑k​P(yj​=i)P(xj​∣yj​=i)​=argmaxj∑​logi=1∑k​P(yj​=i)P(xj​∣yj​=i)∝argmaxj∑​log(exp{−21​(xj​−μC(j)​)T(σ2I)−1(xj​−μC(j)​)})=argmaxj∑​log(exp(−2σ21​∣∣xj​−μC(j)​∣∣2))=argmaxj∑​−2σ21​∣∣xj​−μC(j)​∣∣2∝argmaxj∑​−∣∣xj​−μC(j)​∣∣2=argminj∑​∣∣xj​−μC(j)​∣∣2​
这与K-means的优化目标是相同的。

特点

  • K-Means实际上假设数据呈现球形分布,与之相比,GMM假设数据为高斯分布
  • K-Means假设各个簇的先验概率相同,但是各个簇的数量可能不均匀
  • K-Means的迭代过程实际上等价于EM算法
  • 优点:计算复杂度低(o(N⋅k⋅q)o(N\cdot k \cdot q)o(N⋅k⋅q),其中qqq为迭代次数,通常kkk和qqq均小于NNN);思想简单,容易实现。
  • 缺点:需要确定聚类的数量kkk;分类的结果严重依赖于簇中心的初始化;结果不一定是全局最优的,只能保证局部最优;对噪声敏感,无法解决不规则形状的聚类。

9.3 GMM

GMM中假设各类的分布为高斯分布,多元高斯分布生成的ddd维随机变量xxx的密度函数为:
p(x∣μ,Σ)=1(2π)d2∣Σ∣12exp⁡(−12(x−μ)TΣ−1(x−μ))p(x|\mu, \Sigma)=\frac 1 {(2\pi)^\frac d 2 |\Sigma|^\frac 1 2}\exp(-\frac 1 2(x-\mu)^T\Sigma^{-1}(x-\mu))p(x∣μ,Σ)=(2π)2d​∣Σ∣21​1​exp(−21​(x−μ)TΣ−1(x−μ))
其中μ\muμ为均值向量,Σ\SigmaΣ为协方差矩阵。
这里由于各分布的协方差矩阵不一定相同,所以决策面也不一定是线性的。

给定训练样本集 X={x1,x2,...,xn}X=\{x_1, x_2, ..., x_n\}X={x1​,x2​,...,xn​},其中nnn为样本数量。对于一个样本xix_ixi​,我们可以认为它是由多个对应维度的多元高斯分布所生成,可以由⾼斯分布的线性叠加来表征数据,假设数据由kkk个高斯分布混合生成,则
p(xi)=∑j=1kπjp(xi∣uj,Σj)p(x_i)=\sum^k_{j=1}\pi_jp(x_i|\,u_j, \Sigma_j)p(xi​)=j=1∑k​πj​p(xi​∣uj​,Σj​)
其中μj\mu_jμj​和Σj\Sigma_jΣj​分别表示第jjj个高斯分布的均值和协方差矩阵,πj\pi_jπj​为相应的混合系数,满足∑j=1kπj=1\displaystyle\sum^k_{j=1}\pi_j=1j=1∑k​πj​=1。令随机变量zj∈{1,2,...,k}z_j \in \{1,2,...,k\}zj​∈{1,2,...,k}表示生成样本xjx_jxj​的高斯混合成分,其取值未知。根据贝叶斯定理,zjz_jzj​的后验分布对应于
γ(zj)≡p(zj=i∣xj)=p(zj=i)p(xj∣zj=i)p(xj)=πip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)\gamma(z_j)\equiv p(z_j = i|x_j) = \frac{p(z_j = i)p(x_j|z_j = i)}{p(x_j)} = \frac{\pi_ip(x_j|\mu_i, \Sigma_i)}{\sum\limits_{l=1}^k\pi_lp({x_j}|{\mu_l}, \Sigma_l)}γ(zj​)≡p(zj​=i∣xj​)=p(xj​)p(zj​=i)p(xj​∣zj​=i)​=l=1∑k​πl​p(xj​∣μl​,Σl​)πi​p(xj​∣μi​,Σi​)​
当后验概率已知时,混合高斯模型将训练样本划分成了kkk个簇C=C1,C2,...,CkC = C_1, C_2, ... , C_kC=C1​,C2​,...,Ck​,对于每一个样本xjx_jxj​,其类别为iii,满足i=arg⁡max⁡iγ(zi)i=\arg\displaystyle\max_i \gamma(z_i)i=argimax​γ(zi​),即选择后验概率最大的类别作为其标签类别。与K-Means类似,由于yiy_iyi​未知(即无法获知P(xi,yi)P(x_i,y_i)P(xi​,yi​)),我们选择最大化边缘似然,极大似然函数为
LL(D)=ln⁡p(X∣π,μ,Σ)=ln⁡∏j=1np(xj)=∑j=1nln⁡∑i=1kπip(xj∣μi,Σi)LL(D)=\ln p(X|\pi, \mu, \Sigma) = \ln \prod_{j=1}^n p(x_j)=\sum_{j=1}^n\ln \sum^k_{i=1}\pi_ip(x_j|\,\mu_i, \Sigma_i)LL(D)=lnp(X∣π,μ,Σ)=lnj=1∏n​p(xj​)=j=1∑n​lni=1∑k​πi​p(xj​∣μi​,Σi​)
使上式最大化,对μi\mu_iμi​求偏导,并令导数为0,则
∂ln⁡p(X∣π,μ,Σ)∂μi=∑j=1nπip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)Σi−1(xj−μi)=0\frac {\partial \ln p(X|\pi, \mu, \Sigma)} {\partial \mu_i} = \sum_{j=1}^n \frac{\pi_i p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)} \Sigma_i^{-1}(x_j - \mu_i) = 0∂μi​∂lnp(X∣π,μ,Σ)​=j=1∑n​l=1∑k​πl​p(xj​∣μl​,Σl​)πi​p(xj​∣μi​,Σi​)​Σi−1​(xj​−μi​)=0

γji=p(zj=i∣xj)∑j=1kp(zj=i∣xj)=πip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)\gamma_{ji} =\frac {p(z_j = i|x_j)}{\displaystyle\sum_{j=1}^k p(z_j = i|x_j)}=\frac{\pi_i p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)}γji​=j=1∑k​p(zj​=i∣xj​)p(zj​=i∣xj​)​=l=1∑k​πl​p(xj​∣μl​,Σl​)πi​p(xj​∣μi​,Σi​)​
可解得
ni=∑j=1nγjiμi=1ni∑j=1nγjixj\begin{aligned} n_i &= \sum_{j=1}^n \gamma_{ji}\\ \mu_i &= \frac 1 {n_i}\sum_{j=1}^n\gamma_{ji}x_j \end{aligned}ni​μi​​=j=1∑n​γji​=ni​1​j=1∑n​γji​xj​​
同理,对Σi\Sigma_iΣi​求导令导数为0:
∂ln⁡p(X∣π,μ,Σ)∂Σi=∑j=1nπip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)(Σi−1−Σi−1(xj−μi)(xj−μi)TΣi−1)=0\frac {\partial \ln p(X|\pi, \mu, \Sigma)} {\partial \Sigma_i} = \sum_{j=1}^n \frac{\pi_i p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)} (\Sigma_i^{-1} - \Sigma_i^{-1}(x_j -\mu_i)(x_j -\mu_i)^T\Sigma_i^{-1}) = 0∂Σi​∂lnp(X∣π,μ,Σ)​=j=1∑n​l=1∑k​πl​p(xj​∣μl​,Σl​)πi​p(xj​∣μi​,Σi​)​(Σi−1​−Σi−1​(xj​−μi​)(xj​−μi​)TΣi−1​)=0
解得
Σi=∑j=1nγji(xj−μi)(xj−μi)Tni\Sigma_i = \frac {\displaystyle\sum_{j=1}^n\gamma_{ji}(x_j -\mu_i)(x_j -\mu_i)^T} {n_i}Σi​=ni​j=1∑n​γji​(xj​−μi​)(xj​−μi​)T​
对于混合系数πi\pi_iπi​,还需要满足约束条件∑i=1kπi=1\displaystyle\sum^k_{i=1}\pi_i=1i=1∑k​πi​=1。构造拉格朗日多项式:
ln⁡p(X∣π,μ,Σ)+λ(∑i=1kπi−1)\ln p(X|\pi, \mu, \Sigma) + \lambda(\sum_{i=1}^k \pi_i - 1)lnp(X∣π,μ,Σ)+λ(i=1∑k​πi​−1)
对πi\pi_iπi​求导,令导数为0:
∂ln⁡p(X∣π,μ,Σ)+λ(∑i=1kπi−1)∂πi=∑j=1np(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)+λ=0\frac {\partial \ln p(X|\pi, \mu, \Sigma) + \lambda(\displaystyle\sum_{i=1}^k \pi_i - 1)} {\partial \pi_i} =\sum_{j=1}^n \frac{p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)} + \lambda = 0∂πi​∂lnp(X∣π,μ,Σ)+λ(i=1∑k​πi​−1)​=j=1∑n​l=1∑k​πl​p(xj​∣μl​,Σl​)p(xj​∣μi​,Σi​)​+λ=0
同乘πi\pi_iπi​并将i∈{1,2,...,k}i \in \{1,2,...,k\}i∈{1,2,...,k}代入相加得:
∑i=1kπi∑j=1np(xj∣μi,Σi)∑l=1kπlp(xij∣μl,Σl)+λ∑i=1kπi=0\sum_{i=1}^k \pi_i \sum_{j=1}^n \frac{p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_ij| \mu_l, \Sigma_l)} + \lambda\sum_{i=1}^k \pi_i = 0i=1∑k​πi​j=1∑n​l=1∑k​πl​p(xi​j∣μl​,Σl​)p(xj​∣μi​,Σi​)​+λi=1∑k​πi​=0
将约束条件代入:
∑j=1n(∑i=1kπip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl))+λ∑i=1kπi=n+λ=0\sum_{j=1}^n (\frac{\displaystyle\sum_{i=1}^k \pi_i p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)}) + \lambda\sum_{i=1}^k \pi_i = n + \lambda = 0j=1∑n​(l=1∑k​πl​p(xj​∣μl​,Σl​)i=1∑k​πi​p(xj​∣μi​,Σi​)​)+λi=1∑k​πi​=n+λ=0
即λ=−n\lambda = -nλ=−n.
又由于
∑j=1np(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)+λ=0\sum_{j=1}^n \frac{p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)} + \lambda = 0j=1∑n​l=1∑k​πl​p(xj​∣μl​,Σl​)p(xj​∣μi​,Σi​)​+λ=0

γji=πip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)\gamma_{ji}= \frac{\pi_i p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)} γji​=l=1∑k​πl​p(xj​∣μl​,Σl​)πi​p(xj​∣μi​,Σi​)​
故上式可重写为
∑j=1nγjiπi+λ=0\sum_{j=1}^n \frac{\gamma_{ji}}{\pi_i} + \lambda = 0j=1∑n​πi​γji​​+λ=0
将ni=∑j=1nγjin_i = \sum_{j=1}^n \gamma_{ji}ni​=∑j=1n​γji​和λ=−n\lambda = -nλ=−n代入得
πi=nin\pi_i = \frac {n_i}{n}πi​=nni​​
GMM算法过程如下:

  1. 随机初始化参数πi,μi,Σi,i∈1,2,…,k\pi_i, \mu_i, \Sigma_i,\ \ i\in {1,2, … ,k}πi​,μi​,Σi​,  i∈1,2,…,k.
  2. E步:根据式γji=πip(xj∣μi,Σi)∑l=1kπlp(xj∣μl,Σl)\gamma_{ji}= \frac{\pi_i p(x_j| \mu_i, \Sigma_i)}{\displaystyle\sum_{l=1}^k \pi_l p(x_j| \mu_l, \Sigma_l)}γji​=l=1∑k​πl​p(xj​∣μl​,Σl​)πi​p(xj​∣μi​,Σi​)​计算每个样本由各个混合高斯成分生成的后验概率.
  3. M步:用下面的一系列公式更新参数πi,μi,Σi,i∈1,2,…,k\pi_i, \mu_i, \Sigma_i,\ \ i\in {1,2, … ,k}πi​,μi​,Σi​,  i∈1,2,…,k.
    μi=1ni∑j=1nγjixjΣi=∑j=1nγji(xj−μi)(xj−μi)Tniπi=nin\begin{aligned} \mu_i &= \frac 1 {n_i}\sum_{j=1}^n\gamma_{ji}x_j\\ \Sigma_i &= \frac {\displaystyle\sum_{j=1}^n\gamma_{ji}(x_j -\mu_i)(x_j -\mu_i)^T} {n_i}\\ \pi_i &= \frac {n_i}{n} \end{aligned}μi​Σi​πi​​=ni​1​j=1∑n​γji​xj​=ni​j=1∑n​γji​(xj​−μi​)(xj​−μi​)T​=nni​​​
    其中ni=∑j=1nγjin_i = \sum_{j=1}^n \gamma_{ji}ni​=∑j=1n​γji​.
  4. 重复E步和M步直至收敛.
    算法迭代结束条件:某一次迭代后参数的变化小于一个极小数。

与K-Means算法的对比

  • GMM算法收敛前经历了更多次迭代,每次迭代需要更多计算量,通常运行K-Means找到GMM的一个合适的初始化值,接下来使用GMM算法进行微调;
  • K-Means算法对数据点进行了硬分配,即每个数据点只属于唯一的聚类;而GMM算法基于后验概率对数据点进行了软分配;
  • K-Means算法可以看成GMM算法的特殊形式(没有估计协方差,只估计了聚类的均值)。

10. PCA

10.1 最大方差形式

考虑一个数据集{x1,…,xN},xn∈RD\{x_1,\dots,x_N\},x_n\in R^D{x1​,…,xN​},xn​∈RD,我们的目标是把这些数据投影到一个M(M<D)M(M<D)M(M<D)维的空间中。
假设降维至MMM维空间,我们使用MMM个DDD维的单位向量u1,u2,…,uMu_1,u_2,\dots,u_Mu1​,u2​,…,uM​作为这个空间的基向量。由于是单位向量,需满足ukTuk=1,k=1,2,…,Mu_k^Tu_k=1,k=1,2,\dots,MukT​uk​=1,k=1,2,…,M。
对于数据集中的任意一个样本xix_ixi​,投影至uku_kuk​方向后的数据变为ukTxiu_k^Tx_iukT​xi​,考虑投影后数据的方差(即在uku_kuk​方向的方差)
1N∑n=1N{ukTxn−ukTxˉ}2=ukTSuk\frac1N\sum_{n=1}^N\{u_k^Tx_n-u_k^T \bar x\}^2=u_k^TSu_kN1​n=1∑N​{ukT​xn​−ukT​xˉ}2=ukT​Suk​
其中
xˉ=1N∑n=1NxnS=1N∑n=1N(xn−xˉ)(xn−xˉ)T\begin{aligned} \bar x &=\frac1N\sum_{n=1}^Nx_n\\ S&=\frac1N\sum_{n=1}^N(x_n-\bar x)(x_n-\bar x)^T \end{aligned}xˉS​=N1​n=1∑N​xn​=N1​n=1∑N​(xn​−xˉ)(xn​−xˉ)T​
优化函数为
arg⁡max⁡ukukTSuks.t.ukTuk=1,k=1,…,M\begin{aligned} \arg \max_{u_k} &\quad u_k^TSu_k\\ s.t. & \quad u_k^Tu_k=1,k=1,\dots,M \end{aligned}arguk​max​s.t.​ukT​Suk​ukT​uk​=1,k=1,…,M​
对应的拉格朗日函数为
L(uk,λk)=ukTSuk+λk(1−ukTuk)L(u_k,\lambda_k)=u_k^TSu_k+\lambda_k(1-u_k^Tu_k)L(uk​,λk​)=ukT​Suk​+λk​(1−ukT​uk​)
对uku_kuk​求偏导
∂L∂uk=2Suk−2λkuk=0\frac{\partial L}{\partial u_k}=2Su_k-2\lambda_ku_k=0∂uk​∂L​=2Suk​−2λk​uk​=0

Suk=λkukSu_k=\lambda_ku_kSuk​=λk​uk​
则uku_kuk​是SSS的特征向量,λk\lambda_kλk​是对应的特征值。
上式左乘ukTu_k^TukT​可以得到
ukTSuk=ukTλkuk=λku_k^TSu_k=u_k^T\lambda_ku_k=\lambda_kukT​Suk​=ukT​λk​uk​=λk​
显然,该式对∀k=1,2,…,M\forall k=1,2,\dots,M∀k=1,2,…,M均成立。并且由该式可知,最大化方差其实就等价于最大化λk\lambda_kλk​。因而我们取SSS最大的MMM个特征值对应的特征向量作为基向量。

10.2 最小误差形式

引入DDD维单位正交基集合{u1,…,uD}\{u_1,\dots,u_D\}{u1​,…,uD​},且满足
uiTuj=δij={1i=j0i≠ju_i^Tu_j=\delta_{ij}=\begin{cases} 1 &i=j \\ 0 &i\neq j \end{cases}uiT​uj​=δij​={10​i=ji=j​
这时,每个数据点均可以被精确地表示为基向量的线性组合,即
xn=∑i=1Dαniui,αni=xnTuix_n=\sum_{i=1}^D \alpha_{ni}u_i,\quad \alpha_{ni}=x_n^Tu_ixn​=i=1∑D​αni​ui​,αni​=xnT​ui​
我们的目标时是使用M(M<D)M(M<D)M(M<D)维的空间来近似表示原数据点,不失一般性,我们用前MMM个基向量来表示
x~n=∑i=1Mzniui+∑i=M+1Dbiui\tilde x_n =\sum_{i=1}^M z_{ni}u_i+\sum_{i=M+1}^Db_iu_ix~n​=i=1∑M​zni​ui​+i=M+1∑D​bi​ui​
其中zniz_{ni}zni​依赖于数据点,bib_ibi​是常数。
我们的目标是最小化误差
J=1N∑n=1N∣∣xn−x~n∣∣2J=\frac1N\sum_{n=1}^N||x_n-\tilde x_n||^2J=N1​n=1∑N​∣∣xn​−x~n​∣∣2
对上式展开得
J=1N∑n=1N∣∣xn−x~n∣∣2=1N∑n=1N(xn−x~n)T(xn−x~n)=1N∑n=1N(xn−∑i=1Mzniui−∑i=M+1Dbiui)T(xn−∑i=1Mzniui−∑i=M+1Dbiui)=1N∑n=1N(xnT−∑i=1MzniuiT−∑i=M+1DbiuiT)(xn−∑i=1Mzniui−∑i=M+1Dbiui)=1N∑n=1N(xnTxn−2∑i=1MznixnTui−2∑i=M+1DbixnTui+∑i=1Mzni2+∑i=M+1Dbi2)\begin{aligned} J&=\frac1N\sum_{n=1}^N||x_n-\tilde x_n||^2\\ &=\frac1N\sum_{n=1}^N(x_n-\tilde x_n)^T(x_n-\tilde x_n)\\ &=\frac1N\sum_{n=1}^N(x_n-\sum_{i=1}^Mz_{ni}u_i-\sum_{i=M+1}^Db_iu_i)^T(x_n-\sum_{i=1}^Mz_{ni}u_i-\sum_{i=M+1}^Db_iu_i)\\ &=\frac1N\sum_{n=1}^N(x_n^T-\sum_{i=1}^Mz_{ni}u_i^T-\sum_{i=M+1}^Db_iu_i^T)(x_n-\sum_{i=1}^Mz_{ni}u_i-\sum_{i=M+1}^Db_iu_i)\\ &=\frac1N\sum_{n=1}^N(x_n^Tx_n-2\sum_{i=1}^Mz_{ni}x_n^Tu_i-2\sum_{i=M+1}^Db_ix_n^Tu_i+\sum_{i=1}^Mz_{ni}^2+\sum_{i=M+1}^Db_i^2) \end{aligned}J​=N1​n=1∑N​∣∣xn​−x~n​∣∣2=N1​n=1∑N​(xn​−x~n​)T(xn​−x~n​)=N1​n=1∑N​(xn​−i=1∑M​zni​ui​−i=M+1∑D​bi​ui​)T(xn​−i=1∑M​zni​ui​−i=M+1∑D​bi​ui​)=N1​n=1∑N​(xnT​−i=1∑M​zni​uiT​−i=M+1∑D​bi​uiT​)(xn​−i=1∑M​zni​ui​−i=M+1∑D​bi​ui​)=N1​n=1∑N​(xnT​xn​−2i=1∑M​zni​xnT​ui​−2i=M+1∑D​bi​xnT​ui​+i=1∑M​zni2​+i=M+1∑D​bi2​)​
JJJ对zniz_{ni}zni​和bib_ibi​分别求偏导得
∂J∂zni=1N(−2xnTui+2zni)=0∂J∂bi=1N∑n=1N(−2xnTui+2bi)=0\begin{aligned} \frac{\partial J}{\partial z_{ni}}&=\frac1N(-2x_n^Tu_i+2z_{ni})=0\\ \frac{\partial J}{\partial b_i}&=\frac1N\sum_{n=1}^N(-2x_n^Tu_i+2b_{i})=0 \end{aligned}∂zni​∂J​∂bi​∂J​​=N1​(−2xnT​ui​+2zni​)=0=N1​n=1∑N​(−2xnT​ui​+2bi​)=0​
可得
zni=xnTuibi=xˉTui\begin{aligned} z_{ni}&=x_n^Tu_i\\ b_i&=\bar x^Tu_i \end{aligned}zni​bi​​=xnT​ui​=xˉTui​​
又由于αni=zni,i=1,…,M\alpha_{ni}=z_{ni},i=1,\dots,Mαni​=zni​,i=1,…,M,因此
xn−x~n=∑i=1Dαniui−(∑i=1Mzniui+∑i=M+1Dbiui)=∑i=M+1D(αni−bi)ui\begin{aligned} x_n-\tilde{x}_n&=\sum_{i=1}^D \alpha_{ni}u_i-(\sum_{i=1}^M z_{ni}u_i+\sum_{i=M+1}^Db_iu_i)\\ &=\sum_{i=M+1}^D(\alpha_{ni}-b_i)u_i \end{aligned}xn​−x~n​​=i=1∑D​αni​ui​−(i=1∑M​zni​ui​+i=M+1∑D​bi​ui​)=i=M+1∑D​(αni​−bi​)ui​​
从而(注意到uiTuj=1⟺i=ju_i^Tu_j=1\iff i=juiT​uj​=1⟺i=j)
∣∣xn−x~n∣∣2=(xn−x~n)T(xn−x~n)=∑i=M+1D(αni−bi)uiT⋅∑j=M+1D(αnj−bj)uj=∑i=M+1D(αni−bi)2=∑i=M+1D(xnTui−xˉTui)2\begin{aligned} ||x_n-\tilde{x}_n||^2&=(x_n-\tilde{x}_n)^T(x_n-\tilde{x}_n)\\ &=\sum_{i=M+1}^D(\alpha_{ni}-b_i)u_i^T \cdot \sum_{j=M+1}^D(\alpha_{nj}-b_j)u_j\\ &=\sum_{i=M+1}^D(\alpha_{ni}-b_i)^2\\ &=\sum_{i=M+1}^D(x_n^Tu_i-\bar x^Tu_i)^2 \end{aligned}∣∣xn​−x~n​∣∣2​=(xn​−x~n​)T(xn​−x~n​)=i=M+1∑D​(αni​−bi​)uiT​⋅j=M+1∑D​(αnj​−bj​)uj​=i=M+1∑D​(αni​−bi​)2=i=M+1∑D​(xnT​ui​−xˉTui​)2​
代入得
J=1N∑n=1N∣∣xn−x~n∣∣2=1N∑n=1N∑i=M+1D(xnTui−xˉTui)2=∑i=M+1DuiTSui\begin{aligned} J&=\frac1N\sum_{n=1}^N||x_n-\tilde x_n||^2\\ &=\frac1N\sum_{n=1}^N\sum_{i=M+1}^D(x_n^Tu_i-\bar x^Tu_i)^2=\sum_{i=M+1}^Du_i^TSu_i\\ \end{aligned}J​=N1​n=1∑N​∣∣xn​−x~n​∣∣2=N1​n=1∑N​i=M+1∑D​(xnT​ui​−xˉTui​)2=i=M+1∑D​uiT​Sui​​
而Sui=λiuiSu_i=\lambda_i u_iSui​=λi​ui​,故
J=∑i=M+1DλiJ=\sum_{i=M+1}^D \lambda_iJ=i=M+1∑D​λi​
最小化JJJ即选择D−MD-MD−M个最小特征值对应的特征向量,这实则与最大化方差形式等价。

往年试题

分享了一些往年试题的博客链接,不保证试题的真实性,仅供参考。
哈工大2020秋机器学习期末试题
哈工大2019秋机器学习期末试题

哈工大机器学习复习笔记(一)
哈工大机器学习复习笔记(二)
哈工大机器学习复习笔记(三)
哈工大机器学习复习笔记(四)

哈工大机器学习复习笔记(四)相关推荐

  1. 哈工大机器学习复习笔记(一)

    本篇文章是在参考西瓜书.PPT课件.网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助.这篇笔记只是复习的一个参考,大家一定要结合书本.PPT来进行复习,有些公式 ...

  2. 2.机器学习复习笔记-各种评估指标

    文章目录 TP FP TN FN 准确率(Accuracy) 精确率(Precision).召回率(Recall).PR曲线. F1 Score RMSE ROC PR曲线和ROC曲线对比 余弦距离. ...

  3. 操作系统复习笔记(四)

    10.司机和售票员之间要协同工作:一方面只有售票员把车门关好了司机才能开车,因此售票员关好车门应通知司机开车;另一方面只有当汽车已经停下时,售票员才能开门让乘客上下客,司机停车后应该通知售票员,假定某 ...

  4. 《微型计算机原理与接口技术》复习笔记(四)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记一 微机原理复习笔记二 微机原理复习笔记三 微机原理复习笔记四 中断系统 1 ...

  5. 《微型计算机原理与接口技术》复习笔记(二)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 默认存储器单元的地址编排顺序从上往下,地址从低向高编排 微机原理复习笔记一 微机原理复习笔记 ...

  6. 《微型计算机原理与接口技术》复习笔记(三)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记一 微机原理复习笔记二 微机原理复习笔记四 微机原理复习笔记三 1. 存储器 ...

  7. 《微型计算机原理与接口技术》复习笔记(一)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记二 微机原理复习笔记三 微机原理复习笔记四 微机复习笔记(一) 1. 二进制 ...

  8. 数理统计复习笔记五——假设检验之显著性检验

    一.基本概念 在统计中,我们把需要用样本去推断"正确"与否的命题称为一个假设.当然,假设是可以关于参数的,也可以是关于分布的. 通过样本对一个假设作出"对"或& ...

  9. 哈工大信息安全概论复习笔记(2)

    哈工大信息安全概论复习笔记(2) 文章目录 哈工大信息安全概论复习笔记(2) 考点八 RSA公钥算法 考点九 散列函数的特点和作用 考点十 EMI.EMC.防电磁泄漏主要方法 考点十一 容错与容灾的概 ...

最新文章

  1. PHP标记风格,编码规范
  2. 属性项目的定义(property)[ZT]
  3. boost::hana::make用法的测试程序
  4. Jar包部署-修改插件版本
  5. 使用Bazel编译报错ERROR: Unrecognized option: --experimental_repo_remote_exec解决方法
  6. js前端——滑稽官网的亮瞎眼系列滑稽大法
  7. 杜洋单片机C语言编程组成,8051单片机C语言编程模板
  8. Mysql学习总结(23)——MySQL统计函数和分组查询
  9. 数据提取、转换和加载 - ETL工具
  10. 58同城 | Embedding技术在房产推荐中的应用
  11. 收集的Word2007技巧大全
  12. 计算机病毒是以独立的文件形式存在的对吗,计算机病毒以什么形式存在?
  13. Spring学习(全)
  14. c语言累加和求平均数程序,c语言编程:连续输入若干个正整数,求其和及其平均值,直到输入0结束....
  15. android扫一扫 二维码显示结果中文乱码
  16. 去除firefox火狐更新提示
  17. iPhone无法开机? 一招帮你“救活”
  18. ArcGIS之经纬度表格数据转矢量
  19. 2017云栖大会门票转让_2017云栖大会门票多少钱?
  20. vue中通过自定义指令将汉字转化为首字母大写、首字母小写、大写、小写的拼音

热门文章

  1. 索尼的hlg是什么_索尼的HLG使用方法
  2. android AppWidgetProvider开发桌面小工具
  3. 超全的 Vue 开源项目合集
  4. NOIP2016 天天爱跑步(线段树/桶)
  5. ERP系统生产委外管理,内外无缝连接
  6. python自动化xmind to testcase详解
  7. 蓝桥杯算法训练-印章
  8. Aoj- 2224 Save your cat
  9. 我玩辅助是在给你做视野,不是给你的坟头看风水
  10. 北理工计算机贾云,徐畅_北京理工大学计算机学院