矩阵求导
约 433 个字 预计阅读时间 1 分钟
简介
这个其实根据微积分和线代的知识能够理解,总而言之,所谓的向量矩阵求导本质上就是多元函数求导,仅仅是把把函数的自变量,因变量以及标量求导的结果排列成了向量矩阵的形式,方便表达与计算,更加简洁而已。
本质
这里仅做简单介绍,这是一个我们平时常见的标量函数$f(x)=x^2 \(,它的自变量和因变量都是标量,对它求导结果为\)f'(x)=2x $,现在我们要引入矩阵(向量)函数
函数其实是形如$f(input)=output \(的变换,现在假设输入是一个向量\)\vec{x}=(x_1,x_2)^T \(,函数\)f(\vec{x})=x_1+x_2 \(,对它求导结果应该为\)\frac{df(\vec{x})}{d\vec{x}}=(\frac{\partial f(\vec{x})}{\partial x_1},\frac{\partial f(\vec{x})}{\partial x_2})^T=(1,1)^T $,可以看到结果也是一个向量。换成矩阵作为输入也是同理,只不过结果也变成了矩阵。
现在考虑\(output\)是一个向量,比如$f(x)=(x,x^2)^T \(,对它求导,结果是\)f'(x)=(1,2x)^T \(,还可以再复杂一点,输入和输出都是向量,比如\)f(\vec{x})=(x_1+x_2,x_1-x_2) \(,对它求导结果是\)\frac{df(\vec{x})}{d\vec{x}}=\begin{bmatrix} 1 & 1\ 1 & -1 \end{bmatrix} $
公式
这个其实还挺复杂,Wiki上有详细的
梯度
$y=f(\vec{x}) \(的输出是一个标量,那么它的梯度是\)\triangledown y=(\frac{\partial y}{\partial x_1},\frac{\partial y}{\partial x_2},...,\frac{\partial y}{\partial x_n})^T $
考虑一种特殊情况\(y=A^TX \(,\)A\)和\(X\)都是列向量,对\(X\)求导结果应该是$A^T $