ニュートン法と準ニュートン法

ニュートン法と準ニュートン法は、関数の最小値や最適なパラメータを求めるための数値最適化手法です。機械学習や強化学習では、損失関数や目的関数の最小化にこれらが使われます。以下では、それぞれの理論とアルゴリズム的特徴、利点・欠点について詳しく説明します。


ニュートン法(Newton’s Method)

概要

ニュートン法は、目的関数 f(x)f(\mathbf{x})2次のテイラー展開に基づいて極値を求める方法です。関数の勾配と**ヘッセ行列(2階微分)**を用いて次の更新点を決定します。

アルゴリズム

関数 f(x)f(\mathbf{x}) を最小化したいとき、更新式は以下の通りです:

xk+1=xkHf1(xk)f(xk)\mathbf{x}_{k+1} = \mathbf{x}_k – \mathbf{H}_f^{-1}(\mathbf{x}_k) \nabla f(\mathbf{x}_k)

  • f(xk)\nabla f(\mathbf{x}_k):勾配ベクトル(1階微分)

  • Hf(xk)\mathbf{H}_f(\mathbf{x}_k):ヘッセ行列(2階微分)

直感的な理解

  • 勾配は目的関数の「傾き」を表し、

  • ヘッセ行列は「曲率(凸凹の度合い)」を示します。

  • この2つを組み合わせて、より急速に最適解に近づくような方向とステップ幅を求めます。

特徴

  • 収束が非常に速い(2次収束:正確なヘッセ行列があれば)。

  • ただし、ヘッセ行列の計算コストが高い(高次元では特に問題)。


準ニュートン法(Quasi-Newton Methods)

概要

準ニュートン法は、ニュートン法のヘッセ行列の計算負担を回避するために考案されました。代わりに、ヘッセ行列の近似を用いて最適化を行います。

代表的な手法:BFGS法(Broyden–Fletcher–Goldfarb–Shanno法)

準ニュートン法の中で最もよく使われるのが BFGS法 です。

更新式の一例:

xk+1=xkBk1f(xk)\mathbf{x}_{k+1} = \mathbf{x}_k – \mathbf{B}_k^{-1} \nabla f(\mathbf{x}_k)

  • Bk\mathbf{B}_k:ヘッセ行列の近似

  • Bk\mathbf{B}_k は前回までの勾配やパラメータ変化から、効率的に逐次更新される。

特徴

  • ヘッセ行列を明示的に計算せずに済む

  • 準ニュートン法でも2次収束に近い性能を得られることがある。

  • メモリ効率が良い(特にL-BFGSは大規模問題で有効)。


ニュートン法 vs 準ニュートン法

項目 ニュートン法 準ニュートン法
収束速度 速い(二次) やや遅いが良好
必要な情報 勾配 + ヘッセ行列 勾配のみ
計算コスト 高い(ヘッセ行列の計算) 比較的低い
適用範囲 小〜中規模問題 中〜大規模問題
実用例 理論解析・小規模最適化 実務・大規模機械学習(例:L-BFGS)

機械学習・強化学習への応用

  • ロジスティック回帰、線形回帰:BFGSがよく使われる。

  • 深層学習:高次元パラメータ空間のため、SGDやAdamが使われるが、準ニュートン法(L-BFGS)が一部で有効。

  • 強化学習(Policy Optimization):自然勾配法やTRPOでヘッセ行列やその近似が使われる場面がある。


まとめ

  • ニュートン法は理論的には強力だが、高次元や実務には不向き。

  • 準ニュートン法は現実的な近似と効率性のバランスをとっており、機械学習の実践において有用。

生成日:2025/06/01