【Lecture2】线性代数复习

    xiaoxiao2021-12-14  18

    当我们处理图像的时候,实际上是在和矩阵打交道,因此自然少不了线性代数。详细的内容可以直接看飞飞的课件,如果不追求证明的话可以拿来就用。课件讲到了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 = (v1xv1 + (v2xv2

    经过M的变换后变成:

    Mx = (v1xMv1 + (v2xMv2 

    也就是:

    Mx = (v1x) σ1u1 + (v2x) σ2u2

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

    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

    转载请注明原文地址: https://ju.6miu.com/read-967998.html

    最新回复(0)