SVD 奇异值数学求解

特征值 和特征向量

我们首先回顾下特征值和特征向量的定义如下:
Ax=λx

其中A是一个n×n的实对称矩阵,x是一个n维向量,则我们说λ是矩阵A的一个特征值,而x是矩阵A的特征值λ所对应的特征向量。
 
我们已经知道,矩阵和向量的乘法就相当于对该向量做了一个线性变换。在这个变换中,大部分的向量都发生了偏移,脱离了原“轨道”。举个例子:

在这里插入图片描述

如上图所示,向量w(2,3)在矩阵[-1,1;2,-2]的作用下,线性变换为另一个向量p(1,-2)。p和w明显不在一条直线上,发生了偏移。那有没有一个矩阵,恰好使线性变换之后新向量p和原来的向量w在同一条直线上呢?我们再看一个例子:

在这里插入图片描述

如上图,还是向量w(2,3),此时线性变换的矩阵变成了[1/2,1;0,2],产生的新向量p(4,6)跟w还在同一条直线上。我们用公式可以表示成:
在这里插入图片描述

也就是说,矩阵A对向量v所做的线性变换,就相当于对向量v做了拉伸或者压缩,λ就是拉伸或者缩放的倍数。此时,我们将λ称作特征值,而向量v称作特征向量。

再仔细观察(1)式,是否可以把等式两边的v消去,得到A=λ呢?首先,涉及到向量的乘法是不可以直接消元的;其次,A是一个矩阵,λ是一个标量,这俩是不可能相等的。那又该怎么办呢?

这时,单位矩阵I就派上用场了。我们已经知道:Iv=vI=v,可以在(1)式的右边乘以I,得到:

在这里插入图片描述

此时λI就是一个矩阵了,我们把等式右边的项移到左边,再提取出公共的v,可以得到:

在这里插入图片描述

注意,等式右边的0是一个向量,而不是标量。(2)式说明,矩阵乘以向量,结果是0向量。这就表明,向量v经过一个线性变换后,被压缩成了一个点。我们知道,矩阵的行列式表示线性变换后面积的变化。而这里的向量v被压缩成了点,所以其对应的矩阵的行列式为0.也就是说:

在这里插入图片描述

给定了(3)式,我们就能求解出特征值λ,进而得到特征向量v。举个例子,我们有矩阵:

在这里插入图片描述

如何求它的特征值呢?首先,我们要求A-λI,可得:

在这里插入图片描述

然后求det(A-λI),即该矩阵的行列式:

在这里插入图片描述
令(4)式为0,解的λ为:

在这里插入图片描述

之后,我们把λ代入(2)式,就能求出向量v了(这里省略求解过程,用高斯消元法即可求得)。

SVD

在这里插入图片描述
变形:

Σ = λI
W = V

在这里插入图片描述

在这里插入图片描述

注意到要进行特征分解,矩阵A必须为方阵。那么如果A不是方阵,即行和列不相同时,我们还可以对矩阵进行分解吗?答案是可以,此时我们的SVD登场了。

SVD也是对矩阵进行分解,但是和特征分解不同,SVD并不要求要分解的矩阵为方阵。假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

SVD 计算举例

在这里插入图片描述

在这里插入图片描述

SVD 到 一般的矩阵分解

在这里插入图片描述
我们就根据上面的式子继续推倒,慢慢到我们上面的形式,下面继续
在这里插入图片描述
这里我们按照SVD的形式把mxn的矩阵给分解了,如上图形式,其中 Σ的对角线是特征值按照从大到小排列好,同时我们只取前k个特征值,其他的特征值都接近0,所以可以忽略不计了,因此上面的形式我们可以进一步划分,如下:此时的应该是约等于了,因为已经舍去一部分特征值了:

在这里插入图片描述

如上图我们只取前k个特征值,同时把 Σ矩阵划分为四部分,即kxk、(m-k)xk等等,同理我们把U和V也化成类似的,此时我们关注全局来看即我们只看块,U、∑、V的维度,此时我们会发现U是1x2的,∑是2x2的,V是2x1的,为了方便,下面我分别对其编号:
在这里插入图片描述

此时我们按照块进行矩阵运算得到下面的式子:

在这里插入图片描述

从上图的计算可知,最后的矩阵可以写成①x③x⑦的形式,我们在再分别看看这三个矩阵的形式:

①矩阵的维度是mxk的

③矩阵的维度是kxk的

⑦矩阵的维度是kxn的

此时我们把③的矩阵写两个矩阵相乘的形式如下:

在这里插入图片描述

所以最终A的矩阵可以写成如下形式:
在这里插入图片描述

这样我们等号右边的第一个矩阵和第二个矩阵分别把两个kxk矩阵吸收了,最后就形成了我们刚开始要求的矩阵了即:
在这里插入图片描述

参考文献:

https://blog.csdn.net/weixin_42398658/article/details/85088130
https://www.cnblogs.com/pinard/p/6251584.html
https://baijiahao.baidu.com/s?id=1628584413921520630&wfr=spider&for=pc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值