灌漑マシン
インテリジェントな灌漑マシンを作り、農地の区画への水やりを自動化していきます。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()