始める無料で始める

チューニング用にモデルを準備する

二値分類モデルのハイパーパラメータをチューニングして、breast cancer データセットの分類性能を高めましょう。

モデルを sklearn の estimator に変換する最初のステップは、それを作成する関数を用意することでしたね。ハイパーパラメータのチューニングは、その関数が受け取る引数を変化させて行うため、この関数定義が重要です。

学習率と活性化関数の両方を引数として受け取るシンプルな create_model() 関数を作成してください。Adam オプティマイザーは tensorflow.keras.optimizers からオブジェクトとしてインポート済みなので、その学習率パラメータも変更できます。

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

Kerasで学ぶIntroduction to Deep Learning

コースを見る

演習の手順

  • Adam オプティマイザーオブジェクトの学習率を、引数で渡された値に設定します。
  • 中間(隠れ)層の活性化関数を、引数で渡された関数に設定します。
  • .compile() メソッドに、オプティマイザーと binary cross-entropy の損失を渡します。

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

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

# Creates a model given an activation and learning rate
def create_model(learning_rate, activation):
  
  	# Create an Adam optimizer with the given learning rate
  	opt = Adam(lr = ____)
  	
  	# Create your binary classification model  
  	model = Sequential()
  	model.add(Dense(128, input_shape = (30,), activation = ____))
  	model.add(Dense(256, activation = ____))
  	model.add(Dense(1, activation = 'sigmoid'))
  	
  	# Compile your model with your optimizer, loss, and metrics
  	model.compile(optimizer = ____, loss = ____, metrics = ['accuracy'])
  	return model
コードを編集して実行