直線探索

直線探索(ちょくせんたんさく、: line search)は、連続最適化問題において、目的関数 f : R n R {\displaystyle f:\mathbb {R} ^{n}\to \mathbb {R} } 極小値 x {\displaystyle \mathbf {x} ^{*}} を求めるための2つの基本的な反復的アプローチのうちの一つである。もう一つの基本的な反復的アプローチの方法は信頼領域である。

直線探索のアプローチでは、最初に目的関数 f {\displaystyle f} の値が小さくなる降下方向を求め、次に、その方向に x {\displaystyle \mathbf {x} } をどのくらい動かすかを表すステップサイズを計算する。そのステップサイズを用いて、解を求める方法として、最急降下法ニュートン法準ニュートン法など、数多く存在する。ステップサイズは厳密に求める方法と近似的に求める方法がある。

直線探索の主な使用例

次の勾配法の例は、第4ステップで直線探索を用いている。

  1. 反復カウンターを k = 0 {\displaystyle \displaystyle k=0} とする。最小値の初期推定値を x 0 {\displaystyle \mathbf {x} _{0}} とする。
  2. 以下を反復する:
  3.     降下方向 p k {\displaystyle \mathbf {p} _{k}} を計算する。
  4.      h ( α ) = f ( x k + α p k ) {\displaystyle h(\alpha )=f(\mathbf {x} _{k}+\alpha \mathbf {p} _{k})} α R + {\displaystyle \alpha \in \mathbb {R} _{+}} 上で最小化するような α k {\displaystyle \displaystyle \alpha _{k}} を決定する。
  5.      x k + 1 = x k + α k p k {\displaystyle \mathbf {x} _{k+1}=\mathbf {x} _{k}+\alpha _{k}\mathbf {p} _{k}} k = k + 1 {\displaystyle \displaystyle k=k+1} と更新する。
  6. f ( x k ) {\displaystyle \|\nabla f(\mathbf {x} _{k})\|} が十分小さくなるまで続ける。

第4ステップにおいては、 h ( α k ) = 0 {\displaystyle h'(\alpha _{k})=0} を解いて h の厳密な最小値を求める方法と、十分な減少が得られればよいとして大まかに最小化する方法がある。前者の例としては共役勾配法がある。後者は数多くの方法があるが、例えばバックトラック法やWolfe条件を用いた方法がある。

他の最適化法と同様に、直線探索は局所最小値を脱出するために焼きなまし法と組み合わせることができる。

アルゴリズム

直接探索法

この方法では、最初に最小値を囲むような2点x1x2を決めなければならない。次に、この区間を内点 x3x4 で分割し、それぞれの点で f ( x ) {\displaystyle f(x)} を計算する。そして、x1x2のうち、x3x4で目的関数が大きい方に隣接しているものを除去する。これ以降のステップでは、各ステップで1つの内点のみを加えていけばよい。区間を分割する方法は数多くある[1]が、黄金分割探索は特にシンプルで効果的である。黄金分割探索では、区間の比率はどのステップでも一定である。

1 ϕ ( x 2 x 1 ) = x 4 x 1 = x 2 x 3 = ϕ ( x 2 x 4 ) = ϕ ( x 3 x 1 ) = ϕ 2 ( x 4 x 3 ) {\displaystyle {\frac {1}{\phi }}(x_{2}-x_{1})=x_{4}-x_{1}=x_{2}-x_{3}=\phi (x_{2}-x_{4})=\phi (x_{3}-x_{1})=\phi ^{2}(x_{4}-x_{3})} where ϕ = 1 2 ( 1 + 5 ) 1.618 {\displaystyle \phi ={\frac {1}{2}}(1+{\sqrt {5}})\approx 1.618}

脚注

  1. ^ Box, M. J.; Davies, D.; Swann, W. H. (1969). Non-Linear optimisation Techniques. Oliver & Boyd 
非線形(無制約)
… 関数 
勾配法
収束性
準ニュートン法
その他の求解法
ヘッセ行列
  • 最適化におけるニュートン法(英語版)
The graph of a strictly concave quadratic function is shown in blue, with its unique maximum shown as a red dot. Below the graph appears the contours of the function: The level sets are nested ellipses.
Optimization computes maxima and minima.
非線形(制約付き)
一般
微分可能
凸最適化
凸縮小化
  • 切除平面法(英語版、デンマーク語版、ドイツ語版、スペイン語版)
  • 簡約勾配法
  • 劣勾配法(英語版)
線型 および
二次
内点法
ベイズ-交換
  • 単体法
  • 改訂シンプレックス法(英語版)
  • 十字法(英語版)
  • レムケの主ピボット操作法(英語版)
組合せ最適化
系列範例
(Paradigms)
グラフ理論
最小全域木
最大フロー問題
メタヒューリスティクス
  • カテゴリ(最適化 • アルゴリズム) • ソフトウェア(英語版)