ディープラーニングG検定の勉強中 その11(合成関数の微分)

書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強しています。

今回は、合成関数の微分についてです。

f(x)という関数の出力結果をg(x)という関数として使い、その結果を出力するのが合成関数で、
その合成関数の微分の公式は以下となります。

式1
2-7-1-1.png

実際の合成関数(式2)にこの公式を当てはめてみます。

合成関数の最初の関数が①、その出力を関数として使ったのが②で、
その最終的な結果が y として出力される場合は、

式2
2-7-1-6.png

微分の公式を利用して、

式3 rは実数
2-7-1-3.png

まずは、式2の②の出力 y を微分します。

式4
2-7-1-4.png

u に①を代入して式5となります。

式5
2-7-1-5.png

次に①の関数を微分して、式6です。

式6
2-7-1-7.png


これでdy/duとdu/dxが分かったので、式1の合成関数の微分の公式に当てはめて、

式8
2-7-1-8.png

合成関数の微分の結果が導き出されました。


これをPythonで確認してみます。

--------------------
import sympy as sym

x = sym.Symbol('x')

u = x**2 - 2 * x + 1
y = u ** (1/2)

sym.Eq(sym.Derivative(y), sym.diff(y))

--------------------
出力結果
2-7-1-9.png

()の0.5乗というのは、平方根のことです。Pythonでは、計算結果として平方根が出る場合は、自動でルートの記号で表示してくれるみたいなのですが、平方根の計算そのものだとルート記号を使ってくれないみたいで……(方法を見つけたら更新するかも)。

"ディープラーニングG検定の勉強中 その11(合成関数の微分)" へのコメントを書く

お名前[必須入力]
メールアドレス
ホームページアドレス
コメント[必須入力]

※ブログオーナーが承認したコメントのみ表示されます。