在用到机器学习的算法中,本质是建立优化模型,通过最优化方法对目标函数或者损失函数进行优化,从而训练出最好的模型。一般最常见的最优化方法有梯度下降法、牛顿迭代法。
1、梯度下降法:
梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。
梯度下降法缺点:
1)靠近极小值时收敛速度减慢;
2)直线搜索时可能会产生一些问题;
3)可能会“之字形”地下降。
2、牛顿迭代法
用一个二次函数去近似目标函数f(x),然后精确地求出这个二次函数的极小点。
牛顿法的优缺点总结:
优点:二阶收敛,同时收敛速度快;
缺点:牛顿法是一种迭代算法,在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。
两者比较:
从几何上说,牛顿迭代法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径。