ニュートン法と準ニュートン法は、関数の最小値や最適なパラメータを求めるための数値最適化手法です。機械学習や強化学習では、損失関数や目的関数の最小化にこれらが使われます。以下では、それぞれの理論とアルゴリズム的特徴、利点・欠点について詳しく説明します。
ニュートン法(Newton’s Method)
概要
ニュートン法は、目的関数 の2次のテイラー展開に基づいて極値を求める方法です。関数の勾配と**ヘッセ行列(2階微分)**を用いて次の更新点を決定します。
アルゴリズム
関数 を最小化したいとき、更新式は以下の通りです:
-
:勾配ベクトル(1階微分)
-
:ヘッセ行列(2階微分)
直感的な理解
-
勾配は目的関数の「傾き」を表し、
-
ヘッセ行列は「曲率(凸凹の度合い)」を示します。
-
この2つを組み合わせて、より急速に最適解に近づくような方向とステップ幅を求めます。
特徴
-
収束が非常に速い(2次収束:正確なヘッセ行列があれば)。
-
ただし、ヘッセ行列の計算コストが高い(高次元では特に問題)。
準ニュートン法(Quasi-Newton Methods)
概要
準ニュートン法は、ニュートン法のヘッセ行列の計算負担を回避するために考案されました。代わりに、ヘッセ行列の近似を用いて最適化を行います。
代表的な手法:BFGS法(Broyden–Fletcher–Goldfarb–Shanno法)
準ニュートン法の中で最もよく使われるのが BFGS法 です。
更新式の一例:
-
:ヘッセ行列の近似
-
は前回までの勾配やパラメータ変化から、効率的に逐次更新される。
特徴
-
ヘッセ行列を明示的に計算せずに済む。
-
準ニュートン法でも2次収束に近い性能を得られることがある。
-
メモリ効率が良い(特にL-BFGSは大規模問題で有効)。
ニュートン法 vs 準ニュートン法
| 項目 | ニュートン法 | 準ニュートン法 |
|---|---|---|
| 収束速度 | 速い(二次) | やや遅いが良好 |
| 必要な情報 | 勾配 + ヘッセ行列 | 勾配のみ |
| 計算コスト | 高い(ヘッセ行列の計算) | 比較的低い |
| 適用範囲 | 小〜中規模問題 | 中〜大規模問題 |
| 実用例 | 理論解析・小規模最適化 | 実務・大規模機械学習(例:L-BFGS) |
機械学習・強化学習への応用
-
ロジスティック回帰、線形回帰:BFGSがよく使われる。
-
深層学習:高次元パラメータ空間のため、SGDやAdamが使われるが、準ニュートン法(L-BFGS)が一部で有効。
-
強化学習(Policy Optimization):自然勾配法やTRPOでヘッセ行列やその近似が使われる場面がある。
まとめ
-
ニュートン法は理論的には強力だが、高次元や実務には不向き。
-
準ニュートン法は現実的な近似と効率性のバランスをとっており、機械学習の実践において有用。
生成日:2025/06/01