坐标上升的伪代码如下:
1、首先给定一个初始点,如 x
2、对于函数的的每一个自变量
(1) 固定xi;(把xi看成变量,其它为常数,然后另其偏导等于0)
(2) 更新x
(3) 更新f(x)的值
3、循环执行步骤2,直到f的值不再变化。
其实还是很好理解的,比如f(x1,x2,x3,x4,...xn)
-
首先给一个初始点x=[第一个分量初始值,第二个分量初始值,...第n个分量初始值]
-
固定x1,其它看成常数,求其偏导等于0
得到: x1=q1(x2,x3,x4,...xn)
更新 x的第一个分量 -
固定x2,其它看成常数,求其求其偏导等于0
得到: x2=q2(x1,x3,x4,...xn)
更新x的第二个分量
...
... -
固定xn,其它看成常数,求其求其偏导等于0
得到: xn=qn(x1,x2,x3,x4,...xn-1)
更新x的第n个分量 -
用更新过的x计算f(x)
-
迭代上述过程,直至f(x)不再变化
网友评论