
求导定义与求导布局
矩阵向量求导引入
在高等数学里面,我们已经学过了标量对标量的求导,比如标量y对标量x的求导,可以表示为∂x∂y。
如果我们把这组标量写成向量的形式,即得到维度为m的一个向量y对一个标量x的求导,那么结果也是一个m维的向量:
∂y/∂x
可见,所谓向量对标量的求导,其实就是向量里的每个分量分别对标量求导,最后把求导的结果排列在一起,按一个向量表示而已。类似的结论也存在于标量对向量的求导,向量对向量的求导,向量对矩阵的求导,矩阵对向量的求导,以及矩阵对矩阵的求导等。
为了便于描述,后面如果没有指明,则求导的自变量用x表示标量,x表示n维向量,X表示m×n维度的矩阵,求导的因变量用y表示标量,y表示m维向量,Y表示p×q维度的矩阵。
- x:标量
- x:n维列向量
- y:$m $维列向量
- X:m×n矩阵
- Y:p×q矩阵
可见,对于分子布局和分母布局的结果来说,两者相差一个转置。
有了布局的概念,我们对于上面5种求导类型,可以各选择一种布局来求导。但是对于某一种求导类型,不能同时使用分子布局和分母布局求导。
自变量\因变量 |
标量𝑦 |
列向量y(m) |
矩阵Y(p∗q) |
标量x |
/ |
∂y/∂x 分子布局:m维列向量(默认布局) 分母布局:m维行向量 |
∂Y/∂x 分子布局:p∗q矩阵(默认布局) 分母布局:q∗p矩阵 |
列向量x(n) |
∂y/∂x 分子布局:n维行向量 分母布局:n维列向量(默认布局) |
∂y/∂x 分子布局:m∗n雅克比矩阵(默认布局) 分母布局:n∗m梯度矩阵 |
/ |
矩阵X(m∗n) |
∂y/∂X 分子布局:n∗m矩阵 分母布局:m∗n矩阵(默认布局) |
/ |
/ |
矩阵向量求导大全
自变量\因变量 |
标量y |
向量y |
矩阵Y |
标量x |
∂x∂y 大学微积分知识 |
∂x∂y 定义法求导 |
∂x∂Y 定义法求导 |
向量x |
∂x∂y 1. 定义法求导 2. 基本法则:线性法则、乘法法则、除法法则 3. 矩阵微分:df=tr((∂x∂f)Tdx) 4. 链式法则:∂x∂z=(∂x∂y)T∂y∂z |
∂x∂y 1. 定义法求导 2. 链式法则:∂x∂z=∂y∂z∂x∂y |
—— |
矩阵X |
∂X∂y 1. 定义法求导 2. 矩阵微分:df=tr((∂X∂f)TdX) 3. 矩阵微分性质 4. 迹技巧 5. 链式求导法则:∂xij∂z=∑k,l∂Ykl∂z∂Xij∂Ykl=tr((∂Y∂z)T∂Xij∂Y) |
—— |
∂X∂Y 1. 定义:∂X∂Y=∂vec(X)∂vec(Y) 2. 微分法:vec(dY)=∂X∂YTvec(dX) 3. 运算法则 |
矩阵向量求导法则
行向量对元素求导
设yT=[y1⋯yn]是n维行向量,x是元素,则∂x∂yT=[∂x∂y1⋯∂x∂yn]
列向量对元素求导
设y=⎣⎢⎢⎡y1⋮ym⎦⎥⎥⎤是m维列向量,x是元素,则∂x∂y=⎣⎢⎢⎡∂x∂y1⋮∂x∂ym⎦⎥⎥⎤
矩阵对元素求导
设Y=⎣⎢⎢⎡y11⋮ym1⋯⋯y1n⋮ymn⎦⎥⎥⎤是m×n矩阵,x是元素,则∂x∂Y=⎣⎢⎢⎡∂x∂y11⋮∂x∂ym1⋯⋯∂x∂y1n∂x∂ymn⎦⎥⎥⎤
元素对行向量求导
设y是元素,xT=[x1⋯xq]是q维行向量,则∂xT∂y=[∂x1∂y⋯∂xq∂y]
元素对列向量求导
设y是元素,x=⎣⎢⎢⎡x1⋮xp⎦⎥⎥⎤是p维列向量,则∂x∂y=⎣⎢⎢⎢⎡∂x1∂y⋮∂xp∂y⎦⎥⎥⎥⎤
元素对矩阵求导
设y是元素,X=⎣⎢⎢⎡x11⋮xp1⋯⋯x1q⋮ypq⎦⎥⎥⎤是p×q矩阵,则∂X∂y=⎣⎢⎢⎢⎡∂X11∂y⋮∂xp1∂y⋯⋯∂x1q∂y∂xpq∂y⎦⎥⎥⎥⎤
行向量对列向量求导
设yT=[y1⋯yn]是n维行向量,x=⎣⎢⎢⎡x1⋮xp⎦⎥⎥⎤是p维列向量,则∂x∂yT=⎣⎢⎢⎢⎡∂x1∂y1⋮∂xp∂y1⋯⋯∂x1∂yn∂xp∂yn⎦⎥⎥⎥⎤
列向量对行向量求导
设y=⎣⎢⎢⎡y1⋮ym⎦⎥⎥⎤是m维列向量,xT=[x1⋯xq]是q维行向量,则∂xT∂y=⎣⎢⎢⎢⎡∂x1∂y1⋮∂x1∂ym⋯⋯∂xq∂y1∂xq∂ym⎦⎥⎥⎥⎤
行向量对行向量求导
设yT=[y1⋯yn]是n维行向量,xT=[x1⋯xq]是q维行向量,则∂xT∂yT=[∂x1∂yT⋯∂xq∂yT]
列向量对列向量求导
设y=⎣⎢⎢⎡y1⋮ym⎦⎥⎥⎤是m维列向量,x=⎣⎢⎢⎡x1⋮xp⎦⎥⎥⎤是p维列向量,则∂x∂y=⎣⎢⎢⎡∂x∂y1⋮∂x∂ym⎦⎥⎥⎤
矩阵对行向量求导
设Y=⎣⎢⎢⎡y11⋮ym1⋯⋯y1n⋮ymn⎦⎥⎥⎤是m×n矩阵,xT=[x1⋯xq]是q维行向量,则∂xT∂Y=[∂x1∂Y⋯∂xq∂Y]
矩阵对列向量求导
设Y=⎣⎢⎢⎡y11⋮ym1⋯⋯y1n⋮ymn⎦⎥⎥⎤是m×n矩阵,x=⎣⎢⎢⎡x1⋮xp⎦⎥⎥⎤是p维列向量,则∂x∂Y=⎣⎢⎢⎡∂x∂y11⋮∂x∂ym1⋯⋯∂x∂y1n⋮∂x∂ymn⎦⎥⎥⎤
行向量对矩阵求导
设yT=[y1⋯yn]是n维行向量,X=⎣⎢⎢⎡x11⋮xp1⋯⋯x1q⋮ypq⎦⎥⎥⎤是p×q矩阵,则
∂X∂yT=⎣⎢⎢⎢⎡∂x11∂yT⋮∂xp1∂yT⋯⋯∂x1q∂yT∂xpq∂yT⎦⎥⎥⎥⎤
列向量对矩阵求导
设y=⎣⎢⎢⎡y1⋮ym⎦⎥⎥⎤是m维列向量,X=⎣⎢⎢⎡x11⋮xp1⋯⋯x1q⋮ypq⎦⎥⎥⎤是p×q矩阵,则∂X∂y=⎣⎢⎢⎡∂X∂y1⋮∂X∂ym⎦⎥⎥⎤
矩阵对矩阵求导
设Y=⎣⎢⎢⎡y11⋮ym1⋯⋯y1n⋮ymn⎦⎥⎥⎤=⎣⎢⎢⎡y1T⋮ymT⎦⎥⎥⎤是m×n矩阵,X=⎣⎢⎢⎡x11⋮xp1⋯⋯x1q⋮ypq⎦⎥⎥⎤=[x1⋯xq]是p×q矩阵,则∂X∂Y=[∂x1∂Y⋯∂xq∂Y]=⎣⎢⎢⎢⎡∂X∂y1T⋮∂X∂ymT⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡∂x1∂y1T⋮∂x1∂ymT⋯⋯∂xq∂y1T⋮∂xq∂ymT⎦⎥⎥⎥⎤
例题
设∂X∂A=[2xyx2y22xyyx],X=[xy],根据 (12) 矩阵对列向量求导法则,有
∂X2∂2A=⎣⎢⎡∂X∂(2xy)∂X∂(x2)∂X∂(y2)∂X∂(2xy)∂X∂y∂X∂x⎦⎥⎤=⎣⎢⎢⎢⎡2y2x2x002y2y2x0110⎦⎥⎥⎥⎤