机器学习-白板推导系列笔记(五)-降维

此文章主要是结合哔站shuhuai008大佬的白板推导视频:降维_136min

全部笔记的汇总贴:机器学习-白板推导系列笔记

一、背景介绍

(一)为什么需要降维

数据的维度过高容易造成维数灾难(Curse of Dimensionality)。

维数灾难:通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。

一个多维空间(以二维为例),则其中图形的体积有如下关系:

V 超 立 方 体 = 1 V_{超立方体}=1 V=1 V 超 球 体 = K ⋅ 0. 5 D V_{超球体}=K\cdot 0.5^{D} V=K0.5D lim ⁡ D → ∞ V 超 球 体 = 0 \lim_{D\rightarrow \infty }V_{超球体}=0 DlimV=0

上式也就表明当数据的维度过高时,数据主要存在于空间的边边角角的地方,这也就造成了数据的稀疏性。

一个多维空间(以二维圆环为例),则其中图形的体积有如下关系:

V 外 = K ⋅ 1 D = K V_{外}=K\cdot 1^{D}=K V=K1D=K V 环 形 带 = V 外 − V 内 = K − K ⋅ ( 1 − ε ) D V_{环形带}=V_{外}-V_{内}=K-K\cdot (1-\varepsilon )^{D} V=VV=KK(1ε)D V 环 形 带 V 外 = K − K ⋅ ( 1 − ε ) D K = 1 − ( 1 − ε ) D \frac{V_{环形带}}{V_{外}}=\frac{K-K\cdot (1-\varepsilon )^{D}}{K}=1-(1-\varepsilon )^{D} VV=KKK(1ε)D=1(1ε)D lim ⁡ D → ∞ V 环 形 带 V 外 = lim ⁡ D → ∞ 1 − ( 1 − ε ) D = 1 \lim_{D\rightarrow \infty }\frac{V_{环形带}}{V_{外}}=\lim_{D\rightarrow \infty }1-(1-\varepsilon )^{D}=1 DlimVV=Dlim1(1ε)D=1

可以看到当数据的维度过高时,数据主要存在于球壳上,类似于人的大脑皮层。

(二)降维的方法

降维可以作为一种防止过拟合的方式,其具体的方法包含下列几种:

降 维 { 直 接 降 维 ( 特 征 选 择 ) 线 性 降 维 ( P C A 、 M D S ) 非 线 性 降 维 ( 流 形 ) 降维\left\{\begin{matrix} 直接降维(特征选择)\\ 线性降维(PCA、MDS)\\ 非线性降维(流形) \end{matrix}\right. 线PCAMDS线

特征选择是一种直接剔除主观认为不重要的特征的过程。

接下来的部分主要介绍主成分分析(PCA)。

二、样本均值与样本方差

(一)概述

假设有以下数据:

x i ∈ R p , i = 1 , 2 , ⋯   , N x_{i}\in \mathbb{R}^{p},i=1,2,\cdots ,N xiRp,i=1,2,,N X = ( x 1 , x 1 , ⋯   , x N ) T = ( x 1 T x 2 T ⋮ x N T ) = ( x 11 x 12 ⋯ x 1 p x 21 x 22 ⋯ x 2 p ⋮ ⋮ ⋱ ⋮ x N 1 x N 2 ⋯ x N p ) N × p X=(x_{1},x_{1},\cdots ,x_{N})^{T}=\begin{pmatrix} x_{1}^{T}\\ x_{2}^{T}\\ \vdots \\ x_{N}^{T} \end{pmatrix}=\begin{pmatrix} x_{11} & x_{12} & \cdots &x_{1p} \\ x_{21} & x_{22}& \cdots &x_{2p} \\ \vdots & \vdots & \ddots &\vdots \\ x_{N1}& x_{N2} & \cdots & x_{Np} \end{pmatrix}_{N \times p} X=(x1,x1,,xN)T=x1Tx2TxNT=x11x21xN1x12x22xN2x1px2pxNpN×p

(二)样本均值与样本方差

以下定义了数据的样本均值与样本方差:

S a m p l e   M e a n : x ˉ p × 1 = 1 N ∑ i = 1 N x i S a m p l e   C o v a r i a n c e : S p × p = 1 N ∑ i = 1 N ( x i − x ˉ ) ( x i − x ˉ ) T Sample\: Mean:\bar{x}_{p\times 1}=\frac{1}{N}\sum_{i=1}^{N}x_{i}\\ Sample\: Covariance:S_{p\times p}=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\bar{x})(x_{i}-\bar{x})^{T} SampleMean:xˉp×1=N1i=1NxiSampleCovariance:Sp×p=N1i=1N(xixˉ)(xixˉ)T

接下来需要对样本均值与样本方差进行一些变换来获得其另一种表示形式:

规定向量: I N = ( 1 1 ⋮ 1 ) N × 1 I_{N}=\begin{pmatrix} 1\\ 1\\ \vdots \\ 1 \end{pmatrix}_{N\times 1} IN=111N×1
x ˉ = 1 N ∑ i = 1 N x i = 1 N ( x 1 x 2 ⋯ x N ) ⏟ X T ( 1 1 ⋮ 1 ) = 1 N X T I N S = 1 N ∑ i = 1 N ( x i − x ˉ ) ( x i − x ˉ ) T = 1 N ( x 1 − x ˉ x 2 − x ˉ ⋯ x N − x ˉ ) ( ( x 1 − x ˉ ) T ( x 2 − x ˉ ) T ⋮ ( x N − x ˉ ) T ) \bar{x}=\frac{1}{N}\sum_{i=1}^{N}x_{i}=\frac{1}{N}\underset{X^{T}}{\underbrace{\begin{pmatrix} x_{1} & x_{2} & \cdots & x_{N} \end{pmatrix}}}\begin{pmatrix} 1\\ 1\\ \vdots \\ 1 \end{pmatrix}=\frac{1}{N}X^{T}I_{N}\\ S=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\bar{x})(x_{i}-\bar{x})^{T}\\ =\frac{1}{N}\begin{pmatrix} x_{1}-\bar{x} & x_{2}-\bar{x} & \cdots & x_{N}-\bar{x} \end{pmatrix}\begin{pmatrix} (x_{1}-\bar{x})^{T}\\ (x_{2}-\bar{x})^{T}\\ \vdots \\ (x_{N}-\bar{x})^{T} \end{pmatrix} xˉ=N1i=1Nxi=N1XT (x1x2xN)111=N1XTINS=N1i=1N(xixˉ)(xixˉ)T=N1(x1xˉx2xˉxNxˉ)(x1xˉ)T(x2xˉ)T(xNxˉ)T
上式中: ( x 1 − x ˉ x 2 − x ˉ ⋯ x N − x ˉ ) = ( x 1 x 2 ⋯ x N ) − ( x ˉ x ˉ ⋯ x ˉ ) = X T − x ˉ ( 1 1 ⋯ 1 ) = X T − x ˉ 1 N T = X T − 1 N X T 1 N 1 N T = X T ( I N − 1 N 1 N 1 N T ) \begin{pmatrix} x_{1}-\bar{x} & x_{2}-\bar{x} & \cdots & x_{N}-\bar{x} \end{pmatrix}\\ =\begin{pmatrix} x_{1} & x_{2} & \cdots & x_{N} \end{pmatrix}-\begin{pmatrix} \bar{x} & \bar{x} & \cdots & \bar{x} \end{pmatrix}\\ =X^{T}-\bar{x}\begin{pmatrix} 1 & 1 & \cdots & 1 \end{pmatrix}\\ =X^{T}-\bar{x}1_{N}^{T}\\ =X^{T}-\frac{1}{N}X^{T}1_{N}1_{N}^{T}\\ =X^{T}(I_{N}-\frac{1}{N}1_{N}1_{N}^{T}) (x1xˉx2xˉxNxˉ)=(x1x2xN)(xˉxˉxˉ)=XTxˉ(111)=XTxˉ1NT=XTN1XT1N1NT=XT(INN11N1NT)
则, S = 1 N X T ( I N − 1 N 1 N 1 N T ) ⏟ H ( I N − 1 N 1 N 1 N T ) T X ( H 称 为 中 心 矩 阵 , c e n t e r i n g m a t r i x ) = 1 N X T H H T X S=\frac{1}{N}X^{T}\underset{H}{\underbrace{(I_{N}-\frac{1}{N}1_{N}1_{N}^{T})}}(I_{N}-\frac{1}{N}1_{N}1_{N}^{T})^{T}X\\ (H称为中心矩阵,centering matrix)\\ =\frac{1}{N}X^{T}HH^{T}X S=N1XTH (INN11N1NT)(INN11N1NT)TX(Hcenteringmatrix)=N1XTHHTX

其中,中心矩阵 H H H具备以下性质:

①    ①\; H T = H H^{T}=H HT=H H T = ( I N − 1 N 1 N 1 N T ) T = I N − 1 N 1 N 1 N T = H H^{T}=(I_{N}-\frac{1}{N}1_{N}1_{N}^{T})^{T}=I_{N}-\frac{1}{N}1_{N}1_{N}^{T}=H HT=(INN11N1NT)T=INN11N1NT=H
②    H n = H ②\; H^{n}=H Hn=H H 2 = H ⋅ H = ( I N − 1 N 1 N 1 N T ) ( I N − 1 N 1 N 1 N T ) = I N − 2 N 1 N 1 N T + 1 N 2 1 N 1 N T 1 N 1 N T = I N − 2 N ( 1 1 ⋮ 1 ) ( 1 1 ⋯ 1 ) + 1 N 2 ( 1 1 ⋮ 1 ) ( 1 1 ⋯ 1 ) ( 1 1 ⋮ 1 ) ( 1 1 ⋯ 1 ) = I N − 2 N [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ] N × N + 1 N 2 [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ] N × N [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ] N × N = I N − 2 N [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ] N × N + 1 N 2 [ N N ⋯ N N N ⋯ N ⋮ ⋮ ⋱ ⋮ N N ⋯ N ] N × N = I N − 2 N [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ] N × N + 1 N [ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ] N × N = I N − 1 N 1 N 1 N T = H H^{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{2}{N}\begin{pmatrix} 1\\ 1\\ \vdots \\ 1 \end{pmatrix}\begin{pmatrix} 1 & 1 & \cdots & 1 \end{pmatrix}+\frac{1}{N^{2}}\begin{pmatrix} 1\\ 1\\ \vdots \\ 1 \end{pmatrix}\begin{pmatrix} 1 & 1 & \cdots & 1 \end{pmatrix}\begin{pmatrix} 1\\ 1\\ \vdots \\ 1 \end{pmatrix}\begin{pmatrix} 1 & 1 & \cdots & 1 \end{pmatrix}\\ =I_{N}-\frac{2}{N}\begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}_{N\times N}+\frac{1}{N^{2}}\begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}_{N\times N}\begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}_{N\times N}\\ =I_{N}-\frac{2}{N}\begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}_{N\times N}+\frac{1}{N^{2}}\begin{bmatrix} N & N & \cdots & N \\ N & N & \cdots & N \\ \vdots & \vdots & \ddots & \vdots \\ N & N & \cdots & N \end{bmatrix}_{N\times N}\\ =I_{N}-\frac{2}{N}\begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}_{N\times N}+\frac{1}{N}\begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}_{N\times N}\\ =I_{N}-\frac{1}{N}1_{N}1_{N}^{T}=H H2=HH=(INN11N1NT)(INN11N1NT)=INN21N1NT+N211N1NT1N1NT=INN2111(111)+N21111(111)111(111)=INN2111111111N×N+N21111111111N×N111111111N×N=INN2111111111N×N+N21NNNNNNNNNN×N=INN2111111111N×N+N1111111111N×N=INN11N1NT=H
则, H n = H H^{n}=H Hn=H

因此最终可以得到:

x ˉ = 1 N X T 1 N S = 1 N X T H X \bar{x}=\frac{1}{N}X^{T}1_{N}\\ S=\frac{1}{N}X^{T}HX xˉ=N1XT1NS=N1XTHX

三、主成分分析(PCA)的思想

总结起来就是:
>一个中心:PCA是对原始特征空间的重构,将原来的线性相关的向量转换成线性无关的向量;
两个基本点:最大投影方差和最小重构距离,这是本质相同的两种方法,在接下来的部分将具体介绍。

PCA首先要将数据中心化(即减去均值)然后投影到一个新的方向上,这个新的方向即为重构的特征空间的坐标轴,同时也要保证投影以后得到的数据的方差最大,即最大投影方差,这样也保证了数据的重构距离最小。

四、最大投影方差

假设投影方向为 u u u,由于我们只关注投影的方向,因此将u的模设置为 1 1 1,即 u T u = 1 u^{T}u=1 uTu=1,则中心化后的数据在u方向上的投影为 ( x i − x ^ ) T u (x_{i}-\hat{x})^{T}u (xix^)Tu,是一个标量。按照最大投影方差的思想,我们定义损失函数如下:

J ( u ) = 1 N ∑ i = 1 N ( ( x i − x ^ ) T u ) 2 = ∑ i = 1 N 1 N u T ( x i − x ^ ) ( x i − x ^ ) T u = u T [ 1 N ∑ i = 1 N ( x i − x ^ ) ( x i − x ^ ) T ] ⏟ S u = u T S u J(u)=\frac{1}{N}\sum_{i=1}^{N}((x_{i}-\hat{x})^{T}u)^{2}\\ =\sum_{i=1}^{N}\frac{1}{N}u^{T}(x_{i}-\hat{x})(x_{i}-\hat{x})^{T}u\\ =u^{T}\underset{S}{\underbrace{[\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\hat{x})(x_{i}-\hat{x})^{T}]}}u\\ =u^{T}Su J(u)=N1i=1N((xix^)Tu)2=i=1NN1uT(xix^)(xix^)Tu=uTS [N1i=1N(xix^)(xix^)T]u=uTSu

因此该问题就转换为以下最优化问题:

{ u ^ = a r g m a x u    u T S u s . t .    u T u = 1 \left\{\begin{matrix} \hat{u}=\underset{u}{argmax}\;u^{T}Su\\ s.t.\; u^{T}u=1 \end{matrix}\right. {u^=uargmaxuTSus.t.uTu=1

然后使用拉格朗日乘子法进行求解:

L ( u , λ ) = u T S u + λ ( 1 − u T u ) ∂ L ∂ u = 2 S u − 2 λ u = 0 S u ⏟ 特 征 向 量 = λ ⏟ 特 征 值 u L(u,\lambda )=u^{T}Su+\lambda (1-u^{T}u)\\ \frac{\partial L}{\partial u}=2Su-2\lambda u=0\\ S\underset{特征向量}{\underbrace{u}}=\underset{特征值}{\underbrace\lambda} u L(u,λ)=uTSu+λ(1uTu)uL=2Su2λu=0S u= λu

最后解得符合条件的向量是协方差矩阵 S S S的特征向量。如果想要降到 q q q维( q < p q<p q<p),则只需要将对应特征值最大的前 q q q个特征向量取出来作为投影方向然后获得数据在这些方向上的投影即为重构的坐标,即:

( x 1 T x 2 T ⋮ x N T ) N × p ( u 1 u 2 ⋯ u q ) p × q = [ x 1 T u 1 x 1 T u 2 ⋯ x 1 T u q x 2 T u 1 x 2 T u 2 ⋯ x 2 T u q ⋮ ⋮ ⋱ ⋮ x N T u 1 x N T u 2 ⋯ x N T u q ] N × q \begin{pmatrix} x_{1}^{T}\\ x_{2}^{T}\\ \vdots \\ x_{N}^{T} \end{pmatrix}_{N\times p}\begin{pmatrix} u_{1} & u_{2} & \cdots & u_{q} \end{pmatrix}_{p\times q}=\begin{bmatrix} x_{1}^{T}u_{1}& x_{1}^{T}u_{2}& \cdots & x_{1}^{T}u_{q}\\ x_{2}^{T}u_{1}& x_{2}^{T}u_{2}& \cdots & x_{2}^{T}u_{q}\\ \vdots & \vdots & \ddots & \vdots \\ x_{N}^{T}u_{1}& x_{N}^{T}u_{2}& \cdots & x_{N}^{T}u_{q} \end{bmatrix}_{N\times q} x1Tx2TxNTN×p(u1u2uq)p×q=x1Tu1x2Tu1xNTu1x1Tu2x2Tu2xNTu2x1Tuqx2TuqxNTuqN×q

特征向量表示投影变换的方向,特征值表示投影变换的强度。通过降维,我们希望减少冗余信息,提高识别的精度,或者希望通过降维算法来寻找数据内部的本质结构特征。找最大的特征值是因为 ,在降维之后要最大化保留数据的内在信息,并期望在所投影的维度上的离散最大。

五、最小重构距离

最小重构距离是另一种求解的方法,其本质上和最大投影方差是相同的。

我们知道有 p p p个投影方向符合条件,因此原来的数据可以表示为以下形式,降维的数据也就是舍弃掉第 q + 1 q+1 q+1到第 p p p这几个方向上的信息。

原来的中心化了的数据 : x i − x ˉ = ∑ k = 1 p ( ( x i − x ˉ ) T u k ) u k :x_{i}-\bar{x}=\sum_{k=1}^{p}((x_{i}-\bar{x})^{T}u_{k})u_{k} :xixˉ=k=1p((xixˉ)Tuk)uk
降维的数据 : x ^ i = ∑ k = 1 q ( ( x i − x ˉ ) T u k ) u k :\hat{x}_{i}=\sum_{k=1}^{q}((x_{i}-\bar{x})^{T}u_{k})u_{k} :x^i=k=1q((xixˉ)Tuk)uk
( u 1 u_{1} u1 u p u_{p} up分别对应从大到小的特征值)

因此重构距离也就是指 x i − x ^ i x_{i}-\hat{x}_{i} xix^i,本着最小化重构距离的思想我们可以设置新的损失函数如下:

J = 1 N ∑ i = 1 N ∥ ( x i − x ˉ ) − x ^ i ∥ 2 = 1 N ∑ i = 1 N ∥ ∑ k = q + 1 p ( ( x i − x ˉ ) T u k ) u k ∥ 2 = 1 N ∑ i = 1 N ∑ k = q + 1 p ( ( x i − x ˉ ) T u k ) 2 = ∑ k = q + 1 p 1 N ∑ i = 1 N ( ( x i − x ˉ ) T u k ) 2 ⏟ u k T S u k = ∑ k = q + 1 p u k T S u k J=\frac{1}{N}\sum_{i=1}^{N}\left \| (x_{i}-\bar{x})-\hat{x}_{i}\right \|^{2}\\ =\frac{1}{N}\sum_{i=1}^{N}\left \| \sum_{k=q+1}^{p}((x_{i}-\bar{x})^{T}u_{k})u_{k}\right \|^{2}\\ =\frac{1}{N}\sum_{i=1}^{N}\sum_{k=q+1}^{p}((x_{i}-\bar{x})^{T}u_{k})^{2}\\ =\sum_{k=q+1}^{p}\underset{u_{k}^{T}Su_{k}}{\underbrace{\frac{1}{N}\sum_{i=1}^{N}((x_{i}-\bar{x})^{T}u_{k})^{2}}}\\ =\sum_{k=q+1}^{p}u_{k}^{T}Su_{k} J=N1i=1N(xixˉ)x^i2=N1i=1Nk=q+1p((xixˉ)Tuk)uk2=N1i=1Nk=q+1p((xixˉ)Tuk)2=k=q+1pukTSuk N1i=1N((xixˉ)Tuk)2=k=q+1pukTSuk s . t .    u k T u k = 1 s.t.\; u_{k}^{T}u_{k}=1 s.t.ukTuk=1

然后就可以转化为以下最优化问题:

{ u ^ = a r g m i n ∑ k = q + 1 p u k T S u k s . t .    u k T u k = 1 \left\{\begin{matrix} \hat{u}=argmin\sum_{k=q+1}^{p}u_{k}^{T}Su_{k}\\ s.t.\; u_{k}^{T}u_{k}=1 \end{matrix}\right. {u^=argmink=q+1pukTSuks.t.ukTuk=1

显然这里的每个 u k u_{k} uk是可以单独求解的,最终也可以解得 u k u_{k} uk是协方差矩阵 S S S的特征向量,只不过这里的 u k u_{k} uk是对应特征值较小的几个特征向量。

六、SVD角度看PCA和PCoA

协方差矩阵 S S S的特征分解:

S = G K G T , 其 中 G T G = I , K = [ k 1 k 2 ⋱ k p ] , k 1 ≥ k 2 ≥ ⋯ ≥ k p S=GKG^{T},其中G^{T}G=I,K=\begin{bmatrix} k_{1} & & & \\ & k_{2} & & \\ & & \ddots & \\ & & & k_{p} \end{bmatrix},k_{1}\geq k_{2}\geq \cdots \geq k_{p} S=GKGT,GTG=I,K=k1k2kp,k1k2kp

X X X中心化的结果 H X HX HX做奇异值分解:

H X = U Σ V T , 其 中 { U N × N 是 正 交 矩 阵 V p × p 是 正 交 矩 阵 Σ N × p 是 对 角 矩 阵 HX=U\Sigma V^{T},其中 \left\{\begin{matrix} U_{N\times N}是正交矩阵\\ V_{p\times p}是正交矩阵\\ \Sigma _{N\times p}是对角矩阵\end{matrix}\right. HX=UΣVT,UN×NVp×pΣN×p

接下里可以做以下变换:

S p × p = X T H X = X T H T H X = V Σ T U T U Σ V T = V Σ T Σ V T S_{p\times p}=X^{T}HX=X^{T}H^{T}HX=V\Sigma^{T} U^{T}U\Sigma V^{T}=V\Sigma^{T}\Sigma V^{T} Sp×p=XTHX=XTHTHX=VΣTUTUΣVT=VΣTΣVT ( V Σ T Σ V T 是 S 的 特 征 值 分 解 , Σ T Σ 即 为 K 。 ) (V\Sigma^{T}\Sigma V^{T}是S的特征值分解,\Sigma^{T}\Sigma 即为K。) (VΣTΣVTSΣTΣK)

接下来我们构造矩阵 T N × N T_{N\times N} TN×N

T N × N = H X X T H T = U Σ V T V Σ T U T = U Σ Σ T U T T_{N\times N}=HXX^{T}H^{T}=U\Sigma V^{T}V\Sigma^{T} U^{T}=U\Sigma \Sigma^{T} U^{T} TN×N=HXXTHT=UΣVTVΣTUT=UΣΣTUT ( U Σ Σ T U T 是 T 的 特 征 值 分 解 , Σ Σ T 为 特 征 值 矩 阵 。 ) (U\Sigma \Sigma^{T} U^{T}是T的特征值分解,\Sigma \Sigma^{T} 为特征值矩阵。) (UΣΣTUTTΣΣT)

对比 S p × p S_{p\times p} Sp×p T N × N T_{N\times N} TN×N,我们可以发现:

  • ①将 S S S进行特征分解然后得到投影的方向,也就是主成分,然后矩阵 H X V HXV HXV即为重构坐标系的坐标矩阵;
  • ②将 T T T进行特征分解可以直接获得坐标矩阵 U Σ U\Sigma UΣ。(注意应保证 S S S T T T特征分解得到的特征向量是单位向量。)

关于为什么将 T T T进行特征分解可以直接获得坐标矩阵,现做以下解释:

坐标矩阵 H X V = U Σ V T V = U Σ HXV=U\Sigma V^{T}V=U\Sigma HXV=UΣVTV=UΣ
也就是说 U Σ U\Sigma UΣ 即为坐标矩阵
接着 T U Σ = U Σ Σ T U T U Σ = U Σ ( Σ T Σ ) T{\color{Red} {U\Sigma}} =U\Sigma \Sigma^{T} U^{T}U\Sigma ={\color{Red} {U\Sigma}} (\Sigma^{T} \Sigma ) TUΣ=UΣΣTUTUΣ=UΣ(ΣTΣ)
也就是说 U Σ U\Sigma UΣ T T T的特征向量组成的矩阵

这两种⽅法都可以得到主成分,但是由于⽅差矩阵是 p × p p\times p p×p的,⽽ T T T N × N N\times N N×N的,所以对样本量较少的时候可以采⽤PCoA的⽅法。

七、概率PCA(p-PCA)

(一)概述

假设有以下数据:

x ∈ R p , z ∈ R q , q < p x\in \mathbb{R}^{p},z\in \mathbb{R}^{q},q< p xRp,zRq,q<p

其中 x x x是原始数据, z z z是降维后的数据,可以将 z z z看做隐变量(latent variable), x x x看做观测变量(observed variable),则p-PCA就可以看做生成模型。

x x x z z z满足以下关系:

{ z ∼ N ( 0 q × 1 , I q × q ) x = W z + μ + ε ε ∼ N ( 0 p × 1 , σ 2 I p × p ) \left\{\begin{matrix} z\sim N(0_{q\times 1},I_{q\times q})\\ x=Wz+\mu +\varepsilon \\ \varepsilon \sim N(0_{p\times 1},\sigma ^{2}I_{p\times p}) \end{matrix}\right. zN(0q×1,Iq×q)x=Wz+μ+εεN(0p×1,σ2Ip×p)

这是一个线性高斯模型,其中 ε \varepsilon ε是噪声, ε \varepsilon ε z z z是独立的。求解这个模型要经过两个阶段:
①Inference:求 P ( z ∣ x ) P(z|x) P(zx)
②Learning:使用EM算法求解参数 W 、 μ , σ 2 W、\mu,\sigma ^{2} Wμσ2

x x x的生成过程如下:
在这里插入图片描述
上图中数据空间为⼆维,潜在空间为⼀维。⼀个观测数据点 x x x的⽣成⽅式为:⾸先从潜在变量的先验分布 p ( z ) p(z) p(z)中抽取⼀个潜在变量的值 z ^ \hat{z} z^,然后从⼀个各向同性的⾼斯分布(⽤红⾊圆圈表示)中抽取⼀个 x x x的值,这个各向同性的⾼斯分布的均值为 W z ^ + μ W\hat{z}+\mu Wz^+μ,协⽅差为 σ 2 I σ^{2}I σ2I。绿⾊椭圆画出了边缘概率分布 p ( x ) p(x) p(x)的密度轮廓线。

(二)推断(inference)

求解P(z|x)的过程如下:

P ( z ) → P ( x ∣ z ) → P ( x ) → P ( z ∣ x ) P(z)\rightarrow P(x|z)\rightarrow P(x)\rightarrow P(z|x) P(z)P(xz)P(x)P(zx)

1.求 P ( x ∣ z ) P(x|z) P(xz)

E [ x ∣ z ] = E [ W z + μ + ε ] = W z + μ + 0 = W z + μ V a r [ x ∣ z ] = V a r [ W z + μ + ε ] = σ 2 I ⇒ x ∣ z ∼ N ( W z + μ , σ 2 I ) E\left [x|z\right ]=E\left [Wz+\mu +\varepsilon \right ]=Wz+\mu +0=Wz+\mu \\ Var\left [x|z\right ]=Var\left [Wz+\mu +\varepsilon \right ]=\sigma ^{2}I\\ \Rightarrow x|z\sim N(Wz+\mu ,\sigma ^{2}I) E[xz]=E[Wz+μ+ε]=Wz+μ+0=Wz+μVar[xz]=Var[Wz+μ+ε]=σ2IxzN(Wz+μ,σ2I)

2.求 P ( x ) P(x) P(x)

E [ x ] = E [ W z + μ + ε ] = E [ W z + μ ] + E [ ε ] = μ V a r [ x ] = V a r [ w z + μ + ε ] = V a r [ W z ] + V a r [ ε ] = W W T + σ 2 I ⇒ x ∼ N ( μ , W W T + σ 2 I ) E[x]=E[Wz+\mu +\varepsilon ]=E[Wz+\mu ]+E[\varepsilon ]=\mu \\ Var[x]=Var[wz+\mu +\varepsilon ]=Var[Wz]+Var[\varepsilon ]=WW^{T}+\sigma ^{2}I\\ \Rightarrow x\sim N(\mu ,WW^{T}+\sigma ^{2}I) E[x]=E[Wz+μ+ε]=E[Wz+μ]+E[ε]=μVar[x]=Var[wz+μ+ε]=Var[Wz]+Var[ε]=WWT+σ2IxN(μ,WWT+σ2I)

3.求 P ( z ∣ x ) P(z|x) P(zx)

该问题和白板推导系列笔记(二)-数学基础中第六部分第三小点的求法是类似的。

( x z ) ∼ N ( [ μ 0 ] , [ W W T + σ 2 I Δ Δ T I ] ) \begin{pmatrix} x\\ z \end{pmatrix}\sim N\left (\begin{bmatrix} \mu \\ 0 \end{bmatrix} ,\begin{bmatrix} WW^{T}+\sigma ^{2}I & \Delta \\ \Delta ^{T}& I \end{bmatrix}\right ) (xz)N([μ0],[WWT+σ2IΔTΔI]) Δ = C o v ( x , z ) = E [ ( x − μ ) ( z − 0 ) T ] = E [ ( W z + μ + ε − μ ) z T ] = E [ ( W z + ε ) z T ] = E [ W z z T + ε z T ] = E [ W z z T ] + E [ ε z T ] = W E [ z z T ] + E [ ε ] E [ z T ] = W E [ ( z − 0 ) ( z − 0 ) T ] + 0 = W V a r [ z ] = W \Delta =Cov(x,z)\\ =E[(x-\mu )(z-0)^{T}]\\ =E[(Wz+\mu +\varepsilon -\mu )z^{T}]\\ =E[(Wz+\varepsilon )z^{T}]\\ =E[Wzz^{T}+\varepsilon z^{T}]\\ =E[Wzz^{T}]+E[\varepsilon z^{T}]\\ =WE[zz^{T}]+E[\varepsilon ]E[z^{T}]\\ =WE[(z-0 )(z-0 )^{T}]+0\\ =WVar[z]\\ =W Δ=Cov(x,z)=E[(xμ)(z0)T]=E[(Wz+μ+εμ)zT]=E[(Wz+ε)zT]=E[WzzT+εzT]=E[WzzT]+E[εzT]=WE[zzT]+E[ε]E[zT]=WE[(z0)(z0)T]+0=WVar[z]=W
因此, ( x z ) ∼ N ( [ μ 0 ] , [ W W T + σ 2 I W W T I ] ) \begin{pmatrix} x\\ z \end{pmatrix}\sim N\left (\begin{bmatrix} \mu \\ 0 \end{bmatrix} ,\begin{bmatrix} WW^{T}+\sigma ^{2}I & W \\ W^{T}& I \end{bmatrix}\right ) (xz)N([μ0],[WWT+σ2IWTWI])

P ( z ∣ x ) ∼ N ( W T ( W W T + σ 2 I ) − 1 ( x − μ ) , I − W T ( W W T + σ 2 I ) − 1 W ) P(z|x)\sim N(W^{T}(WW^{T}+\sigma ^{2}I)^{-1}(x-\mu ),I-W^{T}(WW^{T}+\sigma ^{2}I)^{-1}W) P(zx)N(WT(WWT+σ2I)1(xμ),IWT(WWT+σ2I)1W)

(三)学习(Learning)

这里涉及到的内容在白板推导系列笔记(十)-期望最大算法中有很详细的讲解。

下一章传送门:白板推导系列笔记(六)-支持向量机

参考文章
主成分分析|机器学习推导

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值