码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 矩阵分析与应用(21)


    学习来源:《矩阵分析与应用》 张贤达 清华大学出版社

    奇异值分解

    1. 特征值分解(EVD)

            对于一个对称矩阵来说,它能相似对角化,且对称矩阵的不同特征值对应的特征向量两两正交。设矩阵 A_{m\times m} 为满秩对称矩阵,有 m 个不同的特征值,为 \lambda_i,\quad i=1,2,\cdots ,m ,特征值对应的特征向量为 x_i ,\quad i=1,2,\cdots ,m ,则

    Ax_1=\lambda_1x_1

    Ax_2=\lambda_2x_2

    \cdots

    Ax_m=\lambda_mx_m

    所以有

    AU=U\Lambda

    其中,

    U=[x_1,x_2,\cdots ,x_m]

    \Lambda =\begin{bmatrix} \lambda_1 & \cdots & 0\\ \vdots & \ddots &\vdots \\ 0& \cdots & \lambda_m \end{bmatrix}

    由于 A 为对称矩阵,所以 A 的特征向量两两正交,即 U 为正交矩阵,因此 U^{-1}=U^T 。

    所以可以得到矩阵 A 的特征值分解:

    A=U\Lambda U^{-1}=U\Lambda U^T

    2. 奇异值分解

    回顾一下矩阵奇异值分解的定义:

            设 A\in R_r^{m\times n} ,则存在 m 阶正交矩阵 U 和 n  阶正交矩阵 V 使得

    A=U\Sigma V^T,\quad \Sigma=\begin{bmatrix} \Sigma_1 &O \\ O& O \end{bmatrix}

    其中,\Sigma_1=diag(\sigma_1,\sigma_2,\cdots ,\sigma_r) ,而 \sigma_i(i=1,2,\cdots ,r) 为 A 的非零奇异值。

    1)U 矩阵求解

            由 A=U\Sigma V^T , A^T=V\Sigma U^T 可得 AA^T=U\Sigma^2 U^T 。

            因为 AA^T 是一个 m\times m 方阵,可以进行特征值分解,因此 \sigma_i=\sqrt{\lambda_i} ,U 由 AA^T 的特征值对应的特征向量组成。

    2)V 矩阵求解

            由 A=U\Sigma V^T , A^T=V\Sigma U^T 可得 A^TA=V\Sigma^2 V^T 。

            A^TA 是 n\times n 方阵,可由特征值分解知道 V 由 A^TA 的特征值对应的特征向量组成。

    3. 例

            求解矩阵 A=\begin{bmatrix} 2 &0 \\ 0 & 2\\ 1 & 1 \end{bmatrix} 的奇异值分解。

    1)AA^T=\begin{bmatrix} 2 & 0\\ 0 &2 \\ 1 &1 \end{bmatrix}\begin{bmatrix} 2 & 0&1 \\ 0& 2 & 1 \end{bmatrix}=\begin{bmatrix} 4 &0 &2 \\ 0& 4&2 \\ 2 & 2 & 2 \end{bmatrix} 

            特征值为 \lambda_1=6,\quad \lambda_2=4 。

            \lambda_1 对应的特征向量为 x_1=[\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}}]^T ,\lambda_2 对应的特征向量为 x_2=[\frac{1}{\sqrt{2}},-\frac{1}{\sqrt{2}},0]^T

    因此 U=\begin{bmatrix}\frac{1}{\sqrt{3}} &\frac{1}{\sqrt{2}} \\\frac{1}{\sqrt{3}} &-\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}}& 0\end{bmatrix} ,且 \Sigma=\begin{bmatrix} \sqrt{6} &0 \\ 0 & 2 \end{bmatrix} 。

    2)A^TA=\begin{bmatrix} 2 & 0 &1 \\ 0 &2 & 1 \end{bmatrix}\begin{bmatrix} 2 &0 \\ 0 &2 \\ 1 & 1 \end{bmatrix}=\begin{bmatrix} 5 &1 \\ 1 & 5 \end{bmatrix}

            \lambda_1 对应的特征向量为 y_1=[\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}}]^T ,\lambda_2 对应的特征向量为 y_2=[-\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}}]^T

    因此

     V=\begin{bmatrix} \frac{1}{\sqrt{2}} &\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix} 。

    3)矩阵 A 的奇异值分解为

    A=U\Sigma V^T=\begin{bmatrix} \frac{1}{\sqrt{3}} &\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}} &-\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}}& 0 \end{bmatrix}\begin{bmatrix} \sqrt{6} &0 \\ 0 & 2 \end{bmatrix}\begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix}

  • 相关阅读:
    pseudorandom-function oracle-Diffie-Hellman (PRF-ODH) assumption
    会议论文和期刊论文在写作上有什么区别?有什么侧重点?
    备战数学建模47-数模常规算法之图论(攻坚站12)
    k8s笔记22--使用fluent-bit采集集群日志
    C++ STL---string类用法
    基于监督学习的多模态MRI脑肿瘤分割,使用来自超体素的纹理特征(Matlab代码实现)
    nginx利用x_forwarded_for实现黑名单访问策略
    一文带你清晰弄明白线程池的原理
    通信达交易接口的http协议
    信息的定量描述
  • 原文地址:https://blog.csdn.net/qq_40206924/article/details/126233861
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号