首先,计算函数f的梯度向量: ∇ f ( x 1 , x 2 ) = [ 2 x 1 50 x 2 ] \nabla f(x_1,x_2) = \begin{bmatrix}2x_1\\50x_2\end{bmatrix} ∇f(x1,x2)=[2x150x2]
然后,选择一个初始点 ( x 1 0 , x 2 0 ) (x_1^0,x_2^0) (x10,x20),比如 ( 0 , 0 ) (0,0) (0,0)。
接下来,根据最速下降法的迭代公式进行迭代,直到收敛为止:
[ x 1 k + 1 x 2 k + 1 ] = [ x 1 k x 2 k ] − α k ∇ f ( x 1 k , x 2 k ) \begin{bmatrix}x_1^{k+1}\\x_2^{k+1}\end{bmatrix} = \begin{bmatrix}x_1^{k}\\x_2^{k}\end{bmatrix} - \alpha_k \nabla f(x_1^k,x_2^k) [x1k+1x2k+1]=[x1kx2k]−αk∇f(x1k,x2k)
其中, α k \alpha_k αk是步长(学习率),通常需要通过试错法进行选取,以确保迭代的稳定性和收敛性。
在本例中,由于 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2)是一个凸二次函数,因此最速下降法可以保证收敛,并得到全局最优解。
具体的迭代过程如下:
k k k | ( x 1 k , x 2 k ) (x_1^k,x_2^k) (x1k,x2k) | ∇ f ( x 1 k , x 2 k ) \nabla f(x_1^k,x_2^k) ∇f(x1k,x2k) | α k \alpha_k αk | ( x 1 k + 1 , x 2 k + 1 ) (x_1^{k+1},x_2^{k+1}) (x1k+1,x2k+1) | f ( x 1 k + 1 , x 2 k + 1 ) (x_1^{k+1},x_2^{k+1}) (x1k+1,x2k+1) |
---|---|---|---|---|---|
0 | (0,0) | (0,0) | 1 | (0,0) | 0 |
1 | (0,0) | (0,0) | 0.02 | (0,0) | 0 |
2 | (0,0) | (0,0) | 0.0008 | (0,0) | 0 |
3 | (0,0) | (0,0) | 0.000032 | (0,0) | 0 |
4 | (0,0) | (0,0) | 1.28E-6 | (0,0) | 0 |
5 | (0,0) | (0,0) | 5.12E-8 | (0,0) | 0 |
可以看到,最速下降法迭代6次后收敛,得到的最小值为0,也就是函数 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2)的最小值。请您继续提问,我将尽快回答您的问题。