向量求导及迹运算

作者: Xuang123 | 来源:发表于2018-12-25 21:24 被阅读0次

1、向量求导

向量求导其本质和标量求导没有本质区别。
本文所有的公式推导其根本立足于以下公式:
假设存在两个列向量\vec x和\vec y,其形状分别为m*1和n*1,则定义\\ \frac{\partial \vec y}{\partial \vec x}= \tag{*} \left[ \begin{matrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_1}{\partial x_2} & \cdots & \frac{\partial y_1}{\partial x_n} \\ \frac{\partial y_2}{\partial x_1} & \frac{\partial y_2}{\partial x_2} & \cdots & \frac{\partial y_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial y_m}{\partial x_1} & \frac{\partial y_m}{\partial x_2} & \cdots & \frac{\partial y_m}{\partial x_n} \\ \end{matrix} \right]
本文所描述的公式均以公式(*)作为证明基础。但在证明之前,首先明确一个概念,即所谓布局。

布局

布局在很多博客上都有不同的定义,比如某个博客定义如下:

分子布局(Numerator-layout): 分子为 y 或者分母为 xT (即,分子为列向量或者分母为行向量)
分母布局(Denominator-layout): 分子为 yT 或者分母为 x (即,分子为行向量或者分母为列向量)

我个人认为,布局本质上讲是一种规定,用以规定在运算过程中的描述方法,因为不同的描述方法可能存在不同。而与具体的分子分母如何关系不大。用我们定义的公式(*)来说,我们公式定义的情况是传统认为的分子布局,而分母布局则是将公式中xy的排布反过来,相当于做一次转置(这也解释了为什么分子布局和分母布局的结果正好差一个转置)。

公式推导

公式1

假设
\vec y = A\vec x
其中\vec y\vec x形状分别为m*1n*1A是一个规模为m*n的矩阵,且和\vec x线性无关。这是我们的基础定义,后续公式如果不特别说明则沿用此定义。
则有:
\frac{\partial \vec y}{\partial \vec x}=A\\

证明:
对于y的第i个元素y_i,有:
y_i=\sum_{k=1}^na_{ik}x_k
因此可得:
\frac{\partial y_i}{\partial x_j}=a_{ij}
则推广到所有的元素,易得
\frac{\partial \vec y}{\partial \vec x}=A\\

公式2

假设
\vec y = A\vec x
其中\vec y\vec x形状分别为m*1n*1A是一个规模为m*n的矩阵,且和\vec x线性无关。如果\vec z\vec x有函数关系,那么则有:
\frac{\partial \vec y}{\partial \vec z}=A\frac{\partial \vec x}{\partial \vec z}\\
证明:
对于y的第i个元素y_i,有:
y_i=\sum_{k=1}^na_{ik}x_k
因此可得:
\frac{\partial y_i}{\partial z_j}=\sum{k=1}^n a_{ik}\frac{\partial x_k}{\partial z_j}
则推广到所有的元素,易证(事实上这跟标量求导里面的链式法则没什么区别)。

公式3

假设
\alpha = \vec y^TA\vec x
其中\vec y\vec x形状分别为m*1n*1A是一个规模为m*n的矩阵,且和\vec x\vec y线性无关。那么则有:
\frac{\partial \alpha}{\partial \vec x}= \vec y^TA
\frac{\partial \alpha}{\partial \vec y}= \vec x^TA^T
证明:
定义\omega^T=y^TA
\alpha=\omega^T\vec x
因此可得:
\frac{\partial \alpha}{\partial \vec x}=\omega^T=\vec y^TA
另一公式使用相似方法可证,只需要对\alpha进行一次转置(标量的转置扔为自身)。

公式4(公式3特殊情况)

假设
\alpha = \vec x^TA\vec x
其中\vec x形状分别为m*1A是一个规模为m*n的矩阵,且和\vec x线性无关。那么则有:
\frac{\partial \alpha}{\partial \vec x}= \vec x^T(A+A^T)
证明:
根据定义:
\alpha=\sum_{j=1}^n\sum_{i=1}^na_{ij}x_ix_j
则可以得到:
\frac{\partial \alpha}{\partial x_k}=\sum_{j=1}^na_{kj}x_j+\sum_{i=1}^na_{ik}x_i
推广到所有元素可得结论。

公式5(公式4特殊情况)

假设
\alpha = \vec x^TA\vec x
其中\vec x形状分别为m*1A是一个规模为m*n的矩阵,且和\vec x线性无关,并且还是一个对称矩阵。那么则有:
\frac{\partial \alpha}{\partial \vec x}= 2\vec x^TA
证明:
这根本不需要证

公式6

假设
\alpha = \vec y^T\vec x
其中\vec y\vec x形状分别为m*1n*1,并且均为向量\vec z的函数结果。那么则有:
\frac{\partial \alpha}{\partial \vec z}= \vec x^T \frac{\partial \vec y}{\partial \vec z}+\vec y^T \frac{\partial \vec x}{\partial \vec z}
证明:
还是标量求导法则的推广。

公式7(公式6的特殊情况)

假设
\alpha = \vec x^T\vec x
其中\vec y\vec x形状分别为m*1n*1,并且均为向量\vec z的函数结果。那么则有:
\frac{\partial \alpha}{\partial \vec z}= 2\vec x^T \frac{\partial \vec x}{\partial \vec z}
证明:
还是标量求导法则的推广。

公式8

假设
\alpha = \vec y^TA\vec x
其中\vec y\vec x形状分别为m*1n*1,并且均为向量\vec z的函数结果。那么则有:
\frac{\partial \alpha}{\partial \vec z}= \vec x^TA^T \frac{\partial \vec y}{\partial \vec z}+\vec y^TA \frac{\partial \vec x}{\partial \vec z}
证明:
参考公式3证明即可

公式9(公式8特殊情况)

假设
\alpha = \vec x^TA\vec x
其中\vec x形状为n*1,并且为向量\vec z的函数结果。那么则有:
\frac{\partial \alpha}{\partial \vec z}= \vec x^T(A+A^T) \frac{\partial \vec y}{\partial \vec z}
证明:
不需要证

公式10(公式9特殊情况)

假设
\alpha = \vec x^TA\vec x
其中\vec x形状为n*1,并且为向量\vec z的函数结果。并且A是对称的。那么则有:
\frac{\partial \alpha}{\partial \vec z}= \vec 2x^TA\frac{\partial \vec y}{\partial \vec z}
证明:
不需要证

公式11或者称为定义(矩阵求导)

A规模为m*n\alpha为一个标量,那么:
假设存在两个列向量\vec x和\vec y,其形状分别为m*1和n*1,则定义\\ \frac{\partial A}{\partial \alpha}= \left[ \begin{matrix} \frac{\partial a_{11}}{\partial \alpha} & \frac{\partial a_{12}}{\partial \alpha} & \cdots & \frac{\partial a_{1n}}{\partial \alpha} \\ \frac{\partial a_{21}}{\partial \alpha} & \frac{\partial a_{22}}{\partial \alpha} & \cdots & \frac{\partial a_{2n}}{\partial \alpha} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial a_{m1}}{\partial \alpha} & \frac{\partial a_{m2}}{\partial \alpha} & \cdots & \frac{\partial a_{mn}}{\partial \alpha} \\ \end{matrix} \right]

公式12

\frac{\partial A^{-1}}{\partial \alpha}=-A^{-1}\frac{\partial A}{\partial \alpha}A^{-1}

相关文章

  • 向量求导及迹运算

    1、向量求导 向量求导其本质和标量求导没有本质区别。本文所有的公式推导其根本立足于以下公式:本文所描述的公式均以公...

  • 向量,矩阵,张量求导法则

    向量,矩阵,张量求导向量对向量求导向量对矩阵求导矩阵对矩阵求导使用链式法则总结 向量,矩阵,张量求导 参考:htt...

  • 公式推导公式表

    1)矩阵求导 ,这是分母布局, 查看下面表的 Numerator 即可 向量对向量求导 标量对向量求导 向量对标...

  • 矩阵的导数运算

    1.矩阵对标量求导 相当于每个元素求导 2.矩阵对列向量求导 3.矩阵对矩阵求导 4.标量对列向量求导 5.标量对...

  • 向量化与正则化,向量求导

    向量化与正则化 - CSDN博客 向量求导法则

  • 矩阵求导

    "前导不变后导转置向量"向量求导法则

  • [图解机器学习] 预备知识

    微积分 (求导,极限,极值) 线性代数(矩阵表示、矩阵运算、特征根、特征向量) 算法精确算法、近似算法、启发式算...

  • 对向量求导和对矩阵求导

    对一个数求导大家都比较熟悉,那么对向量求导呢?看如下的例子:假设有矩阵和向量: 很容易求出, 现在令,则向量对向量...

  • 线性代数

    3.1 向量关于标量求导 向量y=⎡⎣⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥y=[y1y2⋮ym]关于标量xx求导可以...

  • 机器学习中矩阵求导规则

    求导布局: 分子布局(numerator layout): m维列向量对标量求导结果为m维列向量,标量对m*n维矩...

网友评论

    本文标题:向量求导及迹运算

    本文链接:https://www.haomeiwen.com/subject/gzjqlqtx.html