今回も吐き気がするような数式ですが、丁寧に解説していくのでご安心ください。誰が読んでも理解できることを目指していますので、分かりにくい、理解できない等ありましたら、お気軽にコメント頂けると幸いです。合成関数の微分まとめ参考なお、本記事は主に以下を参考にしています。単行本(ソフトカバー)関数とは?関数を理解することは、統計、機械学習の理論を学ぶためだけでなく、実際の解析を行うためのコードを書く際にも必要です。関数とは、簡単に言ってしまうと電卓です。入力した値を2で割るだけ電卓があったとしましょう。"と表すことにします。この電卓の中身は、入力された値xを2で割るだけなので、と表すことができます。この時、10を入力すると5が出力されるので、となります。Rではfuncition、pythonではdefを使って関数を作成します。#値を入力print(dentaku(10))>5このように関数とはある値を入力すると、何らかの計算を行って、答えを出力してくれるものです。電卓の中身が変わることで、様々な関数を作ることができます。関数への入力は2つ以上でもよくて、例えば、入力された値を足し合わせるという関数を作ることもできます。x1+x2print(fx1x2(5,10))>15中学、高校でf(x)とyは同じものだと教わった方もいるかもしれませんが、出力の結果をyと表した場合にy=f(x)となり、厳密には、f(x)は電卓(関数)、yは答えであることには注意しましょう。微分とは?関数を理解したところで、お次は微分に入ります。微分とは傾きを求めるための手法です。微分によって傾きを求めることは、統計や機械学習の様々なところで役に立ちます。こんな関数を考えてみましょう。(x-10)**2これをみて驚いた方は、入力した値から10を引いて2乗した結果を出力する電卓、と置き換えてください。この関数に入力する値xを変化させて、グラフにしたものがこちらです。ここで、まずは(10,0)と(20,100)を通る赤色の直線の傾きを求めてみます。傾きは小学校、中学校で習ったで求めることができます。この増加量のことを数学では、Δ(デルタ)または、d(diference)で表すことが多く、以下のように書き換えられます。今後はdを使った書き方をしていくので、ここで、しっかりと意味を理解しておきましょう。続いてyの増加量ですが、これは関数を使って表してみます。