ディープラーニングG検定の勉強中 その4(合成関数)
最短コースでディープラーニングの数学を進めていきます。
式1

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

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

出力順は右からなので、先にf(x)を出力して、その結果をg(x)に通して出力することになります。
これを計算してみると、f(x)がx=4のとき、以下のようになります。
式4

ん、把握しました。
この合成関数の考え方は、後の複雑な微分を解くときに役に立つとのことです。
それで、この合成関数を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日
式1

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

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

出力順は右からなので、先にf(x)を出力して、その結果をg(x)に通して出力することになります。
これを計算してみると、f(x)がx=4のとき、以下のようになります。
式4

ん、把握しました。
この合成関数の考え方は、後の複雑な微分を解くときに役に立つとのことです。
それで、この合成関数を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日
この記事へのコメント