牛顿法,梯度下降法,拟牛顿法。
梯度下降法的推倒(https://blog.csdn.net/pengchengliu/article/details/80932232)
顺带提一嘴,最小二乘法其实也就是MSE。
牛顿法其实就是对函数进行二阶泰勒展开求极值的问题,最后得到的是递推关系x与函数一阶导和二阶导的关系。
其中H代表黑塞矩阵,也就是函数的二阶偏导数矩阵,g代表函数的一阶导数矩阵。下面是具体求解公式。
2: 牛顿法与梯度下降法
梯度下降法和牛顿法相比,两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法是用二阶的海森矩阵的逆矩阵求解。相对而言,使用牛顿法收敛更快(迭代更少次数)。但是每次迭代的时间比梯度下降法长。
如下图是一个最小化一个目标方程的例子,红色曲线是利用牛顿法迭代求解,绿色曲线是利用梯度下降法求解。
至于为什么牛顿法收敛更快,通俗来说梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。
具体的拟牛顿法的算法就不讲了,有兴趣的可以看这个链接。
https://zhuanlan.zhihu.com/p/37524275