机器学习中向量函数的求导问题

在机器学习算法的学习过程中,经常会遇到对向量函数的求导问题,阅读一些文章之后,对于机器学习算法中经常用到的这些求导问题做一些说明,方便在不明白的时候可以进行查询。

  • (一)对标量求导
  • 1)向量对标量求导,结果是个向量事实上就是向量的每一个元素对标量求导。举个例子,对于y(x) = (y_1,\cdots,y_n) ,其中x是个标量,\frac{\partial y}{\partial x} = (\frac{\partial y_1}{\partial x}, \cdots, \frac{\partial y_n}{\partial x})
  • 2)矩阵对标量求导,结果是个矩阵事实上也就是矩阵的每一个元素对标量求导。对于矩阵Y(x) = (y_{ij}) ,\frac{\partial Y(x)}{\partial x} = (\frac{\partial y_{ij}}{\partial x})
  • (二)对向量求导
  • 1) 标量对向量求导,结果是向量事实上这就是所谓的Gradient,即对于一般标量函数f(x) ,其中x = (x_1,\cdots,x_n) ,\frac{\partial f}{\partial x} = \left(\frac{\partial f}{\partial x_1} ,\cdots, \frac{\partial f}{\partial x_n} \right) ,有时候也记为为\nabla f .         
  • 2) 向量对向量求导,结果是矩阵这个当然也是gradient,当然这准确的说应该叫matrix gradient. 即对于向量值函数f(x) ,其中x = (x_1,\cdots,x_n) ,f = (f_1,\cdots,f_m)\nabla f = \frac{\partial f}{\partial x} = \frac{\partial f^T}{\partial x} = \left[\frac{\partial f_1}{\partial x},\cdots,\frac{\partial f_m}{\partial x} \right ] = \left[ \begin{array}{ccc} \frac{\partial f_{1}}{\partial x_1} & \cdots & \frac{\partial f_{m}}{\partial x_1} \\ \vdots& \ddots & \vdots \\ \frac{\partial f_{1}}{\partial x_n} & \cdots & \frac{\partial f_{m}}{\partial x_n} \\ \end{array} \right] 另外在实际运算中还会出现\partial f /\partial x^T = (\nabla f)^T ,这个也被叫做是f的Jacobian.
  • posted @ 2017-07-20 17:28  阡陌轻殇  阅读(284)  评论(0编辑  收藏  举报