矩阵求导简介

文章目录

  • 前言
  • 一、标量函数对向量求导
  • 二、向量函数对向量求导


前言

提示:本文简要介绍矩阵求导方面的知识

标量函数的求导读者应该非常熟悉了。假设 f ( x ) f(x) f(x) x x x求导,那么将得到 d f d x \frac{df}{dx} dxdf这样一个导数,显然它仍然是一个标量。然后下面分别介绍当 x x x为向量或者 f f f为向量函数的情况。


提示:以下是本篇文章正文内容,可供参考

一、标量函数对向量求导

先考虑 x x x为向量的情况。假设 x ∈ R m x\in \mathbb R^m xRm,为列向量,那么:
d f d x = [ d f d x 1 , . . . , d f d x m ] T ∈ R m (1) \frac{df}{dx} = \left[ \frac{df}{dx_1}, ... , \frac{df}{dx_m}\right]^T \in \mathbb R_m \tag{1} dxdf=[dx1df,...,dxmdf]TRm(1)
这将得到一个 m ⋅ 1 m·1 m1的向量。有时也写成对 x T x^T xT的求导:
d f d x T = [ d f d x 1 , . . . , d f d x m ] (2) \frac{df}{dx^T} = \left[ \frac{df}{dx_1}, ... , \frac{df}{dx_m}\right] \tag{2} dxTdf=[dx1df,...,dxmdf](2)
这得到一个行向量。一般称为 d f d x \frac{df}{dx} dxdf为梯度或者Jacobian,不同领域习惯可能不同。

二、向量函数对向量求导

一个向量函数也可以对向量求导。考虑 F ( x ) F(x) F(x)为一个向量函数:
F ( x ) = [ f 1 ( x ) , . . . , f n ( x ) ] T F(x)=\left[ f_1(x), ... , f_n(x) \right]^T F(x)=[f1(x),...,fn(x)]T
其中每一个 f k f_k fk都是一个自变量为向量,取值为标量的函数。考虑这样的函数对 x x x求导时,通常的做法是写为
∂ F ∂ x T = [ ∂ f 1 ∂ x T ⋮ ∂ f n ∂ x T ] = [ ∂ f 1 ∂ x 1 ∂ f 1 ∂ x 2 ⋯ ∂ f 1 ∂ x m ∂ f 2 ∂ x 1 ∂ f 2 ∂ x 2 ⋯ ∂ f 2 ∂ x m ⋮ ⋮ ⋱ ⋮ ∂ f n ∂ x 1 ∂ f n ∂ x 2 ⋯ ∂ f n ∂ x m ] ∈ R n × m (3) \frac{\partial F}{\partial x^T} = \begin{bmatrix} \frac{\partial f_1}{\partial x^T} \\ \vdots \\ \frac{\partial f_n}{\partial x^T} \end{bmatrix} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots & \frac{\partial f_1}{\partial x_m} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_2}{\partial x_m} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial x_1} & \frac{\partial f_n}{\partial x_2} & \cdots & \frac{\partial f_n}{\partial x_m} \end{bmatrix} \in \mathbb R^{n\times m} \tag{3} xTF= xTf1xTfn = x1f1x1f2x1fnx2f1x2f2x2fnxmf1xmf2xmfn Rn×m(3)
也就是写成列函数对行向量求导的形式,这将得到一个 n × m n\times m n×m的雅克比矩阵。这种写法是规范的,典型的例子:
∂ A x ∂ x T = A (4) \frac{\partial Ax}{\partial x^T} = A \tag{4} xTAx=A(4)
反之,一个行向量函数也可以对列向量求导,结果为之前的转置:
∂ F T ∂ x = ( ∂ F ∂ x T ) T (5) \frac{\partial F^T}{\partial x} = \left( \frac{\partial F}{\partial x^T} \right)^T \tag{5} xFT=(xTF)T(5)

你可能感兴趣的:(其它,矩阵,线性代数,机器学习)