ComenzarEmpieza gratis

Redes neuronales monocapa

Para utilizar redes neuronales con comodidad, será útil empezar con una aproximación sencilla de una función.

Entrenarás una red neuronal para aproximar una asignación entre una entrada, x, y una salida, y. Están relacionadas por la función raíz cuadrada, es decir, \(y = \sqrt{x}\).

Se te da el vector de entrada x. Primero calcularás la raíz cuadrada de x utilizando la función sqrt() de Numpy, lo que genera la serie de salida y. A continuación, crearás una red neuronal sencilla y entrenarás la red con la serie x.

Después del entrenamiento, representarás tanto la serie y como la salida de la red neuronal, para ver cuánto aproxima la red la función raíz cuadrada.

Los objetos Sequential y Dense de la biblioteca Keras también están disponibles en tu espacio de trabajo.

Este ejercicio forma parte del curso

Gestión cuantitativa de riesgos en Python

Ver curso

Instrucciones del ejercicio

  • Crea los valores de entrenamiento de salida utilizando la función sqrt() de Numpy.
  • Crea la red neuronal con una capa oculta de 16 neuronas, un valor de entrada y un valor de salida.
  • Compila y ajusta la red neuronal con los valores de entrenamiento, para 100 épocas.
  • Representa los valores de entrenamiento (en azul) contra los valores previstos de la red neuronal.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Create the training values from the square root function
y = np.____(x)

# Create the neural network
model = Sequential()
model.____(Dense(16, input_dim=1, activation='relu'))
model.____(____(1))

# Train the network
model.____(loss='mean_squared_error', optimizer='rmsprop')
model.____(x, y, epochs=100)

## Plot the resulting approximation and the training values
plt.plot(x, y, x, model.____(x))
plt.show()
Editar y ejecutar código