R语言求函数的偏导数

  在Machine Learning的课上,老师讲到用gradient decent的方法解logistic regression中cost function的最小值。这当中就要涉及到对cost function的求偏导数。其实在R当中可以很方便的做到这一点。

  R语言中可以使用D()来求一元函数的导数,用deriv()来求多元函数的偏导数。这两个function都在package:stats中,会在R启动时默认加载。

  下面以一个多元函数作为demo,希望通过gradient decent的方法求最小值:

$$E(u,v) = e^u + e^{2v} + e^{uv} + u^2 - 2uv + 2v^2 - 3u - 2v$$