梯度下降法:
优点:对初始点的要求很少,从一般的初始点出发,都能收敛到某个局部极小值点。
缺点:1.对学习率关系很大,在极小点附近容易产生显著的锯齿现象,收敛十分缓慢。2.对于小扰动是不稳定的,且梯度下降法只是一种局部性质,也就是说从局部看目标函数的值下降得最快,但从总体看可能走了许多弯路(因为每相邻两个方向都是正交的)
评价:在实际生活中,通常只用梯度下降法来计算最前面的若干步,对于后面的迭代步,人们希望找到收敛快一些的方法。
牛顿法:
优点:收敛速度快,二阶收敛
缺点:要求f(x)二阶可微,(hesse矩阵半正定),要多次计算hesse矩阵的逆,浪费时间。对初始点x0有很强的要求,必须选定在f(x)的某个凸区域内。
评价:收敛速度快,但计算量大
兼顾这两者优点的方法:
1.共轭梯度法
2.拟牛顿法
优点:1.具有较快的收敛速度,是超线性收敛的(介于一次收敛和二次收敛之间)
缺点:存储量需要O(n2)
以上,都是需要用到目标函数的值,还有目标函数的导数值,甚至目标函数的二阶导数值。可以总称为”导数类方法“
还有另外一种,对f(x)要求很少,被称为”直接类方法“
包括:方向加速法,步长加速法