变元:在初等数学里,变量或变元、元是一个用来表示值的符号,该值可以是随意的,也可能是未指定或未定的。
vec(⋅)表示矩阵化为列向量,rvec(⋅)表示矩阵化为行向量,vec(⋅)称为向量化算子,vec(⋅)又分为按行展开和按列展开,没有特殊说明的向量都为列向量。unvec(⋅)表示列向量化为矩阵,unrvec(⋅)表示行向量化为矩阵
设矩阵A=(aij)∈Rm×n,把矩阵A的元素按行的顺序排列成一个列向量:
vecA=(a11,a12,⋯,a1n,a21,a22,⋯,a2n,⋯,am1,am2,⋯,amn)T,则称向量vecA为矩阵A按行展开的列向量。
设矩阵A=(aij)∈Rm×n,把矩阵A的元素按列的顺序排列成一个列向量:
vecA=(a11,a21,⋯,an1,a12,a22,⋯,an2,⋯,a1n,a2n,⋯,amn)T,则称向量vecA为矩阵A按列展开的列向量。
向量对向量求偏导,才涉及到分子、分母布局。
分子布局(称为Jacobian形式)。比如ym×1和xn×1,则Jacobian形式为∂xT∂y即按照y和xT的维数相乘为m×1×1×n=m×n,因为分子没有变化(转置),所以称为分子布局(个人记法)。
分母布局(称为Hessian形式)。比如ym×1和xn×1,则Hessian形式为∂x∂yT即按照x和yT的维数相乘为n×1×1×m=n×m,因为分母没有变化(转置),所以称为分母布局(个人记法)。有的也称该布局为梯度,区别于Jacobian形式。
协梯度矩阵
∂Vector/Matrix∂Scalar
1×m行向量的偏导算子 |
Dx=def∂xT∂=Δ[∂x1∂,⋯,∂xm∂] |
---|
标量函数f(x)的行向量偏导 |
Dxf(x)=∂xT∂f(x)=[∂x1∂f(x),⋯,∂xm∂f(x)] |
矩阵形式定义实值标量函数f(X)的行向量偏导 |
DvecT(X)f(X)=∂vecT(X)∂f(X)=[∂X11∂f(X),⋯,∂Xm1∂f(X),⋯,∂X1n∂f(X),⋯,∂Xmn∂f(X)] |
矩阵形式定义实值标量函数f(X)在X处的偏导 |
DXf(X)=⎣⎢⎢⎡∂X11∂f(X)⋮∂X1n∂f(X)⋯⋱⋯∂Xm1∂f(X)⋮∂Xmn∂f(X)⎦⎥⎥⎤∈Rn×m DXf(X)=∂XT∂f(X)=[∂Xji∂f(X)]j=1,i=1m,n |
备注 |
vecT(X)=[vec(X)]T DvecT(X)f(X)和DXf(X)分别为矩阵形式定义实值标量函数f(X) 在X的行向量偏导和Jacobian矩阵 |
梯度矩阵
∂Vector/Matrix∂Scalar
m×1列向量偏导算子 习惯称之为梯度算子 |
∇x=def∂x∂=[∂x1∂,⋯,∂xm∂]T |
---|
标量函数f(x)的列向量偏导 习惯称之为标量函数f(x)的梯度矩阵 |
∇xf(x)=def% |