坐标下降法(coordinate descent)是一种非梯度优化算法。算法在每次
迭代中,在当前点处沿一个坐标方向进行
一维搜索以求得一个
函数的局部极小值。在整个过程中循环使用不同的坐标方向。对于不可拆分的函数而言,算法可能无法在较小的迭代步数中求得最优解。为了加速收敛,可以采用一个适当的坐标系,例如通过
主成分分析获得一个坐标间尽可能不相互关联的新坐标系。
坐标下降法基于的思想是多变量函数 可以通过每次沿一个方向优化来获取最小值。与通过梯度获取最速下降的方向不同,在坐标下降法中,优化方向从算法一开始就予以固定。例如,可以选择
线性空间的一组
基 作为搜索方向。 在算法中,循环最小化各个坐标方向上的目标函数值。亦即,如果 已给定,那么, 的第 个维度为:
可以知道,这一序列与最速下降具有类似的收敛性质。如果在某次迭代中,函数得不到优化,说明一个
驻点已经达到。