在优化中,面对的大都是多变量问题。针对多变量问题,为了表示公式和编写代码的方便,往往都用矩阵表示。而优化中,求导往往又是家常便饭,因此对于矩阵求导需要有熟练地掌握,不然很多时候会对一些算法十分头晕,编写程序时也会不知所措。因为我就是这么晕过来的【捂脸】。
好了,现在开始步入正文:
1.矩阵对标量求导
如果有一个矩阵函数 对一个标量x求导,那么这就是这个矩阵函数的每一个值对这个x求导,很好理解,矩阵形状也不会有变化。就如下面这个公式表示的一样:
2.标量对列向量求导
如果前面提到的y是一个标量,而x是一个列向量。那么对x求导相当于就是一个值对每个x1,x2,....,xm进行求导。也是比较好理解的,矩阵形状还是不变。例如:
3.行向量对列向量求导
如果前面的函数Y是一个行向量,而x为一个列向量。这个可能直接给结果会比较难理解,因此,这我们做个分解来理解: