若特征是二值的,则每增加一个特征,所需数据量都在以2的指数级进行增长,更何况很多特征不只是二值的。
维度越大,超球体体积越小。说明落在超球体内的样本越少,因为超球体是超立方体的内切球。不在球内,那只能在角落!
高维情况下,圆环几乎占据了整个外圆,内圆体积趋向于0,导致数据稀疏。
结论:
- 三维的角度来看,是非常震惊的;这类似于人的大脑,几乎所有的智慧都集中在大脑皮层。
- 由此可以看出,二维或三维上的一些理解,在高维是不适用的。
- 直接降维:特征选择:直接把不重要的特征扔掉;
- 线性降维:PCA,MDS(多维空间缩放);
- 非线性降维:流形(嵌入了高维空间的地维结构), 等度量映射(ISOMAP), 局部线性嵌入(LLE)。
PCA和SVD都是在矩阵上进行操作,所以本节计算一下样本均值和样本方差的矩阵表示形式。
c e n t e r i n g m a t r i x centering \ matrix centering matrix的作用是将一组数据中心化, H H H矩阵有如下性质:
- 性质: ① H T = H \color{red}①\; 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=(IN−N11N1NT)T=IN−N11N1NT=H- 性质: ② H n = H \color{red}②\; 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=H⋅H=(IN−N11N1NT)(IN−N11N1NT)=IN−N21N1NT+N211N1NT1N1NT=IN−N2⎝⎜⎜⎜⎛11⋮1⎠⎟⎟⎟⎞(11⋯1)+N21⎝⎜⎜⎜⎛11⋮1⎠⎟⎟⎟⎞(11⋯1)⎝⎜⎜⎜⎛11⋮1⎠⎟⎟⎟⎞(11⋯1)=IN−N2⎣⎢⎢⎢⎡11⋮111⋮1⋯⋯⋱⋯11⋮1⎦⎥⎥⎥⎤N×N+N21⎣⎢⎢⎢⎡11⋮111⋮1⋯⋯⋱⋯11⋮1⎦⎥⎥⎥⎤N×N⎣⎢⎢⎢⎡11⋮111⋮1⋯⋯⋱⋯11⋮1⎦⎥⎥⎥⎤N×N=IN−N2⎣⎢⎢⎢⎡11⋮111⋮1⋯⋯⋱⋯11⋮1⎦⎥⎥⎥⎤N×N+N21⎣⎢⎢⎢⎡NN⋮NNN⋮N⋯⋯⋱⋯NN⋮N⎦⎥⎥⎥⎤N×N=IN−N2⎣⎢⎢⎢⎡11⋮111⋮1⋯⋯⋱⋯11⋮1⎦⎥⎥⎥⎤N×N+N1⎣⎢⎢⎢⎡11⋮111⋮1⋯⋯⋱⋯11⋮1⎦⎥⎥⎥⎤N×N=IN−N11N1NT=H
则 H n = H H^{n}=H Hn=H,其中 1 N 1 N T 1 N 1 N T 1_N1_N^T1_N1_N^T 1N1NT1N1NT为元素全是 N N N的矩阵。
最终可以得到
x ˉ = 1 N X T 1 N S = 1 N X T H X \color{red}\bar{x}=\frac{1}{N}X^{T}1_{N}\\ S=\frac{1}{N}X^{T}HX xˉ=N1XT1NS=N1XTHX
PCA的思想可以总结为: 一 个 中 心 , 两 个 基 本 点 \color{red}一个中心,两个基本点 一个中心,两个基本点。
这一组数据点投影到 u 1 u_1 u1 方向后方差更大,数据更分散,而投影到 u 2 u_2 u2 方向会很密集,因此我们称 u 1 u_1 u1 方向为主成份。主成份分析的意思是找到一组线性无关的基,这组基就是主成份,若我们想降到 q q q 维,便选择其前 q q q 个基即可。
- LDA对应的是: 类 内 小 , 类 间 大 \color{red}类内小, 类间大 类内小,类间大;
- PCA对应的是 最 大 投 影 方 差 \color{red}最大投影方差 最大投影方差。
最小重构距离
数据
假设投影方向为 u i u_i ui,由于我们只关注投影的方向,因此将 u u u的模设置为 1 1 1,即 u i T u i = 1 \color{red}{u_i}^{T}{u_i}=1 uiTui=1。
(q<p)
,则只需要将对应特征值最大的前 q q q个特征向量取出来作为投影方向然后获得数据在这些方向上的投影即为重构的坐标,即:上节课从最大方差角度来计算了降维时最优投影方向:特征值较大的特征向量。
如下图,假设维度为2,即 p = 2 p=2 p=2 , x i x_i xi 为某一个样本点, u 1 , u 2 u_1,u_2 u1,u2 为数据集 X X X 协方差矩阵的特征向量( u i T ⋅ u i = 1 u_i^T\cdot u_i = 1 uiT⋅ui=1 ),其对应的特征值为 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2。
其中 ( x i T u i ) (x_i^Tu_i) (xiTui) 为投影到 u 1 u_1 u1 向量后的长度,其中 ∣ u i ∣ = 1 \vert u_i\vert=1 ∣ui∣=1。
以上便是从 2 2 2维降到 1 1 1维。同样可以推广到:从 p p p 维降到 q q q维( p > q p>q p>q),可以实现最小重构代价角度。
已知数据
中心化
x i ′ = x i − x ˉ , ( i = 1 , 2 , ⋯ , N ) x'_i = x_i-\bar x,\;(i=1, 2, \cdots, N) xi′=xi−xˉ,(i=1,2,⋯,N)
将 X X X 重构到以特征向量为基的向量空间
重构到以特征向量 ( u 1 , u 2 , . . . , u p ) (u_1,u_2,...,u_p) (u1,u2,...,up)为基的向量空间
x i ′ ′ = ∑ k = 1 p ( x ′ i T u k ) u k , ( i = 1 , 2 , ⋯ , N ) x''_i=\sum_{k=1}^p(x{'}_i^Tu_k)u_k,\;(i=1, 2, \cdots, N) xi′′=k=1∑p(x′iTuk)uk,(i=1,2,⋯,N)
将 X X X降维
将 X X X从 p p p降维到 q q q维( p > q p>q p>q),假设特征向量 u i u_i ui按照特征值 λ i \lambda_i λi的大小, 从 大 到 小 排 列 \color{red}从大到小排列 从大到小排列( u 1 u_1 u1对应的 λ 1 \lambda_1 λ1最大, u p u_p up 对应的 λ p \lambda_p λp最小)。则降维可以表示为:
x i ′ ′ ^ = ∑ k = 1 q ( x ′ i T u k ) u k \hat {x''_i}=\sum_{k=1}^q(x{'}_i^Tu_k)u_k xi′′^=k=1∑q(x′iTuk)uk
目标函数
最小重构距离是指将降维后的 x i ′ ′ ^ \hat {x''_i} xi′′^还原为 x i ′ ′ x''_i xi′′所需代价最小,因此其代价可以用二者差值来表示:
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 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} J=N1i=1∑N∥(xi−xˉ)−x^i∥2=N1i=1∑N∥∥∥∥∥∥k=q+1∑p((xi−xˉ)Tuk)uk∥∥∥∥∥∥2
x ′ i T u k x{'}_i^Tu_k x′iTuk是 x i ′ x'_i xi′在第 k k k维的投影。则:
J = 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 J=\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}}} J=N1i=1∑Nk=q+1∑p((xi−xˉ)Tuk)2=k=q+1∑pukTSuk N1i=1∑N((xi−xˉ)Tuk)2
则最小重构距离问题可以转化为以下最优化问题:
{ 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^=argmin∑k=q+1pukTSuks.t.ukTuk=1
求解优化问题
此优化问题与上一节一致,使用拉格朗日乘子法,很容易求得:
S u k = λ k u k Su_k=\lambda_k u_k Suk=λkuk
目标 u k u_k uk为协方差矩阵 S S S的前 q q q个特征向量(前 q q q大的特征值对应的特征向量)。
本节将从奇异值分解(SVD)的角度来看PCA。
已知数据
将 X X X从 p \color{Teal}p p降维到 q \color{Teal}q q维( p > q \color{Teal}p>q p>q),有以下2个方法:
U U U 为 R N × N \mathbb R^{N\times N} RN×N 的矩阵,列正交,并且 U T U = I \color{blue}U^TU=I UTU=I; Σ \Sigma Σ 为 R N × P \mathbb R^{N\times P} RN×P 的矩阵且为 对 角 矩 阵 \color{blue}对角矩阵 对角矩阵; V T V^T VT 为 R P × P \mathbb R^{P\times P} RP×P 的矩阵,正交矩阵,并且 V T V = V V T = I \color{blue}V^TV=VV^T=I VTV=VVT=I
由于通常求解 S \color{red}S S并对其奇异值分解比较困难,我们可以用计算 H X \color{red}HX HX奇异值分解找到需要转换的 q \color{Teal}q q维度。
找到 q \color{Teal}q q维度后,接下来寻找 X X X投影到主成份的方向后的坐标。我们构造矩阵 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 U\Sigma \Sigma^{T} U^{T} UΣΣTUT是 T T T的特征值分解, Σ Σ T \Sigma \Sigma^{T} ΣΣT为特征值矩阵。则寻找转换后的坐标有以下两种方法:
注:
- 应保证 S S S和 T N × N T_{N\times N} TN×N特征分解得到的特征向量是 单 位 向 量 \color{blue}单位向量 单位向量。
- ⽅差矩阵 S ∈ R p × p S\in\mathbb R^{p\times p} S∈Rp×p的,⽽ T N × N ∈ R N × N T_{N\times N}\in \mathbb R^{N\times N} TN×N∈RN×N的,当样本量较少( N 较 少 \color{red}N较少 N较少)的时候可以采⽤ PCoA的⽅法。
前面几节课从最大投影方差、最小重构代价和SVD 3个角度解决了PCA问题,本节将从概率角度来看PCA,这种方法也被称为P-PCA(Probabilistic PCA)