wechat

title: 【线性代数】6-7:SVD分解(Singular Value Decomposition-SVD)
categories:

  • Mathematic
  • Linear Algebra
    keywords:
  • Singular Value Decomposition
  • JPEG
  • Eigenvalues
  • Eigenvectors
    toc: true
    date: 2017-11-30 09:02:19

Abstract: 本文介绍SVD,奇异值分解,应该可以算是本章最后的高潮部分了,也是在机器学习中我们最常用的一种变换,我们经常需要求矩阵的特征值特征向量,比如联合贝叶斯,PCA等常规操作,本文还有两个线性代数的应用,在图像压缩上,以及互联网搜索上。
Keywords: Singular Value Decomposition,JPEG2000,Eigenvalues,Eigenvectors

开篇废话

今天的废话关于学习知识,最近看到一种说法,我觉的非常的形象,有个大神(是谁我忘了),他说已知的知识像一个圆圈,而自己能感受的未知就是紧邻圆圈,圆外部的区域,当你知道的知识越来越多,圆圈不断扩大,圆周也随之扩大,所以你会越来越发现自己无知,那么就会更努力的去学习,所以越有知识的人越谦逊,尤其是对待知识上,尊重知识,探索未知领域是人类文明存在的根本动力。

Singular Value Decomposition

SVD,熟悉的名字,如果不学习线性代数,直接机器学习,可能最先接触的就是SVD,所以我记得在写上个系列的博客的时候(CSDN,图像处理算法)就说到过SVD,当时还调侃了下百度,每次搜SVD出来的都是一把枪(报告政府,这个枪是穿越火线里面的,没超过1.7J)

这张分解图是我无意中发现的,ak47的发明人说过,如果一把枪,零件已经精简到最少了,那么这个才是精品,类似的意思上篇博客也说过,矩阵变换到最简单的形式,能够体现出其最重要的性质。
SVD,奇异值分解,与QR,LU,SΛS1S\Lambda S^{-1} 等变换类似,其经过变换后会得到一个结构特异性质非凡的矩阵,SVD分解的结果和形式与对角化都非常相似,只是在形式和思路上更复杂,或者说如果说Jordan 是矩阵的对角化的扩展,因为有些矩阵特征向量不完全,那么SVD也是对角化的扩展,因为有些矩阵并不是方的。
所以SVD也是对角化,并且拥有比 A=SΛS1A=S\Lambda S^{-1} 更完美的性质,但却是也复杂了一些,A=SΛS1A=S\Lambda S^{-1} 有以下几个问题,需要完善:

  1. S中特征向量一般不是正交的,除非A是对称矩阵
  2. A并不是总有足够的特征值,这个是Jordan解决的问题,多个特征值相等,其对应于一个特征向量的时候,Jordan可以写成一块一块的对角矩阵
  3. A必须是方的方的方的

Singular Vectors作为eigenvectors 的替代品,可以完美解决上述问题,但是作为代价,我们的计算过程会变得复杂,并且Singular Vectors有两组,uuvv

uu 对应的是AATAA^T 的特征向量,因为 AATAA^T 对称,所以 uu 们可以选择相互正交的一组。
同理 vv 对应 ATAA^TA 的特征向量,因为ATAA^TA 对称,所以 vv 们也可以选择相互正交的一组。
这里注意是选择,因为你也可以选择不正交的,但是不正交的可能就会很麻烦了。

铺垫的差不多 ,然后我们有下面的这条重要性质,为什么会成立后面有证明,现在就告诉你SVD究竟是个啥子鬼:
Av1=σ1u1Av2=σ2u2Avn=σnun Av_1=\sigma_1u_1\\ Av_2=\sigma_2u_2\\ \vdots\\ Av_n=\sigma_nu_n\\

v1,,vnv_1,\dots,v_nATAA^TA 的特征向量,所以 vv 是矩阵A的Row Space
u1,,unu_1,\dots,u_nAATAA^T 的特征向量,所以 uu 是矩阵A的Column Space
σ1,,σn\sigma_1,\dots,\sigma_n 全部为正数,称为矩阵A的奇异值。

然后下面我们把 uuvv 组合成矩阵 UUVV ,那么根据对称矩阵的性质,UTU=IU^TU=I 同理 VTV=IV^TV=I 那么接下来我们来组合一下:

本文为节选,完整内容地址:https://www.face2ai.com/Math-Linear-Algebra-Chapter-6-7转载请标明出处

 posted on 2018-09-22 17:00  TonyShengTan  阅读(299)  评论(0编辑  收藏  举报