奇异值分解(SVD分解)———超详细讲解

奇异值分解

线性代数知识回顾

对于一个n阶对称矩阵A,如果我们求出了矩阵A的n个特征值,并且求出了这n个特征值对应的特征向量,如果这n个特征向量线性无关,那么矩阵A可被特征分解为:

A = Q\sum Q^{-1}

其中Q为n个特征向量组成的矩阵,Q = (q1,q2,….,qn) 其中qi为特征向量,Σ为n个特征值组成的对角矩阵

上式也称为相似对角化。

然后我们把Q中的特征向量给它单位化并正交化,即满足||qi|| = 1,qi*qj = 0,此时的Q矩阵为正交矩阵,也叫酉(you)矩阵,即满足QQ^{-1} = I,这个时候A又可被特征分解为 

A = Q\sum Q^{T}

上式也称为正交对角化。

但是,上面所述的特征分解要满足A矩阵为n阶方阵,要正交对角化还要满足A矩阵为对称矩阵,那么对于任意一个n*m阶的矩阵我们是否可以对它进行特征分解呢,这就引出了SVD。因此SVD的作用也就是解决了对于任意n*m阶矩阵的特征分解。

SVD分解证明

SVD分解(Singular Value Decompositionm,简称SVD),又称奇异值分解,

先上结论:对于任意一个矩阵A,我们都可以将它分解为A = U\sum V^{T},其中U,V是正交矩阵,∑是对角矩阵,其主对角线上的每个值我们称为奇异值。

前提知识:

对于任意一个m×n的矩阵A,可知A^{T}A(n阶)和AA^{T}(m阶)都是对称矩阵,由实对称矩阵必可相似对角化可知,必有A^{T}A = Q_{1}\sum _{1}Q_{1}^{T}AA^{T} = Q_{2}\sum _{2}Q_{2}^{T},并且Σ中是对称矩阵的特征值,Q的列向量是对称矩阵n或m个正交的特征向量。

我们设A^{T}A的一组正交的单位特征向量为v(v1,v2,v3,...,vN),那么有

A^{T}Avi = \lambda ivi

两边同时左乘A

        (AA^{T})A vi = A\lambda ivi = \lambda i(Avi)

所以可知Avi为矩阵AA^{T}的特征向量,λi也为矩阵AA^{T}的特征值,因此A^{T}AAA^{T}特征值相同,但是特征向量不同。

并且||Avi|| = \sqrt{vi^{T}A^{T}Avi} = \sqrt{vi^{T}\lambda ivi} = \sqrt{\lambda i} ||vi|| = \sqrt{\lambda i},所以\frac{Avi}{\sqrt{\lambda i}}即为AA^{T}矩阵的单位正交向量(后文用到)。

证明三步法:

  1. 先构造V和\sum矩阵
  2. 再构造U矩阵
  3. 证明A = U\sum V^{T}

(为了方便下面用在word中推导) 

第一步:

 第二步:

第三步:

具体SVD分解的例子 

这里我们用一个简单的例子来说明矩阵是如何进行奇异值分解的。我们的矩阵A定义为:

首先求出A^{T}AAA^{T}

进而求出 A^{T}A 的特征值和特征向量:

再求出AA^{T}的特征值和特征向量:

 

SVD分解的应用

  1. 图片压缩:在图像处理中,SVD分解常被用于图像压缩。通过对图像矩阵进行SVD分解,可以得到较低秩的近似矩阵,从而减少存储空间和传输带宽。这种方法在JPEG2000等图像压缩算法中得到广泛应用。
  2. 对极几何分解本质矩阵求R,t
  3. 推荐系统:SVD分解在推荐系统中也有重要的应用。通过对用户评分矩阵进行SVD分解,可以将用户和物品映射到一个隐空间中,并预测用户对未评分物品的喜好程度。基于SVD的协同过滤算法在Netflix Prize竞赛中取得了很大成功。
  4. 数据降维SVD分解可以将高维数据降维到低维,保留数据的主要特征。这在机器学习和数据挖掘任务中非常有用,可以提高计算效率并减少存储需求。例如,在主成分分析(PCA)中,SVD分解被广泛用于实现数据降维。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值