矩阵向量求导(刘建平博客)

1求导布局

  • 分子布局(numerator layout)和分母(denominator)布局
    • 分子求导的结果维度以分子为主,分母同理(两种布局的结果相差一个转置)
      • e.g:标量对矩阵求导,按分母布局就是和矩阵形状相同,分子布局就是相反
    • 列向量之间的求导(y:n*1,x:m*1) yx\frac{\partial y}{\partial x} :
      • 分子布局:雅可比矩阵为n*m(Jacobian)也写作 yxT\frac{\partial y}{\partial x^T}
      • 分母布局:梯度矩阵,也写作 yTx\frac{\partial y^T}{\partial x}

2 定义法标量对向量求导:

38194a0d47b5cd3bd8d61b1e15362912.png

3 微分法求导

  • 矩阵微分及其性质(一般是分子布局)
    35022587cb95da529664cbe888f45978.png
    1cf230370b494dd428155bbfca254494.png
    4fa0a84416ba765f18c813699370229c.png
    e.g:
    1f1e4ab70f439226c914c7e32d456c22.png
    dexb=exbd(xb)de^{xb}=e^{xb}\odot d(xb)

4 链式法则

  • 向量对向量的链式:要求中间都必须是向量
  • 标量对向量:x->y->z(z为标量)

zx=(yx)T×zy\frac{\partial z}{\partial x}=(\frac{\partial y}{\partial x})^T\times \frac{\partial z}{\partial y}

  • 结论(标量对矩阵求导)
    • z=f(y)z=f(y)

y=AX+B then zx=ATzyy=AX+B\text{ then } \frac{\partial z}{\partial x}=A^T\frac{\partial z}{\partial y}

y=XA+B then zx=zyATy=XA+B\text{ then } \frac{\partial z}{\partial x}=\frac{\partial z}{\partial y}A^T

5 矩阵对矩阵求导

  • 主流定义是先将矩阵向量化再求导 4ee71a05e8540d502a11b154575ba783.png
  • 克罗内克积:前一个矩阵的每一个元素和后一个矩阵整体的求积
  • hadamard:每个矩阵对应位置乘积

3b1b linear algebra

01 向量的本质

physics:有向,有大小的空间线段
cs:仅仅只是ordered list of numbers
math:服从特定加法和数乘运算即可

02 线性组合,张成的空间,基

基向量(basis vector)
坐标(coordinate)
向量张成的空间(span)
线性组合:控制仅改变一个的系数:这个时候向量的终点形成一条直线
三维空间中:其中两个向量张成的平面随着第三个向量的系数改变扫过整个空间
线性相关(linear dependent)

03 矩阵与线性变换

  • linear transformation:transformation暗示了这种函数变换有非常自然的几何对应关系
  • 线性 :直线变换后还是直线,并且原点不变(保持网格线平行且等距分布)
  • 使用数值方法表述线性变换,向量分解成的基向量表示,对基向量进行变换,然后使用相同的系数对变换后的基向量进行线性组合,就可以得到变换后的向量(二维线性变换完全由4个数字即可决定)
  • df9e937d24c9b09c264e718406518f5d.png
  • shear(剪切),仅改变x或者y坐标的方向
  • 当矩阵的列向量线性相关,其代表的线性变换直接把整个二维空间压缩到了一条直线上

04 矩阵乘法和线性变换复合

矩阵相乘的几何意义:连续进行线性变换
d97fe44cf2d11a17e189e9f040792141.png

footnote(补充)

05 行列式

  • 通过算行列式是否为0可以体现该线性变换是否将空间压缩到了更小的维度上去
  • 实际上行列式的值就是面积变换的倍数
  • 负值意味着发生了取向改变(原本i在j 的左侧,变成了右侧)三维就是右手定则变成了左手

06 逆矩阵,列空间和零空间

  • 方程组(system of equations)
  • 解线性方程组Ax=vA\vec{x}=\vec{v}
    其实就是找一个向量x使其在给定的线性变换后与v重合
  • 秩(rank)其实就是空间经过对应线性变换后的维数(列空间的维数)
  • 0c4a1c58e7409b70bf6955879ede362a.png
  • 当矩阵非满秩的时候,会有无数的向量(一条线上or一个平面上)压缩到原点,这些向量构成零空间(null space)、核(kernel)
  • m×n matrixm\times n\text{ matrix},将输入的n维映射到m维

07 点积与对偶性(duality)

  • 线性变换会使等距分布的点仍然保持等距分布
  • 1*2的矩阵与二维向量之间实际上有对应关系(对偶向量),这使得向量点积可以视为矩阵与向量的乘法
  • eb6a64f07c58e2b13579329d5c7d45de.png
  • 42d3d1fbfc51a8b5cb6ac6c08c53e818.png
  • 所以点积可以理解为先投影后缩放
  • 向量可以仅用一个点表示,其对应着某种线性变换,这种思路在某些理解场景很好用

08叉积

  • 二维向量的叉积39df336a578457beac979daf9fcd9ffc.png
  • 1c204521f8774f61a93d9b53b278b6d9.png
  • 三维向量下的推广
    267005607df08942c2411a903bed9307.png
    d3d5ad247170553dd1173af300a4aafd.png
  • 实际意义:找一个向量,满足
    df047e1423d3ff05af7e46d4c2c7cc5b.png
  • 几何解释:对偶向量(代表该线性变换的)其一定满足垂直于两向量张成的平面,并且长度等于张成形状的面积
  • 4b07490a2d7143d53102553881cbc448.png

09 基变换

直接给出一个矩阵:其追踪的是该线性变换下基向量的变换
d5df4ed04eb850bf8f2dbc9de322cd1e.png
A和A逆其实表示的就是对基向量的变换,中间的M才是最终要进行的变换
40bf306c79f894ea8d6acc84e0b007d4.png

10 特征向量与特征值

  • 线性变换后,大部分向量都离开了其原本张成的空间(这里,一个向量张成的空间就是该向量表征方向的一条线)
  • 有的依然沿原方向,这就是特征向量,此时的线性变换对其仅表现为标量压缩
    34699e9f3cec0d542fd1d00e7fab550d.png
    作用:考虑三维空间的旋转,特征值为1的特征向量就是旋转轴
  • 对角矩阵:特征向量拼成的矩阵,每个元素就是其特征值(特征向量就是基向量)特征基向量(eigenbasis)

11 抽象向量空间

c668024f84df91559fa9d89961fda1dc.png

12 克莱默法则

  • 一般线性变换会导致其点积变化,不变的就是正交变换(orthonormal transformation)
  • 正交变换(基向量长度不变并且保持角度),可以想象为刚体的旋转,任何质点间的相对位移都不变
  • 一种向量坐标的表示方法
    f392ec71772d128c0f46b16b924fb2af.png
    b0fd562a99b315170e07064141d76ef0.png

fourier transform

  • 不同频率的信号混合在一起,可以分离开来
  • 将信号"缠"在圆上,向量长度即为信号值
  • 将其想象为带有质量的物体:通常缠绕方式下质量分步较均匀

19eb3688ca278f9055bd63df0b7d5683.png
fc1ac4d07baff65dd4c4986193cf0c24.png
3446b55c6464c7e8b5f7852158551933.png

  • 如何将"缠绕"与计算联系起来:eθie^{\theta i}:单位圆沿逆时针转这么多弧度所产生的复数
  • 质心:积分除长度

卷积

  • lead in:row two dice and count for the probability of number
    ea556bc9b4182b6d754a458488fef98c.png
  • 倒序对齐,乘积求和
  • 也可以正序,二维,找对角线
    83bfc7dc83f950650de6edf1b12f1dae.png
  • 当一个为短序列并且元素和为1,可以视为在窗口内的滑动平均
  • 两种选择:高斯或者一边正一边负
    • 上下区分:用于检测图像的纵向的边缘

7a22e2610e15b695861f322a27952ee9.png