您的位置:首页 > 理论基础

【Lecture2】线性代数复习

2016-12-03 02:00 141 查看
当我们处理图像的时候,实际上是在和矩阵打交道,因此自然少不了线性代数。详细的内容可以直接看飞飞的课件,如果不追求证明的话可以拿来就用。课件讲到了SVD,看了课件提到的if
you're interested的资料,里面有SVD的几何解释,对于理解SVD大有裨益,在此处做点笔记。

=======================================================================================

先来看一些线性变换矩阵的几何解释:

先从一个简单的矩阵M开始,



把M乘以一个平面上的任意一点(x,y)可以得到



对应的几何解释如下图:







经过M的作用,左边的红色正方形的水平宽度变为原来的3倍,竖直方向上没有发生变化。像这种只在主对角线上元素不为0的矩阵可以用于缩放,我暂且称之为缩放矩阵。

=======================================================================================

现在把M变复杂一点点,加入次对角线上的元素,

,注意到这是一个对称矩阵。

它干的事情是这样的:







好像根本看不出来在干什么,莫急,我们把所有组成格子的直线都逆时针选择45度,变成了这样:







现在可以看出来,矩阵

做的事情是:先把网格旋转45度,再沿其中一个方向拉长至原来的3倍。

如果把左图的平行于网格线方向的向量用Vi表示,则左图到右图的关系可以用公式

表示,看到这个矩阵乘向量等于实数乘向量的形式,就应该醒目了,

就是

的特征向量,3是特征值。更一般地,对于一个对称矩阵,我们总可以通过这样旋转45度的方式找到它的特征向量。或者换一种联系上下文的讲法,对于对称矩阵M,将要变换的向量先旋转45度再相乘时,对称矩阵M的作用和对角矩阵一样。

=======================================================================================

假如M不是对称矩阵,而是更一般的矩阵,用同样的方式能不能找到M的特征向量呢?

举个栗子,

,当然其实这个矩阵也没那么一般,它作用于向量时产生的操作叫做shear,效果是这样的:







好那我们先旋转一下看能不能找到特征向量,先转个30度吧。







嗯,还不够,再转30度。







好像差不多,但细看是多转了一点的,这里不给出证明,其实真正需要旋转的角度是58.28度。







===================================下面开始导出SVD的公式==================================

对于一个2x2的矩阵M,我们总可以找到一对正交的向量v1和v2,使得Mv1和Mv2也是正交的向量。







分别用u1和u2表示Mv1和Mv2的单位向量,用

1和

2表示对应的长度比例,则Mv1和Mv2分别可以这样表示:

Mv1 =
σ1u1

Mv2 =
σ2u2 

对于在v1和v2张成的向量空间中一个任意向量x,可以用v1和v2这样表示:

x = (v1

x) v1 +
(v2

x) v2

经过M的变换后变成:

Mx =
(v1

x) Mv1 +
(v2

x) Mv2 

也就是:

Mx =
(v1

x)
σ1u1 +
(v2

x)
σ2u2

把v1

x和v2

x用矩阵相乘的形式表示,可以得到:

Mx = u1σ1 v1Tx + u2σ2 v2Tx 

把两边的x去掉得到:

M = u1σ1 v1T + u2σ2 v2T

把向量u1和u2合并成矩阵U,v1和v2合并成矩阵V, σ1和 σ2用由它们组成的对角矩阵Σ表示,得到SVD的公式:

M = UΣVT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机视觉