坐标上升法(Coordinate Ascent)每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的。
假设需要求解的优化问题的具体形式如下:
maxαW(α1,α2,⋯,αm)
其中, W 是向量 α⃗ 的函数。
更新过程为每次固定除 αi 以外的参数,求得满足条件的 αi ,直到算法收敛,具体的算法过程如下所示:
(图片来自参考文献1)
下面以如下的优化问题为例:
f(x1,x2)=−x21−3x22+2x1x2+6
在迭代的过程中,每次固定 x2 更新 x1 ,在确定了 x1 的条件下,固定 x1 ,更新 x2 ,即:
∂f∂x1=−2x1+2x2
令其为 0 ,得到:
x1=x2
再固定 x2 ,得到:
∂f∂x2=−6x2+2x1
得到:
x2=13x1
不断按照上述的过程,直到算法收敛。下图是算法在整个过程中的更新曲线: