どうも、カタミチです。
さて、今日も「最短コースでわかる ディープラーニングの数学」のひとり読書会、やっていきたいと思います。
今日で、第2章の「微分・積分」は終わりですね。行ってみよー。
2-7. 合成関数の微分
まずは、合成関数の微分ですね。合成関数は、2-2のところでやりましたね。変な丸がついた、こんなやつです。
$$g \circ f(x)$$
で、今回はこいつを微分したい…と。\(f\)も\(g\)も\(x\)の関数ですが、間に\(u\)という文字を挟んで、\(u=f(x),y=g(u)\)という感じにします。\(y\)の\(x\)に対する微分を\( \frac{dy}{dx}\)と表記する方法がありますが、これを使って合成関数の微分は…
$$\frac{dy}{dx}=\frac{dy}{du} \cdot \frac{du}{dx} $$
こんな感じ。本書に例がありましたが、今回も勝手に例題を自分で作ってみました。
勝手に例題:\(y=(x-2)^2\)を微分すべし
\(u=x-2\)と置くと、\(y=u^2\)になるので、微分\( \frac{dy}{dx} \)は…
\( \frac{dy}{dx}=\frac{dy}{du} \cdot \frac{du}{dx} = 2u \cdot 1=2(x-2)=2x-4\)
になりますね。
いい感じに塊でまとめて微分しやすくする時に便利そうですね。ちなみに、機械学習の世界では、この合成関数の微分の公式は連鎖律と呼ばれることが多いようです。こっちの方がかっこいいですね。合成関数を複数入れ子にした場合の方が連鎖っぽい雰囲気は出ますかね。
ふむふむ。ここまで来れば、かなり微分を使いこなすことができそうな気になってきました。だいたいの関数は微分できるんじゃなかろうか(慢心)。
ついでに、逆関数の微分も出てきました。逆関数も2-2で登場しましたね。微分の公式は…
$$ \frac{dx}{dy} = \frac{1}{\frac{dy}{dx}} $$
これ。今回も勝手に例題やってみますかねー
\( \frac{dx}{dy}= \frac{1}{\frac{dy}{dx}} = \frac{1}{3x^2} \)
ここで、\(y=x^3\)を変形すると\(x=y^{\frac{1}{3}}\)なので…
\(\frac{1}{3x^2} = \frac{1}{3(y^{\frac{1}{3}})^2} = \frac{1}{3} y^{- \frac{2}{3}} \)
できた!
…まったく有用性が分かりませんでした(汗)。\(y=\)の式を\(x=\)に変形している時点で、そのままそいつを微分すればいいやん、と思ってしまいました。果たしてこの逆関数の微分に感謝する日は来るのだろうか…(ふむ)。
2-8. 商の微分
2-6で積の微分がありましたので、それに似た感じですかねー。こいつの微分です。
\( (\frac{f(x)}{g(x)})' \)
ははぁ、分かったぞ…こうだな!
\( (\frac{f(x)}{g(x)})'=\frac{f'(x)}{g'(x)} \)
…
…
…
だから、違うってばよ。
実際にはどうなるかというと…
どん!
$$ (\frac{f(x)}{g(x)})'= \frac{f'(x)g(x)-f(x)g'(x)}{(g(x))^2} $$
…いや、複雑すぎん?(涙目)
しかしこいつも、これまでの公式から導出できるようで、きっちり証明されていました。数をこなして脳に馴染ませるしかないですかねー。
勝手に例題:\(f(x)=x^3,g(x)=x^2\)の時、\( (\frac{f(x)}{g(x)})'\)を求めるべし
…まぁ、答えは1ですよね。暗算で分かります。こいつをあえて商の微分の公式で解いてみます。
\(f'(x)=3x^2,g'(x)=2x\)なので、商の微分の公式にぶちこむと…
\( (\frac{f(x)}{g(x)})' =\frac{3x^2 \cdot x^2-x^3 \cdot 2x}{(x^2)^2}=\frac{3x^4-2x^4}{x^4}=1 \)
うむ、確かに1になりましたねー。
これで、関数同士の+ー×÷を網羅したことになりますかね。×÷は公式でカバーして、+ーは…そう、線形性があるんでしたね!
2-9. 積分
さて、最後の節は積分ですね。積分というと、微分するとその関数になるような関数を求めることですよね。
本書で取り上げられた目的は、6章の確率・統計の話を理解するうえで必要になる部分があるので一応説明しておくねー。という話でした。
ということで、そんなに深くは踏み込まれておらず、積分の表す意味が「関数のグラフと直線\(y=0\)の間にできる図形の面積」であることと、不定積分(\( \int f(x)dx=F(x)+C \) )、定積分( \( \int_a^b f(x)dx=[F(x)]^b_a \) )があるよー、くらいでしたね。
深く踏み込んでいくんじゃないかとドキドキしていたんですが、ひと安心(ふぅ)。
ということで
微分・積分は無事に終わりました。総論として、様々な関数を自由自在に微分できるようになっておこうぜ!という感じでしたね。勾配降下法で色んな関数が出てきた時にも、立ち向かうことができそうです。
次回から、3章の「ベクトル・行列」ですね。こちらも機械学習を行う上ではかなり重要だと認識しているので、がんばっていきますかねー。
ではまた。