2744557306 发表于 2024-9-25 16:39

牛顿法求多元函数的极值

牛顿法是一种用于寻找多元函数极值的有效优化方法。它通过利用二阶泰勒展开来迭代逼近函数的极值点。以下是使用牛顿法求多元函数极值的步骤及示例。

### 步骤

1. **定义目标函数**:
   设目标函数为 \( f: \mathbb{R}^n \rightarrow \mathbb{R} \),其梯度和哈essian矩阵定义为:

   - 梯度:\(\nabla f(x)\) 是一个 \(n\) 维列向量,表示函数 \(f\) 在点 \(x\) 的一阶偏导数。
   - 哈essian矩阵:\(H(x)\) 是一个 \(n \times n\) 的对称矩阵,表示函数 \(f\) 在点 \(x\) 的二阶偏导数。

2. **初始化**:
   选择一个初始点 \(x_0\)。

3. **迭代过程**:
   对于每一步 \(k\):
   - 计算当前位置的梯度和哈essian矩阵:
     \[
     g_k = \nabla f(x_k), \quad H_k = H(x_k)
     \]
   - 解线性方程以更新位置:
     \[
     d_k = -H_k^{-1} g_k
     \]
   - 更新位置:
     \[
     x_{k+1} = x_k + \alpha_k d_k
     \]
     其中 \(\alpha_k\) 是步长,可以使用线搜索方法来确定。

4. **收敛判定**:
   - 检查梯度的模长是否足够小(例如 \(\|g_k\| < \epsilon\),其中 \(\epsilon\) 是预设的阈值),或者检查相邻两个点之间的距离。

5. **结束**:
   - 当满足收敛条件时,结束迭代,返回当前点 \(x_k\) 作为极值点。

### 示例

考虑函数 \( f(x, y) = x^2 + y^2 - 4x - 6y \)。

#### 1. 计算梯度和哈essian矩阵

- 梯度:
  \[
  \nabla f(x, y) = \begin{bmatrix}
  \frac{\partial f}{\partial x} \\
  \frac{\partial f}{\partial y}
  \end{bmatrix} = \begin{bmatrix}
  2x - 4 \\
  2y - 6
  \end{bmatrix}
  \]

- 哈essian矩阵:
  \[
  H(x, y) = \begin{bmatrix}
  \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x \partial y} \\
  \frac{\partial^2 f}{\partial y \partial x} & \frac{\partial^2 f}{\partial y^2}
  \end{bmatrix} = \begin{bmatrix}
  2 & 0 \\
  0 & 2
  \end{bmatrix}
  \]

#### 2. 初始化

选择初始点 \( x_0 = (0, 0) \)。

#### 3. 迭代过程

- 计算梯度:
  \[
  g_0 = \nabla f(0, 0) = \begin{bmatrix}
  -4 \\
  -6
  \end{bmatrix}
  \]

- 计算哈essian矩阵(在初始点不变):
  \[
  H_0 = \begin{bmatrix}
  2 & 0 \\
  0 & 2
  \end{bmatrix}
  \]

- 计算搜索方向:
  \[
  d_0 = -H_0^{-1} g_0 = -\begin{bmatrix}
  0.5 & 0 \\
  0 & 0.5
  \end{bmatrix} \begin{bmatrix}
  -4 \\
  -6
  \end{bmatrix} = \begin{bmatrix}
  2 \\
  3
  \end{bmatrix}
  \]

- 更新位置:
  \[
  x_1 = x_0 + d_0 = \begin{bmatrix}
  0 \\
  0
  \end{bmatrix} + \begin{bmatrix}
  2 \\
  3
  \end{bmatrix} = \begin{bmatrix}
  2 \\
  3
  \end{bmatrix}
  \]

- 重复上述步骤直到收敛。

#### 4. 收敛判定

在后续的迭代中继续计算梯度和哈essian并更新,直至梯度的模长小于某一阈值。

### 总结

牛顿法通过利用梯度和哈essian矩阵提供了快速的收敛性,尤其在接近最优点时表现优越。然而,它对初始值的选择和哈essian的可逆性有一定要求。在问题规模较大或哈essian不可逆时,可能需要使用拟牛顿法或其他优化技术。



页: [1]
查看完整版本: 牛顿法求多元函数的极值