梯度下降法课后小题

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

  • 考虑优化问题

    \[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\),完成三步迭代运算。

梯度值计算公式:

\[\|\nabla f(X)\| = \sqrt{(\frac {\partial f(X)} {\partial x_1})^2 + ({\frac {\partial f(X)} {\partial x_2}})^2} \tag 5 \]

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

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

\(X_0\)梯度值:

\[\begin{align*} \|\nabla f(X_0)\| = 8.24621125 \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*} \]

\(X_1\)梯度值:

\[\begin{align*} \|\nabla f(X_1)\| = 5.059644256 \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*} \]

\(X_2\)梯度值:

\[\begin{align*} \|\nabla f(X_2)\| = 3.151634496 \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.432) \end{align*} \]

\(X_3\)梯度值:

\[\begin{align*} \|\nabla f(X_3)\| = 2.008621417 \end{align*} \]

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

影响:

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

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

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

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

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

优势:

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

不足:

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

posted @ 2023-09-12 22:33  value0  阅读(125)  评论(0)    收藏  举报