Pythonでニューラルネットワークの活性化関数ReLU関数を実装

Share

こんにちは!!ようこそ、当ブログgcbgardenへ。管理人のsakurabaaa(@sakurabaaa_g)です。

機械学習の手法であるロジスティック回帰やニューラルネットワークでよく使われるReLU関数Pythonnumpymatplotlibを用いて記述したコードと、出力結果(グラフ)をまとめています。

ReLU関数の微分もコードと合わせて紹介します。

※本プログラムは、数値計算ライブラリNumpyや描画ライブラリmatplotlibを使いJupyter Notebookでコードを実行しています。いますぐコードを実行し、結果をみてみたい方は「Jupyter Notebook」にアクセスし、「Try it in your browser」で実践してみてください。
スポンサーリンク

PythonでReLU関数

ReLU関数は次式です。

$$\begin{equation}
f(x) =
\begin{cases}
x\hspace{10mm}x>0 \\
0\hspace{10mm}x≦0
\end{cases}
\end{equation}$$

入力値が負であれば0を、入力値が正であれば入力値を出力します。

ReLU関数 コード

      

ReLU関数 グラフ

PythonでReLU関数の微分

ReLU関数の微分は次式です。

$$\begin{equation}
f'(x) =
\begin{cases}
1\hspace{10mm}x>0 \\
0\hspace{10mm}x≦0
\end{cases}
\end{equation}$$

入力値が負であれば0を、入力値が正であれば1を出力します。

ReLU関数の微分 コード

      

ReLU関数の微分 グラフ

まとめ

ReLU関数はニューラルネットワークの活性化関数でよく使われています。

ソースコードはコピペで利用できるので実際に出力させてみてください!!

もっとくわしく勉強したい方には、以下のページがおすすめです。

この記事を書いた人。
1992年生まれ。フリーなエンジニア。書きたいことを気ままに書いてます!
好きなことは夏の神宮でビール片手に野球観戦、Appleオタ
趣味は、ゴールデン街散策・Web・IT・ものつくりの開発・勉強などなど

スポンサーリンク

Share

Follow