読者です 読者をやめる 読者になる 読者になる

きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

ラグランジュの未定乗数法がよく分からんくて

ディープラーニングがわかる数学入門

ディープラーニングがわかる数学入門

このエントリーの発端は、この本だ。
この本の84ページ目が、ちょっと理解できなくて、検算しようということ。
なお、文系出身。

x^2+y^2=1
という制約があったとする。
その制約下で
x+yの最小値を求めるとする。


そこで登場、ラグランジュの未定乗数法。
L=f(x,y)-\lambda g(x,y)


\lambdaが未定な乗数っぽい。


求めたい式をf(x,y)に、
制約の式をゼロになるようにg(x,y)に入れて構成する。


つまり、こういう状態。
f(x,y)=x+y
g(x,y)=x^2+y^2-1

これって、実は、
L=f(x,y)-\lambda g(x,y)といいつつも、
L=f(x,y)であろう、なぜならば
g(x,y)=x^2+y^2-1=0なのだから。


ここまではいい。
さて、多変数関数の最小条件として、すべての変数について偏微分した値が0になることが必要条件だよってのがある。
それは前のページに解説されている。


L(x,y,\lambda)=(x+y)-\lambda (x^2+y^2-1)
なのだから、こういうことだ。
\frac{\partial L}{\partial x}=1-2\lambda x=0
\frac{\partial L}{\partial y}=1-2\lambda y=0
\frac{\partial L}{\partial \lambda}=-(x^2+y^2-1)=0


するってーと、
x=\frac{1}{2\lambda}
y=\frac{1}{2\lambda}
あ、じゃあ、こうだね。
x=y=\frac{1}{2\lambda}

では、ここから\lambdaを求める。

(\frac{1}{2\lambda})^2 + (\frac{1}{2\lambda})^2 = 1
(\frac{1}{4{\lambda}^2}) + (\frac{1}{4{\lambda}^2}) = 1
(\frac{1}{2{\lambda}^2}) = 1
{\lambda}^2=\frac{1}{2}
{\lambda}=\pm \frac{1}{\sqrt{2}}

\lambdaが求まったので、xyに入れてみよう。
x+y=\frac{1}{2\lambda}+\frac{1}{2\lambda}=\frac{1}{\lambda}=\pm \sqrt{2}
最小を求めたいのだから
x+y=-\sqrt{2}


どうやら、あの本の84ページ目の答えは合っているようである。
しかし、その過程に誤植と思う点が2つある。
1つ目

x=y=\lambda=\pm 1/\sqrt{2}

x=yだけど、x=y=\lambdaは違うと思う。

2つ目

x=y=-1/\sqrt{2}のとき、x+yの最小値は-\sqrt{2}が得られます。

ぐぬぬ、その条件では、きっと-2/\sqrt{2}なんだが。


もともと1つ目の話で、「なんで\lambdaがそうなる?」という疑念が沸いたせいで、首を傾げていた。
2つ目はさっき気付いたwww

まあいい、詰まっていたところを解消したので、先に進むべ。
ちなみに次の85ページにも誤植あったよ。