ComeçarComece de graça

Redes neurais de uma única camada

Para ganhar familiaridade com redes neurais, vale a pena começar com uma aproximação simples de uma função.

Você vai treinar uma rede neural para aproximar um mapeamento entre uma entrada, x, e uma saída, y. Elas estão relacionadas pela função de raiz quadrada, isto é, \(y = \sqrt{x}\).

O vetor de entrada x é fornecido. Primeiro, você vai calcular a raiz quadrada de x usando a função sqrt() do Numpy, gerando a série de saída y. Depois, você vai criar uma rede neural simples e treiná-la com a série x.

Após o treinamento, você vai traçar (plotar) a série y e a saída da rede neural para ver quão de perto a rede aproxima a função de raiz quadrada.

Os objetos Sequential e Dense da biblioteca Keras também estão disponíveis no seu workspace.

Este exercício faz parte do curso

Gerenciamento Quantitativo de Risco em Python

Ver curso

Instruções do exercício

  • Crie os valores de treinamento de saída usando a função sqrt() do Numpy.
  • Crie a rede neural com uma camada oculta de 16 neurônios, um valor de entrada e um valor de saída.
  • Compile e ajuste (fit) a rede neural nos valores de treinamento por 100 épocas.
  • Plote os valores de treinamento (em azul) em comparação com os valores previstos pela rede neural.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código