奇异值分解(SVD)相关知识

奇异值分解(SVD)原理详解及推导 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有需要补充的,特别是关于矩阵和映射之间的对应关系。前段时间看了国外的一篇文章,叫A Singularly Valuable Decomposition The SVD of a Matrix,觉得分析的特别好,把矩阵和空间关系对应了起来。本文就参考了该文并结合矩阵的相关知识把SVD原理梳理一下。 SVD不仅是一个数学问题,在工程应用中的很多地方都有它的身影,比如前面讲的PCA,掌握了SVD原理后再去看PCA那是相当简单的,在推荐系统方面,SV 阅读详情

奇异值分解的主要思想

奇异值(singular value decomposition, SVD)是一种矩阵因子分解方法。

其主要思想是:任意一个 m × n m\times n m×n 矩阵都可以表示为三个矩阵的乘积(因子分解)形式,即:
A = U Σ V T A=U\Sigma V^\mathrm T A=UΣVT
U Σ V T U\Sigma V^\mathrm T UΣVT称为矩阵A的奇异值分解,并不要求A为方阵。其中 U U U 是 m m m 阶正交矩阵, V V V 是 n n n 阶正交矩阵, Σ \Sigma Σ 是由降序排序的非负的对角线元素组成的 m × n m\times n m×n 矩形对角矩阵。且满足:
U U T = I V V T = I Σ = d i a g ( σ 1 , σ 2 , … , σ p ) σ 1 ≥ σ 2 ≥ … ≥ σ p ≥ 0 p = min ⁡ ( m , n ) U U^{\mathrm T} = I \\ V V^{\mathrm T} = I \\ \Sigma = diag(\sigma_1,\sigma_2,\ldots,\sigma_p)\\ \sigma_1 \geq \sigma_2 \geq\ldots\geq\sigma_p \geq0 \\ p = \min(m,n) UUT=IVVT=IΣ=diag(σ1​,σ2​,…,σp​)σ1​≥σ2​≥…≥σp​≥0p=min(m,n)
σ i \sigma_i σi​ 称为矩阵A的奇异值,U的列向量称为左奇异向量,V的列向量称为右奇异向量。

主要性质

(1)假设矩阵A的奇异值分解为: A = U Σ V T A=U\Sigma V^\mathrm T A=UΣVT,则以下关系成立:
A T A = ( U Σ V T ) T ( U Σ V T ) = V ( Σ T Σ ) V T A A T = ( U Σ V T ) ( U Σ V T ) T = U ( Σ T Σ ) U T A^\mathrm{T}A = (U\Sigma V^{T})^T(U\Sigma V^{T}) = V(\Sigma^T\Sigma)V^T \\ A A^\mathrm{T}= (U\Sigma V^{T})(U\Sigma V^{T})^T = U(\Sigma^T\Sigma)U^T ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTAAT=(UΣVT)(UΣVT)T=U(ΣTΣ)UT
说明 A A T AA^\mathrm{T} AAT和 A T A A^\mathrm{T}A ATA作为对称矩阵,特征分解存在,且可由矩阵 A A A的奇异值分解的矩阵表示。

(2)矩阵A的奇异值分解中,奇异值、左奇异向量和右奇异向量之间存在对应关系。

已知正交矩阵U满足: U − 1 = U T U^{-1}=U^{\mathrm T} U−1=UT ,由 A = U Σ V T A = U \Sigma V^{T} A=UΣVT 易知:
A V = U Σ AV = U \Sigma AV=UΣ
比较等式两端的第 j 列,展开则有:
A v j = σ j u j j = 1 , 2 , … , n A v_{j} = \sigma_{j} u_{j} \qquad j = 1,2,\ldots,n Avj​=σj​uj​j=1,2,…,n
这就是奇异值、左奇异向量和右奇异向量之间的关系。进一步可以得到:
u j = 1 σ j A v j u_{j} = \frac{1}{\sigma_{j}} A v_{j} uj​=σj​1​Avj​
(3)矩阵 A A A的奇异值分解中,奇异值是唯一的,即: Σ \Sigma Σ 唯一,但是矩阵 U U U和 V V V不是唯一的。

(4) r a n k ( A ) = r a n k ( Σ ) = 正 奇 异 值 个 数 rank(A) = rank(\Sigma)=正奇异值个数 rank(A)=rank(Σ)=正奇异值个数

计算过程

根据性质(1) A T A = ( U Σ V T ) T ( U Σ V T ) = V ( Σ T Σ ) V T A^\mathrm{T}A = (U\Sigma V^{T})^T(U\Sigma V^{T}) = V(\Sigma^T\Sigma)V^T ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VT , A T A A^\mathrm{T}A ATA的特征向量构成正交矩阵 V V V 的列; A T A A^\mathrm{T}A ATA的特征值 λ j \lambda_j λj​ 的平方根为奇异值 σ i \sigma_i σi​ ;即:
σ j = λ j j = 1 , 2 , … , n \sigma_j = \sqrt{\lambda_j} \qquad j=1,2,\ldots,n σj​=λj​ ​j=1,2,…,n
对其由大到小排列组为对角线元素,构成对角矩阵 Σ \Sigma Σ 。

具体过程如下:

(1)首先求 A T A A^{\mathrm T} A ATA 的特征值和特征向量。

计算对称矩阵 W = A T A W = A^{\mathrm T} A W=ATA。

求解特征方程:
( W − λ I ) x = 0 (W-\lambda I)x = 0 (W−λI)x=0
特征值 λ i \lambda_i λi​ 从大到小排序:
λ 1 ≥ λ 2 ≥ … ≥ λ n ≥ 0 \lambda_1 \geq \lambda_2 \geq \ldots\geq \lambda_n \geq 0 λ1​≥λ2​≥…≥λn​≥0
求特征值 λ i \lambda_i λi​ 对应的特征向量。

(2)将特征向量单位化,得到对应特征值的特征向量 v 1 , v 2 , … , v n v_1,v_2,\ldots,v_n v1​,v2​,…,vn​,构成n 阶正交矩阵 V V V:
V = [ v 1 v 2 … v n ] V = [v_1 \quad v_2 \ldots v_n] V=[v1​v2​…vn​]
(3)求 m × n m\times n m×n 对角矩阵 Σ \Sigma Σ

计算A的奇异值:
σ i = λ i \sigma_i = \sqrt{\lambda_i} σi​=λi​ ​
构造 m × n m\times n m×n 矩形对角矩阵 Σ \Sigma Σ ,主对角线元素是奇异值,其余元素是零:
Σ = d i a g ( σ 1 , σ 2 , … , σ n ) \Sigma = diag(\sigma_1,\sigma_2,\ldots,\sigma_n) Σ=diag(σ1​,σ2​,…,σn​)
(4)求 m m m 阶正交矩阵 U U U

对 A A A的前 r r r 个正奇异值,令:
u j = 1 σ j A v j , j = 1 , 2 , … r u_{j} = \frac{1}{\sigma_{j}} A v_{j},\quad j=1,2,\ldots r uj​=σj​1​Avj​,j=1,2,…r
得到:
U 1 = [ u 1 u 2 … u r ] U_1 = [u_1 \quad u_2 \ldots u_r] U1​=[u1​u2​…ur​]
求 A T A^{\mathrm T} AT 的零空间的一组标准正交基 { u r + 1 u r + 2 … u m } \{u_{r+1} \quad u_{r+2}\quad \ldots u_{m}\} {ur+1​ur+2​…um​},令:
U 2 = [ u r + 1 u r + 2 … u m ] U_2 = [u_{r+1} \quad u_{r+2} \ldots u_m] U2​=[ur+1​ur+2​…um​]
并令:
U = [ U 1 U 2 ] U = [U_1 \quad U_2] U=[U1​U2​]
(5)得到奇异值分解:
A = U Σ V T A= U \Sigma V^T A=UΣVT

几何解释

从线性变换的角度解释奇异值分解。设存在这样一个线性变换:
T : x → A x T : x \rightarrow A x T:x→Ax
x ∈ R n , A x ∈ R m x\in R^n,Ax \in R^m x∈Rn,Ax∈Rm, x , A x x,Ax x,Ax 分别是各自空间的向量,并且有 A x = U Σ V T x A x =U\Sigma V^\mathrm Tx Ax=UΣVTx。线性变换的解释可以按 U Σ V T x U\Sigma V^\mathrm Tx UΣVTx的计算顺序分解为三个简单的变换:

(1)一个坐标系的旋转或反射变换: V T V^\mathrm{T} VT。

(2)一个坐标轴的缩放变换: Σ \Sigma Σ。

(3)另一个坐标系的旋转或反射变换: U U U。

奇异值分解过程: A = U Σ V T A=U\Sigma V^\mathrm T A=UΣVT , U 、 V U、V U、V 是正交矩阵, V V V 可以理解为列向量 v 1 , v 2 … , v n v_1,v_2\ldots,v_n v1​,v2​…,vn​ 构成 R n R^n Rn 空间的一组标准正交基。 U U U 可以理解为列向量 u 1 , u 2 … , u n u_1,u_2\ldots,u_n u1​,u2​…,un​ 构成 R n R^n Rn 空间的一组标准正交基。 Σ \Sigma Σ 的对角线元素 σ 1 , σ 2 … , σ n \sigma_1,\sigma_2\ldots,\sigma_n σ1​,σ2​…,σn​ 是一组非负实数,表示 R n R^n Rn 空间中原始坐标系坐标轴的 σ 1 , σ 2 … , σ n \sigma_1,\sigma_2\ldots,\sigma_n σ1​,σ2​…,σn​ 倍的缩放变换。

任意一个向量 x ∈ R n x\in R^n x∈Rn,经过基于 A = U Σ V T A=U\Sigma V^\mathrm T A=UΣVT 的线性变换,等价于上述的三个过程,具体如下图所示:

在这里插入图片描述

奇异值分解形式

奇异值分解 A = U Σ V T A=U\Sigma V^\mathrm T A=UΣVT 又称矩阵的完全奇异值分解。实际常用的是奇异值分解的紧凑形式和截断形式。紧凑形式分解是与原始矩阵等秩的奇异值分解,截断奇异值分解是比原始矩阵低秩的奇异值分解。

(1)紧奇异值分解

紧奇异值分解:
A = U r Σ r V r T A=U_r\Sigma_r V_r^\mathrm T A=Ur​Σr​VrT​
其中, r = r a n k ( A ) r=rank(A ) r=rank(A) 。

这种分解的对角矩阵 Σ r \Sigma_r Σr​ 的秩和原始矩阵A的秩相等。

(2)截断奇异值分解
A ≈ U k Σ k V k T A\approx U_k\Sigma_k V_k^\mathrm T A≈Uk​Σk​VkT​
其中, r a n k ( A ) = r 且 0 < k < r rank(A) = r 且 0 < k < r rank(A)=r且0<k<r。

这种分解的对角矩阵 Σ r \Sigma_r Σr​ 的秩比原始矩阵A的秩低。

参考文章:

《统计学习方法 第二版》

[干货汇总]LSA及SVD介绍 1. 前言 近期在看关于NER(Named Entity Recognition)的paper,里面涉及到的几个机器学习的算法,需要学习一下,在网上看了一些相关干货,汇总一下前人智慧。 首先贴出几篇写的还不错的blog blog1 LSA潜在语义分析该blog是在Wiki中翻译过来,翻译的反正比我看原文理解的好,进行初步了解还是不错的。blog2 SVD矩阵奇异值分解 && L 阅读详情

相关推荐

掌握奇异值分解与广义逆的应用

奇异值分解(SVD)是一种在数学特别是线性代数中非常重要的矩阵分解技术。它将一个复杂的矩阵分解成三个简单矩阵的乘积,这样可以使得对原矩阵的理解和操作变得简单。SVD不仅可以处理非方阵,还可以在数据降维、特征提取和压缩等方面有广泛的应用。在经典的线性代数中,逆矩阵是一个在方阵范围内进行讨论的概念。给定一个 n × n 的矩阵 A,如果存在一个矩阵 B 使得 AB 和 BA 都等于单位矩阵 I,则 B 被称为 A 的逆矩阵,记作 A^-1。然而,并非所有矩阵都有逆矩阵。

weixin_28872035的博客 1193

奇异值分解(SVD)

原文链接:https://www.jianshu.com/p/310b55c791de 嘻嘻~今天也假装努力学习了鸭!总结一下前阵子学的线性代数的一小部分内容首先,奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解。区分和理解几个概念:1.奇异值对于一个实矩阵A(m×n阶),如果可以分解为A=UΣV’,其中U和Σ为分别为m×n与n×m阶正交阵,V为n×n阶对角阵,且Σ=diag(a1,a2,...,ar,0,..., 0)。且有a1=a2=a3=...=ar

qq_43703185的博客 424

AFSim仿真系统中的图像处理器:从静态图像到视频流的目标识别技术解析

本文深入解析了AFSim仿真系统中WSF_IMAGE_PROCESSOR图像处理器的核心功能与技术实现。它详细阐述了该处理器如何从静态图像与视频流中完成目标检测、跟踪与识别,将原始像素数据转化为可供指挥系统使用的轨迹情报,并重点介绍了其基于约翰逊准则的目标识别进阶逻辑、关键参数配置以及脚本扩展能力,为构建高逼真度仿真应用提供了实践指导。

cola5的博客 213

奇异值分解和svd相关知识点

奇异值分解(SVD)拟合平面超详细解释奇异值分解(SVD)【附例题和分析】_线性代数_唠嗑!-GitCode 开源社区奇异值分解(SVD)原理详解_svd分解反注水-优快云博客SVD 直接处理数据矩阵,无需显式计算协方差矩阵PCA的问题其实是一个基的变换,使得变换后的数据有着最大的方差。方差的大小描述的是一个变量的信息量对中心化后的数据矩阵 进行奇异值分解(SVD):

爱CV 455

FPGA矩阵键盘计算器Verilog实现与Quartus仿真全流程解析

本文详细解析了基于FPGA和Verilog的矩阵键盘计算器实现全流程,包括矩阵键盘扫描、状态机设计、算术运算逻辑及数码管显示驱动。通过Quartus仿真与Testbench测试,确保设计稳定性与准确性,适合数字逻辑设计初学者学习FPGA开发与硬件描述语言应用。

chair的专栏 742

基于CNN的表情识别(FER)pytorch实现

Report for FER Jian Tang Abstract 我们使用卷积神经网络(CNN)实现了baby的面部表情识别(FER)。 数据上,我们获取了开源FER数据集FER2013[1],besides我们使用爬虫获取了baby相关的人脸图片,进行了手工分类标注以形成一个全新的baby FER数据集。 模型上,我们首先复现了Luan[2]的工作,即参考Kuo[3]在CVPR 2018上的工作并实现一个轻量的CNN网络,在FER2013上进行训练并得到了XXXX%的平均分类准确率(avg a

qq_20241587的博客 3683

SVD奇异值分解简述

SVD奇异值分解简述 BY:YANG LIU 1.什么是奇异值分解 奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广。奇异值分解在某些方面与对称矩阵或Hermite矩阵基于特征向量的对角化类似。谱分析的基础是对称阵特征向量的分解,而奇异值分解则是谱分析理论在任意矩阵上的推广。 对称矩阵(Symmetric Matrices)是指以主对角线为对称轴,各元素对应相等的矩阵。 厄米特矩阵(Hermitian Matrix

a3012203250的博客 6939

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

SVD奇异值分解

对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。应用:结构化数据中,将原来的m个特征降维成k个新的特征,新特征是原始特征的线性组合,捕捉了数据的主要方差信息,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。降噪:通常噪声对应较小的奇异值。

zx15600886035的博客 757

基于STM32单片机的智能分拣系统

基于STM32单片机的智能分拣系统是一种高效、精准的自动化分拣解决方案,适用于物流、仓储、制造业等领域。该系统利用STM32单片机作为核心控制器,结合传感器技术、电机控制算法和通信模块,实现对物品的自动识别、分类和分拣。通过智能化的设计,该系统能够大幅提高分拣效率,降低人工成本,并减少错误率。基于STM32单片机的智能分拣系统是一种高效、精准、低成本的自动化解决方案,能够广泛应用于物流、制造、环保等领域。

qq_62634009的博客 1940

R语言 百度坐标转换至WGS84坐标

本文利用R语言封装了百度坐标转换至WGS84坐标的函数,亲测有效,提供了便捷的百度坐标转换方法。

qingchen98的博客 2135

SVD 奇异值分解

文章目录Vectors 向量Matrices 矩阵Matrix Notation 矩阵表示Vector Terminology 向量术语Vector Length 向量长度Vector Addition 向量加法Scalar Multiplication 标量乘法Inner Product 内积Orthogonality 正交Normal Vector or Unit Vector 单位向量Ort...

Ninja Lin 291

5套高颜值AI漫剧女主设定图!直接拿去做漫剧(附完整提示词)

左侧特写放大表现暖棕眼妆、豆沙唇、红宝石首饰、发丝与针织纹理,四个视图严格保持同一人物脸模、发色、服装、首饰和身体比例,柔和复古棚拍光,低饱和酒红与奶油色配色,真实布料、皮革、金属与宝石材质,高级精致角色资产设定图,高清8K。佩戴珍珠与透明水晶耳坠、纤细珍珠项链;左侧特写放大至胸部以上,清晰表现皮肤、眼妆、发丝、耳饰和针织材质,人物四个视图保持同一脸模、发型、服装、饰品和身体比例,柔和棚拍漫射光,轻微地面阴影,高级细腻材质,真实发丝,细腻皮肤,高精度角色资产设定图,高清8K质感。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1654

DAY 20 奇异值分解

摘要:本文系统介绍了奇异值分解(SVD)的原理及其在降维中的应用。首先阐述了SVD的数学基础。随后详细解析了SVD的三个输出矩阵(U、Σ、V^T)的物理意义和作用机制。通过Python案例展示了SVD在矩阵降维中的实际应用,保留前k个奇异值即可实现5%以内的误差率。最后针对机器学习场景,重点探讨了训练集和测试集的特征维度不一致问题,提出必须对测试集应用相同的V^T矩阵进行投影变换,并提供了完整的代码实现和标准化处理建议。全文结合理论与实例,为SVD的实际应用提供了清晰指导。

awsndy的博客 1284

机器学习实战4-教育领域:学生成绩的可视化分析与成绩预测-详细分析

大家好,我是微学AI,今天给大家带来机器学习实战4-学生成绩的可视化分析与成绩预测,机器学习在教育中的应用具有很大的潜力,特别是在学生成绩的可视化分析与成绩预测方面。机器学习可以通过对学生的父母教育情况和学校表现等数据进行分析和挖掘,从而揭示潜在的学习模式和趋势。

微学AI的博客 7676

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

机器学习降维--SVD奇异值分解

奇异值分解是有着很明显的物理意义,将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性,让机器学会抽取重要的特征,SVD是一个重要的方法。 所以SVD不仅是一个数学问题,在工程应用方面很多地方都有其身影,如PCA,推荐系统、任意矩阵的满秩分解。 1、特征值 如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式:          这时候λ被...

weixin_30448685的博客 320

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

矩阵分解相关知识点总结(四)

本博客参考西工大《矩阵论》第四章的矩阵分解,对几种常见的矩阵分解方法进行总结。

等你下课 1150

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

矩阵的SVD奇异值分解

hjwang1的专栏 285

MIT线性代数1806(30) 矩阵奇异值分解SVD

MIT线性代数1806(30) 矩阵奇异值分解SVD

大模型与Agent智能体 1123

Least-Squares Rigid Motion Using SVD

Least-Squares Rigid Motion Using SVD

8rfuz的博客 1223

通过奇异值分解(SVD)求解透视变换单应性矩阵_svd 计算单应性矩阵

xy1其中投影矩阵HHH为一个3×33×33\times 3方阵,(2)Hh1h2h3h4h5h6h7h8h9点p′(u,v)p′uvp{}'(u, v)的坐标为(3)uu′wvv′w也就是(4)uh1xh2yh3h7xh8yh9vh4xh5yh6h7xh8yh9注意到,上式中等式的格式为矩阵HH。

2401_84976715的博客 1238

day20 奇异值分解

对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。应用:结构化数据中,将原来的m个特征降维成k个新的特征,新特征是原始特征的线性组合,捕捉了数据的主要方差信息,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。降噪:通常噪声对应较小的奇异值。

weixin_70112947的博客 235

DAY20奇异值分解

对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。应用:结构化数据中,将原来的m个特征降维成k个新的特征,新特征是原始特征的线性组合,捕捉了数据的主要方差信息,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。降噪:通常噪声对应较小的奇异值。

qq_43749630的博客 365
上一篇: LightGBM 相关知识理解
下一篇: 潜在语义分析(LSA)相关知识
VariableX
博客等级 码龄7年 142粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值