MathematicsTweetはじめにシグモイド関数とはシグモイド関数の微分ソフトマックス関数とはソフトマックス関数の微分ソフトマックス関数とシグモイド関数の関係サンプルコードはじめに前回の記事では、機械学習に必要な指数関数と対数関数の基本について勉強した事を書きました。www.eureka-moments-blog.comその応用として、今回の記事では、シグモイド関数・ソフトマックス関数について勉強した事のメモを書こうと思います。参考書籍は、例によって下記を参考にしています。Kindle版この商品を含むブログを見るシグモイド関数とはシグモイド関数は、下記のグラフのような、滑らかな階段のような関数である。数式では下記のように定義される。シグモイド関数は、負から正の実数を0から1までの間に変換するものなので、確率を表す時によく使われる。シグモイド関数の微分シグモイド関数は、機械学習における分類問題や、ニューラルネットワークにおけるニューロンの特性を表す重要な関数として使われる。これらの分野ではシグモイド関数の微分が使われ、それは下記のように導出される。して下記の微分を考える。ここで、この式を下記のように変形する。yそのものなので、最終的には下記のような形にすることができる。あるとき、それらの大小関係を保ちながら、確率としての値(各値は0~1で、和が1)に変換する関数である。すると、ソフトマックス関数は下記のように表すことができる。して、下記の式で求めておく。値の変化は、下記のグラフのようになる。偏微分する場合を考えてみる。すると、偏微分は下記のように導出できる。この形を見ると、これはシグモイド関数の微分と同じ形であることが分かる。偏微分する場合を考えてみる。偏微分と同様に考えると、下記のように導出できる。最後にこれらをまとめると、とも表す事ができる。時に0となる関数である事を意味する。ソフトマックス関数とシグモイド関数の関係2変数の場合のソフトマックス関数は下記のようになる。掛けて整理すると、下記のように変形できる。おけば、下記のようなシグモイド関数になる。表したものがシグモイド関数であり、シグモイド関数を多変数に拡張したものがソフトマックス関数である、ということが言える。サンプルコードここまで記載した各グラフを作成するPythonのサンプルコードは下記のGitHubリポジトリで公開しています。(1)Sponsorスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。