标签:strong 有一个 str 压缩 假设 没有 ext com 乘法
SVD奇异值分解
正交矩阵对应的行(列)向量都是相互正交的单位向量,且满足逆矩阵等于转置矩阵。
正交矩阵对应的变换为正交变换,正交变换映射表现为旋转和反射:

正交变换不改变向量的尺寸和夹角,如图,对应在正交坐标系基向量为[e1,e2]下的A为[a,b],对应进行正交变换后,只是对A用另一组正交坐标基[e1‘,e2‘]表示,对应变换后的A为[a‘,b‘],对向量A没有拉伸。这种变换为旋转变换。
正交变换对应有一组正交坐标基映射为另一组正交坐标基。
对应求得正交变换矩阵U:


由图可知:

所以U为:

设m*m矩阵A为对称矩阵,则A必能相似对角化,且不同特征值对应的特征向量相互正交:


可以得到A的特征值分解:

现在假设有一个x向量,用A对x进行变换:

也就是先对用UT对x进行正交变换,假设x在新的坐标系(坐标基为A的特征项向量)下为:

转变为:

接着对在新坐标系下的x进行拉伸和压缩,如果对应位置的特征向量为0,则发生维度退化,之后再用U进行正交变换,U是UT的逆变换,使又回到原来的坐标系下:

如果A是2*2矩阵,其特征向量对应矩形,其边,经过UT变换后,坐标基为矩形边所在的方向,在经过拉伸后,进行U变换,回到原来坐标系,这样经过变换后还是矩形。
奇异值分解就是对任意m*n矩阵,找到这样的一个正交坐标基,使其变换后还是正交坐标基。
假设m*n矩阵A,在n维空间中找到一组正交坐标基,使其经过A变换后还是正交坐标基。
假设正交坐标基为,vi是n*1向量:

经过A变换后:

同时保证变换后还是正交坐标基:

使vj使ATA的第j个特征向量的话:

又因为:

所以vj是ATA的第j个特征向量保证了变换后还是正交坐标基。
再将映射后的正交基单位化:


取单位向量:

由此可得:

再将{u1,u2,...,uk}扩展为{u1,u2,...,um},使得其为m维空间的一组单位正交基。
再将{v1,v2,...,vk}扩展为{v1,v2,...,vn},其中{vk+1,...vn}为AX=0的基础解系,对应的奇异值σ为0。
可得:

最后得A的奇异值分解:

定义:对于m×n的矩阵A,假设其秩rr,若存在秩同样为r两个矩阵:Fm×r(列满秩)和Gr×n(行满秩),使得A=FG,则称其为矩阵A的满秩分解。
任何一个非零矩阵都有满秩分解。
利用SVD进行满秩分解:

利用分块矩阵乘法得:

第二项为0:

令:

则A=XY即是A的满秩分解。
标签:strong 有一个 str 压缩 假设 没有 ext com 乘法
原文地址:https://www.cnblogs.com/cold-city/p/10010477.html