end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

numpy for python による活性化関数 ( STEP, SIGMOID, ReLU, tanh )

GitHub - oreilly-japan/deep-learning-from-scratch: 『ゼロから作る Deep Learning』(O'Reilly Japan, 2016)

「ゼロから作るDeep Learning ① (Pythonで学ぶディープラーニングの理論と実装)」 p.44~52の写経です。

行列を引数として扱う為、numpyを利用しています

# coding: utf-8
import numpy as np
import matplotlib.pylab as plt

def main():
    x = np.arange(-5.0, 5.0, 0.1)
    y1 = sigmoid(x)             # シグモイド
    y2 = step_function(x)       # ステップ
    y3 = relu(x)                # ReLU
    y4 = tanh(x)                # tanh
    
    plt.plot(x, y1)
    plt.plot(x, y2, '--')
    plt.plot(x, y3, ':')
    plt.plot(x, y4, '-.')
    plt.ylim(-1.1, 1.1)
    plt.show()
    
def step_function(x):
    return np.array(x > 0, dtype=np.int)

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

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

def tanh(x):
    return np.tanh(x)

if __name__ == '__main__':
    main()

↑こう書くと、↓こう表示されます

※要Anaconda