「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †モデル †
学習 †
活性化関数 †ステップ関数とシグモイド関数とReUL関数がある。
ステップ関数 †実装 †なんとなくAPI仕様を知らないと難しい感じ。
グラフ †-5.0 ~ 5.0までの0.1刻みのプロットをステップ関数にかけてグラフ化する。 """This is a test program.""" import numpy as np import matplotlib.pylab as plt def step_function(x_1): """This is a test program.""" # 上記のいずれかの実装を選択。 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() シグモイド関数 †1 h(x) = ──────── 1 + exp(-x)
実装 †ポイントは、Pythonのブロードキャストによって配列も計算できる点。 """This is a test program.""" import numpy as np def sigmoid(x_1): """This is a test program.""" return 1 / (1 + np.exp(-x_1)) グラフ †-5.0 ~ 5.0までの0.1刻みのプロットをシグモイド関数にかけてグラフ化する。 """This is a test program.""" import numpy as np import matplotlib.pylab as plt def sigmoid(x_1): """This is a test program.""" return 1 / (1 + np.exp(-x_1)) X = np.arange(-5.0, 5.0, 0.1) Y = sigmoid(X) plt.plot(X, Y) plt.ylim(-0.1, 1.1) plt.show() ReUL関数 †ReUL(Rectified Linear Unit)関数
┌ │0 ( a <= 0 ) y = h(a) = < │a ( a > 0 ) └
実装 †"""This is a test program.""" import numpy as np def relu(x_1): """This is a test program.""" return np.maximum(0, x) グラフ †-5.0 ~ 5.0までの0.1刻みのプロットをReUL関数にかけてグラフ化する。 """This is a test program.""" import numpy as np import matplotlib.pylab as plt def relu(x_1): """This is a test program.""" return np.maximum(0, x_1) X = np.arange(-5.0, 5.0, 0.1) Y = relu(X) plt.plot(X, Y) plt.ylim(-0.1, 5.1) plt.show() 推論と学習 †ニューラルネットワーク(推論) †ニューラルネットワーク(学習) †深層学習の高速化 †深層学習のテクニック †参考 † |