SVD奇异值分解

一、奇异值

奇异值(Singular Values)是线性代数中矩阵的重要性质之一,与奇异值分解(SVD)密切相关。让我们来更详细地了解一下奇异值的概念:

  1. 定义: 对于一个矩阵 ( A ),它的奇异值是矩阵 ( A ) 的奇异值分解 ( A = U \Sigma V^T ) 中对角矩阵 ( \Sigma ) 的对角线元素的非负实数平方根。换句话说,如果 ( A ) 是一个大小为 ( m \times n ) 的矩阵,那么它有 ( \min(m, n) ) 个奇异值。

  2. 几何解释: 奇异值可以被视为矩阵在变换过程中每个方向的缩放因子。在奇异值分解中,左奇异向量 ( U ) 和右奇异向量 ( V ) 描述了原始空间和目标空间之间的旋转,而对角矩阵 ( \Sigma) 中的奇异值则描述了在这些方向上的缩放程度。较大的奇异值表示了更大的缩放,而较小的奇异值表示了更小的缩放。

  3. 性质

    • 奇异值总是非负的实数。
    • 奇异值的个数等于矩阵的秩(rank)。
    • 奇异值可以用于度量矩阵的条件数,从而反映矩阵在求解线性方程组和计算逆矩阵时的数值稳定性。

二、计算U、\Sigma、V

[ A = U \Sigma V^T ]

其中,( A ) 是一个大小为 ( m \times n ) 的矩阵,( U ) 是一个大小为 (m \times m) 的正交矩阵,( \Sigma ) 是一个大小为 ( m \times n ) 的对角矩阵,( V ) 是一个大小为 ( n \times n ) 的正交矩阵。这里,( U ) 的列向量称为左奇异向量,( \Sigma ) 的对角线元素称为奇异值,( V ) 的列向量称为右奇异向量。SVD的求解可以通过多种方法,其中一种常用的方法是使用特征值分解。给定一个矩阵 ( A ),我们可以计算 ( A^T A ) 和 ( A A^T ) 的特征值和特征向量。假设 ( A ) 是大小为 ( m \times n ) 的矩阵,那么 ( A^T A ) 和 ( A A^T ) 的特征值都是非负实数。然后,我们可以从这些特征值中构建 ( \Sigma ),并且根据 ( A^T A ) 和 ( A A^T ) 的特征向量构建 ( U ) 和 ( V )。

SVD分解的定义是,任意给定nxm大小的矩阵X,都可以将其分解为X=UΣVᵀ的形式,其中U是nxn大小的矩阵,Vᵀ是mxm大小矩阵,U和V均为正交矩阵(酉矩阵),既满足UUᵀ = VVᵀ = E(单位阵)。而Σ是一个对角矩阵,Σ对角元素为X的奇异值(非负数),其中的非零元素个数为X的秩的大小。

 

常见范数介绍-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/471882.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ “雪花算法“原理

C雪花算法并不是传统的数据结构与算法而是一种崭新的分布式算法 属于深层次C 本篇文章就来描述一下雪花算法 什么是雪花算法: 雪花算法(Snowflake)是Twitter开源的一种分布式唯一ID生成算法。它可以在不依赖于数据库等其他存储设施的情况下&#xff0c…

算法刷题:有效三角形个数

有效三角形个数 .题目链接题目详情算法原理补充知识点双指针:对撞指针 我的答案 . 题目链接 有效三角形个数 题目详情 算法原理 补充知识点 有效三角形需要满足的条件: ab>cac>bbc>a 其实在满足1的时候,c是最大的,那么2和3是显然成立的,因此我们可以这样解题: 对…

platformio 提示 fatal error: TimeLib.h: No such file or directory 的解决方案

在platformio编译arduino项目的时候,如果提示fatal error: TimeLib.h: No such file or directory,解决方法有2: 方法1: 在项目的platformio.ini文件中,添加 lib_deps # Using library Id44方法2: 通过…

第三百四十九回

文章目录 1. 概念介绍2. 原理与方法2.1 知识对比2.2 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"加密包crypto"相关的内容,本章回中将介绍characters包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 在项目中会遇到获取字…

阿里云“BGP(多线)”和“BGP(多线)_精品”区别价格对比

阿里云香港等地域服务器的网络线路类型可以选择BGP(多线)和 BGP(多线)精品,普通的BGP多线和精品有什么区别?BGP(多线)适用于香港本地、香港和海外之间的互联网访问。使用BGP&#xf…

月薪30K-100K,新一波工作机会来了,你准备好了吗

纯血版鸿蒙发布,开启一个新时代 1月18日下午,在“鸿蒙千帆起”发布会上,华为揭秘鸿蒙生态和纯血鸿蒙星河版HarmonyOS NEXT进阶的新进展。“几年来,在众多伙伴和开发者的共同努力下,鸿蒙生态设备数已达8亿,…

论文阅读:四足机器人对抗运动先验学习稳健和敏捷的行走

论文:Learning Robust and Agile Legged Locomotion Using Adversarial Motion Priors 进一步学习:AMP,baseline方法,TO 摘要: 介绍了一种新颖的系统,通过使用对抗性运动先验 (AMP) 使四足机器人在复杂地…

Linux--编译器-gcc/g++使用

目录 前言 1.看一段样例 2.程序的翻译过程 1.第一个阶段:预处理 2.第二个阶段:编译 3.第三个阶段:汇编 4.第四个阶段:链接 3.程序的编译为什么是这个样子? 4. 关于编译器 5.链接(动静态链接&#x…

C++数据结构与算法——字符串

C第二阶段——数据结构和算法,之前学过一点点数据结构,当时是基于Python来学习的,现在基于C查漏补缺,尤其是树的部分。这一部分计划一个月,主要利用代码随想录来学习,刷题使用力扣网站,不定时更…

英文单词-计算:Calculate与Compute的区别是什么

英文单词-计算:Calculate与Compute的区别是什么 compute 源自法语;calculate 源自拉丁语。在使用上,calculate 使用得更为广泛 calculate侧重人的分析,而compute侧重机器的运算。 calculator是“计算器”,而computer是“计算机”…

爬虫之牛刀小试(十一):爬取某东关于手机的评论

首先我们进入华为官方旗舰店,点击Mate60,得到: 找到存放评论的接口网址: 然后使用cookie模拟登录,得到字典筛选出我们想要的内容。 爬取1000条评论 同样可以对任意商品进行操作,得到16款手机共计16000…

Java使用opencsv完成对csv批量操作

文章目录 前言一、maven二、造数三、代码部分1.OpenCsvController2.OpenCsvUtil3.StudentInfo4.CodeToValue 三、效果展示1.download2.upload 总结 前言 csv文件是不同于excel文件的另一种文件,常常以,作为分隔符,本篇将通过JavaBean的形式完成对csv文件…