作者doom8199 (~口卡口卡 修~)
看板Math
標題Re: [數值] 用牛頓法解非線性系統
時間Thu Jan 12 15:17:01 2012
※ 引述《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
推 drinks9216 :感謝前輩詳細解說,有點概念了,感謝 <(__)> 01/16 00:18
→ drinks9216 :不好意思可以額外問一下嗎 ?? 請問 Cost(x,y,p) 中的 01/16 00:19
→ drinks9216 :Cost 指的是 ?? 還有 Cost function 指的是 ?? 01/16 00:20
→ drinks9216 :還有兩個方法是不是都需要做 F(p)^2 ?? 01/16 00:23
→ drinks9216 :不好意思問了這麼多,總之很感謝 <(__)> 01/16 00:23