求解PCA问题,如果样本矩阵发生旋转,解会发生什么变化
时间: 2023-09-26 21:15:08 浏览: 36
当样本矩阵发生旋转时,PCA的解会发生变化。这是因为PCA是一种基于协方差矩阵的线性变换方法,而旋转会改变协方差矩阵的特征向量和特征值,从而改变PCA的解。具体地,如果样本矩阵旋转后,新的数据集的协方差矩阵和原来的协方差矩阵不同,那么PCA的解也会不同。
举个例子,假设原始数据集的协方差矩阵为C,特征向量为V,特征值为λ,那么PCA的解是将原始数据集投影到特征向量上所得到的新的数据集。如果样本矩阵发生旋转,协方差矩阵变为C',特征向量为V',特征值为λ',则PCA的解会变为将旋转后的数据集投影到新的特征向量上所得到的新的数据集。这两个解是不同的,因为特征向量和特征值发生了变化。
因此,为了保证PCA的解不受旋转的影响,可以对数据进行预处理,使其具有旋转不变性。一种常用的方法是对数据进行白化(whitening),即对数据进行线性变换,将其转化为具有相同方差且不相关的新数据集。这样可以消除特征之间的相关性,使得PCA的解不受旋转的影响。
相关问题
求解PCA问题,设原样本X的协方差矩阵对应的d个特征值组成的投影矩阵变换为W,若每个样本围绕点p顺时针旋转θ,求解变换后的样本对应的W
假设原始数据矩阵X的维度为(n, d),其中n为样本个数,d为特征维数。设数据X的协方差矩阵为C,对应的特征向量矩阵为E,特征值矩阵为λ。则PCA的投影矩阵变换为W=E[:,:k],其中k为保留的主成分个数。
现在需要对每个样本围绕点p顺时针旋转θ,假设旋转后的样本矩阵为X',则有:
X' = (X - p) * R(θ) + p
其中R(θ)为旋转矩阵,表示绕点p顺时针旋转θ角度的变换矩阵。对于二维空间中的旋转,可以表示为:
R(θ) = [[cosθ, -sinθ], [sinθ, cosθ]]
对于高维空间中的旋转,也可以采用类似的方式进行计算。
将旋转后的样本矩阵X'代入PCA的投影矩阵变换中,得到变换后的样本矩阵Y:
Y = X' * W
将X'代入上式中,得到:
Y = ((X - p) * R(θ) + p) * W
展开后得到:
Y = X * W * R(θ) + (p - X * W) + p * W
因此,变换后的样本对应的投影矩阵为:
W' = W * R(θ)
其中R(θ)为绕点p顺时针旋转θ角度的旋转矩阵。
求解PCA问题,设原样本X的协方差矩阵对应的d个特征值组成的投影矩阵变换为W,若每个样本乘以放大率a,求解变换后的样本对应的W’
假设原样本矩阵X为 $n \times d$ 的矩阵,其中 $n$ 表示样本数,$d$ 表示每个样本的特征数。协方差矩阵为 $d \times d$ 的矩阵,由于是对称矩阵,因此可以进行特征值分解,得到特征值矩阵 $\Lambda$ 和特征向量矩阵 $V$:
$$
\Sigma = X^T X \qquad \Lambda = \operatorname{diag}(\lambda_1, \lambda_2, \ldots, \lambda_d) \qquad V = [v_1, v_2, \ldots, v_d]
$$
其中,$\lambda_i$ 表示协方差矩阵的第 $i$ 个特征值,$v_i$ 表示对应的特征向量。特征向量按照对应的特征值从大到小排列。
投影矩阵变换为 $W = [v_1, v_2, \ldots, v_k]$,其中 $k$ 表示保留的主成分个数。这里假设保留前 $k$ 个主成分,因此 $W$ 是 $d \times k$ 的矩阵。
对于每个样本 $x_i$,乘以放大率 $a$ 后,变为 $a x_i$。对其进行 PCA 变换,首先需要将其中心化:
$$
x_i^{\prime} = x_i - \bar{x}
$$
其中,$\bar{x}$ 表示样本均值向量。假设样本均值向量为 $\bar{x} = [m_1, m_2, \ldots, m_d]$,则中心化后的样本为:
$$
\begin{aligned}
x_i^{\prime} &= x_i - \bar{x} \\
&= [x_{i1} - m_1, x_{i2} - m_2, \ldots, x_{id} - m_d]
\end{aligned}
$$
然后将中心化后的样本乘以投影矩阵 $W$,即可得到变换后的样本:
$$
x_i^{\prime\prime} = x_i^{\prime} W
$$
但是,由于每个样本乘以了放大率 $a$,因此变换后的样本也需要乘以相应的放大率 $a$,即:
$$
x_i^{\prime\prime\prime} = a x_i^{\prime\prime} = a x_i^{\prime} W
$$
综上所述,每个样本乘以放大率 $a$ 后,变换后的样本对应的投影矩阵为 $W^{\prime} = a W$。