Notes About Singular Value Decomposition
A brief summary of SVD:
An original matrix Amn is represented as a muliplication of three matrices:
Amn = UmmSmnVnnT
The columns of U are the orthonormal engenvectors of AAT descendingly ordered by the corresponding eigenvalues, and the columns of V are the orthonormal engenvectors of ATA descendingly ordered by the corresponding eigenvalues. This also suggests that U and V are orthonormal (orthogonal) matrices. A characteristic of the two matrices is that the non-zero eigenvalues of U and V are always the same. S is a diagonal matrix containing the square roots of eigenvalues from U and V in descending order. The diagonal entries in S are the singular values of A, the columns in U are called left singular vectors, and the columns in V are called right singular vectors.
==========================分割线=======================
看完mit的《Introduction To Linear Algebra》(Gilber Strang著)里关于SVD的章节,只能说发觉SVD愈发奇特了,但是很多概念还是不太懂,尤其是作者所说的“四个子空间”。其实看着作者推导的一些公式,自己也跟着推导一番觉得很是爽。但是我只但看了这一章节,未免理解起来过于管中窥豹。虽然自己只是为了做论文,需要弄SVD这个概念,但是一知半解不是什么好习惯,那还是从头看起吧,如果确实觉得不是重要的概念也许可以跳过。习题估计也不需要做,这里就把一些值得记录下的东西记录一下吧。
----
看到序言里讲到列空间,忽然再一次被自己对于线性代数很多基本问题的无知击倒:原来,一个矩阵A乘以一个向量x,可以理解为,将A的所有列向量,以x各个项作为权重进行线性组合,所得向量即为乘得的结果。相应的,Ax = b这个方程也可以理解为求解一个矩阵A的列向量的线性组合,使得其等于b。
----
看到讲向量的表示一段,虽然一度对于向量的物理意义理解及其混乱(二维空间中的一个点还是一条没有位置只有方向和长度的线段),甚至为何(1,0)(0,1)被默认为单位向量且在坐标轴中垂直亦搞不懂其中玄机,不过这里倒是可以对向量相加的物理意义做一简单解释:由于向量可以理解为一个点到另一个点的移动,两个向量v、w相加可以理解为点先按v移动,接着按w移动。这也能解释为何两个方向不同的向量相加总小于方向相同的向量相加,因为前者相当于在沿着两个向量移动时走了些冤枉路,有些移动相互抵消了。
刚刚忽然想到,解析几何应该是严格建立在“正交”(垂直)概念的基础之上的(没去研究过讲几何学本质的著作哈,纯粹瞎扯),但“正交”这个概念在线代里真的颇有些蛋生鸡鸡生蛋的意味,玄机还没搞懂。
----
1.2给出了点乘的一个物理意义:假设两个物体在一个平衡杆上的位置分别为(v1,v2)(以平衡点为0),两个物体的重量分别为(w1,w2),则两个向量的点乘为力矩之和。力矩之和为0表示两物体平衡。另一个例子是一个向量表示单价,一个向量表示个数,点乘为总价。
----
1.3矩阵乘向量一节给出了两种认识这种运算的方法,这应该是线代里很重要的一个概念。
一个矩阵乘以一个(列)向量Ax,可以理解为:
- 矩阵A的所有列,以x的每个项为权重进行线性组合,即:

- 矩阵A的所有行与x做点乘,所得的每个结果作为结果向量的每一项,即:

----
讲线代的书竟然讲起了微积分,而且还帮助我理解了之前看过的论文里的一个方法的数学背景:
1.3里进一步提到了如何求解离散数值的偏导,其中有三种方法:
后向差异:d(t)=x(t)-x(t-1)
前向差异:d(t)=x(t+1)-x(t)
中心差异:d(t)=(x(t+1)-x(t-1))/2
并以x(t)=t2为例提出中心差异貌似是对偏导更准确的一种近似。这也解释了之前看Marching Cubes那篇论文(有可能是图形学里最知名的一篇论文了)时作者所也使用类似方法来求梯度的原因。
----
鉴于作者一再强调row picture和column picture,这里就强调下:
row picture:一个矩阵方程Ax=b的解x,可以理解为每个线性方程所定义的平面(或超平面,其实二维空间里一条直线也是个一个“平面”哈)的相交点。当然这些平面可能不相交于一点,那应该就是相交于所在空间的子空间吧!!
column picture:一个矩阵方程Ax=b的解x,可以理解为找到A的列向量的一个线性组合,使得这个线性组合等于b。而这个线性组合的每个向量的系数即为x。
先说个有些跳跃的话题,由于先看过了SVD的章节,作者也是一再强调列空间和行空间,看来列于行之间纠结缠绕、你中有我的关系貌似真的是线性代数的真爱所在啊!!
----
看到将矩阵相乘一节,矩阵相乘,如果AB,可以理解为,B为一个源矩阵,A为一个描述转换的矩阵,AB所得矩阵即为对B按照A进行转换的结果。而转换的过程为:A的每一行描述了结果矩阵对应行的转换;A某行的每一列描述了这个列在B中对应行的系数,而最终结果矩阵的对应行则为B的每一行按照这个系数相加所得。
由于矩阵相乘A可以理解A对B进行一系列行操作所得,而高斯消元法就是有一系列的行操作组成,因此高斯消元的过程也可以表示为一系列的矩阵相乘。
----
之前说过,矩阵与向量相乘可以有两种理解方式,即矩阵每一行与向量点乘,与矩阵每一列以向量的项为系数进行线性组合。而两个矩阵AB相乘则有四种理解方式:
column picture: A乘以B等于A乘以B的每一列,所得每一个向量作为结果矩阵的每一列
row picture: A乘以B等于A的每一行乘以B,所得每一个行向量作为结果矩阵的每一行。其中A的某一行乘以B可以理解为对B做行变换
row column picture: A乘以B等于A的每一行与B的每一列做点乘,其中A的i行与B的j行相乘所得为结果矩阵C的Cij元素
column row picture: A乘以B等于A的第k列与B的第k行相乘所得的n个矩阵相加所得,其中n=A的列数=B的行数,则k取值为1到n
----
关于矩阵相乘时的分块矩阵相乘:
两矩阵AB相乘还可以理解为其各自分块矩阵的相乘。其中左矩阵A的行分割和右矩阵B的列分割可以任意,而A的列分割与B的行分割必须一致(注意这些分割不一定都是等分)。分割后的矩阵相乘结果有点类似矩阵相乘以元素为单位的解释方法:
即分块后A的第i行的矩阵与分块后B的第j列的矩阵做“点乘”,所得矩阵放到结果矩阵的第i行、第j列。
由于之前讲过,高斯消元可以通过对一个矩阵左乘一个“消元矩阵”(elimination matrix)来得到,但那里面讲的是一次只消去一行里相应的“枢轴”,如何一下子消去所有其他行的枢轴呢?有Schur Complement(抱歉不知道怎么翻译):

其中,消元矩阵里左下的块矩阵-CA-1颇为耐人寻味。看着是不是有点眼熟?是不是和消除单个元所用的-a/c异曲同工?
----
在谈到两矩阵AB相乘的逆等于B-1A-1时,作者指出:逆矩阵应以逆序做相乘,并给出一个很精辟的比喻:穿上袜子然后穿鞋的逆行为应是先脱下鞋然后脱下袜子。个人认为可以更加形式化的去理解:如果把每一个矩阵理解为一个变换或者映射(事实上矩阵确实也是做这个的哈),那么几个矩阵相乘可以理解为这几个变换的组合。这个组合的逆变换应该是先对最近一次变换取逆,然后是最近第二次的变换,然后是之前的变换。
V]8477(QJPVKERI_R9V]]0.png)
Notes About Singular Value Decomposition的更多相关文章
- 奇异值分解(We Recommend a Singular Value Decomposition)
奇异值分解(We Recommend a Singular Value Decomposition) 原文作者:David Austin原文链接: http://www.ams.org/samplin ...
- We Recommend a Singular Value Decomposition
We Recommend a Singular Value Decomposition Introduction The topic of this article, the singular val ...
- 【转】奇异值分解(We Recommend a Singular Value Decomposition)
文章转自:奇异值分解(We Recommend a Singular Value Decomposition) 文章写的浅显易懂,很有意思.但是没找到转载方式,所以复制了过来.一个是备忘,一个是分享给 ...
- [转]奇异值分解(We Recommend a Singular Value Decomposition)
原文作者:David Austin原文链接: http://www.ams.org/samplings/feature-column/fcarc-svd译者:richardsun(孙振龙) 在这篇文章 ...
- [转载]We Recommend a Singular Value Decomposition
原文:http://www.ams.org/samplings/feature-column/fcarc-svd Introduction The topic of this article, the ...
- Singular value decomposition
SVD is a factorization of a real or complex matrix. It has many useful applications in signal proces ...
- SVD singular value decomposition
SVD singular value decomposition https://en.wikipedia.org/wiki/Singular_value_decomposition 奇异值分解在统计 ...
- [Math Review] Linear Algebra for Singular Value Decomposition (SVD)
Matrix and Determinant Let C be an M × N matrix with real-valued entries, i.e. C={cij}mxn Determinan ...
- 关于SVD(Singular Value Decomposition)的那些事儿
SVD简介 SVD不仅是一个数学问题,在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层 ...
随机推荐
- rest-framework框架 -- 认证权限流程源码
认证权限 解析BaseAuthentication源码 # 做认证权限 from rest_framework import exceptions from ..models import * cla ...
- 非在线PDF转图片!!!
关于非在线 由于这次要转的是身份证,不是阴谋论,防人之心还是要有的.万一呢. 关于工具 试了好多工具,有一家软件竟然是反过来的,即图片转pdf.也给搜了出来,主要的是下载页面还显示的pdf转图片,啊呸 ...
- Intro to DBSCAN
DBSCAN Density-Based Spatial Clustering of Application with Noise It can discover cluster of arbitra ...
- HDU2157 How many ways矩阵再识
春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, 葱头决定, 每次上课都走不同的路线去教室 ...
- AngularX 路由总结
路由是 Angular 应用程序的核心,它加载与所请求路由相关联的组件,以及获取特定路由的相关数据.这允许我们通过控制不同的路由,获取不同的数据,从而渲染不同的页面. Installing the r ...
- 如何实现一个可以用 await 异步等待的 Awaiter
.NET 和 C# 共同给我们带来的 async/await 异步编程模型(TAP)用起来真的很爽.为了实现异步等待,我们只需要在一切能够能够异步等待的方法前面加上 await 即可.能够异步等待的最 ...
- 《DSP using MATLAB》示例 Example6.7
代码: M = 32; alpha = (M-1)/2; magHk = [1, 1, 1, 0.5, zeros(1, 25), 0.5, 1, 1]; k1 = 0:15; k2 = 16:M-1 ...
- 《selenium2 python 自动化测试实战》(14)——下载文件
说下载文件之前,我再和大家说一下用cookie登录的事,既然我们用cookie登录,那么传过去的cookie肯定是要和对应的网站完全一致的,注意,是包括大小写哦,本来我也是不知道,我用这个方法登录自己 ...
- scrapy爬取验证码登录网页
scrapy 验证码登录程序, https://accounts.douban.com/login # -*- coding: utf-8 -*- import scrapy import urlli ...
- LeetCode 675. Cut Off Trees for Golf Event
原题链接在这里:https://leetcode.com/problems/cut-off-trees-for-golf-event/description/ 题目: You are asked to ...