坐标下降法

来自维基百科,自由的百科全书

坐标下降法(英语:coordinate descent)是一种非梯度优化算法。算法在每次迭代中,在当前点处沿一个坐标方向进行一维搜索英语line search以求得一个函数的局部极小值。在整个过程中循环使用不同的坐标方向。对于不可拆分的函数而言,算法可能无法在较小的迭代步数中求得最优解。为了加速收敛,可以采用一个适当的坐标系,例如通过主成分分析获得一个坐标间尽可能不相互关联的新坐标系(参考自适应坐标下降法英语Adaptive coordinate descent)。

算法描述

坐标下降法基于的思想是多变量函数可以通过每次沿一个方向优化来获取最小值。与通过梯度获取最速下降的方向不同,在坐标下降法中,优化方向从算法一开始就予以固定。例如,可以选择线性空间的一组作为搜索方向。 在算法中,循环最小化各个坐标方向上的目标函数值。亦即,如果已给定,那么,的第个维度为

因而,从一个初始的猜测值以求得函数的局部最优值,可以迭代获得的序列。

通过在每一次迭代中采用一维搜索英语line search,可以很自然地获得不等式

可以知道,这一序列与最速下降具有类似的收敛性质。如果在某次迭代中,函数得不到优化,说明一个驻点已经达到。

这一过程可以用下图表示。

Thumb

例子

对于非平滑函数,坐标下降法可能会遇到问题。下图展示了当函数等高线非平滑时,算法可能在非驻点中断执行。

Thumb

应用

坐标下降法在机器学习中有应用,例如训练线性支持向量机[1](可见LIBLINEAR英语LIBLINEAR)以及非负矩阵分解英语non-negative matrix factorization[2]

参见

参考

Wikiwand - on

Seamless Wikipedia browsing. On steroids.