人工智能里的数学修炼矩阵的花样分解:特征值分解(EVD)相似对角化QR分解Schur分解奇异值分解(SVD)的概念纠缠与详解常给自己加个油

前言在高等代数里,矩阵分解是一个十分基础与重要的内容,任何一个学校对于理工科的研究生教育都会开设相应的课程,如:矩阵分析、矩阵论、线性系统等。看了不少社区的问答、笔记和博客,在它们的基础上加入一些自己的理解,写下这篇概念详解,博客中借鉴了不少前人的观点,这里感谢他们的付出

目录前言一、特征值分解(EVD)1.1特征值分解、特征值、特征向量1.2特征向量的求解1.3特征值与特征向量的意义解释二、相似对角化2.1相似矩阵的定义2.2相似对角化的条件与推论2.2.1推论一2.2.2推论二2.2.3推论三2.3实对称矩阵与相似对角化2.3.1实对称矩阵的特征值与特征向量2.3.2实对称矩阵正交相似于对角矩阵2.4相似对角化与特征值分解的区别三、QR分解3.1QR分解的定义与推导3.2QR分解的应用四、Schur分解4.1什么是酉矩阵?4.1.1"等距"(isometry)4.1.2"协等距"(co-isometry)4.1.3酉矩阵(unitarymatrix)4.2Schur分解的定义与推导4.3Schur分解的缺陷五、奇异值分解(SVD)5.1奇异值分解的定义与推导5.2奇异值分解的求解5.2.1奇异值的计算5.2.1奇异向量的计算5.3奇异值分解的意义5.3.1数据降维压缩5.3.2几何的线性变换六、更多资源下载一、特征值分解(EVD)把特征值分解(EigenValueDecomposition,EVD)放在最前面说是因为这是一个相对来说更基础的概念,后面的一些分解方式会在这一基础上进行推导

1.1特征值分解、特征值、特征向量特征值分解,是指将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。一个NxN的方阵A可以有下式:

Av=λvAv=\lambdavAv=λv此时λ\lambdaλ被称为方阵A的特征值,v被称为特征值λ\lambdaλ对应的特征向量。上式可以化为

(λIA)v=0(\lambdaI-A)v=0(λIA)v=0令det∣λIA∣=0det|\lambdaI-A|=0det∣λIA∣=0(此式被称为矩阵A的特征多项式)我们可以得到下式:

A=QΛQ1A=Q\LambdaQ^{-1}A=QΛQ1对于没有重根的情况Λ=diag(λ1,λ2,,λn)\Lambda=diag(\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{n})Λ=diag(λ1,λ2,,λn),对于有重根的情况Λ\LambdaΛ为Jordan标准型。这里的Q是以特征向量为列向量的NxN矩阵

1.2特征向量的求解求解特征向量有多种方法这里介绍最简单也是最常用的方法

计算A的特征多项式det∣λIA∣=0det|\lambdaI-A|=0det∣λIA∣=0,从而求得特征值λi\lambda_{i}λi

对于单根特征值来说,求齐次方程(λiIA)vi=0(\lambda_{i}I-A)v_{i}=0(λiIA)vi=0,即可求得该特征值对应的特征向量

对于有重根的特征值来说,可以使用一下公式,依次迭代求解

v1:Av1=λv1v_{1}:Av_{1}=\lambdav_{1}v1:Av1=λv1v2:Av2=v1+λv2v_{2}:Av_{2}=v_{1}+\lambdav_{2}v2:Av2=v1+λv2v3:Av3=v2+λv3v_{3}:Av_{3}=v_{2}+\lambdav_{3}v3:Av3=v2+λv3\cdot\cdot\cdotvN:AvN=vN1+λvNv_{N}:Av_{N}=v_{N-1}+\lambdav_{N}vN:AvN=vN1+λvN1.3特征值与特征向量的意义解释上面介绍了特征值分解、特征值与特征向量的数学定义与求解方式,但是看到这里,可能读者对于特征值分解的具体意义与作用还是模糊的,这也确实是一个比较难理解的地方。我们知道,矩阵乘法其实是对应着一个线性变换,是把任意一个向量变成另一个方向或者长度的新向量。在这个变换中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,而不对这些向量产生旋转效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值例如,对于矩阵M=[3001]M=[3001][3001]M=[3001]它对应的线性变换为

M矩阵是对称的,所以这个变换是一个对x,y轴的拉伸变换,此处将原方块在x轴方向拉长了三倍。对于不是对称的情况,如M=[1101]M=[1011][1101]M=[1011],对应的线性变换为

看到这里,大家应该明白了,特征向量与特征值对于一个矩阵的意义,每一个特征向量都对应着这个矩阵在对另一个对象作线性变换时所产生变换的方向,而特征值则表示着这个变化的大小。也就是说,矩阵A的信息可以由其特征值和特征向量表示。对于矩阵为高维的情况下,这个变换就对应着很多方向的变化,我们通过特征值分解得到的对应特征值较大的前N个特征向量,便表示了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵的变换,而著名的主成分分析(PrincipleConponentAnalysis,PCA)便是基于这一原理实现的。总而言之,通过特征值分解我们可以得到特征值与特征向量,特征向量表示这个特征是什么,而特征值表示着这个特征有多重要。同时,我们要意识到特征值分解也有一定的局限性,它的对象必须是方阵,而实际中的矩阵往往不是方阵,后面要说的奇异值分解将其演化到了普通形式的矩阵

二、相似对角化2.1相似矩阵的定义设A、B是两个n阶方阵,如果存在可逆矩阵T,使得T1AT=BT^{-1}AT=BT1AT=B则称A与B相似,记作A~B,从A到B的这种变化称为相似变换,T称为相似变换矩阵。矩阵的相似关系是一种等价关系(并不是相等),相似矩阵满足以下特性

自反性:A~A对称性:若A~B,则B~A传递性:若A~B,B~A,则A~C2.2相似对角化的条件与推论N阶方阵A与对角阵相似的前提是:A有N个线性无关的特征向量。可以对角化即意味着存在某组基,使得这个矩阵所代表的线性变换在这组基的每一个方向上都是伸缩变换(复向量上的复“伸缩变换“近似于在某种意义上非刚性但依然线性的伸缩旋转),不能对角化即意味着找不到这样一组基

注:对于相似变换来说,有一些东西是变换前后没有改变的

若A~Λ=diag(λ1,λ2,,λN)A\sim\Lambda=diag(\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{N})A~Λ=diag(λ1,λ2,,λN),则A与Λ\LambdaΛ的特征值相同,Λ\LambdaΛ的主对角线元素λ1,λ2,,λN\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{N}λ1,λ2,,λN为A的全部特征值。相似变换的变换矩阵为P=(p1,p2,,pN)P=(p_{1},p_{2},\cdot\cdot\cdot,p_{N})P=(p1,p2,,pN),则列向量p1,p2,,pNp_{1},p_{2},\cdot\cdot\cdot,p_{N}p1,p2,,pN依次是λ1,λ2,,λN\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{N}λ1,λ2,,λN对应的特征向量

相似变换矩阵不唯一,因为特征向量的排列顺序可以发生变化

A~ΛA\sim\LambdaA~Λ,若不计Λi\Lambda_{i}Λi的排列顺序,则Λ\LambdaΛ唯一,称为A的相似标准型

基于相似转换的定义以及以上特性,我们可以得到一些重要的推论

2.2.1推论一若N阶方阵A的n个特征值互不相同,则A与对角阵相似,这是显然的,因为对应于不同特征值的特征向量线性无关,由此N个特征向量可以产生N个线性无关的基向量

2.2.2推论二设λ1,λ2,,λN\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{N}λ1,λ2,,λN是A的lll个互不相同的特征值,重数依次为r1,r2,,rNr_{1},r_{2},\cdot\cdot\cdot,r_{N}r1,r2,,rN,且有r1+r2++rl=Nr_{1}+r_{2}+\cdot\cdot\cdot+r_{l}=Nr1+r2++rl=N,则A可以相似对角化的充分必要条件为:A的rir_{i}ri重特征值λi\lambda_{i}λi恰有rir_{i}ri个线性无关的特征向量(i=1,2,,l)(i=1,2,\cdot\cdot\cdot,l)(i=1,2,,l)

注:此处的rir_{i}ri又被称为代数重数,而实际的线性无关的特征向量的个数称为几何重数RiR_{i}Ri。我们有Ri<=riR_{i}<=r_{i}Ri<=ri总是成立的,推论二是指只有当Ri=riR_{i}=r_{i}Ri=ri时方阵A才可以相似对角化

推论二的证明较为繁琐,感兴趣的可以点击这里

2.2.3推论三如果N阶方阵A可以对角化,则A的秩等于A的非零特征值的个数。这也是很容易理解的,若A可以对角化,设与其相似的对角阵为Λ\LambdaΛ,即存在可逆矩阵P,使得P1AP=ΛP_{-1}AP=\LambdaP1AP=Λ。因此A与Λ\LambdaΛ等价,由此rank(A)=rank(Λ\LambdaΛ),所以Λ\LambdaΛ对角线上的非零元素个数为rank(A)。又因为A与Λ\LambdaΛ相似,所以A的特征值与Λ\LambdaΛ的特征值相同,所以A的秩矩阵的秩等于A的非零特征值的个数

那么,对于那些不能对角化的矩阵我们该如何理解呢?这里我借用知乎上一位匿名答主的回答向大家解释:

可对角化的矩阵举例如下,左图为原图,右图为经过可以对角化的矩阵线性变换后的结果,箭头表示着伸缩的方向,长度表示变换的大小

不能对角化的两个变换如下,注意这种时候发生了切变,下图的变换均不能表示为各个方向独立的伸缩,也不能表示为带伸缩的旋转。图中不从原点出发的箭头表示切变的大小和方向

同时我们也应该注意到以上的四幅图中,第二幅图可以对角化的矩阵,它的jordan标准型是对角化的,而三、四幅图,它的Jordan标准型不是对角化的。实际上第二幅图的Jordan标准型就是变换矩阵对角相似化后的对角矩阵(在这里我们也称它为对角标准型),对角标准型是Jordan标准型的特例相似对角化是矩阵分析当中最基础也是最重要的内容,在高等代数与工程问题中被广泛运用,可以极大的简化矩阵的运算,如计算方阵的高次幂、求矩阵行列式等

2.3实对称矩阵与相似对角化看了第二节之后,我们知道,对于一般的方阵我们常常无法进行相似对角化来简化矩阵,同时对于高维矩阵来说,对角化的条件难于判断。在这一小节,要介绍一类一定可以实现对角化的矩阵——实对称矩阵

2.3.1实对称矩阵的特征值与特征向量实对称矩阵的特征值为实数,对应的特征向量为实向量。设λ\lambdaλ是A的特征值,v是对应λ\lambdaλ的特征向量,若A为实对称矩阵,则有一下性质

AT=AA^{T}=AAT=A,Aˉ=A\bar{A}=AAˉ=AAv=λv,v≠0Av=\lambdav,v\neq0Av=λv,v=0

可以据此推导vˉTAv=vˉTATv=(Avˉ)Tv=(Av ̄)Tv\bar{v}^{T}Av=\bar{v}^{T}A^{T}v=(A\bar{v})^{T}v=(\overline{Av})^{T}vvˉTAv=vˉTATv=(Avˉ)Tv=(Av)TvλvˉTv=λˉvˉTv\lambda\bar{v}^{T}v=\bar{\lambda}\bar{v}^{T}vλvˉTv=λˉvˉTv

所以λ=λˉ\lambda=\bar{\lambda}λ=λˉ

λ\lambdaλ为实数,因此det∣AλE∣x=0det|A-\lambdaE|x=0det∣AλE∣x=0必有实的基础解系,从而对应的特征向量可以取实向量2.3.2实对称矩阵正交相似于对角矩阵若A是N阶实对称矩阵,λ1,λ2,,λN\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{N}λ1,λ2,,λN是A的特征值,则有正交矩阵Q,使得

Q1AQ=QTAQ=Λ=diag(λ1,λ2,,λN)Q^{-1}AQ=Q^{T}AQ=\Lambda=diag(\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{N})Q1AQ=QTAQ=Λ=diag(λ1,λ2,,λN)

此时称A正交相似于Λ\LambdaΛ。这里有一个非常重要的结论:实对称矩阵的所有特征向量之间是线性无关的,我们之前提到的方阵A的特征向量之间线性无关,仅仅限于不同特征值之间的特征向量,对于同一特征值的不同特征向量之间,普通的方阵并不能保证他们线性无关那么,这个正交变换矩阵该如何求出来呢?可以按照以下步骤:

求出A的全部特征值求出每个特征值所对应的全部特征向量以特征向量为列向量写出变换矩阵使用Schmidt正交化将变换矩阵正交化,单位化,得到正交矩阵Q2.4相似对角化与特征值分解的区别相似对角化与特征值分解乍看上去是极为相似的,它们都需要用到特征值与特征向量的概念,但其实有较大差别

目的:特征值分解的目的在于矩阵分解,求得矩阵对应的特征值与特征向量;而相似对角化的目的在于通过变换矩阵的线性变换将原方阵转换为对角矩阵

条件:所有的方阵都可以进行特征值分解得到对应的特征值与特征向量;只有当方阵的几何重数与代数重数相等(方阵的最小多项式无重根)时,方阵才可以实现对角化

结果:通过特征值分解得到的特征向量与特征值可以构成对角标准型与jordan标准型(前者是后者的特例),其中Jordan标准型不是对角矩阵;而相似对角化得到的矩阵一定是对角矩阵

三、QR分解QR分解是目前求取一般矩阵全部特征值的最有效并且广泛应用的办法,它是将矩阵分解成为一个正交矩阵Q和一个上三角矩阵R,所以称为QR分解。这一分解方法除了用于特征值计算外,在参数估计和通信领域也有着广泛的应用

关于QR分解的证明,这里根据Schmidt正交化的方法给出当A为列满秩情况下的证明:

将AAA表示为A=[x1,x2,,xm]A=[x_{1},x_{2},\cdot\cdot\cdot,x_{m}]A=[x1,x2,,xm]

由于AAA满秩,所以xix_{i}xi之间线性独立,通过Schmidt正交化我们可以得到一组正交向量和一个上三角矩阵如下

[u1u2um]=[x1x2xm][u_{1}u_{2}\cdot\cdot\cdotu_{m}]=[x_{1}x_{2}\cdot\cdot\cdotx_{m}][u1u2um]=[x1x2xm][t11t1m000tmm]t11000t1mtmm[t11t1m000tmm]t11000t1mtmmU=ATU=ATU=AT这里的T矩阵是Schmidt正交化的变换矩阵,由于

tii=∥xi∑j=1i1uj∥1t_{ii}=∥∥xi∑i1j=1uj∥∥‖xi∑j=1i1uj‖^{-1}tii=∥∥∥xi∑j=1i1uj∥∥∥1

矩阵T是非奇异的,同时T1T^{-1}T1也同样为上三角矩阵,令Q=UQ=UQ=U,R=T1R=T^{-1}R=T1,我们便可以得到A=QRA=QRA=QR对于矩阵的QR分解其实还有很多种方法除了上面提到的Schmidt正交化,还有利用矩阵的初等变换、利用Givens变换求QR分解等方法

3.2QR分解的应用QR分解在实际工程问题中得到了广泛的应用,其核心还是围绕着利用QR分解求解矩阵的特征值进行的,这里列举出一些常见的例子

利用QR分解求取矩阵的全部特征值

使用QR分解解决最小二乘法

QR分解在参数估计中的应用

QR分解在通信系统中的应用

简化PCA算法用于人脸识别

四、Schur分解基于QR分解我们可以推导出Schur分解,同时,Schur分解也是很多重要理论推导的基石,是很多重要定理证明的出发点。在介绍Schur分解之前,我们需要先了解一下什么是酉矩阵(unitarymatrix)

4.1什么是酉矩阵?4.1.1“等距”(isometry)对于一个矩阵UFn×mU\epsilonF^{n\timesm}UFn×m,如果UHU=IU^{H}U=IUHU=I(H为共轭转置)我们便称UUU为一个等距(isometry),它的所有列向量是正交的。等距作为一个线性变换时是保内积运算,同时也是保模长运算,即

===∥Ux∥=1/2=1/2=∥x∥∥Ux∥‖Ux‖=^{1/2}=^{1/2}=∥x∥‖x‖∥∥Ux∥∥=1/2=1/2=∥∥x∥∥4.1.2“协等距”(co-isometry)对于一个矩阵UFn×mU\epsilonF^{n\timesm}UFn×m,如果UUH=IUU^{H}=IUUH=I我们便称UUU为一个协等距(isometry),它的所有的行向量是正交的。

4.1.3酉矩阵(unitarymatrix)一个矩阵如果既满足等距,又满足协等距,我们便就称它为酉矩阵,它的最大特点在于U1=UHU^{-1}=U^{H}U1=UH。酉矩阵其实是正交矩阵在复数域上的推广,它满足

UUH=UHU=IUU^{H}=U^{H}U=IUUH=UHU=I4.2Schur分解的定义与推导方阵AFn×nA\epsilonF^{n\timesn}AFn×n具有特征值λ1,λ2,,λn\lambda_{1},\lambda_{2},\cdot\cdot\cdot,\lambda_{n}λ1,λ2,,λn,则存在一个酉矩阵UCn×nU\epsilonC^{n\timesn}UCn×n使得

UHAU=TU^{H}AU=TUHAU=T

TTT为一个上三角矩阵,它的对角线元素tii=λit_{ii}=\lambda_{i}tii=λi。现在来证明Schur分解的存在记xix_{i}xi为对应于特征值λi\lambda_{i}λi的特征向量,令X1=[x1,x2,,xn]X_{1}=[x_{1},x_{2},\cdot\cdot\cdot,x_{n}]X1=[x1,x2,,xn]

对X1X_{1}X1进行QR分解,可以得到X1=Q1R1X_{1}=Q_{1}R_{1}X1=Q1R1,Q1Q_{1}Q1这里是酉矩阵,R1R_{1}R1是上三角矩阵。要注意的是Q1Q_{1}Q1的第一列仍然是AAA对应于特征值λi\lambda_{i}λi的特征向量,因此有

Q1HAQ1=[λ10A1]Q_{1}^{H}AQ_{1}=[λ10A1][λ10A1]Q1HAQ1=[λ10A1]

这里A1C(n1)×(n1)A_{1}\epsilonC^{(n-1)\times(n-1)}A1C(n1)×(n1),它的特征值为λ2,,λn\lambda_{2},\cdot\cdot\cdot,\lambda_{n}λ2,,λn使用同样的步骤,我们又可以得到一个酉矩阵Q2C(n1)×(n1)Q_{2}\epsilonC^{(n-1)\times(n-1)}Q2C(n1)×(n1),得到

Q2HA1Q2=[λ20A2]Q_{2}^{H}A_{1}Q_{2}=[λ20A2][λ20A2]Q2HA1Q2=[λ20A2]

再令U2=[100Q2]U_{2}=[100Q2][100Q2]U2=[100Q2]

于是有U2HQ1HAQ1U2=[λ10λ200A2]U_{2}^{H}Q_{1}^{H}AQ_{1}U_{2}=λ100λ20A2[λ10λ200A2]U2HQ1HAQ1U2=λ100λ20A2-重复上述步骤,得到酉矩阵QiC(ni+1)×(ni+1)Q_{i}\epsilonC^{(n-i+1)\times(n-i+1)}QiC(ni+1)×(ni+1)可以使

QiHAi1Qi=[λi0Ai]Q_{i}^{H}A_{i-1}Q_{i}=[λi0Ai][λi0Ai]QiHAi1Qi=[λi0Ai]

以及UiCn×nU_{i}\epsilonC^{n\timesn}UiCn×nUi=[I00Qi]U_{i}=[I00Qi][I00Qi]Ui=[I00Qi]最后矩阵U=Q1U2Un1U=Q_{1}U_{2}\cdot\cdot\cdotU_{n-1}U=Q1U2Un1即为所求的酉矩阵4.3Schur分解的缺陷Schur分解将原方阵转化为了一个对角线为特征值的上三角矩阵,在这一章节的开头已经说过Schur分解是很多重要定理推导的基石与出发点。但是矩阵的Schur分解,在更多意义上是一种理论上的存在,在实际中通常不方便通过有限次运算得到,真正要计算时,一般也是通过迭代的方法进行逼近

5.1奇异值分解的定义与推导对于一个矩阵AFm×nA\epsilonF^{m\timesn}AFm×n,可将其写成如下形式

A=UΛVTA=U\LambdaV^{T}A=UΛVT

其中UFm×mU\epsilonF^{m\timesm}UFm×m的酉矩阵,被称为左奇异向量;ΛFm×n\Lambda\epsilonF^{m\timesn}ΛFm×n的半正定对角矩阵;VHFn×nV^{H}\epsilonF^{n\timesn}VHFn×n是VVV的共轭转置,被称为右奇异向量。这样的分解就叫做奇异值分解,Λ\LambdaΛ对角线上的元素λi\lambda_{i}λi即为原矩阵AAA的奇异值,奇异值一般按照从大到小排列,即λ1>=λ2>=>=λmin(n,m)\lambda_{1}>=\lambda_{2}>=\cdot\cdot\cdot>=\lambda_{min(n,m)}λ1>=λ2>=>=λmin(n,m)奇异值分解的推导可以从特征值分解开始

首先,我们对n阶对称方阵ATAA^{T}AATA作特征值分解,得到

ATA=VΛVTA^{T}A=V\LambdaV^{T}ATA=VΛVT通过特征值分解我们得到一组正交基V=(v1,v2,,vn)V=(v_{1},v_{2},\cdot\cdot\cdot,v_{n})V=(v1,v2,,vn),满足如下性质

(ATA)vi=λivi(A^{T}A)v_{i}=\lambda_{i}v_{i}(ATA)vi=λivi

由于ATAA^{T}AATA为对称矩阵,viv_{i}vi之间两两相互正交,所以有=viT(ATA)vj=viTλjvj=λjviTvj=0=v^{T}_{i}(A^{T}A)v_{j}=v^{T}_{i}\lambda_{j}v_{j}=\lambda_{j}v^{T}_{i}v_{j}=0=viT(ATA)vj=viTλjvj=λjviTvj=0因为rank(ATA)=rank(A)=rrank(A^{T}A)=rank(A)=rrank(ATA)=rank(A)=r,我们可以得到另一组正交基Av1,Av1,,Avr{Av_{1},Av_{1},\cdot\cdot\cdot,Av_{r}}Av1,Av1,,Avr将其标准化有

ui=Avi∣Avi∣=1λAviu_{i}=\frac{Av_{i}}{|Av_{i}|}=\frac{1}{\sqrt{\lambda}}Av_{i}ui=∣Avi∣Avi=λ1AviAvi=λiui=δiuiAv_{i}=\sqrt{\lambda_{i}}u_{i}=\delta_{i}u_{i}Avi=λiui=δiui

注:∣Avi∣2==λiviTvi=λi|Av_{i}|^{2}==\lambda_{i}v^{T}_{i}v_{i}=\lambda_{i}∣Avi∣2==λiviTvi=λi将向量组(u1,u2,,ur)(u_{1},u_{2},\cdot\cdot\cdot,u_{r})(u1,u2,,ur)扩充为FmF^{m}Fm中的标准正交基(u1,u2,,ur,,um)(u_{1},u_{2},\cdot\cdot\cdot,u_{r},\cdot\cdot\cdot,u_{m})(u1,u2,,ur,,um)则:

AV=A(v1,v2,,vn)=(Av1,Av2,,Avr,0,,0)=(δ1u1,δ2u2,,δrur,0,,0)=UΛAV=A(v_{1},v_{2},\cdot\cdot\cdot,v_{n})=(Av_{1},Av_{2},\cdot\cdot\cdot,Av_{r},0,\cdot\cdot\cdot,0)=(\delta_{1}u_{1},\delta_{2}u_{2},\cdot\cdot\cdot,\delta_{r}u_{r},0,\cdot\cdot\cdot,0)=U\LambdaAV=A(v1,v2,,vn)=(Av1,Av2,,Avr,0,,0)=(δ1u1,δ2u2,,δrur,0,,0)=UΛ

由此,可以得到奇异值分解的形式A=UΛVTA=U\LambdaV^{T}A=UΛVT5.2奇异值分解的求解我们现在已经知道了奇异值分解的具体形式,那么奇异值和奇异向量到底怎样求解呢?

5.2.1奇异值的计算对于较小维度的矩阵,我们可以从奇异值分解的推导中看出,奇异值δi=λi\delta_{i}=\sqrt{\lambda_{i}}δi=λi。于是可以通过求解原矩阵的转置与其自身相乘得到的矩阵的特征值,再对该特征值求平方根的方法求得矩阵的奇异值

高纬度的矩阵的奇异值的计算是一个难题,是一个O(N^3)的算法,随着规模的增长,计算的复杂度会呈现出3次方的扩大,感兴趣的朋友可以看这里

5.2.1奇异向量的计算在奇异值分解中,有一个十分重要的推论,那就是在式A=UΛVTA=U\LambdaV^{T}A=UΛVT里,U的列向量为AATAA^{T}AAT的特征向量,V的列向量为ATAA^{T}AATA的特征向量。知道这一推论,我们在计算出特征值之后就可以较为方便的求出矩阵的特征向量

5.3奇异值分解的意义奇异值分解的目的在于,找到一组正交基,使得矩阵在变换过后是正交的,这是奇异值分解的精髓所在。

A=δ1u1v1T+δ2u2v2T++δrurvrTA=\delta_{1}u_{1}v^{T}_{1}+\delta_{2}u_{2}v^{T}_{2}+\cdot\cdot\cdot+\delta_{r}u_{r}v^{T}_{r}A=δ1u1v1T+δ2u2v2T++δrurvrT

我们知道,矩阵的奇异值一般按照降序排列即λ1>=λ2>=>=λmin(n,m)>0\lambda_{1}>=\lambda_{2}>=\cdot\cdot\cdot>=\lambda_{min(n,m)}>0λ1>=λ2>=>=λmin(n,m)>0

一般来说,前10%甚至1%的奇异值之和就可以占到全部奇异值的99%以上,也就是说,我们可以使用奇异值较大的一些特征来表示图像,省略去较小的奇异值(绝大多数奇异值),来实现图像的降维压缩,这里以知乎上的一名匿名网友的回答为例左上:原图;右上:保留前五项;左下:保留前二十项;右下:保留前五十项

原图的维度远远超过10000维,而通过奇异值分解,从上图可以看出,我们只需要保留前50项,就可以很好的复原图像,即实现图像的压缩。除了实现对图像的压缩外,奇异值分解在好友推荐算法,工业过程故障诊断等领域均有广泛应用。

5.3.2几何的线性变换奇异值分解的几何意义与特征值分解也极为相似,即奇异向量代表着线性变换的方向,而奇异值表示着在这个方向上变化的大小。这里举一个较为有名的椭圆变换为例

假设矩阵A的奇异值分解为

A=[u1u2][3001][v1Tv2T]A=[u1u2][u1u2][3001][3001][vT1vT2][v1Tv2T]A=[u1u2][3001][v1Tv2T]

其中u1,u2,v1,v2u_{1},u_{2},v_{1},v_{2}u1,u2,v1,v2是二维平面的向量,根据奇异值分解的性质,u1,u2u_{1},u_{2}u1,u2线性无关,v1,v2v_{1},v_{2}v1,v2线性无关。那么对二维平面上任意的向量xxx,都可以表示为:x=a1v1+a2v2x=a_{1}v_{1}+a_{2}v_{2}x=a1v1+a2v2,当A作用在xxx上时y=Ax=A[v1v2][a1Ta2T]=[u1u2][3001][v1Tv2T][v1v2][a1Ta2T]=3a1u1+a2u2y=Ax=A[v1v2][v1v2][aT1aT2][a1Ta2T]=[u1u2][u1u2][3001][3001][vT1vT2][v1Tv2T][v1v2][v1v2][aT1aT2][a1Ta2T]=3a_{1}u_{1}+a_{2}u_{2}y=Ax=A[v1v2][a1Ta2T]=[u1u2][3001][v1Tv2T][v1v2][a1Ta2T]=3a1u1+a2u2令η1=3a1,η2=a2\eta_1=3a_1,~\eta_2=a_2η1=3a1,η2=a2,我们可以得出结论:如果xxx是在单位圆ai12+ai22=1ai_1^2+ai_2^2=1ai12+ai22=1上,那么yyy正好在椭圆η12/32+η22/12=1\eta_1^2/3^2+\eta_2^2/1^2=1η12/32+η22/12=1上。这表明:矩阵A将二维平面中单位圆变换成椭圆,而两个奇异值正好是椭圆的两个半轴长,长轴所在的直线是span{u1}{\rmspan}\{u_1\}span{u1},短轴所在的直线是span{u2}{\rmspan}\{u_2\}span{u2}

推广到一般情形:一般矩阵A将单位球∥x∥2=1\|x\|_2=1∥x∥2=1变换为超椭球面Em={y∈Fm:y=Ax,x∈Fn,∥x∥2=1}E_m=\{y\in{\bfF}^m:~y=Ax,~x\in{\bfF}^n,~\|x\|_2=1\}Em={y∈Fm:y=Ax,x∈Fn,∥x∥2=1},那么矩阵A的每个奇异值恰好就是超椭球的每条半轴长度。

THE END
1.如何在Illustrator中更改页面大小和方向了解如何在 Illustrator 中打印时更改文档的页面大小和方向。 Adobe Illustrator 通常使用所选打印机的 PPD 文件定义的默认页面大小。但是,您可以将介质尺寸更改为 PPD 文件中列出的任何尺寸及其方向。 注意: 在“打印”对话框中更改页面大小和方向,只能用于打印目的。若要更改画板的页面大小或方向,请使用“画板选项”https://helpx.adobe.com/cn/illustrator/using/change-page-size-orientation.html
2.AI中如何实现等比例缩放1 首先,选择你想要缩放的路径或图形。2 接着,在AI的菜单栏中找到“对象”选项,并点击“路径”子菜单。3 在路径子菜单中,你会看到“偏移路径”的选项,这就是我们实现等比例缩放的关键!4 点击“偏移路径”,然后输入你想要的偏移量。正数表示向外偏移,负数则表示向内偏移。为了https://mbd.baidu.com/newspage/data/dtlandingsuper?nid=dt_4297376129016747847
3.ai怎么更改背景大小在AI软件中,您可以使用各种工具来调整背景图像的大小。最常用的工具是裁剪工具(C)和缩放工具(R)。使用裁剪工具,您可以通过拖动裁剪框来裁剪背景图像的大小,而缩放工具则允许您自由地放大或缩小背景图像。 步骤3:应用变换 在调整背景图像的大小之后,您需要应用变换以使图像适应原始图像的尺寸。您可以使用对齐工具(如垂https://tool.a5.cn/article/show/75112.html
4.如何修改ai文件的大小?创业仆1 修改ai文件的大小有两种方式:缩放和裁剪。2 缩放可以通过改变文件的分辨率或者图像的大小来实现。裁剪https://cyepu.com/question/51995.html
5.视频剪辑基础教程,高级教程新手指南接着调整字体、大小、颜色、间距等参数,在预览窗口调整标题的位置。 3)最后,在左下角空白的地方输入拼音做装饰,一个清新文艺风的标题就完成了。 ps:可以根据需求对文字标题添加动画哦。 人物定格详细教程 1、导入一段有人物的视频素材至视频轨道。 ps:素材最好选择背景干净无过多杂物、人物正脸的视频,AI抠图识别https://www.foxitsoftware.cn/foxit-clip/help/clips/
6.AI怎么进行矩形变形?AI变换图形形状教程最后,来看一下图形变成多个不同形状之后的效果(也可以根据自己的需要来调整形状大小,或者叠加在一起得到新的形状)。 综合上述,即是我们为大家分享到的“AI怎么进行矩形变形? AI变换图形形状教程”图文教程内容了,跟着步骤操作+自己的思考领悟,我相信你一定要掌握好AI软件的操作~如果你想要快速提升自己的 AI软件绘图https://www.yutu.cn/news_40830.html
7.ai怎么修改内容:调整尺寸与编辑文字内容的方法## 怎么修改内容尺寸 在编辑工具中,修改内容尺寸是一项基本操作。以下是具体的方法: 1. 选择对象:在软件中打开需要调整尺寸的文件,然后采用选择工具选中要修改的对象。 2. 调整尺寸:在工具栏中找到“变换”选项点击后会显示一个框,框内有四个控制点。通过拖动这些控制点,可以改变对象的尺寸。 https://www.yanggu.tv/webgov/aixuexi/321172.html
8.ai怎么自由变换图形ai自由变换图形方法介绍大小:1.92G 语言:简体中文 类型:图像处理 等级: 立即下载 查看详情 ai怎么自由变换图形呢?如果各位亲们还不了解的话,就来这里学习学习关于ai自由变换图形方法吧,希望可以帮助到大家哦。 1.首先,打开ai软件界面后,点击多边形工具画一个蓝色填充的六边形 2.然后,选中图形后,找到效果菜单中的转换为形状栏目,点击https://www.pcsoft.com.cn/article/56479.html
9.AI文件显示毫米单位AI变换的单位怎么改成毫米 引言: AI(人工智能)在各个行业的应用越来越广泛,包括在测量和变换单位方面。本文将介绍如何将AI的单位变换改成毫米,以适应特定行业的需求。通过比较和对比不同单位之间的差异,我们可以进一步理解为什么选择毫米作为单位,并分析其在实际应用中的优势。 http://chatgpt.kuyin.cn/article/3763424.html
10.AI怎么设置图片的宽度和高度?Illustrator教程平面设计大小:200.38MB 语言:简体中文 时间:2014-05-11 查看详情 1、AI打开的图片如下 2、这时我想要改变这张图片的大小。选中要改变大小的图片,然后点击窗口右边快捷面板中的“变换”,如下图 3、操作完步骤2后会弹出“变换”面板,在里面可以设置图片的宽和高。如下图 https://www.jb51.net/illustrator/509009.html?ivk_sa=1025922x
11.AI自由变换工具的使用方法(图文)最需网文件大小: 软件介绍 第1步、先用矩形工具或是按M键,绘制一个矩形出来。 第2步、要改矩形的大小,可以点击自由变换工具, 第3步、使用自由变换工具,可以把矩形向剪头的方向进行拖动调整。 版权声明: 1本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己https://www.zuixu.com/down/87942.html
12.AI规模法则:大力何以出奇迹?澎湃号·湃客澎湃新闻孤独大脑:“ChatGPT之父”、OpenAI首席执行官山姆·奥特曼提出了一个AI时代的摩尔定律,即宇宙中的智能数量每18个月翻一番。有人称其为“奥特曼定律”。 ChatGPT:这也与萨顿在《苦涩的教训》中提到的观点相呼应,即那些能够充分利用计算力的通用方法将最终取得成功。 https://www.thepaper.cn/newsDetail_forward_26561031
13.怎么使用AI操控变形工具调整图形7、如果需要,你可以通过选择“对象”菜单中的“变换”子菜单中的其他选项,如“移动”、“旋转”和“缩放”,来进一步调整图形的位置、角度和大小。 8、保存你的工作并导出图形为所需的格式,如JPEG、PNG等。 以下是使用AI操控变形工具调整图形的单元表格:https://www.kdun.com/ask/501464.html
14.AI不惑境学习率和batchsize如何影响模型的性能?确定学习率上下界的方法则可以使用LR range test方法,即使用不同的学习率得到精度曲线,然后获得精度升高和下降的两个拐点,或者将精度最高点设置为上界,下界设置为它的1/3大小。 SGDR方法则是比cyclical learning rate变换更加平缓的周期性变化方法,如下图,效果与cyclical learning rate类似。 https://cloud.tencent.com/developer/article/1474432
15.ai自由变换框不见了点击新建打开ai软件,点击新建按钮。 2 点击创建打开新建文档对话框,设置文档大小,点击创建按钮。 3 绘制矩形选择左侧的矩形工具,在文档中绘制矩形,矩形周围没有自由变换框。 4 显示定界框点击菜单栏视图,显示定界框。 5 显示自由变换框回到文档中可以看到自由变换框出现了,即可完成操作。 https://m.veryok.net/dianzi/148508.html
16.「平面设计」Illustrator(AI)基础教学第9章效果与图形样式“收缩和膨胀”效果是以对象中心点为基点,对所选对象进行收缩或膨胀的变形调整。首先选中对象,如图所示。然后执行“效果>扭曲和变换>收缩和膨胀”命令,弹出“收缩和膨胀”窗口。如图所示。在该窗口中向左拖拽滑块可以进行“收缩”变形,效果如图所示。向右拖拽滑块可以进行“膨胀”变形。 https://www.hxsd.com/information/8467/
17.计算机视觉论文如果小于该商值,将其以噪声方式清除。最后对字符进行了加框和归一化处理。上述所切割的图像大小是根据字符的最高和最低的值进行的切割,所以我们得到的结果并不是很准确,我们要将每个字符再进行进一步的确定,所以要多进行几次从第一个步骤到第三个步骤的运算。这样我们得到的才是该字符的准确范围。https://www.youfabiao.com/fanwen/21345.html&wd=&eqid=aa1ec657000d31b600000006648fed74
18.AI变换工具使用指南.docx下载得到文件列表 AI变换工具使用指南.docx 相关文档 文档介绍文档介绍:AI有许多非常实用的工具来帮助你完成设计绘图工作,其中包括AI钢笔工具、AI文字工具、AI笔刷工具、AI混合工具、AI路径查找器,今天所要介绍的AI变换工具也是一个使用频率很高重要的工具。但是它不是一个工具,而是多个和变换物体有关的工具的集合。本https://m.taodocs.com/p-573015875.html
19.AI常用快捷键3、在AI中,如何设置圆角矩形的圆角大小? 答:点击圆角矩形工具,用鼠标点击画布,这里可以填。 4、在AI中,如何简单的画一个圆角半径不同的圆角矩形? 答:a.先画个圆角矩形,用“直接选择工具”选中这个角上的两个点; b.选中后执行“自由变换(E键)”,把鼠标放在需要调整角的“对角”上。 http://www.360doc.com/document/13/0726/16/13275031_302635069.shtml
20.AI教程!7个老手都会的Ai技巧,第一个就学到了!打开AI 软件,点开「编辑」-「首选项」-「参考线和网格」,按照想要的像素尺寸,设置网格数值,同时,点开菜单栏里的「视图」,勾选上「显示网格」,和「对齐网格」。这样,就可以轻松绘制出大小一致且规范的格子了。 直线和斜线当然没什么好说的,和钢笔绘制的差不太多,只需要用方形组合就好了。 https://uiiiuiii.com/illustrator/1212464544.html
21.AI自由变换工具的使用方法AI自由变换工具的使用方法 第1步、先用矩形工具或是按M键,绘制一个矩形出来。 第2步、要改矩形的大小,可以点击自由变换工具, 第3步、使用自由变换工具,可以把矩形向剪头的方向进行拖动调整。https://rjzxw.com/jiaocheng/14604.html
22.用Ai如何进行四折页设计?折页设计需要知道哪些常识?打开【变换面板】,X轴数字后方输入【+145】再按住【Alt+Enter】自动复制一个矩形。重复这个操作。 6.把下面的矩形删掉。复制上面的渐变矩形,打开【对齐面板】,点击【顶对齐】。点开【图层2】,模式改为【正片叠底】。锁住图层2,选择【图层1】。 7.【文字工具】输入【文案】,调整大小,选择合适的字体。再将【节https://www.goobai.com/zysxw/8318.html