ZCA白化的步骤

ZCA白化的主要用于去相关性,尽量使白化后的数据接近原始输入数据。

对于含有m个样本的数据集{x^((1)),x^((2)),…x^((m)) },假设每个样本的维度为n,即x^i∈R^n,对其进行ZCA白化的具体步骤如下:

1. 计算数据集的协方差矩阵∑,计算公式如下:∑=1/m ∑_(i=1)^m▒〖(x^((i)) ) (x^((i)) )^T 〗〗

2.求出数据集的协方差矩阵∑后 ,对其进行SVD分解,得到U向量。利用U^Tx得到数据集经过旋转后的结果x_rot 即:

x_rot=u^T x=■(u_1^T x@u_2^T x@⋮u_m^T x)

3. 对数据集进行PCA白化,将x_rot中的每一维都除以 √(λ_i ),使输入特征具有单位方差,其中λ_i 是x_rot 协方差矩阵对角元素的值,计算公式如下:

 x_(PCAwhile,i=x_(rot,i)/(√(λ_i )))

4.将x_(PCAwhile,i)左乘一个特征向量矩阵U,得到我们需要的ZCA白化,其计算公式如下:x_ZCAwhile=Ux_PCAwhite

需要注意的是,在使用ZCA白化这个过程中,我们保留数据的全部n个维度,不对数据进行降维,这也是与PCA白化的不同之处。


你可能感兴趣的:(图形与图像)