未定乗数法(ラグランジュ乗数法)とは?制約付き最適化の基礎理論とIT応用を解説
未定乗数法とは — 概要
未定乗数法(みていじょうすうほう、英: Lagrange multipliers)は、等式制約付きの最適化問題を解くための古典的な数学手法です。目的関数 f(x) を制約 g(x)=0 のもとで極値(最大値または最小値)を求める際に、制約と目的関数の勾配(偏微分ベクトル)が揃う(線形従属になる)ことを利用して極値候補を導出します。数学的な直観だけでなく、経済学・物理学・工学、そして近年のIT分野(機械学習、最適化アルゴリズム、分散最適化など)における理論と実装で広く用いられています。
基本的な定理(1つの等式制約の場合)
n 次元変数 x ∈ R^n の下で、目的関数 f(x) と制約関数 g(x) が連続的に微分可能で、x* が制約 g(x)=0 のもとで局所的な極値であり、かつ ∇g(x*) ≠ 0(制約の勾配がゼロでない)であるとする。このとき、あるスカラー λ(ラグランジュ未定乗数)が存在して次を満たす:
∇f(x*) = λ ∇g(x*)
この λ を導入して構成する関数をラグランジュ関数といい、通常は
L(x, λ) = f(x) − λ g(x)
(符号は慣習により +λg(x) とすることもある)と定義して、stationary condition ∂L/∂x = 0, ∂L/∂λ = 0 を解くことで極値候補を求めます。
導出のイメージ(幾何学的直観)
- 制約 g(x)=0 のレベル集合は n−1 次元の曲面(制約曲面)を作ります。
- 制約面上の極点では、目的関数の等高線が制約面に沿って極値をとるため、目的関数の勾配は制約面に接する接平面に垂直なベクトル(つまり制約の勾配)と一致します。
- これが「∇f と ∇g が平行(比例)である」という条件の直感的解釈です。
簡単な例:2変数・単一制約
例として、f(x, y) = x y を円周 x^2 + y^2 = 1 上で最大化/最小化するとします。
- ラグランジュ関数:L(x, y, λ) = x y − λ (x^2 + y^2 − 1)
- 一階必要条件(stationarity):
- ∂L/∂x = y − 2λ x = 0 → y = 2λ x
- ∂L/∂y = x − 2λ y = 0 → x = 2λ y
- ∂L/∂λ = −(x^2 + y^2 − 1) = 0 → x^2 + y^2 = 1
最初の二式から y = 2λ x と x = 2λ y を代入して、(2λ)^2 x = x が得られ、x = 0 か (2λ)^2 = 1。x = 0 の場合に円周上の点は x=0, y=±1 で f=0。一方 (2λ)^2=1 より 2λ = ±1。これにより y = ± x。円上で y = x の場合は x=y=±1/√2 で f=1/2(最大値)・f=−1/2(最小値)などを得ます。
複数の等式制約への拡張
制約が複数ある場合 g_i(x) = 0(i=1…m)であれば、それぞれの制約に未定乗数 λ_i を割り当て、ラグランジュ関数を
L(x, λ) = f(x) − Σ_{i=1}^m λ_i g_i(x)
と定義します。必要条件は
∇_x L(x, λ) = ∇f(x) − Σ_i λ_i ∇g_i(x) = 0,
g_i(x)=0(i=1…m)です。直感的には、目的関数の勾配が制約勾配の線形結合に含まれることを意味します。
不等式制約とKKT条件
現実の問題では不等式制約 h_j(x) ≤ 0 が現れることが多く、その場合はカルッシュ=クーン=タッカー(KKT)条件が未定乗数法を一般化した枠組みになります。KKT条件は次を含みます:
- stationarity(∇f(x*) − Σ λ_i ∇g_i(x*) − Σ μ_j ∇h_j(x*) = 0)
- primal feasibility(g_i(x*) = 0, h_j(x*) ≤ 0)
- dual feasibility(μ_j ≥ 0)
- complementary slackness(μ_j h_j(x*) = 0)
特に問題が凸でありスレータ条件(内点可行解が存在するなど)が満たされれば、KKT条件は最適性の十分条件となり、双対ギャップはゼロ(強双対)が成立します。
二次(2次)条件:十分条件の扱い
一階条件(stationarity)は極値の必要条件に過ぎません。極小/極大であることを確かめるためには二次条件を調べます。等式制約のもとでの二次条件は、ラグランジアン L のヘッセ行列 H_x = ∇^2_x L(x*, λ*) を制約の接空間(∇g_i に直交する空間)へ制限した際の正定性(最小化なら正定)を確認する必要があります。具体的な判定はやや技術的ですが、要点は「ヘッセを接空間で見る」ということです。
数値的手法と実装上の注意(ITでの応用を中心に)
実問題では解析的に解けないケースがほとんどで、数値的手法が必要です。未定乗数法/ラグランジュ関数に基づく主要手法を概観します。
- 直接解法(非線形方程式ソルバ):Stationarity 条件(∇_xL=0, g=0)を連立方程式としてニュートン法などで解く。初期値依存や収束性に注意。
- 罰則法(Penalty method):制約違反を罰則関数で重みづけし、制約を満たすように極限で罰則係数を大きくする。条件数悪化に注意。
- 乗数法/拡張ラグランジアン(Augmented Lagrangian):ラグランジュ未定乗数と罰則を併用することで収束性と数値安定性を改善。実装上は汎用的で多くの最適化ライブラリが採用。
- ADMM(Alternating Direction Method of Multipliers):大規模・分散最適化で人気。目的を分割し、変数ごとに交互に更新していく。分散学習やスパース推定で応用が多い。
- 投影法(Projected gradient):反復ごとに勾配降下し、得られた点を制約集合に投影する。凸な単純集合に対して有効(例:L2球、ボックス制約)。
実装上の重要点:
- 初期値依存性:非凸問題では局所解に陥る。複数初期値で試す、あるいは逐次緩和を用いる。
- 数値的安定性:罰則係数の選定や線形システムの解法(正則化)に注意。
- スケーリング:変数のスケール差が大きいと収束が遅くなるため前処理が重要。
IT・機械学習における具体的応用例
- SVM(サポートベクターマシン):最小化問題に等式/不等式制約が入り、KKT条件やラグランジアン双対を用いることで双対問題を解き、カーネルトリックを自然に導入できます。
- ロジスティック回帰やL1正則化:ラグランジュ乗数は正則化やペナルティの導入と関連し、双対問題や最適性条件の解析に使われます。
- 凸最適化の双対化:大規模問題を双対化して分散処理する手法(例:ADMM)は、分散学習やプライバシー保護を考慮した最適化に有効です。
- リソース割当(クラウド、ネットワーク):帯域やCPUなど有限リソースの下で最適配分を求める際にラグランジュ乗数は「シャドウ価格」として解釈され、需要側やプロビジョニングへのフィードバックを与えます。
- ニューラルネットワークの制約付き学習:構造化出力や公正性(fairness)制約などを組み込む場合、ラグランジュ法や拡張ラグランジアンを用いることで学習問題に制約を導入できます。
ラグランジュ乗数の意味(感覚的解釈)
未定乗数 λ は単なる数学的補助量以上の意味を持ちます。多くの応用分野では λ は「制約の影響力」や「影の価格(shadow price)」として解釈され、制約を緩和(右辺を少し増やす)したときに目的関数の最適値がどれだけ変化するかを示します。例えば資源最適化なら λ は追加単位資源の価値を表します。
注意点とよくある誤解
- 一階条件は「必要条件」であって十分ではない。二次条件や凸性の確認が不可欠。
- ∇g(x*) = 0 のとき、単純な未定乗数条件は適用できずより細かい解析が必要(特異ケース)。
- 不等式制約がある場合は単に「∇f = λ ∇g」の形に当てはめるだけでは不十分で、KKT 条件全体を満たすか確認する必要がある。
- 数値実装では罰則法だけに頼ると係数調整が難しく、拡張ラグランジアンやADMM等を検討すべき。
実践的なステップ(問題を解くための流れ)
- 問題の定式化:目的関数と制約を明確にする(等式・不等式、凸性の有無など)。
- 解析解があり得るか確認:単純なケースならラグランジュ方程式を解析的に解く。
- 数値解法の選択:問題の規模や凸性に応じてニュートン、拡張ラグランジアン、ADMM、投影法などを選ぶ。
- 実装と検証:複数初期値・スケーリング・正則化を試して収束と最適性(KKT条件の満足度)を確認する。
- 結果の解釈:未定乗数の値が示す経済的意味や感度分析を行う。
まとめ
未定乗数法は、等式制約付き最適化の基本的かつ強力な理論ツールです。幾何学的に勾配が一致する点を探すことで極値候補を得るという直感に基づき、KKT 条件やラグランジアン双対、拡張ラグランジアン、ADMM といった多くの現代的アルゴリズムへと発展しています。IT 分野では、機械学習のモデル学習、分散最適化、リソース配分など多様な場面で不可欠な技術です。理論だけでなく、数値的な実装上の工夫(スケーリング、罰則の扱い、初期値の工夫)が成功の鍵になります。
参考文献
- 未定乗数法 - Wikipedia(日本語)
- Lagrange multiplier - Wikipedia(英語)
- Stephen Boyd & Lieven Vandenberghe, Convex Optimization(書籍・オンライン資料)
- Boyd et al., Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers (2011)
- J. Nocedal & S. Wright, Numerical Optimization(教科書)
- Karush–Kuhn–Tucker conditions - Wikipedia(英語)


