学好矩阵微分是通往麦加之路的第一步。
——Whales
微分理论是解决优化问题的重要工具,在统计学、信号处理、经济计量等领域有着广泛的应用。高中阶段我们就认识到了变元为标量的实值标量函数如何进行微分计算,然而在工程领域,绝大多数问题使用的是矩阵(向量也是一种矩阵)变元。那么矩阵变元的函数该如何进行微分计算呢。
为了解释清楚后面的问题,首先我要声明统一的符号规定,这些符号规定在我以后的文章中也都通用。
为标量变元
为列向量变元
为矩阵变元
为实值标量函数,为以上三种变元
为实值向量函数,为以上三种变元
为实值矩阵函数,为以上三种变元
本文主要讨论实值标量函数和实值矩阵函数的偏导。
1. 偏导算子
行向量偏导算子记为:
公式 1.1
也就是说,偏导算子计算得到的向量各元素分母按照原来行向量位置依次展开。
1.1 列向量变元(行向量变元时可转置)
当函数是列向量变元时,实值标量函数对于列向量的偏导向量是行向量:
公式1.2
1.2 矩阵变元
当函数是矩阵变元时,存在两种算法。
a. 第一种算法是在分母位置将矩阵向量化,记作:
公式 1.3
这种算法讲座实值标量函数的行偏导向量。
b. 第二种算法更加常用,是直接对矩阵变元进行偏导,记作
公式1.4
这就是著名的Jacobian矩阵。
显然,行偏导向量等于列向量化的Jacobian矩阵。
1.3 矩阵变元的实值矩阵函数
随着变元维数的增加,可能的偏导形式也会增多。 但是大多数偏导的结果与真是的Jacobian矩阵不符, Magnus 与Neudecter给出了关于的一种好的定义:
公式1.5
具体的表达式为:
公式1.6
然后根据矩阵变元的实值标量函数的行偏导向量进行展开。
其实由此我们还可以看到实值向量函数求偏导的一些端倪,也就是偏导与函数形状、维数以及元素位置均相同(通俗说法)。
2. 梯度矩阵
第一部分我们了解了行偏导算子,接下来我们介绍列偏导算子,也叫梯度算子。
公式2.1
2.1 2.2 2.3 呵呵我敲够公式了,但是可以负责任地说:
梯度矩阵是偏导矩阵的转置!!!
梯度矩阵是偏导矩阵的转置!!!
梯度矩阵是偏导矩阵的转置!!!
3. 为什么定义两种导数矩阵
Kreutz-Delgado的研究指出,在矩阵为分、流形计算、几何物理中,当定义一个标量函数关于变元向量的偏导数时,行向量偏导和Jacobian矩阵“最自然”; 在最优化和许多工程问题中,梯度矩阵“最自然”。
全文完。
2018.5.18 00:13