QQ登录

只需要一步,快速开始

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

牛顿法求多元函数的极值

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

1198

主题

4

听众

2978

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-25 16:39 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
牛顿法是一种用于寻找多元函数极值的有效优化方法。它通过利用二阶泰勒展开来迭代逼近函数的极值点。以下是使用牛顿法求多元函数极值的步骤及示例。
: @9 w) W. R0 D( Y6 F& ^& `5 y2 b: V6 F. X
### 步骤
' a  ?  Z4 \8 w
, n/ j7 D2 l* w# {' s1. **定义目标函数**:
" v( i8 o# y  J0 g4 n2 w6 Z   设目标函数为 \( f: \mathbb{R}^n \rightarrow \mathbb{R} \),其梯度和哈essian矩阵定义为:. x0 M3 }, C; T0 V, v

: K/ r  X. ?% o! `   - 梯度:\(\nabla f(x)\) 是一个 \(n\) 维列向量,表示函数 \(f\) 在点 \(x\) 的一阶偏导数。# [+ @# d% I! b2 u1 U
   - 哈essian矩阵:\(H(x)\) 是一个 \(n \times n\) 的对称矩阵,表示函数 \(f\) 在点 \(x\) 的二阶偏导数。# u( Q3 |6 K1 S/ }: W8 f
# g6 A! C( D) H2 u  `
2. **初始化**:3 p: x; ~, l  [7 `& G
   选择一个初始点 \(x_0\)。' j4 \* V5 J; r
5 {  L+ p8 ]; g& i; z
3. **迭代过程**:
7 H2 w/ z9 T9 \4 m. V# t% {9 H   对于每一步 \(k\):
8 {* H( \- b* l& x3 g: _2 c   - 计算当前位置的梯度和哈essian矩阵:
4 `0 \6 j9 g! Q& b) ~( M     \[
+ f) Z. n- X+ h$ \     g_k = \nabla f(x_k), \quad H_k = H(x_k)$ N$ _5 ?, f9 p) ^
     \]
: R, e' }4 @& I! M) @8 ~2 n   - 解线性方程以更新位置:
+ O' T0 X2 F% @  c     \[8 A( o$ I) B+ z" J
     d_k = -H_k^{-1} g_k
: D, i9 F- y2 m/ A. I1 ]7 d& S     \]
' P& K. ]! _% F! i   - 更新位置:
% M* v. y9 a7 U" M& D: o% W     \[
! I* x: N4 s2 O0 R. b5 q1 M+ n2 k     x_{k+1} = x_k + \alpha_k d_k& W5 `+ Z5 A( l0 s
     \]( }7 I9 T& \8 K5 O2 i
     其中 \(\alpha_k\) 是步长,可以使用线搜索方法来确定。
: j  e5 ?3 Q# ~
( G  }$ m( w% L' Y+ k6 _4. **收敛判定**:
$ ?( ?) g9 i' Z) Q4 b   - 检查梯度的模长是否足够小(例如 \(\|g_k\| < \epsilon\),其中 \(\epsilon\) 是预设的阈值),或者检查相邻两个点之间的距离。- ^" {) w- x& s0 ^& @5 Y

( d/ _$ k4 D$ e' E) s1 x5. **结束**:+ S- K8 P( T5 \( l& e. i
   - 当满足收敛条件时,结束迭代,返回当前点 \(x_k\) 作为极值点。  {- r  C0 C  \8 Y5 Q6 `
  M& B' V' _6 U+ N" q
### 示例
( p/ C9 |& f2 ~6 \7 b" M+ \3 m* F5 d4 L4 {
考虑函数 \( f(x, y) = x^2 + y^2 - 4x - 6y \)。
5 Z" V. B# P/ m) L# Q6 b% i) k: o$ |6 t0 n- _- X
#### 1. 计算梯度和哈essian矩阵! `7 v( C5 `- n8 e) R
0 g& u: f$ V& o: b3 n  X
- 梯度:
- Z' S/ s3 S$ u0 K7 z  \[
2 N0 x1 Q% ~8 o% _& N2 F9 R# p/ u: k1 s0 ~  \nabla f(x, y) = \begin{bmatrix}
' b1 U, }! ?) O7 v5 a  y  \frac{\partial f}{\partial x} \\9 N0 \; Q* t1 b
  \frac{\partial f}{\partial y}+ [0 z+ B$ C+ U' v- _. Y
  \end{bmatrix} = \begin{bmatrix}- D$ ~; D) l0 Z7 K
  2x - 4 \\
9 m6 F8 d# t" ^  H) l  2y - 6
0 o0 x* a& b' p) A: c8 d) [5 i; e9 ~  \end{bmatrix}
/ ]8 V9 s4 ?3 W, c: I  \]# I5 ?* x4 ?  p3 v

; D0 n" W6 ?+ b' g/ H& Q2 D- 哈essian矩阵:, w5 N" ~- H5 p+ J; k: E
  \[  K- P% L! B4 N2 c  v) F- _
  H(x, y) = \begin{bmatrix}
, Z' C. v8 l) U6 C  T4 X! V  \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x \partial y} \\
( D) ^5 q( E! e$ d5 y  \frac{\partial^2 f}{\partial y \partial x} & \frac{\partial^2 f}{\partial y^2}! y: Q( ~5 w- r4 b) n4 H
  \end{bmatrix} = \begin{bmatrix}0 W  O) G& H# m; X# g- B
  2 & 0 \\- L+ H- {+ `* A. k
  0 & 2
$ ~+ h" T, s* f# L3 m( Z  \end{bmatrix}
( @0 f. k# t# m. j% M  C  \]
) S& L9 S: \5 P; f$ ^+ f
- a% j, \- X% P. S5 @& E#### 2. 初始化
4 F* Q; p: t/ b) p5 e& l' e, e/ |& e( R% F  T
选择初始点 \( x_0 = (0, 0) \)。: [, K6 x1 O% a7 U2 g
0 q2 A( P. {1 R9 g
#### 3. 迭代过程  U( |/ _. b7 ], B; r0 l( }
% C4 {* @, s3 J. ]* @9 h2 R
- 计算梯度:
( u  v1 b  Q% E! s  \[7 Z# g1 o; P% w# j
  g_0 = \nabla f(0, 0) = \begin{bmatrix}, x4 `: L( F) Q8 G* w0 G* |
  -4 \\
0 d' Y3 {; Z, T( K  -6" m0 R' A9 @% ^  @
  \end{bmatrix}+ n# U  E% h+ X  y2 a1 X. g
  \]" ?% j& R7 Z2 B. N' k/ l4 Z

: e  S* {" H1 a0 v- 计算哈essian矩阵(在初始点不变):
$ Q" b# Z; e0 n* _3 z1 u  \[
8 H. B& e& j: A) K3 K  H_0 = \begin{bmatrix}# L4 b- J( B) o6 Z1 T' v
  2 & 0 \\
) W1 y5 Q, d, Y$ w  0 & 2
8 j1 K5 B* D/ N, A4 n. b  \end{bmatrix}
$ K. R2 o  w' G' V' ]  \]1 P% s: B2 D- I" a9 c' B, c" V% d, L
4 \" K1 A6 s; ^" n) M9 H
- 计算搜索方向:
9 b# G" x! ~) u7 ^) p  \[
$ `0 b7 v* T) L3 }, H  d_0 = -H_0^{-1} g_0 = -\begin{bmatrix}
, s" L+ y5 J  g$ J: v  I' W) n  0.5 & 0 \\1 U# A& R! L1 U0 q; z2 X6 o
  0 & 0.5
' \0 L7 s# v: e& q! S2 h  \end{bmatrix} \begin{bmatrix}
5 |1 j7 q- a; D# x$ P+ C& y( Y  -4 \\
/ i, E' K" N& O' M; L( p  -6
8 k+ [; a6 {6 Y  \end{bmatrix} = \begin{bmatrix}+ a# D4 w9 c# Y/ j( {" b
  2 \\7 V4 H% S4 e# k/ }
  3
6 t- z7 u0 D# a2 D2 ?% X# h  \end{bmatrix}/ x* X& @+ L- p4 N$ F
  \]' [- n& K1 J" f& Q% c
2 U- D6 @* d3 Y; ]( |
- 更新位置:& ]  ~$ N/ b' s$ E7 ?" q
  \[
' m- y2 n2 C  _! S; M" F+ [" _  x_1 = x_0 + d_0 = \begin{bmatrix}3 V/ Y9 o  O( D" j( t
  0 \\
, g' w; j) {  R5 x0 g( O  04 X# w: x3 a9 _
  \end{bmatrix} + \begin{bmatrix}
7 k( k* A. p- ~" x$ [7 w7 e; O  2 \\
; k/ C( W6 o' h9 ^1 T1 S3 s  3' A; }3 f$ R3 ^) X5 m' k
  \end{bmatrix} = \begin{bmatrix}
/ d4 w! N8 S0 W( B$ y- x  2 \\
* W* p& c8 L7 A8 k; j  3
) C5 j! W6 }* R2 p$ r* q' F  \end{bmatrix}
  D# l0 u8 ]& \/ K  \]0 M/ k5 L! h4 D  W- v+ S9 W
0 M# S0 M$ B# g
- 重复上述步骤直到收敛。
8 P" G3 l, z8 S. Y
9 h- _9 r' T  O9 i- ^5 ^8 r#### 4. 收敛判定5 |$ g1 G' K7 y

( n3 G2 q1 X  i' {6 s在后续的迭代中继续计算梯度和哈essian并更新,直至梯度的模长小于某一阈值。! H! _- W4 _) R3 K* t

6 E/ T) n; r8 r* ?### 总结
4 L" F# X" h+ Y& \( J. E" ]# u  b) V, |8 |* ~1 K" R# H' }
牛顿法通过利用梯度和哈essian矩阵提供了快速的收敛性,尤其在接近最优点时表现优越。然而,它对初始值的选择和哈essian的可逆性有一定要求。在问题规模较大或哈essian不可逆时,可能需要使用拟牛顿法或其他优化技术。* J+ Q9 q) r" M2 @1 @7 ?
( H+ f# W3 _* C
. @6 A2 {2 l+ L: m' f

* r# I. z8 D' ]2 k  E, f

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-10-10 07:36 , Processed in 0.414737 second(s), 55 queries .

回顶部