活性化関数の勉強
ニューラルネットワークの勉強についてnumpyを使って体感的に学習しています。keras、chainerを使えば特に拘ることはないですがこのあたりも覚えていきたい。
①ステップ関数
入力が0を超えたら1を出力し、それ以外は0を出力する。実際
に図時されると分かりやすい。単純な構造ということが分かりました。
def step_function(x):
y = x > 0
return y.astype(np.int)
②シグモイド関数
図を見る通り、出力値が0~1の間に入るようになっています。
自然対数を知らないとexpであれってなるんですよね。
def sigmoid(x):
return 1 / (1+np.exp(-x))
ステップ関数、シグモイド関数は”非線形関数”であること、0~1で返すことが共通点になっていることが分かりました。
③ReLU関数
NumPyのmaximum関数を利用し、0か大きい値を返します。
def relu(x):
return np.maximum(0, x)
とりあえずはここまで理解できたので、実際のNNを作成していきます。
TensorFlow機械学習クックブック Pythonベースの活用レシピ60+ impress top gearシリーズ
- 作者: Nick McClure,株式会社クイープ
- 出版社/メーカー: インプレス
- 発売日: 2017/08/14
- メディア: Kindle版
- この商品を含むブログ (1件) を見る