1.坐标上升法:坐标上升与坐标下降可以看做是一对,坐标上升是用来求解max最优化问题,坐标下降用于求min最优化问题,但是两者的执行步骤类似,执行原理相同。
例如要求接一个max_f(x1,x2,...,xn)的问题,其中各个xi是自变量,如果应用坐标上升法求解,其执行步骤就是:
1.首先给定一个初始点,如 X_0=(x1,x2,...,xn);
2.for dim=1:n
固定xi;(其中i是除dim以外的其他维度)
以x_dim为自变量求取使得f取得最大值的x_dim;
3.循环执行步骤2,直到f的值不再变化或变化很小。
总结:其关键点就是每次只变换一个维度xi,而其他维度都用当前值进行固定,如此循环迭代,最后得到最优解。
2.
坐标下降法与上述过程类似,不过在第2步求取最优x_dim的值时,变为使得f最小的x_dim;
3.
梯度下降法又称为最速下降法,他也是下降法,不过和坐标下降法的主要区别就是多了一个下降方向的选取,在坐标下降中下降方向是沿着每一维的坐标轴方向进行的,也就是方向是类似于(0,0,1,0,0)、(0,0,0,1,0)(假设是5维)这种形式的,而梯度下降法中,下降方向变换为函数在当前点的梯度方向,当维度很高时,梯度下降的优势就要比坐标下降明显很多。