向量对向量求导

设两个向量 $x,y$ 分别为

$$x = (x_{1},x_{2},\cdots, x_{m})^{T}$$

$$y = (y_{1},y_{2},\cdots, y_{n})^{T}$$

虽然是多变量对多变量求偏导,但最终都是归结于一个单变量对另一个单变量求偏导,只是函数和自变量都写成了向量形式。

我们要做的就是找到求偏导的结果所对应的形式。

形状规则:向量 $y$ 对向量 $x$ 求导,分两步:

   1)向量 $y$ 的每个元素是标量,先做 $y$ 的每个元素对向量 $x$ 求导,这里按照标量对向量的求导规则进行。

   2)第一步做好后,将求导结果按 $y$ 的形状排列。

观察下面这个图,向量对向量求导就只有这四种情况,求导结果其实是个多维数组(张量)。

   

 

1. 行向量对列向量求导

   向量 $y^{T}$ 是一个 $1 \times n$ 的行向量,现在它对自变量 $x$ 求导,其中 $x$ 是一个 $ m \times 1$ 的列向量,向量 $y^{T}$ 中的每个元素都是向量 $x$ 的函数。

   那这个结果会是什么形式呢?每个元素 $y_{j}$ 对向量 $x$ 都有 $m$ 个偏导数,而向量 $y^{T}$ 有 $n$ 个元素,所以结果必然有 $mn$ 个元素。

   标量对向量求偏导,结果是个列向量,所以每个元素标量 $y_{j}$ 对向量 $x$ 的导数为

$$\frac{d y_{j}}{d x} = \begin{bmatrix}
\frac{\partial y_{j}}{\partial x_{1}} \\
\frac{\partial y_{j}}{\partial x_{2}} \\
\cdots \\
\frac{\partial y_{j}}{\partial x_{m}}
\end{bmatrix}$$

   所以

$$\frac{d y^{T}}{d x} = \begin{bmatrix}
\frac{d y_{1}}{d x} & \frac{d y_{2}}{d x} & \cdots & \frac{d y_{n}}{d x}
\end{bmatrix} =
\begin{bmatrix}
\frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{1}} & \cdots & \frac{\partial y_{n}}{\partial x_{1}} \\
\frac{\partial y_{1}}{\partial x_{2}} & \frac{\partial y_{2}}{\partial x_{2}} & \cdots  & \frac{\partial y_{n}}{\partial x_{2}}\\
\cdots  & \cdots  & \cdots  & \cdots \\
\frac{\partial y_{1}}{\partial x_{m}} & \frac{\partial y_{2}}{\partial x_{m}} & \cdots  & \frac{\partial y_{n}}{\partial x_{m}}
\end{bmatrix}$$

   所以结果就是一个 $m \times n$ 矩阵。

   进一步地:行向量 $(Ax)^{T}$ 对列向量 $x$ 的导数为

$$\frac{d (Ax)^{T}}{d x} = A^{T}$$

   推导:设 $A = (a_{ij})_{n \times m}$,$Ax = c$,则 $c$ 的第 $k$ 个元素的值为

$$c_{k} = \sum_{j = 1}^{m}a_{kj}x_{j}$$

         $c_{k}$ 对列向量 $x$ 求偏导有

$$\frac{d c_{k}}{d x} = \begin{bmatrix}
\frac{\partial c_{k}}{\partial x_{1}} \\
\frac{\partial c_{k}}{\partial x_{2}} \\
\cdots \\
\frac{\partial c_{k}}{\partial x_{m}}
\end{bmatrix} = \begin{bmatrix}
a_{k1} \\
a_{k2} \\
\cdots \\
a_{km}
\end{bmatrix}$$

         所以

$$\frac{d c^{T}}{d x} = A^{T}$$

 

2. 列向量对行向量求导

   向量 $y$ 是一个 $n \times 1$ 的矩阵,现在它对向量 $x^{T}$ 求导,其中 $x^{T}$ 是一个 $1 \times m$ 的矩阵,向量 $y$ 中的每一个元素都是向量 $x^{T}$ 的函数。

   同上分析,这结果也有 $mn$ 个偏导数。标量对行向量求导,结果是个行向量,所以每个元素标量 $y_{j}$ 对向量 $x^{T}$ 的导数为

$$\frac{d y_{j}}{d x^{T}} = \begin{bmatrix}
\frac{\partial y_{j}}{\partial x_{1}} & \frac{\partial y_{j}}{\partial x_{2}} & \cdots  & \frac{\partial y_{j}}{\partial x_{m}}
\end{bmatrix}$$

   所以

$$\frac{d y}{d x^{T}} = \begin{bmatrix}
\frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{1}}{\partial x_{2}} & \cdots  & \frac{\partial y_{1}}{\partial x_{m}}\\
\frac{\partial y_{2}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{2}} & \cdots  & \frac{\partial y_{2}}{\partial x_{m}}\\
\cdots  & \cdots  & \cdots  & \cdots \\
\frac{\partial y_{n}}{\partial x_{1}} & \frac{\partial y_{n}}{\partial x_{2}} & \cdots  & \frac{\partial y_{n}}{\partial x_{m}}
\end{bmatrix}$$

   显然有

$$\frac{d y}{d x^{T}} = \left ( \frac{d y^{T}}{d x} \right )^{T}$$

   进一步地:列向量 $Ax$ 对行向量 $x^{T}$ 的导数为

$$\frac{d (Ax)}{d x^{T}} = A$$

   推导:设 $A = (a_{ij})_{n \times m}$,$Ax = c$,则 $c$ 的第 $k$ 个元素的值为

$$c_{k} = \sum_{j = 1}^{m}a_{kj}x_{j}$$

         $c_{k}$ 对行向量 $x^{T}$ 求偏导有

$$\frac{d c_{k}}{d x^{T}} = \begin{bmatrix}
\frac{\partial c_{k}}{\partial x_{1}} & \frac{\partial c_{k}}{\partial x_{2}} & \cdots & \frac{\partial c_{k}}{\partial x_{m}}
\end{bmatrix} = \begin{bmatrix}
a_{k1} & a_{k2} & \cdots  & a_{km}
\end{bmatrix}$$

         显然有

$$\frac{d c}{d x^{T}} = A$$

 

posted @ 2020-10-01 16:58  _yanghh  阅读(27090)  评论(5编辑  收藏  举报