「向量求导」
「向量求导」
在机器学习或者其他相关领域, 关于向量求导是比较常见的(通常会处理成逐项求导, 比较啰嗦麻烦), 而且几乎所有的微积分或者线代教材中均不会提及, 属于“三不管地带”.
因此, 本文尝试给出一个从定义到性质比较完善的推导. [1]
1. 定义
首先我们定义标量对向量的求导, 这个定义是自然的.
1.1 标量对向量求导
设列向量, 标量, 定义标量对列向量求导为
标量对行向量求导为在定义了标量与向量求导的基础上,我们再定义向量与向量求导
1.2 向量对向量求导
设, , 定义向量求导的分母布局(denominator layout)为
分子布局(numerator layout)为显然有一般地, 我们认为列向量对列向量求导或者行向量对行向量求导是没有意义的(除非写成张量形式).
但值得一提的是, 很多书籍和文献常常会省略转置符号, 记为, 到底采用何种布局需要联系上下文推导. 但事实上这种写法容易让人迷惑, 不太清晰, 因此更鼓励显式地指定转置符号的写法.
为了一致性, 在下文中向量求导我们均采用分母布局.
2. 性质
设, , , 类似于标量求导, 有以下性质
同时, 若设, 也有类似于链式法则的性质我们只证明第二条和第三条性质.
证明
首先是第二条性质. 注意到
接着证明第三条性质. 我们令, 显然
同时我们令, , 显然也有欲证只需证即而注意到根据多元函数偏导的链式法则, 显然成立. 故证毕.3. 矩阵与向量求导的应用
之所以要引入向量求导, 就是因为可以利用其性质帮助我们简化很多的运算. 在给出例子之前, 我们先给出几条常用的性质.
设, 为的矩阵, 此时有
同时特殊地证明
显然最后一条性质是第二条性质的情况. 我们只证明前两条性质.
先证明第一条性质. 注意到为的向量, 其第个元素为
因此故有第二条性质的证明使用向量求导的性质会非常简单, 注意到
故证毕. 在这里, 就可以窥见使用性质来计算向量相关的求导时的威力.下面给出一个具体的例子. 在多元线性回归中, 一个经典的算法是最小二乘法.
即当我们有个样本时, 设自变量, 因变量. 此时设, 补充定义, 此时有
对于预测值和真实值, 我们希望找到一组参数, 使得残差平方和最小, 即找到在这里, 我们设故考虑对求导, 有在这里我们利用向量求导的链式法则, 有因此令, 有即
从这个例子可以看出, 利用向量求导的性质, 在计算相关求导运算时比繁琐的逐项求导式简洁高效的多, 同时也体现了矩阵和向量这一武器的巨大威力!