坐标下降法
非梯度优化算法
坐标下降法(coordinate descent)是一种非梯度优化算法。算法在每次迭代中,在当前点处沿一个坐标方向进行一维搜索以求得一个函数的局部极小值。在整个过程中循环使用不同的坐标方向。对于不可拆分的函数而言,算法可能无法在较小的迭代步数中求得最优解。为了加速收敛,可以采用一个适当的坐标系,例如通过主成分分析获得一个坐标间尽可能不相互关联的新坐标系。
算法描述
坐标下降法基于的思想是多变量函数 可以通过每次沿一个方向优化来获取最小值。与通过梯度获取最速下降的方向不同,在坐标下降法中,优化方向从算法一开始就予以固定。例如,可以选择线性空间的一组 作为搜索方向。 在算法中,循环最小化各个坐标方向上的目标函数值。亦即,如果 已给定,那么, 的第 个维度为:
因而,从一个初始的猜测值 以求得函数 的局部最优值,可以迭代获得 的序列。
通过在每一次迭代中采用一维搜索,可以很自然地获得不等式:
可以知道,这一序列与最速下降具有类似的收敛性质。如果在某次迭代中,函数得不到优化,说明一个驻点已经达到。
这一过程可以用图1表示。
例子
对于非平滑函数,坐标下降法可能会遇到问题。图2展示了当函数等高线非平滑时,算法可能在非驻点中断执行。
应用
坐标下降法在机器学习中有应用,例如训练线性支持向量机以及非负矩阵分解
参考资料
最新修订时间:2024-05-21 17:35
目录
概述
算法描述
例子
参考资料