常用矩阵求导公式
在学习张量分解(TUCKER or CP)分解的时候,我们经常会遇到各式各样的优化模型,其中最简单的就是对代价函数(cost function)进行求导然后通过梯度下降法(gradient decent method),共轭梯度法(conjugate gradient method),投影梯度法(projected gradient method),罚函数法(penalty function method )等等,这些在最优化理论中都有提及。或者通过ADMM算法把一个大问题分成可分布式同时求解的多个小问题。但这些都少不了对矩阵求导
在此记录一下求导的方法,这在矩阵理论这本书都有提及,但经常会忘,写此加深印象
标量求导
无论是矩阵、向量对标量求导,或者是标量对矩阵、向量求导,其结论都是一样的:等价于对矩阵(向量)的每个分量求导,并且保持维数不变。
1.常见形式
1. f ( x ) = A x f(x)=Ax f(x)=Ax,则
∂ f ( x ) ∂ x = ∂ ( A x ) ∂ x = A \frac{\partial f(x)}{\partial x}=\frac{\partial(Ax)}{\partial x}=A ∂x∂f(x)=∂x∂(Ax)=A
2. f ( x ) = x T A x f(x)=x^TAx f(x)=xTAx,则
∂ f ( x ) ∂ x = ∂ ( x T A x ) ∂ x = A x + A T x \frac{\partial f(x)}{\partial x}=\frac{\partial(x^TAx)}{\partial x}=Ax+A^Tx ∂x