线代-矩阵的SVD分解-矩阵压缩降噪降维

矩阵的SVD分解- Singular Value Decomposition【矩阵的奇异值分解】
优点:适用于任意形状的矩阵,是 特征分解 在任意矩阵上的推广

分解形式
A = U\Sigma V^T
A = \begin{bmatrix} |&|& &| \\ \vec u_1&\vec u_2&...&\vec u_m \\ |&|& &| \end{bmatrix} \begin{bmatrix} \sigma _1&&&& \\ &\sigma _2&&&0 \\ &&...&& \\ 0&&&\sigma _r& \\ &0&&&0 \end{bmatrix}\begin{bmatrix} - & \vec v_1 & - \\ - & \vec v_2 & - \\ \\ - & \vec v_n & - \end{bmatrix}
对于m*nA矩阵,则Um*m的方阵(左奇异矩阵);\Sigmam*n的长方阵(奇异值矩阵);Vn*n的方阵(右奇异矩阵)

VA^TA的标准化特征向量矩阵,是一个标准正交矩阵,V = V^{T}

UA的列空间的一组标准正交基构成的矩阵 U = \begin{bmatrix} |&|& &| \\ \vec u_1&\vec u_2&...&\vec u_m \\ |&|& &| \end{bmatrix} \由前r个从大到小排列的奇异值且不为零的奇异值对应的\vec u向量从左到右排列构成,根据矩阵的列空间定义(r \le m)\vec u_i=\frac {A\vec v_i}{\sigma _i} \ \sigma_i \ne 0;所以当r \lt m的时候要构造一个m*m的方阵U需要补充到m\vec u向量,缺失的\vec u向量可以通过Gram-Schmidt方法找到m-r个向量,使得这m\vec u向量两两互相垂直。所以U矩阵也是一个标准正交矩阵

\Sigma矩阵是一个m*n奇异值矩阵,对角线由从大到小排列的奇异值按从上到小的顺序填充而成,由于r \le m,缺失行由零向量填充,其左上角是一个r*r对角矩阵
\Sigma = \begin{bmatrix} \sigma _1&&&& \\ &\sigma _2&&&0 \\ &&...&& \\ 0&&&\sigma _r& \\ &0&&&0 \end{bmatrix} \ = \begin{bmatrix} D&0 \\ 0&0\end{bmatrix}

SVD与特征值分解的联系A^TA = (U\Sigma V^T)^T \cdot (U\Sigma V^T) = V^T\Sigma^2V = PDP^T

证明

对于 A = U\Sigma V^T
左乘V则有AV = U\Sigma V^TV,标准正交矩阵中V^TV = I \rightarrow AV = U\Sigma ,该数学形式与方阵特征值分解类似。
\because \vec v_iA^TA的标准特征向量 ,AV =A \begin{bmatrix} |&|& &| \\ \vec v_1&\vec v_2&...&\vec v_n \\ |&|& &| \end{bmatrix} = \begin{bmatrix} |&|& &| \\ A\vec v_1&A\vec v_2&...&A\vec v_n \\ |&|& &| \end{bmatrix}

\vec u_i = \frac {A\vec v_i}{\sigma _i},其中\sigma _i = \sqrt { \|A \cdot \vec v_i\|^{2} } = \sqrt {\lambda _i},当存在\sigma = 0 \rightarrow \sigma \vec u = 0,从而
AV = \begin{bmatrix} |&|& &| \\ A\vec v_1&A\vec v_2&...&A\vec v_n \\ |&|& &| \end{bmatrix} = \begin{bmatrix} |&|& &| \\ \sigma_1\vec u_1& \sigma_2\vec u_2&...& \sigma_r\vec u_r&...&0 \\ |&|& &| \end{bmatrix}

U\Sigma = \begin{bmatrix} |&|& &| \\ \vec u_1&\vec u_2&...&\vec u_m \\ |&|& &| \end{bmatrix} \begin{bmatrix} \sigma _1&&&& \\ &\sigma _2&&&0 \\ &&...&& \\ 0&&&\sigma _r& \\ &0&&&0 \end{bmatrix} = \begin{bmatrix} |&|& &| \\ \sigma_1\vec u_1& \sigma_2\vec u_2&...& \sigma_r\vec u_r&...&0 \\ |&|& &| \end{bmatrix}

\therefore AV = U\Sigma \rightarrow A = U\Sigma V^T

算法过程

对于任意一个矩阵A,求解U\Sigma V^T
step.1 求解A^TA的特征值和特征向量;
step.2A^TA的非零特征值\lambda 进行开根得到奇异值\sigma,顺序填充成m*n的奇异值矩阵\Sigma;
step.3 A^TA的特征向量标准化处理后,这些标准特征向量按从大到小的特征值对应关系按列填充成n*nV,取V^T;
step.4 \vec u_i = \frac {A\vec v_i}{\sigma _i}在经过Gram-Schmidt扩展填充成U

SVD应用

1.几何坐标变换

A = U\Sigma V^T 若A是m*n的矩阵 A将对一个n维向量转换成m维的向量;

Vn维空间的一组标准正交基,从而n维空间中的任意向量\vec x可以被V中的列向量所组合表示\vec x = k_1\vec v_1 + k_2\vec v_2 + ... + k_n\vec v_n=V\vec k ,这里V\vec k中的向量\vec kV坐标系下每个维度上的坐标值。

n维空间的向量\vec xA变换将得到:
A\vec x = U\Sigma V^T \vec x = U\Sigma V^T \cdot V\vec k = U\Sigma \vec k = U\begin{bmatrix} \sigma_1k_1 \\ ... \\ \sigma_rk_r \\ 0\end{bmatrix}
在这里变换后表明在U坐标系下,原来V坐标系下的向量\vec x坐标值将被拉伸\sigma倍。

2.数据压缩去噪降维

奇异值分解与特征值分解的目的一样,都是提取出一个矩阵最重要的特征。
所有的矩阵都可以进行奇异值分解,但只有方阵才可以进行特征值分解。当所给的矩阵是对称的方阵,,二者的结果是相同的。所以对称矩阵的特征值分解是奇异值分解的一个特例。对于奇异值,它跟特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。所以可以应用最大的k个的奇异值和对应的左右奇异矩阵来近似描述矩阵达到 denoise 的目的。

SVD降噪数学展开式A = U\Sigma V^T
\begin{bmatrix} |&|& &| \\ \sigma_1\vec u_1& \sigma_2\vec u_2&...& \sigma_r\vec u_r&...&0 \\ |&|& &| \end{bmatrix} \begin{bmatrix} - & \vec v_1 & - \\ - & \vec v_2 & - \\ \\ - & \vec v_n & - \end{bmatrix} = \sigma_1 \vec u_1 \vec v_1^T + \sigma_2 \vec u_2 \vec v_2^T +...+\sigma_r \vec u_r \vec v_r^T + 0 +...0

从而A 矩阵被表示为系列由\sigma _i \vec u_i \vec v_i^T组成的m*n矩阵的加和的结果,奇异值\sigma在这里成为子矩阵\vec u \vec v^T的权重(weight 权值),其中第一个\sigma _1权值最大,次之\sigma _2,以此类推。所以可知小奇异值对应的子矩阵对A矩阵的影响是很小的,舍去这些小奇异值对应的子矩阵可以做到对A矩阵的压缩、降噪

3、SVD 与 PCA 降维的联系

PCA降维 主要针对协方差矩阵X^TX 进行特征分解,找到最大的 d 个特征值对应的特征向量作为基向量,对 X 进行投影达到降维的目的 X_{lowdim} = X\cdot PSVD 则是针对 X进行奇异值分解,算的是 X^TX 的特征值和特征向量,从求解上来说SVD与PCA等价,但是SVD 算法求解矩阵 X^TX 的特征向量时相比暴力特征值分解有更高效的计算策略(如幂迭代法求矩阵特征值),当找到了前 d 个奇异值对应的右奇异矩阵 V^T,对 X 进行投影达到降维的目的 X_{lowdim} = X \cdot (V^T)^T,正因如此SVD的这种高效性所,一般PCA算法常用 SVD 求解特征向量。


1.1 矩阵降维之矩阵分解 PCA与SVD - 知乎 (zhihu.com)
【机器学习】这次终于彻底理解了奇异值分解(SVD)原理及应用_风度78的博客-CSDN博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容