ニュートン法の意味 - TK's HP

TK's HP ホーム » スポンサー広告 » 日記? » ニュートン法の意味

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ニュートン法の意味

研究で使うニュートン法について調べたのでまとめてみた。
調べたページの解説が、説明が抜けているなどで難しかったので簡単に説明。

私は基本的に使えれば問題無い人なので数学的には間違った説明をしているかもしれませんので注意!

ニュートン法の流れ
0.適当な初期値を決める
1.調べたい関数をその点周りで近似する。
2.近似した関数が目的に合う値(f(x) = 0 または f(x)が最小)を見つける
3.そのときの点を次の点にする。
4.収束したかを判定し、収束していなければ1に戻る


ようするに、近似した関数と元の関数の答えはほとんど一緒になるよね。
だけど微妙にずれるので何回か繰り返しましょうというアルゴリズムだと理解しました。
きっとこの説明が最も分かりやすいはず。


参考ページ
Wikipedia
http://zeus.mech.kyushu-u.ac.jp/~tsuji/java_edu/QNewton.html
ちなみにWikipediaはニュートン法でf(x)=0 である xしか求めることができないが、↓のページ
では最小値を求めることができるのでこちらの方が私の目的にそっていた。



もう少し詳しく解説
f(x)は連続な関数で、下に凸であるとする。
これ以降でn番目のxの値をXnと表現する。

(1)f(x)=0であるxを求める
まず初期値x=X0を決める(適当な値をいれる)。

f(x)をX0まわりでテイラー展開して1次の項までで近似する。この関数をg(x)とする。
これを具体的な式で書くと、

g(x) = f(X0) + f'(X0)・(x-X0)


で表現される式になる。
g(x) = 0であるxを求めると、

g(x) = 0より
f(X0) + f'(X0)・(x - X0) = 0
変形して
x = X0 - f(X0)/f'(X0)


このときのxがg(x)=0のときのxです。このxをX1とする。
g(x)はf(x)の近似式なので、f(X0)よりもf(X1)の方が0に近くなる。

これを一般化すると、

Xn+1 = Xn - f(Xn)/f'(Xn)


となります。
これを繰り返すのがWikipediaに載っているニュートン法です。


(2)f(x)が最小であるxを求める
まず初期値x=X0を決める(適当な値をいれる)。

f(x)をX0まわりでテイラー展開して2次の項までで近似する。この関数をg(x)とする。
これを具体的な式で書くと、

g(x) = f(X0) + f'(X0)・(x-X0) + (1/2)f''(X0)・(x-X0)^2


で表現される式になる。

g(x)の最小値を求めると、2次関数の最小値は極値であることからg'(x) = 0 である点である。
これを用いて計算すると

g'(x) = f'(X0) + f''(X0)・(x-X0)
g'(x) = 0のである点を求めるので、
f'(X0) + f''(X0)・(x-X0) = 0
変形して
x = X0 - f'(X0)/f''(X0)


このときのxがg(x)が最小のときのxです。このxをX1とする。
g(x)はf(x)の近似式なので、f(X0)よりもf(X1)の方が0に近くなる。

これを一般化すると、

Xn+1 = Xn - f'(Xn)/f''(Xn)


となる。

これが最小値を求めるときのニュートン法です。
関連記事
コメント
非公開コメント

トラックバック

http://tclip.blog.fc2.com/tb.php/28-55b4cf21

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。