1. 程式人生 > >機器學習中向量函式的求導問題

機器學習中向量函式的求導問題

在機器學習演算法的學習過程中,經常會遇到對向量函式的求導問題,閱讀一些文章之後,對於機器學習演算法中經常用到的這些求導問題做一些說明,方便在不明白的時候可以進行查詢。

(一)對標量求導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.