1.ª parte: Participa para ganar premios increíbles
En este ejercicio, aprenderás sobre la capa « Dense
» (Estado de la cuenta). ¿Por qué no hacerlo con un ejercicio divertido? Imagina que hay un programa de televisión en el que los premios los decide una red neuronal. El concursante entra
- el número de hermanos,
- el número de cafés que has tomado hoy y
- si te gustan los tomates o no,
y el modelo predice lo que ganará el concursante.
Para implementar esto, utilizarás Keras. Deberás crear un modelo con una capa de entrada que acepte tres características (el número de hermanos como un número entero, el número de cafés como un número entero y si les gustan los tomates o no como un 0 o un 1). A continuación, la entrada pasa por una capa densa que genera tres probabilidades (es decir, las probabilidades de ganar un coche, un vale regalo o nada).
Input
y las capas « Dense
», así como un objeto « Model
» de Keras ya están importados. También se te proporciona un inicializador de peso llamado « init
» para inicializar la capa Dense.
Este ejercicio forma parte del curso
Traducción automática con Keras
Instrucciones del ejercicio
- Define una capa de entrada que solo acepte 3 concursantes (tamaño del lote), donde cada concursante tenga 3 entradas: número de hermanos, número de cafés y preferencia por los tomates (tamaño de la entrada).
- Define una capa de red neuronal (
Dense
) que tenga 3 salidas, activación de tipo «softmax
» (activación de tipo «red neuronal con 300 unidades») y «init
» (red neuronal con 300 unidades) como inicializador - Calcula las predicciones del modelo para
x
utilizando el modelo definido. - Obtén el premio más probable (como número entero) para cada concursante.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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)]))