5 降维 Dimention Reduction
我们知道,解决过拟合的问题除了正则化和添加数据之外,降维就是最好的方法。降维的思路来源于维度灾难的问题,从几何角度来看,我们知道 nnn 维球的体积为: CRnCR^n CRn 那么在球体积与边长为 2R2R2R 的超立方体比值为: limn→0CRn2nRn=0\lim\limits_{n\rightarrow0}\frac{CR^n}{2^nR^n}=0 n→0lim2nRnCRn=0
当nnn比较小的时候,数据分布还比较均匀,但是随着nnn增大,也就是维度增加的时候,数据的分布会及其不均匀,因为球的体积占比会非常小,在高维数据中,主要样本都分布在立方体的边缘,这就是所谓的维度灾难,所以数据集更加稀疏。
降维的算法分为:
- 直接降维,特征选择
- 线性降维,PCA,MDS等
- 分线性,流形包括 Isomap,LLE 等
假设数据集为: X=(x1,x2,⋯,xN)T=(x1Tx2T⋮xpT)=(x11x21…x1px21x22…x2p⋮⋮⋮⋮xp1xp2…xpp)N∗pX=(x_1,x_2,\cdots,x_N)^T=\left(\begin{array}{c}x_{1}^T \\ x_{2}^T\\ \vdots \\ x_{p}^T\end{array}\right)=\left(\begin{array}{c}x_{11} x_{21} \dots x_{1p}\\ x_{21} x_{22} \dots x_{2p}\\ \vdots \quad \vdots \quad \vdots \quad \vdots \\ x_{p1} x_{p2} \dots x_{pp} \end{array}\right)_{N*p}X=(x1,x2,⋯,xN)T=⎝⎜⎜⎜⎛x1Tx2T⋮xpT⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛x11x21…x1px21x22…x2p⋮⋮⋮⋮xp1xp2…xpp⎠⎟⎟⎟⎞N∗p
1N=(11⋮1)N∗11_N=\left(\begin{array}{c}1 \\ 1\\ \vdots \\1\end{array}\right)_{N*1} 1N=⎝⎜⎜⎜⎛11⋮1⎠⎟⎟⎟⎞N∗1
xi∈Rp,i=1,2⋯Nx_{i} \in \mathbb{R}^{p},i = 1,2 \cdots Nxi∈Rp,i=1,2⋯N
样本均值:x‾p∗1=1N∑i=1Nxi\overline{x}_{p*1}=\frac{1}{N}\sum\limits_{i=1}^Nx_ixp∗1=N1i=1∑Nxi
样本方差:Sp∗p=1N∑i=1N(xi−X‾)(xi−X‾)TS_{p*p}=\frac{1}{N}\sum\limits_{i=1}^N(x_i-\overline{X})(x_i-\overline{X})^TSp∗p=N1i=1∑N(xi−X)(xi−X)T
为了方便,我们首先将协方差矩阵(数据集)写成中心化的形式:
x‾p∗1=1N∑i=1Nxi=1N(x1,x2,⋯,xN)(11⋮1)N∗1=1NXT1N\overline{x}_{p*1}=\frac{1}{N}\sum\limits_{i=1}^Nx_i=\frac{1}{N}(x_1,x_2,\cdots,x_N)\left(\begin{array}{c}1 \\ 1\\ \vdots \\1\end{array}\right)_{N*1}=\frac{1}{N}X^T1_Nxp∗1=N1i=1∑Nxi=N1(x1,x2,⋯,xN)⎝⎜⎜⎜⎛11⋮1⎠⎟⎟⎟⎞N∗1=N1XT1N
S=1N∑i=1N(xi−X‾)(xi−X‾)T=1N(x1−X‾,x2−X‾,⋯,xN−X‾)(x1−X‾,x2−X‾,⋯,xN−X‾)T=1N(XT−X‾1NT)(XT−X‾1NT)T=1N(XT−1NXT1N1NT)(XT−1NXT1N1NT)T=1NXT(IN−1N1N1NT)(IN−1N1N1NT)TX=1NXTHNHNTX=1NXTHNHNX=1NXTHX\begin{aligned} S &=\frac{1}{N}\sum\limits_{i=1}^N(x_i-\overline{X})(x_i-\overline{X})^T\\ \\ &=\frac{1}{N}(x_1-\overline{X},x_2-\overline{X},\cdots,x_N-\overline{X})(x_1-\overline{X},x_2-\overline{X},\cdots,x_N-\overline{X})^T\\\\ &=\frac{1}{N}(X^T-\overline{X}1_N^T)(X^T-\overline{X}1_N^T)^T\\\\ &=\frac{1}{N}(X^T-\frac{1}{N}X^T1_N1_N^T)(X^T-\frac{1}{N}X^T1_N1_N^T)^T\\\\ &=\frac{1}{N}X^T(I_N-\frac{1}{N}1_N1_N^T)(I_N-\frac{1}{N}1_N1_N^T)^TX\\ \\ &=\frac{1}{N}X^TH_NH_N^TX\\ \\ &=\frac{1}{N}X^TH_NH_NX\\\\ &=\frac{1}{N}X^THX \end{aligned}S=N1i=1∑N(xi−X)(xi−X)T=N1(x1−X,x2−X,⋯,xN−X)(x1−X,x2−X,⋯,xN−X)T=N1(XT−X1NT)(XT−X1NT)T=N1(XT−N1XT1N1NT)(XT−N1XT1N1NT)T=N1XT(IN−N11N1NT)(IN−N11N1NT)TX=N1XTHNHNTX=N1XTHNHNX=N1XTHX
这个式子利用了中心矩阵 HHH的对称性,这也是一个投影矩阵。
定义;中心矩阵centeringmatrix:HN=IN−1N1N1NTH_N=I_N-\frac{1}{N}1_N1_N^THN=IN−N11N1NT
HNH_NHN 每个样本减去均值,会使图像向中心移动
S=1NXTHHTXS = \frac { 1 } { N } X ^ { T } H H ^ { T } XS=N1XTHHTX中心矩阵HNH_NHN具有以下性质
HN=IN−1N1N1NTH_N=I_N-\frac{1}{N}1_N1_N^THN=IN−N11N1NT
HNT=IN−1N1N1NT=HNH_N^T=I_N-\frac{1}{N}1_N1_N^T=H_NHNT=IN−N11N1NT=HN
H2=H⋅H=(IN−1N1N1NT)(IN−1N1N1NT)=IN−2N1N1NT+1N21N1NT1N1NT=IN−1N1N1NT=HNH ^ { 2 } = H \cdot H = ( I _ { N } - \frac { 1 } { N } 1 _ { N } 1 _ { N } ^ { T } ) ( I _ { N } - \frac { 1 } { N } 1 _ { N } 1 _ { N } ^ { T } ) \\ \\ = I _ { N } - \frac { 2 } { N } 1 _ { N } 1 _ { N } ^ { T } + \frac { 1 } { N ^ { 2 } } 1 _ { N } 1 _ { N } ^ { T } 1 _ { N } 1 _ { N } ^ { T } = I _ { N } - \frac { 1 } { N } 1 _ { N } 1 _ { N } ^ { T } = H _ { N }H2=H⋅H=(IN−N11N1NT)(IN−N11N1NT)=IN−N21N1NT+N211N1NT1N1NT=IN−N11N1NT=HN
所以:S=1NXTHHTX=1NXTHXS = \frac { 1 } { N } X ^ { T } H H ^ { T } X = \frac { 1 } { N } X ^ { T } H XS=N1XTHHTX=N1XTHX
1 线性降维-主成分分析 PCA
主成分分析中,我们的基本想法是将所有数据投影到一个字空间中,从而达到降维的目标,为了寻找这个子空间,我们基本想法是:
- 所有数据在子空间中更为分散
- 损失的信息最小,即:在补空间的分量少
总结一下就是,一个中心,两个基本点
一个中心:
将一组可能线性相关的变量,通过正交变换变换成一组线性无关的变量(主成分),原始特征空间的重构:相关→\rightarrow→无关
两个基本点:
- 最大投影方差:即数据足够分散
- 最小重构距离:从投影返回到原始数据的代价
最大投影方差与最小重构距离是PCA中心思想的两种不同角度,实际上表述的是同一个意思,但方差比较大时,数据才会比较分散,那么重构回去时比较简单;若数据比较集中,甚至比较极端点,数据经过降维后都变成了一个点,基本上是重构不回去的。
原来的数据很有可能各个维度之间是相关的,于是我们希望找到一组 ppp 个新的线性无关的单位基 uiu_iui,降维就是取其中的 qqq 个基。于是对于一个样本 xix_ixi,经过这个坐标变换后: xi^=∑i=1p(uiTxi)ui=∑i=1q(uiTxi)ui+∑i=q+1p(uiTxi)ui\hat{x_i}=\sum\limits_{i=1}^p(u_i^Tx_i)u_i=\sum\limits_{i=1}^q(u_i^Tx_i)u_i+\sum\limits_{i=q+1}^p(u_i^Tx_i)u_i xi^=i=1∑p(uiTxi)ui=i=1∑q(uiTxi)ui+i=q+1∑p(uiTxi)ui
1.1 最大投影方差
方法
1、中心化,每个样本点减去均值xi−X‾x_i- \overline{X}xi−X
2、投影,求最大方差
假设投影到μ1\mu_{1}μ1 上,投影过程为(xi−Xˉ)Tμ1\left.\mathbf{(} x_{i}-\bar{X}\right)^{T} \mu_{1} \quad(xi−Xˉ)Tμ1 s.t.μ1Tμ1=1s.t. \quad \mu_{1}^{T} \mu_{1}=1s.t.μ1Tμ1=1,这里假设μ1\mu_{1}μ1的模是1
投影后方差为:(因为投影前已经减去了均值,所以这里可以直接平方)
J=1N∑i=1N((xi−Xˉ)Tμ1)2=1N∑i=1Nμ1T(xi−Xˉ)(xi−Xˉ)Tμ1=μ1T(∑i=1N1N(xi−Xˉ)(xi−Xˉ)T)μ1=μ1TSμ1\begin{aligned} J &=\frac{1}{N} \sum_{i=1}^{N}\left(\left(x_{i}-\bar{X}\right)^{T} \mu_{1}\right)^{2} \\ &=\frac{1}{N} \sum_{i=1}^{N} \mu_{1}^{T}\left(x_{i}-\bar{X}\right)\left(x_{i}-\bar{X}\right)^{T} \mu_{1} \\ &=\mu_{1}^{T}\left(\sum_{i=1}^{N} \frac{1}{N}\left(x_{i}-\bar{X}\right)\left(x_{i}-\bar{X}\right)^{T}\right) \mu_{1} \\ &=\mu_{1}^{T} S \mu_{1} \end{aligned}J=N1i=1∑N((xi−Xˉ)Tμ1)2=N1i=1∑Nμ1T(xi−Xˉ)(xi−Xˉ)Tμ1=μ1T(i=1∑NN1(xi−Xˉ)(xi−Xˉ)T)μ1=μ1TSμ1
上述问题就是以下的优化问题:
μ=argmaxμ1TSμ1\mu=\mathop{argmax} \mu_{1}^{T} S \mu_{1}μ=argmaxμ1TSμ1s.t.μ1Tμ1=1s.t. \quad \mu_{1}^{T} \mu_{1}=1s.t.μ1Tμ1=1
采用拉格朗日乘值法进行求解:
L(μ1,λ)=μ1TSμ1+λ(1−μ1Tμ1)∂L∂μ1=2Sμ1−2λμ1=0Sμ1=λμ1\begin{array}{l} L\left(\mu_{1}, \lambda\right)=\mu_{1}^{T} S \mu_{1}+\lambda\left(1-\mu_{1}^{T} \mu_{1}\right) \\ \\ \frac{\partial L}{\partial \mu_{1}}=2 S \mu_{1}-2 \lambda \mu_{1}=0 \\ \\ S \mu_{1}=\lambda \mu_{1} \end{array}L(μ1,λ)=μ1TSμ1+λ(1−μ1Tμ1)∂μ1∂L=2Sμ1−2λμ1=0Sμ1=λμ1
所以,要求的就是协方差矩阵S的特征向量
上面以一个μ1\mu_{1}μ1为例进行介绍的,下面介绍多个单位基的情况。
原来的数据很有可能各个维度之间是相关的,于是我们希望找到一组 ppp 个新的线性无关的单位基 uiu_iui,降维就是取其中的 qqq 个基。于是对于一个样本 xix_ixi,经过这个坐标变换后: xi^=∑i=1p(uiTxi)ui=∑i=1q(uiTxi)ui+∑i=q+1p(uiTxi)ui\hat{x_i}=\sum\limits_{i=1}^p(u_i^Tx_i)u_i=\sum\limits_{i=1}^q(u_i^Tx_i)u_i+\sum\limits_{i=q+1}^p(u_i^Tx_i)u_i xi^=i=1∑p(uiTxi)ui=i=1∑q(uiTxi)ui+i=q+1∑p(uiTxi)ui 对于数据集来说,我们首先将其中心化然后再去上面的式子的第一项,并使用其系数的平方平均作为损失函数并最大化:
J=1N∑i=1N∑j=1q((xi−Xˉ)Tμj)2=∑j=1qμjTSμj\begin{aligned} J &=\frac{1}{N}\sum\limits_{i=1}^N\sum\limits_{j=1}^q \left(\left(x_{i}-\bar{X}\right)^{T} \mu_{j}\right)^{2} \\ &=\sum\limits_{j=1}^q\mu_{j}^{T} S \mu_{j} \end{aligned}J=N1i=1∑Nj=1∑q((xi−Xˉ)Tμj)2=j=1∑qμjTSμj s.t.μjTμj=1s.t. \quad \mu_{j}^{T} \mu_{j}=1s.t.μjTμj=1
由于每个基都是线性无关的,于是每一个 uju_juj 的求解可以分别进行,使用拉格朗日乘子法: argmaxujL(uj,λ)=argmaxujujTSuj+λ(1−ujTuj)\underset{u_{j}}{\operatorname{argmax}}L(u_j,\lambda)=\underset{u_{j}}{\operatorname{argmax}} u_j^TSu_j+\lambda(1-u_j^Tu_j) ujargmaxL(uj,λ)=ujargmaxujTSuj+λ(1−ujTuj) 于是: Suj=λujSu_j=\lambda u_j Suj=λuj 可见,我们需要的基就是协方差矩阵的特征向量。损失函数最大取在本征值前 qqq 个最大值。
1.2 最小重构代价
对于向量xix_{i}xi在uku_{k}uk 方向的投影值为xiTukx_{i}^Tu_{k}xiTuk ,投影值和单位向量的乘机为(xiTuk)uk(x_{i}^Tu_{k})u_{k}(xiTuk)uk
所以 完整的是 xi=∑k=1p(xiTuk)ukx_{i}=\sum\limits_{k=1}^p(x_{i}^Tu_{k})u_{k}xi=k=1∑p(xiTuk)uk
为什么使用求和就可以呢,以二维坐标系进行简单说明(见下图)怎么表示向量xxx呢,其实就是下图中x,y轴上的两个向量的加和,其中在x轴上的向量的值实际上就是向量xxx在x轴上的投影在乘上x轴的单位向量,这就是上面式子的原因。
用PCA进行降维,降维后的维度为q,并且q<p
x^i=∑k=1q(xiTuk)uk\hat{x}_{i}=\sum\limits_{k=1}^q(x_{i}^Tu_{k})u_{k}x^i=k=1∑q(xiTuk)uk
重构代价是:
J=1N∑i=1N∥xi−x^i∥2=1N∑i=1N∥∑k=q+1p(xiTuk)uk∥2=1N∑i=1N∑k=q+1p(xiTuk)2\begin{aligned} J &=\frac{1}{N} \sum_{i=1}^{N}\left\|x_{i}-\hat{x}_{i}\right\|^{2} \\ &=\frac{1}{N} \sum_{i=1}^{N}\left\|\sum_{k=q+1}^{p}\left(x_{i}^{T} u_{k}\right) u_{k}\right\|^{2} \\ &=\frac{1}{N} \sum_{i=1}^{N} \sum_{k=q+1}^{p}\left(x_{i}^{T} u_{k}\right)^{2} \end{aligned}J=N1i=1∑N∥xi−x^i∥2=N1i=1∑N∥∥∥∥∥∥k=q+1∑p(xiTuk)uk∥∥∥∥∥∥2=N1i=1∑Nk=q+1∑p(xiTuk)2
xix_{i}xi进行中心化(PCA需要中心化),重构代价如下:
J=1N∑i=1N∑k=q+1p((xi−Xˉ)Tuk)2=∑k=q+1p∑i=1N1N((xi−Xˉ)Tuk)2=∑k=q+1pukTSuk(这里可以写是因为最小投影方差那一样)s.t. ukTuk=1\begin{aligned} J &=\frac{1}{N} \sum_{i=1}^{N} \sum_{k=q+1}^{p}\left(\left(x_{i}-\bar{X}\right)^{T} u_{k}\right)^{2} \\ &=\sum_{k=q+1}^{p} \sum_{i=1}^{N} \frac{1}{N}\left(\left(x_{i}-\bar{X}\right)^{T} u_{k}\right)^{2} \\ &=\sum_{k=q+1}^{p} u_{k}^{T} S u_{k} (这里可以写是因为最小投影方差那一样)\\ \text { s.t. } & u_{k}^{T} u_{k}=1 \end{aligned}J s.t. =N1i=1∑Nk=q+1∑p((xi−Xˉ)Tuk)2=k=q+1∑pi=1∑NN1((xi−Xˉ)Tuk)2=k=q+1∑pukTSuk(这里可以写是因为最小投影方差那一样)ukTuk=1 最小重构代价J:J=1N∑i=1N∑k=q+1p((xi−Xˉ)Tuk)2=∑k=q+1pukTSuks.t. ukTuk=1\begin{aligned} J &=\frac{1}{N} \sum_{i=1}^{N} \sum_{k=q+1}^{p}\left(\left(x_{i}-\bar{X}\right)^{T} u_{k}\right)^{2} \\ &=\sum_{k=q+1}^{p} u_{k}^{T} S u_{k} \\ \text { s.t. } & u_{k}^{T} u_{k}=1 \end{aligned}J s.t. =N1i=1∑Nk=q+1∑p((xi−Xˉ)Tuk)2=k=q+1∑pukTSukukTuk=1
优化问题:
argmaxujL(uj,λ)=argmaxujujTSuj+λ(1−ujTuj)\underset{u_{j}}{\operatorname{argmax}}L(u_j,\lambda)=\underset{u_{j}}{\operatorname{argmax}}u_j^TSu_j+\lambda(1-u_j^Tu_j) ujargmaxL(uj,λ)=ujargmaxujTSuj+λ(1−ujTuj)
损失函数最小取在本征值剩下的个最小的几个值。
最大投影方差与最小重构代价的区别
- 原先由p维取前q维
- 最大投影方差目标前q最大
- 最小重构代价目标后p−q维方差最小
1.3 从SVD 角度看PCA与PCoA
特征值分解
若S为n阶对称阵,则必有正交矩阵G使得
S=GKGT=GKG−1GTG=IK=[k10…00k2…0⋮⋮⋱⋮00…kp]k1≥k2≥⋯≥kpS=G K G^{T}=GKG^{-1} \quad G^{T} G=I \quad K=\left[\begin{array}{cccc} k_{1} & 0 & \dots & 0 \\ 0 & k_{2} & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & k_{p} \end{array}\right] \quad k_{1} \geq k_{2} \geq \dots \geq k_{p}S=GKGT=GKG−1GTG=IK=⎣⎢⎢⎢⎡k10⋮00k2⋮0……⋱…00⋮kp⎦⎥⎥⎥⎤k1≥k2≥⋯≥kp
其中S是方阵,G是这个矩阵甲的特征向量组成的矩阵,K是一个对角阵,每一个对角线上的元素就是一个特征值。一个矩阵的一组特征向量是一组正交向量。
SVD奇异值分解
在现实的世界中,遇到的大部分矩阵都不是方阵,怎样描述这样普通的矩阵的重要特征?答案是可以使用奇异值分解来解决。
A 是一个N * M的矩阵,那么得到的U是一个N * N的方阵(里面的向量是正交的,称为左奇异向量),Σ是一个N * M的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),VTV^TVT是一个m * m的矩阵(里面的向量也是正交的,称为右奇异向量)
上面是对下面可能会用到的知识进行简单的介绍。
实际训练时常常使⽤的 SVD 直接求得这q个特征向量。
原始数据为XXX,中心化矩阵 H=I−1N1N1NTH=I-\frac{1}{N}1_{N}1_{N}^TH=I−N11N1NT
对数据进行中心化(中心化矩阵可以实现中心化的功能,可见本章节开始) HXHXHX
对中心化后的数据集进行奇异值分解: HX=UΣVT,UTU=IN,VTV=Ip,Σ:N×pHX=U\Sigma V^T,U^TU=I_N,V^TV=I_p,\Sigma:N\times p HX=UΣVT,UTU=IN,VTV=Ip,Σ:N×p
于是: S=1NXTHX=1NXTHTHX=1NVΣTΣVTS=\frac{1}{N}X^THX=\frac{1}{N}X^TH^THX=\frac{1}{N}V\Sigma^T\Sigma V^T S=N1XTHX=N1XTHTHX=N1VΣTΣVT
因为S是实对称阵,所以:S=GKGTS=G K G^{T}S=GKGT
G=VK=Σ2G=V \quad K=\Sigma^2G=VK=Σ2
因此,我们直接对中心化后的数据集进行 SVD,就可以得到特征值和特征向量 VVV,在新坐标系中的坐标就是: HX⋅VHX\cdot V HX⋅V 由上面的推导,我们也可以得到另一种方法 PCoA 主坐标分析,定义并进行特征值分解: T=HXXTH=UΣΣTUTT=HXX^TH=U\Sigma\Sigma^TU^T T=HXXTH=UΣΣTUT
TTT和SSS有相同的特征值
- SSS:特征分解,得到方向(主成分),然后HX⋅V→HX⋅V \rightarrowHX⋅V→坐标
- TTT:特征分解,直接得到坐标
TTT主坐标分析(principle coordinate analysis)PCoA
由于: HX⋅V=UΣVTV=UΣHX⋅V=U\Sigma V^TV=U\SigmaHX⋅V=UΣVTV=UΣ
TUΣ=UΣΣTUT⋅UΣ=UΣ(ΣTΣ)TU\Sigma=U\Sigma\Sigma^TU^T⋅U \Sigma=U\Sigma(\Sigma^T\Sigma) TUΣ=UΣΣTUT⋅UΣ=UΣ(ΣTΣ)
UΣU\SigmaUΣ为特征向量组成的矩阵,ΣTΣ\Sigma^T\SigmaΣTΣ为特征值矩阵。于是可以直接得到坐标。这两种方法都可以得到主成分,但是由于方差矩阵是 p×pp\times pp×p 的,而 TTT 是 N×NN\times NN×N 的,所以对样本量较少的时候可以采用 PCoA的方法。
1.4 从概率角度看PCA:p-PCA
下面从概率的角度对 PCA 进行分析,概率方法也叫 p-PCA。我们使用线性模型,类似之前 LDA,我们选定一个方向,对原数据 x∈Rpx\in\mathbb{R}^px∈Rp ,降维后的数据为 z∈Rq,q<pz\in\mathbb{R}^q,q<pz∈Rq,q<p。降维通过一个矩阵变换(投影)进行。设zzz的先验:z∼N(Oq1,Iqq)x=Wz+μ+εε∼N(0,σ2Ipp)\begin{aligned} z & \sim \mathcal{N}\left(\mathbb{O}_{q 1}, \mathbb{I}_{q q}\right) \\ \\ x &=W z+\mu+\varepsilon \\ \\ \varepsilon & \sim \mathcal{N}\left(0, \sigma^{2} \mathbb{I}_{p p}\right) \end{aligned}zxε∼N(Oq1,Iqq)=Wz+μ+ε∼N(0,σ2Ipp)
σ2Ip=[σ20…00σ2…0⋮⋮⋱⋮00…σ2]\sigma^{2} I_{p}=\left[\begin{array}{cccc} \sigma^{2} & 0 & \dots & 0 \\ 0 & \sigma^{2} & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & \sigma^{2} \end{array}\right]σ2Ip=⎣⎢⎢⎢⎡σ20⋮00σ2⋮0……⋱…00⋮σ2⎦⎥⎥⎥⎤
基于上面的先验,可得z,x∣z,x.z∣xz,x|z,x.z|xz,x∣z,x.z∣x
线性高斯模型:P−PCA={Inference,p(z∣x)Learing,w,μ,σ2→EMP-P C A=\left\{\begin{array}{ll} \text {Inference,} & p(z | x) \\ \text {Learing,} & w, \mu, \sigma^{2} \rightarrow E M \end{array}\right.P−PCA={Inference,Learing,p(z∣x)w,μ,σ2→EM
对于zzz的分布如上,那么x的分布就如上图
那么可知{z∼N(0,I)x=wz+μ+ϵϵ∼N(0,σ2I)ϵ⊥zE[x∣z]=E[wz+μ+ϵ]=wz+μVar[x∣z]=Var[wz+μ+ϵ]=σ2Ix∣z∼N(wz+u,σ2I)\left\{\begin{array}{l} z \sim N(0, I) \\ \\ x=w z+\mu+\epsilon \\\\ \epsilon \sim N\left(0, \sigma^{2} I\right) \\ \\ \epsilon \perp z \\ \\ E[x | z]=E[w z+\mu+\epsilon]=w z+\mu \\ \\ \operatorname{Var}[x | z]=\operatorname{Var}[w z+\mu+\epsilon]=\sigma^{2} I \\ \\ x | z \sim N\left(w z+u, \sigma^{2} I\right) \end{array}\right.⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧z∼N(0,I)x=wz+μ+ϵϵ∼N(0,σ2I)ϵ⊥zE[x∣z]=E[wz+μ+ϵ]=wz+μVar[x∣z]=Var[wz+μ+ϵ]=σ2Ix∣z∼N(wz+u,σ2I)
上面的前四个是已知条件,第5,6,7个是根据前面的逐步推出来的。其中第5个式子,因为zzz是先验调条件,因此可以当作常数。
E[x]=E[wz+μ+ϵ]=E[wz+μ]+E[ϵ]=μVar[x]=Var[wz+μ+ϵ]=Var[wz]+Var[ϵ]=wIwT+σ2I=wwT+σ2Ix∼N(μ,wwT+σ2)\begin{array}{l} E[x]=E[w z+\mu+\epsilon]=E[w z+\mu]+E[\epsilon]=\mu \\ \\ \operatorname{Var}[x]=\operatorname{Var}[w z+\mu+\epsilon]=\operatorname{Var}[w z]+\operatorname{Var}[\epsilon]=w I w^{T}+\sigma^{2} I=w w^{T}+\sigma^{2} I \\ \\ x \sim N\left(\mu, w w^{T}+\sigma^{2}\right) \end{array}E[x]=E[wz+μ+ϵ]=E[wz+μ]+E[ϵ]=μVar[x]=Var[wz+μ+ϵ]=Var[wz]+Var[ϵ]=wIwT+σ2I=wwT+σ2Ix∼N(μ,wwT+σ2)
之前的公式:
x=[xaxb]μ=[μ0μ1]Σ=[ΣaaΣabΣbaΣbb]x=\left[\begin{array}{l} x_{a} \\ x_{b} \end{array}\right] \quad \mu=\left[\begin{array}{l} \mu_{0} \\ \mu_{1} \end{array}\right] \quad \Sigma=\left[\begin{array}{ll} \Sigma_{a a} & \Sigma_{a b} \\ \Sigma_{b a} & \Sigma_{b b} \end{array}\right]x=[xaxb]μ=[μ0μ1]Σ=[ΣaaΣbaΣabΣbb]
已知: x∼N(μ,Σ)xb,a=xb−ΣbaΣaa−1xaμb.a=μb−ΣbaΣaa−1μaΣbb.a=Σbb−ΣbaΣaa−1Σabschur complementary xb=xb.a+ΣbaΣaa−1xaE[xb∣xa]=μb.a+ΣbaΣaa−1xaVar[xb∣xa]=Var[xb.a]=Σbb.axb∣xa∼N(μb.a+ΣbaΣaa−1xa,Σbb.a)\begin{array}{l} \text { 已知: } x \sim N(\mu, \Sigma) \\ \\ x_{b, a}=x_{b}-\Sigma_{b a} \Sigma_{a a}^{-1} x_{a} \\ \\ \mu_{b . a}=\mu_{b}-\Sigma_{b a} \Sigma_{a a}^{-1} \mu_{a} \\ \\ \Sigma_{b b . a}=\Sigma_{b b}-\Sigma_{b a} \Sigma_{a a}^{-1} \Sigma_{a b} \quad \text { schur complementary } \\ \\ x_{b}=x_{b . a}+\Sigma_{b a} \Sigma_{a a}^{-1} x_{a} \\ \\ E\left[x_{b} | x_{a}\right]=\mu_{b . a}+\Sigma_{b a} \Sigma_{a a}^{-1} x_{a} \\ \\ V a r\left[x_{b} | x_{a}\right]=V a r\left[x_{b . a}\right]=\Sigma_{b b . a} \\ \\ x_{b} | x_{a} \sim N\left(\mu_{b . a}+\Sigma_{b a} \Sigma_{a a}^{-1} x_{a}, \Sigma_{b b . a}\right) \end{array} 已知: x∼N(μ,Σ)xb,a=xb−ΣbaΣaa−1xaμb.a=μb−ΣbaΣaa−1μaΣbb.a=Σbb−ΣbaΣaa−1Σab schur complementary xb=xb.a+ΣbaΣaa−1xaE[xb∣xa]=μb.a+ΣbaΣaa−1xaVar[xb∣xa]=Var[xb.a]=Σbb.axb∣xa∼N(μb.a+ΣbaΣaa−1xa,Σbb.a)
推导:
[xz]∼([μ0][0ΔΔTI])\begin{array}{l}{\left[\begin{array}{l}x \\ z\end{array}\right] \sim\left(\left[\begin{array}{l}\mu \\ 0\end{array}\right]\left[\begin{array}{cc}0 & \Delta \\ \Delta^{T} & I\end{array}\right]\right)}\end{array}[xz]∼([μ0][0ΔTΔI])
Δ=Cov(x,z)=E[(x−μ)(z−0)T]=E[(x−μ)zT]=E[(wz+ϵ)zT]=E[wzzT+ϵzT]=wE[zzT]+E[ϵ]⋅E[zT]=w⋅I+0=w\begin{array}{l}\Delta=\operatorname{Cov}(x, z) \\ \\ =E[(x-\mu)(z-0)^T] \\ \\ =E\left[(x-\mu) z^{T}\right] \\ \\ =E\left[(w z+\epsilon)z^{T}\right] \\ \\=E\left[w z z^{T}+\epsilon z^{T}\right] \\ \\ =w E\left[z z^{T}\right]+E[\epsilon] \cdot E\left[z^{T}\right] \\ \\ =w \cdot I+0 \\ \\ =w\end{array}Δ=Cov(x,z)=E[(x−μ)(z−0)T]=E[(x−μ)zT]=E[(wz+ϵ)zT]=E[wzzT+ϵzT]=wE[zzT]+E[ϵ]⋅E[zT]=w⋅I+0=w
上面的E[zzT]E\left[z z^{T}\right]E[zzT]可以看作求方差,因为zzz的均值是0
[xz]∼([μ0][OΔΔTI])=([μ0][wwT+σ2IwwTI])\begin{array}{l} {\left[\begin{array}{l} x \\ z \end{array}\right] \sim\left(\left[\begin{array}{l} \mu \\ 0 \end{array}\right]\left[\begin{array}{cc} O & \Delta \\ \Delta^{T} & I \end{array}\right]\right)=\left(\left[\begin{array}{l} \mu \\ 0 \end{array}\right]\left[\begin{array}{ll} w w^{T}+\sigma^{2} I & w \\ w^{T} & I \end{array}\right]\right)}\end{array}[xz]∼([μ0][OΔTΔI])=([μ0][wwT+σ2IwTwI])
联合概率
[xz]∼N(μ^,Σ^)\begin{array}{l}{\left[\begin{array}{l} x \\ z \end{array}\right] \sim N(\hat{\mu}, \hat{\Sigma})} \end{array}[xz]∼N(μ^,Σ^)
对于这个模型,我么可以使用期望-最大(EM)的算法进行学习,在进行推断的时候需要求得 p(z∣x)p(z|x)p(z∣x),推断的求解过程和线性高斯模型类似。p(z∣x)=p(x∣z)p(z)p(x)E[x]=E[Wz+μ+ε]=μVar[x]=WWT+σ2Ipp⟹p(z∣x)=N(WT(WWT+σ2I)−1(x−μ),I−WT(WWT+σ2I)−1W)\begin{array}{c} p(z | x)=\frac{p(x | z) p(z)}{p(x)} \\ \\ \mathbb{E}[x]=\mathbb{E}[W z+\mu+\varepsilon]=\mu \\ \\ \operatorname{Var}[x]=W W^{T}+\sigma^{2} \mathbb{I}_{p p} \\ \\ \Longrightarrow p(z | x)=\mathcal{N}\left(W^{T}\left(W W^{T}+\sigma^{2} \mathbb{I}\right)^{-1}(x-\mu), \mathbb{I}-W^{T}\left(W W^{T}+\sigma^{2} \mathbb{I}\right)^{-1} W\right) \end{array}p(z∣x)=p(x)p(x∣z)p(z)E[x]=E[Wz+μ+ε]=μVar[x]=WWT+σ2Ipp⟹p(z∣x)=N(WT(WWT+σ2I)−1(x−μ),I−WT(WWT+σ2I)−1W)
小结
降维是解决维度灾难和过拟合的重要方法,除了直接的特征选择外,我们还可以采用算法的途径对特征进行筛选,线性的降维方法以 PCA 为代表,在 PCA 中,我们只要直接对数据矩阵进行中心化然后求奇异值分解或者对数据的协方差矩阵进行分解就可以得到其主要维度。非线性学习的方法如流形学习将投影面从平面改为超曲面。
5 降维 Dimention Reduction相关推荐
- 使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战
使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战 LDA也可被视为一种监督降维技术.不同于PCA(Principle ...
- 机器学习Machine Learning:特征选择Feature Selection 与 数据降维Dimension Reduction的区别?
为什么会有降维和特征选择??? 我们知道机器学习的终极目标就是为了预测,当然预测前我们要对数据进行训练.通常我们不会拿原始数据来训练,为什么呢?可能有些人觉得原始信息(original data)包含 ...
- 降维 (Dimensionality Reduction)
文章目录 1. 目标一:数据压缩 2. 目标二:数据可视化 1. 目标一:数据压缩 第二种类型的无监督学习问题,称为降维.有几个不同的的原因可能想要做降维.一是数据压缩,数据压缩不仅允许压缩数据,它也 ...
- 影像组学视频学习笔记(23)-主成分析PCA、降维和特征筛选的区别、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(23)主要讲解: 主成分析PCA,影像组学降维和特征筛选的区别 0. PCA(Principal component analysis) ...
- 影像组学视频学习笔记(29)-ICC的计算、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学的系列教学视频 本节(29)主要讲解: 用pingouin包进行ICC的计算 1.ICC的wikipedia定义 In statistics, the in ...
- 影像组学视频学习笔记(43)-标准差、标准误及95%置信区间CI、Li‘s have a solution and plan.
作者:北欧森林 链接:https://www.jianshu.com/p/f09d0f97592f 来源:简书,已获授权转载 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(43)主要 ...
- 影像组学视频学习笔记(42)-影像组学特征提取问题解决过程复现、Li‘s have a solution and plan.
作者:北欧森林 链接:https://www.jianshu.com/p/c3e6de2f79b3 来源:简书,已获转载授权 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(42)主要 ...
- 影像组学视频学习笔记(41)-如何使用软件提取组学特征、Li‘s have a solution and plan.
作者:北欧森林 链接:https://www.jianshu.com/p/72186eb3e395 来源:简书,已获授权转载 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(41)主要 ...
- 影像组学视频学习笔记(37)-机器学习模型判断脑卒中发病时间(文献报告)、Li‘s have a solution and plan.
作者:北欧森林 链接:https://www.jianshu.com/p/3e7a2c84288e 来源:简书,已获授权转载 RadiomicsWorld.com "影像组学世界" ...
最新文章
- 卫星发现一个重要信号:路上货车跑起来
- html5控制两个重叠div的显示隐藏,2个重叠的div分别设置了hover但是只能显示一个div的hover效果?...
- PAT甲级1151 LCA in a Binary Tree (30 分):[C++题解]LCA、最低公共祖先、哈希表映射
- 大剑无锋之一句话输出表中每一个同学的成绩最高的课程【面试推荐】
- 内地高校招收澳门保送生公布录取结果 882名学生获录取
- 图解:Kafka 水印备份机制
- 以太网交换机工作原理
- android 获取刘海高度,不同刘海屏幕获取安全高度
- NW.js开发环境搭建
- 信息安全与管理2002_李付贵
- Linux宝塔不显示验证码,树莓派安装宝塔面板后,在登录时无法显示验证码
- 手机如何看python代码_用手机运行Python代码
- hcia完结 静态路由综合实验
- 经典蓝牙和低功耗蓝牙的区别
- 主轴弹簧、OTT拉簧、双螺旋弹簧、ROEHRS
- java io处理_java之IO处理
- html5广告的版式设计,版式设计在平面广告中的运用
- 防范网络黑产:黑账号威胁互联网业务安全
- 实现文件及文件批量改名的工具(可支持无盘符文件)
- 在rtc ds1307的驱动中增加rtc ht1382芯片驱动
热门文章
- 大型电商网站系统架构演变过程
- 节假日判断工具(Java)
- Excel程序员常用快捷键
- java微信公众号支付开发平台_微信公众号支付demo,微信公众号支付Java DEMO
- 编程英语:常见代码错误 error 语句学习(12)
- 提高个人效率的方法和工具
- java无法下载jnlp_无法加载jnlp文件
- bochs镜像java模拟器_【 bochs win7镜像完整版 】bochs win7镜像完整版(bochs win7 img文件)新版下载 - U大师...
- 百度技术:“App 优化网络,先从 HTTPDNS 开始” | 原理到实战
- 软件开发延期引发纠纷-律师随笔