始める無料で始める

シンプルなニューラルネットの構築と学習

次に学ぶモデルはニューラルネットワークです。ニューラルネットは変数間の複雑な関係を捉えることができますが、設計や理解には工夫が必要です。近年、画像認識やゲーム(AlphaGo など)をはじめ、多くの分野で人間の専門家を上回る成果を上げており、非常に高い可能性を持つモデルです。

ネットワークの構築には keras ライブラリを使用します。これは高水準のAPIで、ニューラルネットを手軽に作成しながら、設計の細部まで柔軟にコントロールできます。まず、できるだけシンプルなネットワークとして、入力を受け取って1つの値を予測する3層構造のネットを作成します。sklearn のモデルと同様に、keras のモデルにも .fit() メソッドがあり、(features, targets) を引数として受け取ります。

この演習はコースの一部です

Python による金融のための Machine Learning

コースを見る

演習の手順

  • ニューラルネットワークの第2層として、20ノードでReLU('relu')活性化関数を持つ Dense レイヤーを作成してください。
  • 最後の Dense レイヤーは1ノード、線形活性化関数(activation='linear')で作成してください。
  • scaled_train_featurestrain_targets を使ってモデルを学習させてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

from keras.models import Sequential
from keras.layers import Dense

# Create the model
model_1 = Sequential()
model_1.add(Dense(100, input_dim=scaled_train_features.shape[1], activation='relu'))
model_1.add(Dense(____, activation=____))
model_1.add(Dense(____, activation=____))

# Fit the model
model_1.compile(optimizer='adam', loss='mse')
history = model_1.fit(____, ____, epochs=25)
コードを編集して実行