矩阵的终极分解-奇异值分解 SVD

https://www.toutiao.com/a6698191532752634376/

说到一个矩阵,怎么才算是真正掌握它?

一个完美分解的方法就是SVD分解。什么是SVD?全称是 singular Value Decomposition。奇异值分解。

把矩阵Am*n分解为一个三个矩阵相乘的形式,即A=U*∑*V',这三个矩阵是最简单的矩阵, Um*m是一个单位正交矩阵,Zm*n是一个对角阵,而 Vn*n是另一个正交单位矩阵;并且∑m*n作为对角矩阵,还是元素由大到小排列的。V'即V^T,表示V的转置。

矩阵的终极分解-奇异值分解 SVD_第1张图片

 

 

矩阵的终极分解-奇异值分解 SVD_第2张图片

 

(单位正交矩阵是非常简单的矩阵,U^T=U^-1,首先它的逆就等于其转置。其次,它的每一个列向量的长度等于1并且每两个行向量相互正交,每一个行向量的长度等于1并且每两个行向量相互正交。)

那么有什么简单的方法可以求出U和V还有∑?证明如下:

矩阵的终极分解-奇异值分解 SVD_第3张图片

 

因为sigma 是对角阵,设对角上的元素是K1,K2……Kn,则∑^2矩阵对角元素就是

∑元素的平方。

所以 A*A'=U*∑^2*U',因为∑^2也是对角阵,这个形式就是对A*A'的特征向量分解,U就是A*A'特征向量矩阵,而∑^2就是该矩阵的特征值。

如果向量v与变换B满足Bv=λv,则称向量v是变换B的一个特征向量,λ是相应的特征值。这一等式被称作“特征值方程”。描述正方形矩阵的特征值的重要工具是特征多项式,λ是A的特征值等价于线性方程组(B – λI) v = 0 (其中I是单位矩阵)有非零解v (一个特征向量),因此等价于行列式|B – λI|=0

从几何上来看,A乘以一个向量x,可以分为以下几步:

首先,x表示为任意一组正交基的线性组合,v1和v2是正交的,互相垂直。

先乘以V'表示将v1 v2变成标准正交基,再乘以∑表示对两个基不同程度的拉伸。

再乘以U表示拉伸后的旋转。

在此过程中,一组正交基乘以个正交矩阵的作用,仅仅是旋转了,向量幅度没变化,而乘以对角矩阵,则相当于每一个维度的基单独被伸长或者缩短了,但是向量的幅角没变。

简而言之:就是被旋转,拉伸不同倍数,在旋转。

这样可以更形象的理解一个向量,被矩阵A线性变换后的每一步到底做了什么,有什么意义。

矩阵的终极分解-奇异值分解 SVD_第4张图片

 

矩阵的终极分解-奇异值分解 SVD_第5张图片

 

矩阵的终极分解-奇异值分解 SVD_第6张图片

你可能感兴趣的:(人工智能)