Deep Learning2: PCA and Whitening

在Technion的暑期学校上,其实已经学过PCA,一直稀里糊涂的,知识点没有串起来

PCA和whitening 是对于数据的预处理,提高运算效率

1. PCA Principal Components Analysis 主成分析法

降低维度,数据可视化 先均值化,再将不同维度数据归一化到同一维(除以最大值)

也就是对数据进行压缩,在降维的同时能够最大程度保留数据特征

将原始数据投射到低维度空间,求正交向量	extstyle u_1 	extstyle u_2步骤如下,数据在主成分保留的特征最多

egin{align}
Sigma = frac{1}{m} sum_{i=1}^m (x^{(i)})(x^{(i)})^T. 
end{align}

	extstyle u_1 	extstyle u_2分别是矩阵的第一特征向量和第二特征向量

得到矩阵U

egin{align}
U = 
egin{bmatrix} 
| & | & & |  \
u_1 & u_2 & cdots & u_n  \
| & | & & | 
end{bmatrix} 		
end{align}

接下来对数据进行转换

egin{align}
x_{
m rot} = U^Tx = egin{bmatrix} u_1^Tx \ u_2^Tx end{bmatrix} 
end{align}

降维操作即只保留主要成分,其他设为0

egin{align}
	ilde{x} = 
egin{bmatrix} 
x_{{
m rot},1} \
vdots \ 
x_{{
m rot},k} \
0 \ 
vdots \ 
0 \ 
end{bmatrix}
approx 
egin{bmatrix} 
x_{{
m rot},1} \
vdots \ 
x_{{
m rot},k} \
x_{{
m rot},k+1} \
vdots \ 
x_{{
m rot},n} 
end{bmatrix}
= x_{
m rot} 
end{align}

还原数据

egin{align}
hat{x}  = U egin{bmatrix} 	ilde{x}_1 \ vdots \ 	ilde{x}_k \ 0 \ vdots \ 0 end{bmatrix}  
= sum_{i=1}^k u_i 	ilde{x}_i.
end{align}

那么设定保留下来的主成分数量k 取决于保留率the percentage of variance retained

the percentage of variance retained is given by:

egin{align}
frac{sum_{j=1}^k lambda_j}{sum_{j=1}^n lambda_j}.
end{align}

在图像处理,要求k的最小取值满足

egin{align}
frac{sum_{j=1}^k lambda_j}{sum_{j=1}^n lambda_j} geq 0.99. 
end{align}

一般,满足1)特征值几乎均值为零2)不同特征值方差近似

对于图像处理,由于其稳定性stationarity,2)方差已经相等,所以只用进行均值归零化

mu^{(i)} := frac{1}{n} sum_{j=1}^n x^{(i)}_j

x^{(i)}_j := x^{(i)}_j - mu^{(i)}

2. Whitening

去除噪声,消除冗余数据,特征之间相关性更小且方差相等

 	extstyle lambda_1 and 	extstyle lambda_2是特征值,就是矩阵的对角值

	extstyle x_{{
m PCAwhite}} in Re^n as follows:

egin{align}
x_{{
m PCAwhite},i} = frac{x_{{
m rot},i} }{sqrt{lambda_i}}.   
end{align}

ZCA Whitening 一般不进行降维操作

egin{align}
x_{
m ZCAwhite} = U x_{
m PCAwhite}
end{align}

原文地址:https://www.cnblogs.com/learnmuch/p/5957127.html