Bagian 1: Ikuti dan menangkan hadiah menarik
Pada latihan ini, Anda akan mempelajari lapisan Dense. Mengapa tidak dengan latihan yang menyenangkan? Bayangkan ada sebuah acara kuis di mana hadiah ditentukan oleh sebuah neural network. Peserta memasukkan
- jumlah saudara kandung,
- jumlah kopi yang diminum hari ini, dan
- apakah mereka menyukai tomat atau tidak,
dan model memprediksi hadiah apa yang akan dimenangkan peserta.
Untuk mengimplementasikannya, Anda akan menggunakan Keras. Anda perlu membuat model dengan lapisan input yang menerima tiga fitur (jumlah saudara kandung sebagai bilangan bulat, jumlah kopi sebagai bilangan bulat, dan apakah mereka menyukai tomat atau tidak sebagai 0 atau 1). Lalu input tersebut melewati lapisan Dense yang menghasilkan 3 probabilitas (yaitu probabilitas memenangkan mobil, voucher hadiah, atau tidak mendapatkan apa pun).
Lapisan Input dan Dense serta objek Model dari Keras sudah diimpor. Anda juga disediakan penginisialisasi bobot bernama init untuk menginisialisasi lapisan Dense.
Latihan ini adalah bagian dari kursus
Penerjemahan Mesin dengan Keras
Petunjuk latihan
- Definisikan lapisan input yang hanya menerima 3 peserta (ukuran batch), di mana setiap peserta memiliki 3 masukan: jumlah saudara kandung, jumlah kopi, dan preferensi terhadap tomat (ukuran input).
- Definisikan lapisan
Denseyang memiliki 3 keluaran, aktivasisoftmax, daninitsebagai penginisialisasi. - Hitung prediksi model untuk
xmenggunakan model yang telah didefinisikan. - Dapatkan hadiah dengan probabilitas tertinggi (sebagai bilangan bulat) untuk setiap peserta.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define an input layer with batch size 3 and input size 3
inp = Input(____=(____,____))
# Get the output of the 3 node Dense layer
pred = ____(____, ____=____, kernel_initializer=init, bias_initializer=init)(inp)
model = Model(inputs=inp, outputs=pred)
names = ["Mark", "John", "Kelly"]
prizes = ["Gift voucher", "Car", "Nothing"]
x = np.array([[5, 0, 1], [0, 3, 1], [2, 2, 1]])
# Compute the model prediction for x
y = ____.____(____)
# Get the most probable class for each sample
classes = np.____(____, ____)
print("\n".join(["{} has probabilities {} and wins {}".format(n,p,prizes[c]) \
for n,p,c in zip(names, y, classes)]))