当前位置: 首页 > news >正文

【统计至简】【入门测试4】协方差矩阵的特征值分解

  协方差矩阵 C 的特征值分解 C = V Λ V T C = V\Lambda V^T C=VΛVT,其中 V V V是由特征向量构成的矩阵, Λ \Lambda Λ 是由特征值构成的对角矩阵。

1. 等式右侧第二个矩阵 V V V 对应转置运算,为什么?

  协方差矩阵 C C C 是实对称矩阵,根据实对称矩阵的谱定理,实对称矩阵 C C C 一定可以正交对角化。也就是说,存在一个正交矩阵 V V V(满足 V T V = V V T = I V^TV = VV^T=I VTV=VVT=I,其中 I 是单位矩阵)和一个对角矩阵 Λ \Lambda Λ,使得 C = V Λ V T C = V\Lambda V^T C=VΛVT
  从推导过程来看,设 C C C n × n n\times n n×n 的实对称矩阵, λ i \lambda_i λi C C C 的特征值, v i \mathbf{v}_i vi 是对应的特征向量,即 C v i = λ i v i C\mathbf{v}_i=\lambda_i\mathbf{v}_i Cvi=λivi i = 1 , 2 , ⋯   , n i = 1,2,\cdots,n i=1,2,,n
  将这些特征向量按列排列构成矩阵 V = [ v 1 , v 2 , ⋯   , v n ] V=[\mathbf{v}_1,\mathbf{v}_2,\cdots,\mathbf{v}_n] V=[v1,v2,,vn],则 C V = V Λ CV = V\Lambda CV=VΛ,其中 Λ = diag ( λ 1 , λ 2 , ⋯   , λ n ) \Lambda=\text{diag}(\lambda_1,\lambda_2,\cdots,\lambda_n) Λ=diag(λ1,λ2,,λn)
  由于实对称矩阵不同特征值对应的特征向量相互正交,且可以将特征向量单位化,所以 V V V 是正交矩阵,在等式 C V = V Λ CV = V\Lambda CV=VΛ 两边同时右乘 V T V^T VT 就得到 C = V Λ V T C = V\Lambda V^T C=VΛVT

2. 矩阵 V V V有什么特殊性质?如何从向量空间角度理解 V V V

特殊性质

  • 正交性
       V V V 是正交矩阵,即 V T V = V V T = I V^TV = VV^T = I VTV=VVT=I。这意味着 V V V 的列向量两两正交且模长为 1,即 :
    v i T v j = { 1 , i = j 0 , i ≠ j \mathbf{v}_i^T\mathbf{v}_j=\begin{cases}1, & i = j\\0, & i\neq j\end{cases} viTvj={1,0,i=ji=j
  • 可逆性:
      因为 V 是正交矩阵,所以 V 是可逆的,且 V − 1 = V T V^{-1}=V^T V1=VT

向量空间角度理解

  矩阵 V V V 的列向量 v 1 , v 2 , ⋯   , v n \mathbf{v}_1,\mathbf{v}_2,\cdots,\mathbf{v}_n v1,v2,,vn 构成了 n 维向量空间 R n \mathbb{R}^n Rn 的一组标准正交基。特征值分解可以看作是将原始的向量空间 R n \mathbb{R}^n Rn 通过 V V V 进行了一个基的变换。在新的基(由 V V V 的列向量构成)下,协方差矩阵 C C C 变成了对角矩阵 Λ \Lambda Λ,使得数据在新的基下的协方差结构更加清晰,各个维度之间相互独立。

3. 矩阵 Λ \Lambda Λ 有什么特殊性质,什么条件下,C 特征值中有 0?

矩阵 Λ \Lambda Λ 的特殊性质

  • 对角性:
  • Λ \Lambda Λ 是对角矩阵,即除了主对角线上的元素 λ i \lambda_i λi i = 1 , 2 , ⋯   , n i = 1,2,\cdots,n i=1,2,,n)外,其余元素均为 0。
  • 特征值非负性:由于协方差矩阵 C C C 是半正定矩阵(对于任意向量 x \mathbf{x} x,有 x T C x ≥ 0 \mathbf{x}^TC\mathbf{x}\geq0 xTCx0),所以其特征值 λ i ≥ 0 \lambda_i\geq0 λi0 i = 1 , 2 , ⋯   , n i = 1,2,\cdots,n i=1,2,,n

C 特征值中有 0 的条件

   C C C 的特征值中有 0 当且仅当 C C C 是奇异矩阵(不可逆),即 rank ( C ) < n \text{rank}(C)<n rank(C)<n
  从数据的角度来看,这意味着数据在某些维度上存在完全的线性相关性,或者说数据实际上位于一个低于 n n n 维的子空间中。例如,在二维空间中,如果两个变量完全线性相关,那么协方差矩阵的秩为 1,会有一个特征值为 0。

4. 如果把 V V V 写成 [ v 1 , v 2 ] [\mathbf{v}_1,\mathbf{v}_2] [v1,v2] C = V Λ V T C = V\Lambda V^T C=VΛVT 如何展开?

假设 C 是 2 × 2 2\times2 2×2 的协方差矩阵, V = [ v 1 , v 2 ] V = [\mathbf{v}_1,\mathbf{v}_2] V=[v1,v2] Λ = [ λ 1 0 0 λ 2 ] \Lambda=\begin{bmatrix}\lambda_1 & 0\\0 & \lambda_2\end{bmatrix} Λ=[λ100λ2],则:
C = V Λ V T = [ v 1 , v 2 ] [ λ 1 0 0 λ 2 ] [ v 1 T v 2 T ] = [ λ 1 v 1 , λ 2 v 2 ] [ v 1 T v 2 T ] = λ 1 v 1 v 1 T + λ 2 v 2 v 2 T \begin{align*} C&=V\Lambda V^T\\ &=[\mathbf{v}_1,\mathbf{v}_2]\begin{bmatrix}\lambda_1 & 0\\0 & \lambda_2\end{bmatrix}\begin{bmatrix}\mathbf{v}_1^T\\\mathbf{v}_2^T\end{bmatrix}\\ &= [\lambda_1\mathbf{v}_1,\lambda_2\mathbf{v}_2]\begin{bmatrix}\mathbf{v}_1^T\\\mathbf{v}_2^T\end{bmatrix}\\ &=\lambda_1\mathbf{v}_1\mathbf{v}_1^T+\lambda_2\mathbf{v}_2\mathbf{v}_2^T \end{align*} C=VΛVT=[v1,v2][λ100λ2][v1Tv2T]=[λ1v1,λ2v2][v1Tv2T]=λ1v1v1T+λ2v2v2T

5. 把 V V V 写成 [ v 1 , v 2 ] [\mathbf{v}_1,\mathbf{v}_2] [v1,v2] V T C V = Λ V^TCV=\Lambda VTCV=Λ 如何展开?

V T C V = [ v 1 T v 2 T ] C [ v 1 , v 2 ] = [ v 1 T C v 1 v 1 T C v 2 v 2 T C v 1 v 2 T C v 2 ] \begin{align*} V^TCV&=\begin{bmatrix}\mathbf{v}_1^T\\\mathbf{v}_2^T\end{bmatrix}C[\mathbf{v}_1,\mathbf{v}_2]\\ &=\begin{bmatrix}\mathbf{v}_1^T C\mathbf{v}_1&\mathbf{v}_1^T C\mathbf{v}_2\\\mathbf{v}_2^T C\mathbf{v}_1&\mathbf{v}_2^T C\mathbf{v}_2\end{bmatrix} \end{align*} VTCV=[v1Tv2T]C[v1,v2]=[v1TCv1v2TCv1v1TCv2v2TCv2]
因为 C v i = λ i v i C\mathbf{v}_i=\lambda_i\mathbf{v}_i Cvi=λivi i = 1 , 2 i = 1,2 i=1,2),且 v i T v j = { 1 , i = j 0 , i ≠ j \mathbf{v}_i^T\mathbf{v}_j=\begin{cases}1, & i = j\\0, & i\neq j\end{cases} viTvj={1,0,i=ji=j,所以: v 1 T C v 1 = v 1 T ( λ 1 v 1 ) = λ 1 v 1 T v 1 = λ 1 v 1 T C v 2 = v 1 T ( λ 2 v 2 ) = λ 2 v 1 T v 2 = 0 v 2 T C v 1 = v 2 T ( λ 1 v 1 ) = λ 1 v 2 T v 1 = 0 v 2 T C v 2 = v 2 T ( λ 2 v 2 ) = λ 2 v 2 T v 2 = λ 2 \begin{align*} \mathbf{v}_1^T C\mathbf{v}_1&=\mathbf{v}_1^T(\lambda_1\mathbf{v}_1)=\lambda_1\mathbf{v}_1^T\mathbf{v}_1=\lambda_1\\ \mathbf{v}_1^T C\mathbf{v}_2&=\mathbf{v}_1^T(\lambda_2\mathbf{v}_2)=\lambda_2\mathbf{v}_1^T\mathbf{v}_2 = 0\\ \mathbf{v}_2^T C\mathbf{v}_1&=\mathbf{v}_2^T(\lambda_1\mathbf{v}_1)=\lambda_1\mathbf{v}_2^T\mathbf{v}_1 = 0\\ \mathbf{v}_2^T C\mathbf{v}_2&=\mathbf{v}_2^T(\lambda_2\mathbf{v}_2)=\lambda_2\mathbf{v}_2^T\mathbf{v}_2=\lambda_2 \end{align*} v1TCv1v1TCv2v2TCv1v2TCv2=v1T(λ1v1)=λ1v1Tv1=λ1=v1T(λ2v2)=λ2v1Tv2=0=v2T(λ1v1)=λ1v2Tv1=0=v2T(λ2v2)=λ2v2Tv2=λ2所以 V T C V = [ λ 1 0 0 λ 2 ] = Λ V^TCV=\begin{bmatrix}\lambda_1 & 0\\0 & \lambda_2\end{bmatrix}=\Lambda VTCV=[λ100λ2]=Λ

http://www.dtcms.com/a/56986.html

相关文章:

  • C++将 nums 向量的内容替换为 newArr 容器中的元素
  • 傅里叶变换:跨越时空的数学魔法
  • Spring-事务
  • mmseg
  • 【算法 C/C++】二维差分
  • 使用MPU6050产生中断,唤醒休眠中的STM32
  • 蓝破云可以实现500M以下文件的百度云到阿里云的转存的云计算服务平台(大约每天50个的限制)
  • 元组(Tuple)详解——c#
  • JVM常用概念之移动GC和局部性
  • hadoop集群环境配置
  • JavaWeb学习——过滤器和监听器
  • 北京大学第五弹:《DeepSeek私有化部署和一体机》
  • Ubuntu-docker安装mysql
  • yoloV5训练visDrone2019-Det无人机视觉下目标检测
  • 开启焊接设备安全管控新纪元
  • 安装完flash-attn,使用时报错undefined symbol
  • Android View设置圆角方式大全
  • Vue3实战学习(Vue3的基础语法学习与使用(超详细))(3)
  • 【Linux】外接硬盘管理
  • Selenium库打开指定端口(9222、9333等)浏览器【已解决!!!】
  • 【JAVA架构师成长之路】【电商系统实战】第9集:订单超时关闭实战(Kafka延时队列 + 定时任务补偿)
  • 计算机视觉|MAE 的项目实战:从图像重建到目标检测
  • Maven的学习以及安装配置 2024/3/1 idea
  • python从入门到精通(二十二):python文件操作之Excel全攻略(基于pandas)
  • Django小白级开发入门
  • [网络爬虫] 动态网页抓取 — Selenium 介绍 环境配置
  • 速卖通商品详情API接口全解析
  • Vue3中动态Ref的魔法:绑定与妙用
  • 【已解决】error setting certificate verify locations
  • c++: 容器vector