Re: [數值] 用牛頓法解非線性系統
※ 引述《drinks9216 (drinks)》之銘言:
: 各位前輩及同好 ~ 午安
: 昨天小弟在解一題數值的非線性系統問題,解了一天都解不出來
: 是要用牛頓法解,但還是解不出
: 故PO上來請教前輩及同好,甚至於給個方向也可以
: 感謝 <(__)>
: 題目 : F_j(a,b) = a+exp(bx_j)-y_j ; j =1,2,3,.......
---
<1>
首先把題目寫得比較有系統一點
令 p := [ a, b]^T
x := [ x_1, x_2, ..., x_n]^T ( y 亦同)
F(p) := [ F_1(p), F_2(p), ..., F_n(p)]^T ( 假設有 n 筆 data )
_
所以設法解 F(p) = 0 (若存在一組解)
_
or arg min{ Cost(x,y,p) } s.t. F(p) ~ 0
p
_
通常都習慣假設 F(p) = 0 無解
因此我們要自己訂一個對我們而言較有意義的 cost function
2 2
例如 Cost(x,y,p) = ||F(p)|| or ||F(p)|| + λ||p|| ...
並且嘗試 minimize 它
<2>
若原po想用 Gauss-Newton 估 p
δF(p)
那就是先算 F(p) 的 Jacobian matrix J(p) = ───
δp^T
接著給定初值 p_0
T -1 T
再用 p_(k+1) = p_k - [J(p_k) J(p_k)] [J(p_K)] F(p_k) 這個遞迴式跑
你也可以用 Newton-Raphson
2
亦即考慮一 cost function E(p) = Cost(x,y,p) = ||F(p)|| (可以自己訂其它)
δE(p)
接著分別算 E(p) 的 gradiant ▽E(p) = ───
δp
δ^2 E(p)
和 Hessian matrix H(p) = ─────
δp δp^T
算完後
again, 隨便挑一個初值 p_0
-1
在跑一下遞迴式 p_(k+1) = p_k - H(p_k) ▽E(p_k)
----
大致流程是這樣
裡頭有很多細節就略去不提了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.211.139
推
01/16 00:18, , 1F
01/16 00:18, 1F
→
01/16 00:19, , 2F
01/16 00:19, 2F
→
01/16 00:20, , 3F
01/16 00:20, 3F
→
01/16 00:23, , 4F
01/16 00:23, 4F
→
01/16 00:23, , 5F
01/16 00:23, 5F
討論串 (同標題文章)