Document

主な制約なし問題の解法
min
f ( x)
前回説明済み
最急降下法(steepest descent methods)
ニュートン法(Newton’s method)
準ニュートン法(quasi Newton method)
信頼領域法(trust region methods)
共役勾配法(conjugate gradient methods)
記憶制限付き準ニュートン法(limited
memory quasi Newton methods)
2015/6/12
1
ニュートン法
2次微分(ヘッセ行列)を利用して高速化
~ k
f (x
2
k
d )
k
f (x )
f (x ) d
f ( x k ) : 正定値ならば
~ k
f (x d k ) は d k
2015/6/12
k T
2
k
1 k
d
2
k
f (x )
1
T
2
f ( x k )d k
f ( x k ) で最小となる
2
もう一つの見方(非線形方程式に対する
ニュートン法を適用)
一次の必要条件 f ( x) 0 を非線形方程式とみて線形化
f (xk
2
dk)
k
f (xk )
f ( x ) : 正則ならば d
2015/6/12
2
k
f ( x k )d k
2
0
k
f (x )
1
f ( x k ) となる
3
ニュートン法のアルゴリズム
Step 0 : 初期点 x 0を選び,k : 0とおく
Step 1 : f ( x k ) 0 ならば終了.そうでないとき
f (xk )
2
Step 2 : x k 1 : x k
2
f ( x k ) : 正定値
f ( x k )d k
0 の解d k を求める
d k , k : k 1 としてStep 1へ.
f (xk ) Td k
0 (降下方向)
直線探索による大域化
2015/6/12
4
ニュートン法の特徴
2次収束性:解の近くで,
x
k 1
x
*
x
k
x
* 2
これは非常に速い
ただし,初期点を解の近くにとらねばならない
最急降下法などと組みあわせて用いられる
2015/6/12
5
準ニュートン法
ニュートン法はヘッセ行列が必要
ヘッセ行列を逐次近似
正定値性,対称性を保つ
DFP法,BFGS法
2015/6/12
6
BFGS法のアルゴリズム
Step 0 : 初期点 x 0と初期行列 B 0を選び,k : 0とおく
Step 1 : f ( x k ) 0 ならば終了.そうでないとき
d
k
B
Step 2 : f ( x k
k
f ( x k ) とおく y k x k 1 x k
k k
k
d ) min f ( x k k d k ) なる
k 1 を求め,
k
1
s
0
xk 1 : xk
Step 3 : B k
1
Bk
k
f (x
)
f (x )
d k とする
k
y y
y
k T
k T
s
k k
B s s
k
s
k T
k T
Bk
Bk sk
k : k 1 として Step 1へ
2015/6/12
7
準ニュートン法の特徴
大域的収束性(降下方向+直線探索)
超1次収束性
lim
k
2015/6/12
x
k 1
x
k
x
x
*
*
0
かなり速い
8
計算例
f ( x) ( x1 1) 2 10( x12
2015/6/12
x2 ) 2
9
結果
1.5
steepst descent
newton
qnewton
1
0.5
0
-0.5
-0.5
2015/6/12
0
0.5
1
1.5
10
解との距離をプロット
steepst descent
newton
qnewton
1
0.01
0.0001
1e-06
1e-08
1e-10
1e-12
1e-14
0
5
10
15
20
25
30
35
40
45
50
Iterations
2015/6/12
11
共役勾配法
正定値対称行列を係数に持つ連立一次方程式
Ax b, A R n n , x R n , b R n
x*
v
を解くための解法
min f ( x)
1 T
x Ax bT x
2
u
A PT P
この最小化問題を解くことと同値
特徴:前回の探索方向と共役な方向に探索
初期点 x0
2015/6/12
P
P
1
Px*
Pv
Pu
R n とした時,高々n回の反復で最小解が得られる
12
共役勾配法のアルゴリズム
Step 0
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
2015/6/12
初期点
を与える.初期探索方向
を最急降下方向とし,k = 0 とする
(厳密な)直線探索を行い,ステップ幅
=
+
とおく
停止条件が満たされていれば
そうでなければStep 4へ.
パラメータ
=−
k 1
を求める
を計算する
+
k = k + 1 とおいてStep 1へ
を解とみなして停止する.
f
k 1
2
k 1
x
f x
k
2
Fletcher-Reevesの公式
1回前の勾配情報と
探索方向の保存で適用可能
13
共役勾配法の特徴
凸二次関数
=
−
に対しては
理論上n回の反復で終了
数値誤差に弱い→反復法,リスタート
βの決め方はいろいろ提案されている(凸二
次計画の場合は全て同じ)
超大規模(変数が1000以上)な問題では
(準)ニュートン法などよりも有効なことがある
2015/6/12
14
信頼領域法(Trust region
method)
直線探索のかわりに2次モデルの近似が妥
当と思われる範囲(信頼領域)で最小化
大域的収束性かつ二次収束
狭い(近似が悪い)
2015/6/12
広い(近似が良い)
15
反復 では以下の部分問題を解く
min
s.t.
または
=
≤∆
s.t.
≤∆
min
=
この解を
+
+
1
+
2
としたとき,近似度 を計算
=
2015/6/12
+
− ( + )
0 − ( )
16
信頼領域法のアルゴリズム
Step 0 : 定数0
1
2
1, 0
1
1
を選ぶ.
2
初期点 x 0と初期半径 0を選び,k : 0とおく
Step 1 : 部分問題の解 d kと近似度rkを計算
Step 2 : rk
k 1
k
ならば
x
:
x
1
dk ,
そうでなければx k 1 : x kとする
Step 3 : rk
2
k 1
2 k
1
rk
2015/6/12
rk
2
1
k 1
k 1
1
k
k
k : k 1として Step 1へ
17
信頼領域法の収束性
大域的収束
=
かつ収束した点において二
次の十分条件が成り立てば二次収束
2015/6/12
18
演習問題
2変数関数
,
=
−
+3
+2
−4
+1
に初期点 0,0 から共役勾配法を適用したとき
の最初の2反復を求めよ.
(一回目は最急降下方向,二回目で最小解に
到達します.)
2015/6/12
19