QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3670|回复: 0
打印 上一主题 下一主题

牛顿法求多元函数的极值

[复制链接]
字体大小: 正常 放大

1196

主题

4

听众

2963

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-25 16:39 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
牛顿法是一种用于寻找多元函数极值的有效优化方法。它通过利用二阶泰勒展开来迭代逼近函数的极值点。以下是使用牛顿法求多元函数极值的步骤及示例。8 F0 }+ E6 |( ?# g6 {
5 D6 D; ], ~  ]+ y) b" ^0 ~
### 步骤
5 I7 N& w$ X. v6 Z
- v2 G  i  u0 C  p( S1. **定义目标函数**:) [( S9 r& B- f+ S4 l7 @
   设目标函数为 \( f: \mathbb{R}^n \rightarrow \mathbb{R} \),其梯度和哈essian矩阵定义为:
+ h2 u8 r1 E6 F* |1 w! `$ R6 D7 e$ d% W0 U
   - 梯度:\(\nabla f(x)\) 是一个 \(n\) 维列向量,表示函数 \(f\) 在点 \(x\) 的一阶偏导数。* W, e( u/ Q$ y+ N9 D
   - 哈essian矩阵:\(H(x)\) 是一个 \(n \times n\) 的对称矩阵,表示函数 \(f\) 在点 \(x\) 的二阶偏导数。
: F6 N# ^* u0 I7 J8 ?1 E3 [' t1 @, b9 G: W* H5 B/ W
2. **初始化**:! b' v3 o" j4 J. N$ J- X1 }3 `
   选择一个初始点 \(x_0\)。( r! [$ i; o1 t& E# ?# ^

: a- s4 |. x6 o/ }% I3 D3. **迭代过程**:
. W8 ^8 M6 W$ c4 \1 P) e   对于每一步 \(k\):0 K) i# F; x  Q7 C- v7 @
   - 计算当前位置的梯度和哈essian矩阵:
; f! z6 x/ @& Q. o6 m/ }6 \. n     \[1 p6 P7 K: T5 ?
     g_k = \nabla f(x_k), \quad H_k = H(x_k)% M) c8 {( y) _$ Z$ Q
     \]0 d# N( R9 @4 ^/ _& |; z, A
   - 解线性方程以更新位置:- c' M) C! i. V  S) L
     \[
) [* q/ T% ]6 i$ `     d_k = -H_k^{-1} g_k# r3 p4 z" G7 T$ i0 |% S
     \]
4 Q1 h# W" A5 I8 f( Y: c& R4 W   - 更新位置:
5 Z4 ?' g5 l0 h  a0 h& ?# U     \[
, w, q. _4 ?% y) K1 R! ^     x_{k+1} = x_k + \alpha_k d_k- U5 S+ O- @# s& w3 o1 v: \. y
     \]: a, n$ L& m# E+ Z& T0 c" l
     其中 \(\alpha_k\) 是步长,可以使用线搜索方法来确定。9 E% R( b( J1 x5 b% k
6 y' w1 i8 s" ^( `9 \  ?. J& [
4. **收敛判定**:
* C$ H- _6 |5 }; e   - 检查梯度的模长是否足够小(例如 \(\|g_k\| < \epsilon\),其中 \(\epsilon\) 是预设的阈值),或者检查相邻两个点之间的距离。
0 ?3 I' C3 G1 n" q- `
5 `! Z. N0 Y- }7 H: O5. **结束**:" w6 V2 C; |4 k: F
   - 当满足收敛条件时,结束迭代,返回当前点 \(x_k\) 作为极值点。% _4 [2 v4 Y  F6 O* e2 [
, B, C2 \3 d: i6 r/ y8 J5 Y* Y
### 示例1 g6 q; E6 x. ?  \' d; q

: T2 i; N9 p) r& s. J5 |考虑函数 \( f(x, y) = x^2 + y^2 - 4x - 6y \)。, z3 w; c: F6 y

9 u' Q/ D; |( Y2 n* ~#### 1. 计算梯度和哈essian矩阵
6 y, Q: F- r( w- n1 q: @* ?+ E% Q# c$ D( f* u* Z6 d9 f# V
- 梯度:
" {( ?9 u5 r  C+ q9 H# {3 X  j  \[% F6 B2 C+ F9 ]0 |# ]
  \nabla f(x, y) = \begin{bmatrix}5 S! L5 C2 v- E+ f* j/ Y
  \frac{\partial f}{\partial x} \\; x9 U, s$ ^8 m5 A0 k- f
  \frac{\partial f}{\partial y}
" T; ?1 F. O/ c& O) j  \end{bmatrix} = \begin{bmatrix}
2 I  \% f3 r) o  2x - 4 \\) d) O: Y3 q* j! ^; y; x
  2y - 6; q$ p* p) P  L- m& k
  \end{bmatrix}* I7 o! ^& a+ G* P$ o2 M# _
  \]
3 p6 D: E& v% R# r, G
: B" K0 I3 n$ X. p- 哈essian矩阵:. k: k- U! j( l9 H( q. J2 F( g
  \[
0 K  U( Z5 l# b  H(x, y) = \begin{bmatrix}$ x& `* {7 \# ?% i# W
  \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x \partial y} \\* r( `0 E- A8 \' l# }- R
  \frac{\partial^2 f}{\partial y \partial x} & \frac{\partial^2 f}{\partial y^2}
+ P& F! f) |, ~# `; f# K  \end{bmatrix} = \begin{bmatrix}- j/ p) y6 i2 _! o( c2 r
  2 & 0 \\
0 F5 M( X% \2 h2 g3 H  0 & 27 S8 `2 I2 T4 k9 y
  \end{bmatrix}+ K, j: ]' s, H' d* ?! A
  \]" m, U- g6 v- t. P0 T4 C

, j1 M& c5 R. Z! P8 F: P#### 2. 初始化
- F2 n7 l, D! ~; J3 P; F. D6 y1 M3 C, L& ?- V6 M9 N
选择初始点 \( x_0 = (0, 0) \)。
: J3 J/ I# E- x# y0 C( [6 I, z0 {$ b6 d3 M
#### 3. 迭代过程+ ], f6 y7 w$ v, o
. }7 v( [; Y7 G3 l. l! f- Z
- 计算梯度:+ Y  T5 l! B, J: L- x6 k% }
  \[
! z. \8 [) {. I5 p  g_0 = \nabla f(0, 0) = \begin{bmatrix}
" S+ K! V/ j) @9 h5 W  -4 \\
9 a, F$ |- ~; [+ j5 v2 R  -6. {6 D' p, x+ W
  \end{bmatrix}
" y+ P% {: ~& {. F  \]
& Q$ ]8 r; o- ^: w3 G7 \
: R/ t+ W$ I  P( ]- 计算哈essian矩阵(在初始点不变):
7 j6 }( m0 h3 _1 E) }2 Q# ~  \[0 x6 L8 K) B. W; O
  H_0 = \begin{bmatrix}
8 q$ O! c( ?; g. Q5 t6 [5 X  2 & 0 \\
4 ]5 n6 K: ?/ C! M) W9 G  0 & 2& ?5 C5 ~$ s9 h
  \end{bmatrix}
4 J7 s6 g9 Z3 y6 ^1 \5 ]& \  \]% h! b4 X# L" i: G3 G9 |; K  p

( X2 z0 ^; m- ?6 ~5 }0 S" ~( b- 计算搜索方向:* R* e6 k% r$ }4 }
  \[
$ v. a2 Y5 B. a$ z' M+ Q$ B  d_0 = -H_0^{-1} g_0 = -\begin{bmatrix}5 `8 Q6 T1 C( V" e0 |  ~* x
  0.5 & 0 \\% u3 s" y! o, R0 s4 X1 J6 [
  0 & 0.58 K+ |9 O$ Q9 y* Y
  \end{bmatrix} \begin{bmatrix}
, x/ u, K# ^2 r7 _( U8 L! P  -4 \\# G' ]7 h  k+ x. I
  -6
- i5 ~" K; V  C6 q1 C  \end{bmatrix} = \begin{bmatrix}
" I/ G( e6 p8 ^0 p, t# t  2 \\
' h( X; R5 y& l" k. \  {  3
" o& S2 n, d/ U  \end{bmatrix}
+ b3 \8 d7 r7 c- z' P  \]. E* z0 i! f& F$ {2 ]1 ~# c+ a; c

; F3 J  l7 n9 B) L# [- 更新位置:: J3 D$ W/ U  ?& e& [# O
  \[
* z8 V: P* @% j  x_1 = x_0 + d_0 = \begin{bmatrix}( m0 S- s; s6 Z) q9 q
  0 \\
7 e7 l5 T3 U" z9 @9 B5 Z  0
( U& {6 X1 c- r  \end{bmatrix} + \begin{bmatrix}( Y" F4 j- Z( H0 J) D: b
  2 \\
1 t- T, v9 v) T( j4 u  3$ D1 }4 D4 ?+ ?8 [: G& T
  \end{bmatrix} = \begin{bmatrix}5 C: E! l3 a" f5 f7 V2 b
  2 \\
2 E0 Q1 R* d8 T* b# N  39 m% C6 a5 P) ?9 u9 W
  \end{bmatrix}
6 q3 f+ z4 |* {% ]3 t; ?  \]2 p$ s  s6 u4 L. n2 w& U2 `
# |/ ^+ m% o2 I5 ?9 a% c3 U; j2 P
- 重复上述步骤直到收敛。* k4 \* d& H" C7 d5 I

+ F3 V$ P0 @( ?! V% ~0 [! U#### 4. 收敛判定- e& k4 F3 \  V- I, m
& e& M9 F/ x' i- F+ [+ x. j
在后续的迭代中继续计算梯度和哈essian并更新,直至梯度的模长小于某一阈值。" C6 v9 l' q8 F5 p, F2 k% i  K

2 H+ P, n$ p8 @### 总结
' o2 c) f4 t0 s$ u) E# u. y# C$ \2 S% t# G5 A
牛顿法通过利用梯度和哈essian矩阵提供了快速的收敛性,尤其在接近最优点时表现优越。然而,它对初始值的选择和哈essian的可逆性有一定要求。在问题规模较大或哈essian不可逆时,可能需要使用拟牛顿法或其他优化技术。+ c" B1 N8 n" N) C8 ~" o
$ r! p, C" I! r/ c

7 t8 b$ L2 x7 K7 D$ G* n: r, r( a( R

minNT.m

517 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-9-11 13:55 , Processed in 0.607677 second(s), 54 queries .

回顶部