梯度下降法解决优化的问题
-
考虑优化问题
\[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. 分析迭代初值以及步长对该问题的影响,讨论梯度法的优势及不足。
影响:
初值选的合理可能迭代的快且能够到达全局最优解。
初值若选的不合理可能迭代的速度慢,而且只能求得局部最优解。
步长的大小影响迭代的速度。
若步长太大,可能迭代结果震荡过大,无法找到最优解。若步长太小,迭代次数会很多,速度会很慢,容易落在相对极小值。因此最好随着迭代调整。
优势与不足重点在于在什么情境下和什么比较。
优势:
思想较为简单,可拓展运用范围较广。
不足:
梯度下降法迭代可能会收敛到局部最优解而不是全局最优解。
标签:迭代,cdot,梯度,align,nabla,下降,步长,课后,lambda From: https://www.cnblogs.com/value0/p/17698039.html