网上有一些向量求导的总结,把20多种情况一一考虑,很是麻烦,本文希望找出向量求导的基本法则。
向量求导与标量求导法则不同的是,向量的求导还要注意结果的排法问题。注意排法是因为当一个目标函数是多个成分相加时,如果不注意排法可能导致有些结果是行,有些是列,无法继续进行运算。我总结的向量求导的基本推导准则是(以f(x)对向量求导为例):
1)先对f(x)求向量分量的导数,也就是标量的导数,该导数可能是标量,也可能是向量;
2)如果第一步求导结果为标量,直接将结果排列成x的形状(本例为列);如果第一步求出的结果是向量,在按照x排列结果时:
2.1)如果求导结果与x形状相同,则将结果取转置排成矩阵;
2.3)如果求导结果与x形状不同,则直接将结果排成矩阵。
看两个例子:以下约定向量x是列向量,是矩阵,是A的转置。
例1
1)求分量导数
2.1)排列:求导结果与x形状相同,将取转置按列排好,即A的转置:
例2
1)
2)上述结果是标量,直接排成一列,整理一下得:
有了基本求导规则,就可以求一些更复杂基本函数的导数。对于矩阵的行列式,向量的叉积,矩阵的逆这些更复杂的导数的求法以及向量的链式求导规则,下篇再表。
如果变量是矩阵,上述法则是很容易推广到矩阵上去的:矩阵是由向量组成的,先利用上述向量的求导法则求导,再对结果进行排列,排列的讨论与2)非常类似。