用相似矩阵的几何意义直观理解PCA降维方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feijie7788/article/details/90105934

PCA(主成分分析)是降维中最经典的方法,其推导求解的常用两种方法包括最大方差理论(样本点到超平面的投影都尽可能分开)以及最小平方误差理论(样本点到超平面的距离都足够近),以上两种方法都需要进行严格意义上的数学推导,而本文想从另一个角度——相似矩阵的几何意义——直观理解PCA坐标变换的选取。

1. 相似矩阵的几何意义

以三维向量空间为例,任何一个向量都可以用一组基向量的某个线性组合表示: v = a 1 e 1 + a 2 e 2 + a 3 e 3 = a 1 e 1 + a 2 e 2 + a 3 e 3 \vec{v}=a_{1}e_{1}+a_{2}e_{2}+a_{3}e_{3}=a_{1}^{'}e_{1}^{'}+a_{2}^{'}e_{2}^{'}+a_{3}^{'}e^{'}_{3} e 1 , e 2 , e 3 e 1 , e 2 , e 3 e_{1},e_{2},e_{3}与e_{1}^{'},e^{'}_{2},e^{'}_{3} 是三维空间的两组不同基向量,而两组不同基向量间可通过坐标变换实现相互转化:
v = ( e 1 , e 2 , e 3 ) ( a 1 a 2 a 3 ) = ( e 1 , e 2 , e 3 ) ( w 11 w 12 w 13 = w 21 w 22 w 23 w 31 w 32 w 33 ) ( a 1 a 2 a 3 ) = ( e 1 , e 2 , e 3 ) ( a 1 a 2 a 3 ) \vec{v}=\begin{pmatrix}e_{1}^{'},e^{'}_{2},e^{'}_{3}\end{pmatrix}\begin{pmatrix}a_{1}^{'}\\ a_{2}^{'}\\a_{3}^{'}\end{pmatrix}= \begin{pmatrix}e_{1},e_{2},e_{3}\end{pmatrix} \begin{pmatrix} w_{11}& w_{12} &w_{13} \\ =w_{21} & w_{22}&w_{23} \\ w_{31} &w_{32}&w_{33} \end{pmatrix}\begin{pmatrix}a_{1}^{'}\\ a^{'}_{2}\\a^{'}_{3}\end{pmatrix}= \begin{pmatrix}e_{1},e_{2},e_{3}\end{pmatrix}\begin{pmatrix}a_{1}\\ a_{2}\\a_{3}\end{pmatrix}
e 1 , e 2 , e 3 e 1 , e 2 , e 3 e_{1},e_{2},e_{3}与e_{1}^{'},e^{'}_{2},e^{'}_{3} 之间的坐标变换由 W 3 × 3 = ( w 11 w 12 w 13 w 21 w 22 w 23 w 31 w 32 w 33 ) W_{3×3}= \begin{pmatrix}w_{11}& w_{12} &w_{13} \\ w_{21} & w_{22}&w_{23} \\w_{31} &w_{32}&w_{33} \end{pmatrix} 表示,为保证每组基向量线性无关, W W 矩阵必须为可逆矩阵(行列式>0),因此有 ( e 1 , e 2 , e 3 ) = ( e 1 , e 2 , e 3 ) W 3 × 3 ( a 1 a 2 a 3 ) = W 3 × 3 1 ( a 1 a 2 a 3 ) (e_{1}^{'},e^{'}_{2},e^{'}_{3})=(e_{1},e_{2},e_{3})W_{3×3},\begin{pmatrix}a_{1}^{'}\\ a_{2}^{'}\\a^{'}_{3}\end{pmatrix}=W_{3×3}^{-1}\begin{pmatrix}a_{1}\\ a_{2}\\a_{3}\end{pmatrix}

线性空间中,相同的向量可由不同基向量的某个线性组合表示,那么相同的线性变换也可由不同基向量下的唯一不同矩阵表示,如对向量 v \vec{v} 进行某个线性空间变换 L L ,即 v L ( v ) \vec{v}\rightarrow L(\vec{v})
L ( v ) = a 1 L ( e 1 ) + a 2 L ( e 2 ) + a 3 L ( e 3 ) = ( L ( e 1 ) , L ( e 2 ) , L ( e 3 ) ) ( a 1 a 2 a 3 ) = ( e 1 , e 2 , e 3 ) ( l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 ) ( a 1 a 2 a 3 ) L(\vec{v})=a_{1}L(e_{1})+a_{2}L(e_{2})+a_{3}L(e_{3})=\begin{pmatrix}L(e_{1}), L(e_{2}),L(e_{3})\end{pmatrix} \begin{pmatrix}a_{1}\\ a_{2}\\a_{3}\end{pmatrix} =\begin{pmatrix}e_{1},e_{2},e_{3}\end{pmatrix} \begin{pmatrix} l_{11}& l_{12} &l_{13} \\ l_{21} & l_{22}&l_{23} \\ l_{31} & l_{32}&l_{33} \end{pmatrix}\begin{pmatrix}a_{1}\\ a_{2}\\a_{3}\end{pmatrix}
L ( v ) = ( e 1 , e 2 , e 3 ) ( l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 ) ( a 1 a 2 a 3 ) = ( e 1 , e 2 , e 3 ) W 3 × 3 ( l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 ) W 3 × 3 1 ( a 1 a 2 a 3 ) L(\vec{v})=\begin{pmatrix}e_{1}^{'},e^{'}_{2},e^{'}_{3}\end{pmatrix} \begin{pmatrix} l_{11}^{'}& l_{12}^{'} &l_{13}^{'} \\ l_{21} ^{'}& l_{22}^{'}&l_{23}^{'} \\ l_{31}^{'} & l_{32}^{'}&l_{33}^{'} \end{pmatrix}\begin{pmatrix}a_{1}^{'}\\ a_{2}^{'}\\a^{'}_{3}\end{pmatrix}=(e_{1},e_{2},e_{3})W_{3×3}\begin{pmatrix} l_{11}^{'}& l_{12}^{'} &l_{13}^{'} \\ l_{21} ^{'}& l_{22}^{'}&l_{23}^{'} \\ l_{31}^{'} & l_{32}^{'}&l_{33}^{'} \end{pmatrix}W_{3×3}^{-1}\begin{pmatrix}a_{1}\\ a_{2}\\a_{3}\end{pmatrix}
L 3 × 3 = ( l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 ) L_{3×3}= \begin{pmatrix}l_{11}& l_{12} &l_{13} \\ l_{21} &l_{22}&l_{23} \\ l_{31} &l_{32}&l_{33} \end{pmatrix} L 3 × 3 = ( l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 ) L^{'}_{3×3}= \begin{pmatrix}l_{11}^{'}& l_{12}^{'} &l_{13}^{'} \\ l_{21}^{'} &l_{22}^{'}&l_{23}^{'} \\ l_{31}^{'} &l_{32}^{'}&l_{33}^{'} \end{pmatrix} L 3 × 3 L 3 × 3 L_{3×3}与L^{'}_{3×3} 分别为相同的线性变换 L L 在不同基底 e 1 , e 2 , e 3 e_{1},e_{2},e_{3} e 1 , e 2 , e 3 e_{1}^{'},e^{'}_{2},e^{'}_{3} 的表示矩阵,且满足 L 3 × 3 = W 3 × 3 1 L 3 × 3 W 3 × 3 L^{'}_{3×3}=W_{3×3}^{-1}L_{3×3}W_{3×3} ,我们就说 L 3 × 3 L 3 × 3 L_{3×3}与 L^{'}_{3×3} 相似。

可见矩阵的本质是一种线性变换,同一个线性变换在不同坐标基底的表示矩阵是相似矩阵。而在描述同一个线性变换的不同基底中,有一类基底较特殊,用此类基底可将该线性变换的表示矩阵对角化,对角矩阵的几何意义为仅对基向量做缩放,而不改变其方向。
L ( v ) = ( e 1 , e 2 , e 3 ) ( λ 1 0 0 0 λ 2 0 0 0 λ 3 ) ( a 1 a 2 a 3 ) = ( λ 1 e 1 , λ 2 e 2 , λ 3 e 3 ) ( a 1 a 2 a 3 ) L(\vec{v})=\begin{pmatrix}e_{1}^{'},e^{'}_{2},e^{'}_{3}\end{pmatrix} \begin{pmatrix} \lambda _{1} & 0&0 \\ 0& \lambda _{2} &0 \\ 0& 0 &\lambda _{3} \end{pmatrix}\begin{pmatrix}a_{1}^{'}\\ a_{2}^{'}\\a^{'}_{3}\end{pmatrix}=(\lambda _{1} e_{1},\lambda _{2} e_{2},\lambda _{3} e_{3})\begin{pmatrix}a_{1}^{'}\\ a_{2}^{'}\\a^{'}_{3}\end{pmatrix}
那如何求这类特殊基向量以及相应的对角元素呢?根据上述公式 L 3 × 3 = M 3 × 3 1 L 3 × 3 M 3 × 3 M 3 × 3 L 3 × 3 = L 3 × 3 M 3 × 3 L^{'}_{3×3}=M_{3×3}^{-1}L_{3×3}M_{3×3}\rightarrow M_{3×3}L^{'}_{3×3}=L_{3×3}M_{3×3} ,这里 L 3 × 3 L^{'}_{3×3} 是特殊基底下的对角矩阵, L 3 × 3 L_{3×3} 是单位矩阵 I 3 I_{3} 基底下的非对角矩阵,则有:
M 3 × 3 L 3 × 3 = ( w 11 w 12 w 13 w 21 w 22 w 23 w 31 w 32 w 33 ) ( λ 1 0 0 0 λ 2 0 0 0 λ 3 ) = ( l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 ) ( w 11 w 12 w 13 w 21 w 22 w 23 w 31 w 32 w 33 ) = L 3 × 3 M 3 × 3 M_{3×3}L^{'}_{3×3}= \begin{pmatrix} w_{11}& w_{12} &w_{13} \\ w_{21} & w_{22}&w_{23} \\ w_{31} &w_{32}&w_{33} \end{pmatrix}\begin{pmatrix} \lambda _{1} & 0&0 \\ 0& \lambda _{2} &0 \\ 0& 0 &\lambda _{3} \end{pmatrix}=\begin{pmatrix} l_{11}& l_{12} &l_{13} \\ l_{21} & l_{22}&l_{23} \\ l_{31} & l_{32}&l_{33} \end{pmatrix} \begin{pmatrix} w_{11}& w_{12} &w_{13} \\ w_{21} & w_{22}&w_{23} \\ w_{31} &w_{32}&w_{33} \end{pmatrix}=L_{3×3}M_{3×3}
w j = ( w 1 j w 2 j w 3 j ) T w_{j}=\begin{pmatrix}w_{1j}& w_{2j}& w_{3j}\end{pmatrix}^{T} ,可以得到 L 3 × 3 w j = λ j w j L_{3×3}w_{j}=\lambda _{j} w_{j} ,不难发现 λ j \lambda _{j} 为矩阵 L 3 × 3 L_{3×3} 的其中一个特征值,非零向量 w j w_{j} L 3 × 3 L_{3×3} 对应特征值的特征向量。因此特征向量是进行线性变换(以单位矩阵 I 3 I_{3} 为基底的 L 3 × 3 L_{3×3} 矩阵表示的线性变换)后方向不变的向量,将这类特征向量作为基底,可将该线性变换的表示矩阵对角化,而特征值则为对应特征向量经过线性变换后的缩放比例。通过求解 L 3 × 3 L_{3×3} 矩阵对应的特征值和特征向量,让同样的线性变换通过简洁的对角矩阵的形式表现出来,对实际应用中的数据降维,特征提取都有深刻的意义。

2. 直观理解PCA的基底选取

PCA的本质就是通过基底变化尽可能大的保留原始样本的有效信息,去掉噪音,与信号处理领域的信噪比类似,我们认为有效信息具有较大方差,噪声具有较小方差,信噪比越大意味着数据的质量越好。

假设用矩阵 X X 表示样本集(已中心化处理),每一行包含一个不同的样本 α i T = ( x i 1 x i 2 x i 3 ) \alpha_{i}^{T}= \begin{pmatrix}x_{i1}&x_{i2}&x_{i3}\end{pmatrix} ,每一列对应于样本的一个特征 β j = ( x 1 j x 2 j x 3 j ) T \beta_{j}=\begin{pmatrix}x_{1j}& x_{2j}& x_{3j}\end{pmatrix}^{T} ,那么我们希望某几个列向量的方差尽可能大,即某几个方差较大的特征为有效信息,其余方差较小的特征可当噪声忽略,不同列向量间的协方差尽可能小,即不同特征之间尽可能不相关,信息尽量转移到某几个独立的特征上。

X = ( x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ) = ( α 1 T α 2 T α 3 T ) = ( β 1 , β 2 , β 3 ) X= \begin{pmatrix} x_{11}& x_{12} &x_{13} \\ x_{21} & x_{22}&x_{23} \\ x_{31} & x_{32}&x_{33} \end{pmatrix}= \begin{pmatrix} \alpha_{1} ^{T}\\ \\ \alpha_{2}^{T} \\ \\ \alpha_{3}^{T}\\ \end{pmatrix}= \begin{pmatrix}\beta_{1},& \beta_{2},& \beta _{3}\end{pmatrix}
那么如何表示列向量的方差与协方差呢,这里我们自然想到 X X 的协方差矩阵,这里需要注意的是:协方差矩阵计算的是不同特征之间而非不同样本之间的协方差
C X = 1 m X T X = ( C o v ( β 1 , β 1 ) C o v ( β 1 , β 2 ) C o v ( β 1 , β 3 ) C o v ( β 2 , β 1 ) C o v ( β 2 , β 2 ) C o v ( β 2 , β 3 ) C o v ( β 3 , β 1 ) C o v ( β 3 , β 2 ) C o v ( β 3 , β 3 ) ) C_{X}=\frac{1}{m}X^{T}X= \begin{pmatrix} Cov( \beta_{1}, \beta_{1})& Cov( \beta_{1}, \beta_{2}) &Cov( \beta_{1}, \beta_{3}) \\ Cov( \beta_{2}, \beta_{1})& Cov( \beta_{2}, \beta_{2}) &Cov( \beta_{2}, \beta_{3}) \\ Cov( \beta_{3}, \beta_{1})& Cov( \beta_{3}, \beta_{2}) &Cov( \beta_{3}, \beta_{3}) \end{pmatrix}
理想型的协方差矩阵 C X C_{X} 应满足非对角线元素 C o v ( β i , β j ) Cov( \beta_{i}, \beta_{j}) 为0(不同列向量间的协方差尽可能小),选取较大的对角线元素 C o v ( β j , β j ) Cov( \beta_{j}, \beta_{j}) 所对应的列向量 β 1 β 2 \beta_{1}、\beta_{2} 为样本集的有效特征(某几个列向量的方差尽可能大),其他较小的列向量如 β 3 \beta_{3} 可当作噪声被忽略,从而实现降维。

而实际数据集各特征之间通常存在相关性,有效信息与噪声杂糅在一起,其协方差矩阵的非对角元素并不为0,因此我们需要通过改变坐标基底将实际数据集的协方差矩阵转化为理想型的对角矩阵。
C X = W 1 C X W = ( λ 1 0 0 0 λ 2 0 0 0 λ 3 ) C_{X}^{'}=W^{-1}C_{X}W= \begin{pmatrix} \lambda _{1} & 0&0 \\ 0& \lambda _{2} &0 \\ 0& 0 &\lambda _{3} \end{pmatrix}
由相似矩阵的几何知识可知:

  • C X C_{X} 是线性变换 L L 在基底 ( e 1 , e 2 , e 3 ) \begin{pmatrix}e_{1}, e_{2},e_{3}\end{pmatrix} 下表示的矩阵,这里的基底为单位矩阵 I 3 I_{3}
  • C X C_{X}^{'} 是相同的线性变换 L L 在基底 ( w 1 , w 2 , w 3 ) \begin{pmatrix}w_{1}, w_{2},w_{3}\end{pmatrix} 下表示的矩阵;
  • W W 是从 ( e 1 , e 2 , e 3 ) \begin{pmatrix}e_{1}, e_{2},e_{3}\end{pmatrix} ( w 1 , w 2 , w 3 ) \begin{pmatrix}w_{1}, w_{2},w_{3}\end{pmatrix} 的线性变换 在 ( e 1 , e 2 , e 3 ) \begin{pmatrix}e_{1}, e_{2},e_{3}\end{pmatrix} 坐标系下表示的矩阵。

为满足 C X C_{X}^{'} 为对角矩阵,需要求出以单位矩阵为基底的矩阵 C X C_{X} (线性变换 L L )的特征值 λ \lambda 与对应特征向量 w w ,然后将特征值从大到小排列,取特征值前2个对应的特征向量 ω 1 , ω 2 ω_{1},ω_{2} ,通过映射 α i T = ( w 1 T α i w 2 T α i ) \alpha_{i}^{'T}=\begin{pmatrix}w_{1} ^{T}\alpha_{i} & w_{2} ^{T} \alpha_{i}\end{pmatrix} 将3维样本映射到2维,从而实现降维。

猜你喜欢

转载自blog.csdn.net/feijie7788/article/details/90105934