牛顿法,大体的思想是用泰勒公式的前几项来代替原来的函数,而后对函数进行求解和优化。牛顿法和应用于最优化的牛顿法稍微有些差异。编程
牛顿法
牛顿法用来迭代的求解一个方程的解,原理以下:
对于一个函数f(x),它的泰勒级数展开式是这样的
函数
化
当使用牛顿法来求一个方程解的时候,它使用泰勒级数前两项来代替这个函数,即用代替
,其中:spaode
令,则
。
因此,牛顿法的迭代公式是
牛顿法求解n的平方根
求解n的平方根,实际上是求方程的解
利用上面的公式能够获得:
编程的时候核心的代码是:x = (x + n/x)/2
get
应用于最优化的牛顿法
应用于最优化的牛顿法是以迭代的方式来求解一个函数的最优解,经常使用的优化方法还有梯度降低法。
取泰勒展开式的二次项,即用来代替
:class
理
最优势的选择是,的点,对上式求导方法
令 则
因此,最优化的牛顿迭代公式是