梯度下降不再叙述
坐标轴下降法
坐标轴下降法主要用于lasso回归最小值求解,设lasso回归的损失函数为:
前面第一项是均方误差,凸函数,后一项则是L1范数,是不可导;因此,无法使用梯度下降的方法去求最优解;
坐标下降法属于一种非梯度优化的方法,再每一步迭代中沿着坐标轴中的某一个维度进行搜索,通过循环使用不同的坐标轴达到目标函数的局部极小值;由于lasso回归的损失函数是凸函数,此时求解的结果也是最小值;
坐标轴下降法的数学依据:
给定一个可微的凸函数,如果在某一点x,使得f(x)在每一个坐标轴上都是最小值,那么f(x)就是一个全局的最小值。
坐标轴下降法与梯度下降的比较:
a) 坐标轴下降法在每次迭代中在当前点处沿一个坐标方向进行一维搜索 ,固定其他的坐标方向,找到一个函数的局部极小值。而梯度下降总是沿着梯度的负方向求函数的局部最小值。
b) 坐标轴下降优化方法是一种非梯度优化算法。在整个过程中依次循环使用不同的坐标方向进行迭代,一个周期的一维搜索迭代过程相当于一个梯度下降的迭代。
c) 梯度下降是利用目标函数的导数来确定搜索方向的,该梯度方向可能不与任何坐标轴平行。而坐标轴下降法法是利用当前坐标方向进行搜索,不需要求目标函数的导数,只按照某一坐标方向进行搜索最小值。
d) 两者都是迭代方法,且每一轮迭代,都需要O(mn)的计算量(m为样本数,n为系数向量的维度)
坐标轴下降法的步骤:
链接:https://blog.csdn.net/qq_32742009/article/details/81735274
牛顿法
牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f (x)的泰勒级数的前面几项来寻找方程f (x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。
关于向量的求导:
https://blog.csdn.net/u013398398/article/details/78154710