logo

最適化理論:ラグランジュの未定乗数法 📂最適化理論

最適化理論:ラグランジュの未定乗数法

説明

非線形目的関数を持つ非線形最適化問題で、ラグランジュ乗数法という解法があり、ラグランジュ乗数lagrangian Multiplierと呼ばれるものを制約条件に掛けて、目的関数に反映させる方法だ。

Maximizef(x)subject tog(x)=0 \begin{matrix} \text{Maximize} & f(x) \\ \text{subject to} & g(x) = 0 \end{matrix}

例えば、微分可能スカラー関数 f,g:RpRf,g : \mathbb{R}^{p} \to \mathbb{R} に対する最適化問題が上記のように与えられた場合、私たちの目標は、実現可能解の集合feasible solution F={xRn:g(x)=0}F = \left\{ x \in \mathbb{R}^{n} : g(x) = 0 \right\}f(x)f \left( x^{\ast} \right) が最大となるような xFx^{\ast} \in F を見つけることだ。ラグランジュ乗数法は、この解法の一つとして、ラグランジュ乗数 λ-\lambdag(x)g(x) に掛けて ff に加えたラグランジュ関数 L(x,λ):=f(x)λg(x) L \left( x, \lambda \right) := f(x) - \lambda g(x) 目的関数とする次の最適化問題に変えることだ。 MaximizeL(x,λ) \begin{matrix} \text{Maximize} & L \left( x, \lambda \right) \end{matrix}

こうして得られた新しい最適化問題は制約条件がなくなり、これは魔法ではなく数学だ。LL を最適化する過程で、LLλ\lambda に対する変化量が 00 となる点、つまり Lλ=0    g(x)=0 {{ \partial L } \over { \partial \lambda }} = 0 \implies -g(x) = 0 で、事実上元の制約条件を満たさざるを得なくなるが、これにより制約条件がないか、または弱い最適化技術を使用できるようになるのだ。

エントロピーを最大化する分布は一様分布だ 1

シャノンエントロピー一様分布で最大化されることをラグランジュ乗数法を通じて確認してみよう。(p1,,pn)\left( p_{1} , \cdots , p_{n} \right) に対して確率変数 XX の確率分布が次のようであるとしよう。 P(X=k)=pk P\left( X = k \right) = p_{k}

すると、エントロピーを最大にする (p1,,pn)\left( p_{1} , \cdots , p_{n} \right) を求める最適化問題は次のように書くことができる。

Maximizek=1npklogpksubject tok=1npk1=0pk0k=1,,n \begin{matrix} \text{Maximize} & - \sum_{k=1}^{n} p_{k} \log p_{k} \\ \text{subject to} & \sum_{k=1}^{n} p_{k} - 1 = 0 \\ & p_{k} \ge 0 \end{matrix} \\ k = 1, \cdots, n

制約条件k=1npk=1\displaystyle \sum_{k=1}^{n} p_{k} = 1 は、全ての確率の合計が 11 である必要があるからだ。元の目的関数 f(p1,,pn)=k=1npklogpkf \left( p_{1} , \cdots , p_{n} \right) = - \sum_{k=1}^{n} p_{k} \log p_{k} は、この制約条件に従って無限に大きくなることができなくなる。この問題に対するラグランジュ関数は次のようになる。 L(p1,,pn,λ)=k=1npklogpkλ(k=1npk1) L \left( p_{1} , \cdots , p_{n} , \lambda \right) = - \sum_{k=1}^{n} p_{k} \log p_{k} - \lambda \left( \sum_{k=1}^{n} p_{k} - 1 \right) すると、LLk=1,,nk = 1, \cdots , n に対して pkp_{k}偏微分したとき Lpk=logpk+1λ    λ=1logpk {{ \partial L } \over { \partial p_{k} }} = - \log p_{k} + 1 - \lambda \implies \lambda = 1 - \log p_{k} である。これは λ=1logp1=1logpn \begin{align*} & \lambda \\ =& 1 - \log p_{1} \\ & \vdots \\ =& 1 - \log p_{n} \end{align*} を意味するので p1==pn p_{1} = \cdots = p_{n} でなければならない。一方、λ\lambda に対する偏微分から Lλ=0    k=1npk=1 {{ \partial L } \over { \partial \lambda }} = 0 \implies \sum_{k=1}^{n} p_{k} = 1 であるため、エントロピーを最大化する確率分布は正確に p1==pn=1n p_{1} = \cdots = p_{n} = {{ 1 } \over { n }} である。つまり、一様分布エントロピーを最大化する。

サポートベクターマシン

機械学習では、サポートベクターマシン超平面を見つける技術としてラグランジュ乗数法が登場することがある。次の段落を参照してください:


  1. Luenberger. (2021). Linear and Nonlinear Programming (5th Edition): p370~371. ↩︎