始める無料で始める

灌漑マシン

インテリジェントな灌漑マシンを作り、農地の区画への水やりを自動化していきます。Multi-label classification は、各サンプルに0個以上のクラスを付与できる点で multi-class 問題と異なります。つまりクラス(ラベル)は相互排他的ではなく、入力に応じてすべての区画に水をやることも、どれにもやらないことも、任意の組み合わせを選ぶこともあります。

この振る舞いに対応するため、出力層にはクラス数と同じ数のニューロンを用意しますが、multi-class 問題と違って、各出力ニューロンには sigmoid 活性化関数を使います。これにより、出力層の各ニューロンは互いに独立に0から1の数値を出力できます。

Sequential() モデルと Dense() レイヤーはすでに用意されています。さあ、インテリジェントな灌漑マシンを構築しましょう!

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

Kerasで学ぶIntroduction to Deep Learning

コースを見る

演習の手順

  • Sequential() モデルをインスタンス化します。
  • センサー数と同じ入力ニューロンを持つ、64ニューロンの中間層を relu 活性化で追加します。
  • 区画数と同じ数のニューロンを持つ出力層を、sigmoid 活性化で追加します。
  • adam オプティマイザと binary_crossentropy 損失でモデルをコンパイルします。

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

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

# Instantiate a Sequential model
model = ____

# Add a hidden layer of 64 neurons and a 20 neuron's input
____

# Add an output layer of 3 neurons with sigmoid activation
____

# Compile your model with binary crossentropy loss
model.compile(optimizer='adam',
           loss = ____,
           metrics=['accuracy'])

model.summary()
コードを編集して実行