2017年08月10日

ディープラーニング本のサンプルプログラム(3)・・・3章のsigmoid.pyなど

storage.mantan-web.jp_images_2017_05_21_20170521dog00m200017000c_001_size8.jpg

deeplearning1.jpg

この本を学習しています。

この本の構成は次の通りです。

1章 Python入門
2章 パーセプトロン
3章 ニューラルネットワーク
4章 ニューラルネットワークの学習
5章 誤差逆伝播法
6章 学習に関するテクニック
7章 畳み込みニューラルネットワーク
8章 ディープラーニング
付録A Softmax-with-Loss レイヤの計算グラフ
参考文献

この学習本のサンプルプログラムを紹介しています。

今回は次の活性化関数のグラフを描くプログラムです。

ファイル名:step_function.py
----------------------------------------------------------------
# coding: utf-8
import numpy as np
import matplotlib.pylab as plt


def step_function(x):
return np.array(x > 0, dtype=np.int)

X = np.arange(-5.0, 5.0, 0.1)
Y = step_function(X)
plt.plot(X, Y)
plt.ylim(-0.1, 1.1) # 図で描画するy軸の範囲を指定
plt.show()
----------------------------------------------------------------

実行結果です。
Figure_33.png

ファイル名:sigmoid.py
----------------------------------------------------------------
# coding: utf-8
import numpy as np
import matplotlib.pylab as plt


def sigmoid(x):
return 1 / (1 + np.exp(-x))

X = np.arange(-5.0, 5.0, 0.1)
Y = sigmoid(X)
plt.plot(X, Y)
plt.ylim(-0.1, 1.1)
plt.show()
----------------------------------------------------------------

実行結果です。
Figure_34.png

yの値は0〜1の範囲にあることに注意してください。

以上の二つを同じグラフで描くと次のようになります。

ファイル名:sig_step_compare.py
----------------------------------------------------------------
# coding: utf-8
import numpy as np
import matplotlib.pylab as plt


def sigmoid(x):
return 1 / (1 + np.exp(-x))


def step_function(x):
return np.array(x > 0, dtype=np.int)

x = np.arange(-5.0, 5.0, 0.1)
y1 = sigmoid(x)
y2 = step_function(x)

plt.plot(x, y1)
plt.plot(x, y2, 'k--')
plt.ylim(-0.1, 1.1) #図で描画するy軸の範囲を指定
plt.show()
----------------------------------------------------------------

実行結果です。
Figure_334.png


ファイル名:relu.py
----------------------------------------------------------------
# coding: utf-8
import numpy as np
import matplotlib.pylab as plt


def relu(x):
return np.maximum(0, x)

x = np.arange(-5.0, 5.0, 0.1)
y = relu(x)
plt.plot(x, y)
plt.ylim(-1.0, 5.5)
plt.show()
----------------------------------------------------------------

実行結果です。
Figure_35.png

今回はここまでです。

次回から4章のサンプルプログラムを紹介していきます。

では。






posted by tsurutsuru at 09:31| Comment(0) | 日常茶飯事