码农知识堂 - 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}

  • 相关阅读:
    笔记本电脑没有声音?几招恢复声音流畅!
    Python简单实现人脸识别检测, 对照片进行评分
    《014.SpringBoot+vue之学生选课管理系统03》【前后端分离】
    【软考 系统架构设计师】计算机组成与体系结构⑥ 流水线
    Root of AVL Tree (25)
    5 | Java Spark WordCount打成Jar 包测试
    【数值计算】基于四阶Runge-Kutta方法实现Mackey_Glass混沌时间序列生成以及相位时差的绘制附matlab代码
    使用Node.js手撸一个建静态Web服务器,内部CV指南
    24节气查询易语言代码
    K8S环境搭建
  • 原文地址:https://blog.csdn.net/qq_40206924/article/details/126233861
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号