手帳と試行

学んだことをアウトプットしていきます。 日々、ノートあるのみ。

ニュートン法

最急降下法の収束性を改善したニュートン法について触れる。

ニュートン法

最急降下法では、1次近似を基に更新規則を設計した。

f(x+Δx)=f(x)+(f(x)x)TΔx\begin{aligned} f(\bm x + \Delta \bm x) = f(\bm x) + \left( \frac{\partial f (\bm x)}{\partial \bm x} \right)^\mathsf{T} \Delta \bm x \end{aligned}

これを2次の項まで拡張して考える。

f(x+Δx)f(x)+(f(x)x)TΔx+12ΔxT(2f(x)x2)Δx\begin{aligned} f(\bm x + \Delta \bm x) \approx f(\bm x) + \left( \frac{\partial f (\bm x)}{\partial \bm x} \right)^\mathsf{T} \Delta \bm x + \frac{1}{2} \Delta \bm x ^\mathsf{T} \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right) \Delta \bm x \end{aligned}

2次の項の 2fx2\dfrac{\partial^2 f}{\partial \bm x^2} はヘッセ行列である。近似された f(x+Δx)f(\bm x + \Delta \bm x) をできるだけ小さくする Δx\Delta \bm x を探す。

minimizef(x)+(f(x)x)TΔx+12ΔxT(2f(x)x2)Δx\begin{aligned} \operatorname*{minimize} \quad f(\bm x) + \left( \frac{\partial f (\bm x)}{\partial \bm x} \right)^\mathsf{T} \Delta \bm x + \frac{1}{2} \Delta \bm x ^\mathsf{T} \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right) \Delta \bm x \end{aligned}

これは Δx\Delta \bm x について2次なので、次のように平方完成できる。詳細はこちらを参照。

f(x)+(f(x)x)TΔx+12ΔxT(2f(x)x2)Δx=12(Δx+(2f(x)x2)1f(x)x)T2f(x)x2(Δx+(2f(x)x2)1f(x)x)+const.\begin{aligned} &\hspace{-1pc} f(\bm x) + \left( \frac{\partial f (\bm x)}{\partial \bm x} \right)^\mathsf{T} \Delta \bm x + \frac{1}{2} \Delta \bm x ^\mathsf{T} \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right) \Delta \bm x \\ ={}& \frac{1}{2} \left( \Delta \bm x + \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right)^{-1} \frac{\partial f (\bm x)}{\partial \bm x} \right) ^\mathsf{T} \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \left( \Delta \bm x + \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right)^{-1} \frac{\partial f (\bm x)}{\partial \bm x} \right) + \mathrm{const.} \end{aligned}

したがって、次のように Δx\Delta \bm x を定めればよい。

Δx=(2f(x)x2)1f(x)x\begin{aligned} \Delta \bm x = - \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right)^{-1} \frac{\partial f (\bm x)}{\partial \bm x} \end{aligned}

更新規則は次のように与えられる。

xx(2f(x)x2)1f(x)x\begin{aligned} \bm x \gets \bm x - \left( \frac{\partial^2 f (\bm x)}{\partial \bm x^2} \right)^{-1} \frac{\partial f (\bm x)}{\partial \bm x} \end{aligned}

このような更新規則に基づいて局所最適解を探すアルゴリズムをニュートン法 (Newton's method) またはニュートン-ラフソン法 (Newton-Laphson method) という。

メリットとデメリット

ニュートン法は最急降下法に比べて局所解への収束が早い (2次収束) ことが知られている。したがって目的関数 f(w)f(\bm w) が2階微分可能であるならば、(ステップ数の観点からいえば) かなり高速に最適解を求められる。

しかし、更新規則にヘッセ行列の逆行列が含まれていることから、1ステップあたりの時間計算量が莫大になる (ナイーブには O(n3)\mathcal O(n^3) もかかる!)。次元の大きなパラメータの最適化にそのまま使用するのは現実的ではない。

参考文献
  1. H. B. Fine. 1916. “On Newton’s Method of Approximation.” Proceedings of the National Academy of Sciences of the United States of America 2 (9): 546–52.
  2. 梅谷 俊治. 2020. しっかり学ぶ数理最適化 モデルからアルゴリズムまで. 講談社.
  3. 田中 和之, 片岡 駿, 大関 真之, 安田 宗樹. 2018. 画像処理の統計モデリング 確率的グラフィカルモデルとスパースモデリングからのアプローチ. クロスセクショナル統計シリーズ. 共立出版.