坐标上升法(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
不断按照上述的过程,直到算法收敛。下图是算法在整个过程中的更新曲线: