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

最短コースでディープラーニングの数学を進めていきます。

式1
2-2-1-1.png

①の出力を得た後に、その結果を使って②を出力する場合(この式では、ルートの中を計算してからその答えをルートする)、それを1つにまとめたものを「合成関数」と言います。

この①②を合成した関数h(x)は、

式2
2-2-1-2.png

と書けますが、これを合成関数として書くと、以下のようになります。

式3
2-2-1-3.png

出力順は右からなので、先にf(x)を出力して、その結果をg(x)に通して出力することになります。

これを計算してみると、f(x)がx=4のとき、以下のようになります。

式4
2-2-1-4.png


ん、把握しました。

この合成関数の考え方は、後の複雑な微分を解くときに役に立つとのことです。


それで、この合成関数をPythonで組んでみました。
式1の関数で、f(x)のxに4を代入した場合です。

参考サイト
Samurai Blog(Pythonで関数型プログラミングのエッセンスに触れてみよう)

--------------------
import math
import toolz

def main():
 g = lambda x: math.sqrt(x)  #g(x)
 f = lambda x: x**2 - 2*x + 1  #f(x)
 
 h = toolz.compose(g,f)    #h(x)=g◦f(x)
 print("f(4)="+str(h(4)))

if __name__ == '__main__':
 main()
--------------------

出力結果
f(4)=3.0


Pythonにはきちんと合成関数を計算できるモジュールがあるんですね。便利です。


進捗状況
最短コースで分かるディープラーニングの数学
48/328ページ まで読了(14.6%)

試験まであと68日

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

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

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