こんにちは!!ようこそ、当ブログgcbgardenへ。管理人のsakurabaaa(@sakurabaaa_g)です。
機械学習の手法であるロジスティック回帰やニューラルネットワークでよく使われるシグモイド関数をPython、numpy、matplotlibを用いて記述したコードと、出力結果(グラフ)をまとめています。
シグモイド関数の微分もコードと合わせて紹介します。
※本プログラムは、数値計算ライブラリNumpyや描画ライブラリmatplotlibを使いJupyter Notebookでコードを実行しています。いますぐコードを実行し、結果をみてみたい方は「Jupyter Notebook」にアクセスし、「Try it in your browser」で実践してみてください。
Pythonでシグモイド関数
シグモイド関数は次式です。
$$f(x)=\frac{1}{1+e^{-x}}$$
シグモイド関数 コード
出力したグラフ
Pythonでシグモイド関数の微分
シグモイド関数の微分は次式です。
$$f'(x)=(1-f(x))・f(x)$$
シグモイド関数の微分 コード
シグモイド関数の微分 グラフ
最大値が0で0.25となっています。
まとめ
シグモイド関数はニューラルネットワークの活性化関数でよく使われています。
ソースコードはコピペで利用できるので実際に出力させてみてください!!
作業環境の構築はAnacondaがおすすめです。
参考AnacondaでPythonの環境(Jupyter notebook)を構築する
もっとくわしく勉強したい人は、以下のリンクページで自分にあった書籍を見つけることができると思います。
この記事を書いた人。
20代。とあるネットベンチャーでがんばる働き屋さん、ブロガー。
書きたいことを気ままに書いてます!
Python、プログラミング、米株、カメラ、野球観戦がすき。趣味は新宿散策。