梯度下降法课后小题

发布时间 2023-09-12 22:37:50作者: value0

梯度下降法解决优化的问题

  • 考虑优化问题

    \[minf(x) = x_1^2 + 2x_2^2 + 4 \]

1. 写出梯度算法求解该问题的迭代公式,详细阐述迭代公式每项的意义。

\[f(x)= x_1^2 + 2x_2^2 + 4 \tag{1} \]

\[\frac {\partial f(x)} {\partial x_1} = 2x_1 , \frac {\partial f(x)} {\partial x_2} = 4x_2 \tag{2} \]

\[\nabla f = (2x_1,4x_2,0) \tag{3} \]

迭代公式:

\[x_{k + 1} = x_k - \lambda \nabla f(x_k) \tag{4} \]

意义

​ 其中,\(f(x_k)\)为当前点,\(\lambda\)为步长,\(\nabla f(x_k)\)为函数\(f(x)\)在当前点的梯度。该式子表示从当前点\(f(x_k)\),沿着\(\nabla f(x_k)\)的方向,以步长为\(\lambda\)的速度逼近。

2.变量\(X = (x_1,x_2)^T\),迭代初始点\(X_0 = (1,2)^T\)以及步长\(0.1\),完成三步迭代运算。

带入公式\((5)\)得:

\[\begin{align} X_{k + 1} = X_k - \lambda\nabla f(X_k) \end{align} \]

第一步迭代:

\[\begin{align} X_1 &= X_0 - \lambda \nabla f(X_0)\\ &= (1,2) - 0.1 \times (2 \cdot 1,4 \cdot 2)\\ &= (0.8,1.2) \end{align} \]

第二步迭代:

\[\begin{align} X_2 &= X_1 - \lambda \nabla f(X_1)\\ &= (0.8,1.2) - 0.1 \times (2 \cdot 0.8,4 \cdot 1.2)\\ &= (0.64,0.72) \end{align} \]

第三步迭代:

\[\begin{align} X_3 &= X_2 - \lambda \nabla f(X_2)\\ &= (0.64,0.72) - 0.1 \times (2 \cdot 0.64,4 \cdot 0.72)\\ &= (0.512,0.576) \end{align} \]

3. 分析迭代初值以及步长对该问题的影响,讨论梯度法的优势及不足。

影响:

​ 初值选的合理可能迭代的快且能够到达全局最优解。

​ 初值若选的不合理可能迭代的速度慢,而且只能求得局部最优解。

​ 步长的大小影响迭代的速度。

​ 若步长太大,可能迭代结果震荡过大,无法找到最优解。若步长太小,迭代次数会很多,速度会很慢,容易落在相对极小值。因此最好随着迭代调整。

优势与不足重点在于在什么情境下和什么比较。

优势:

​ 思想较为简单,可拓展运用范围较广。

不足:

​ 梯度下降法迭代可能会收敛到局部最优解而不是全局最优解。