【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
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
相关文章推荐
- 线性代数复习之005线性相关
- 线性代数复习--矩阵的秩
- 线性代数复习四——矩阵的维数和秩
- 线性代数复习
- 线性代数复习七——特征向量
- 线性代数复习
- 机器学习笔记(三) 线性代数复习
- Machine Learning第一讲[单变量线性回顾] --(三)线性代数知识复习(选学)
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(6.线性代数复习)
- 线性代数复习-矩阵及其运算
- 线性代数复习-向量空间-线性相关-向量组的秩
- 复习线性代数中.....
- 连载|复习线性代数:矩阵
- 线性代数复习 第一章 行列式
- 2011年考研数学指导:线性代数复习技巧
- 线性代数复习1. 视角
- 线性代数复习 第二章 矩阵
- 线性代数复习 第三章 向量
- 线性代数复习 第四章 线性方程组
- 4 向量与矩阵(线性代数复习)