奇异值分解
Posted 一捧蒹葭为秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了奇异值分解相关的知识,希望对你有一定的参考价值。
奇异值分解(singular value decomposition, SVD)是一种矩阵因子分解方法,是线性代数的概念,但在统计学习中被广泛使用,成为其重要工具。
定义 (奇异值分解)矩阵的奇异值分解是指, 将一个非零的mxn实矩阵A, A∈Rmxn,表示为以下三个实矩阵乘积形式的运算,即进行矩阵的因子分解:
A= UΣVT
其中U是m阶正交矩阵(orthogonal matrix),V是n阶正交矩阵,Σ是由降序排列的非负的对角线元素组成的mxn矩形对角矩阵(rectangulardiagonalmatrix),满足
UUT= I
VVT= I
Σ= diag(σ1, σ2 ,··· , σp)
σ1≥σ2≥···≥σp ≥0 p = min(m,n)
UΣVT称为矩阵A的奇异值分解( singular value decomposition, SVD), σi称为矩阵A的奇异值( singular value),U的列向量称为左奇异向量( left singular vector), V的列向量称为右奇异向量( right singular vector )。
几何解释
从线性变换的角度理解奇异值分解,mxn矩阵A表示从n维空间Rn到m维空间Rm的一个线性变换,
T:x→Ax
x∈Rn,Ax∈Rm, x和Ax分别是各自空间的向量。线性变换可以分解为三个简单的变换,一个坐标系的旋转或反射变换、一个坐标轴的缩放变换、另一个坐标系的旋转或反射变换。奇异值定理保证这种分解一定存在。这就是奇异值分解的几何解释。
对矩阵A进行奇异值分解,得到A=UΣVT, V和∪都是正交矩阵,所以V的列向量v1,v2,…,vn构成Rn空间的一组标准正交基,表示Rn中的正交坐标系的旋转或反射变换; U的列向量u1,u2,...,um构成Rm空间的一组标准正交基,表示Rm中的正交坐标系的旋转或反射变换; Σ的对角元素σ1,σ2,…σn是一组非负实数,表示Rn中的原始正交坐标系坐标轴的σ1, σ2,.. σn倍的缩放变换。
奇异值分解的计算
奇异值分解基本定理证明的过程蕴含了奇异值分解的计算方法。矩阵A的奇异值分解可以通过求对称矩阵ATA的特征值和特征向量得到。ATA的特征向量构成正交矩阵V的列,ATA的特征值的平方根为奇异值σi。
对其由大到小排列作为对角线元素,构成对角矩阵Σ,求正奇异值对应的左奇异向量,再求扩充的AT的标准正交基,构成正交矩阵U的列。从而得到A的奇异值分解 A= UΣVT。
给定mxn矩阵A,可以按照上面的叙述写出矩阵奇异值分解的计算过程。
(1)首先求ATA的特征值和特征向量。
计算对称矩阵W = ATA。
求解特征方程
(W-入I)x= 0
得到特征值入i,并将特征值由大到小排列
λ1≥入2≥...≥入n≥0
将特征值入i (i=1,2,... ,n)代入特征方程求得对应的特征向量。
(2)求n阶正交矩阵V
将特征向量单位化,得到单位特征向量v1,v2,... vn,构成n阶正交矩阵V:
V=[v1 v2 … vn ]
(3)求mx n对角矩Σ
计算A的奇异值
σi=i, i= 1,2,... ,n
构造mxn矩形对角矩阵Σ,主对角线元素是奇异值,其余元素是零,
Σ = diag(σ1,σ2,…,σn)
(4)求m阶正交矩阵U
对A的前r个正奇异值,令
Uj = Avj , j= 1,2,... ,r
得到 U1=[u1 u2 …ur]
求AT的零空间的一组标准正交基{ur+1,ur+2,… ,um},令
U2=[ ur+1,ur+2,… ,um]
并令
U=[U1 U2 ]
(5)得到奇异值分解
A= UΣVT
小结:奇异值分解在图像压缩与机器学习中主成分的提取中有较多的应用,它将一个比较复杂的矩阵用更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性,奇异值可以被看作成一个矩阵的代表值,能够代表这个矩阵的信息。当奇异值越大时,它代表的信息越多。奇异值在奇异值矩阵中是按照从大到小排列,可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。
以上是关于奇异值分解的主要内容,如果未能解决你的问题,请参考以下文章