ComeçarComece de graça

Redes neurais de camada única

Para que você se sinta confortável com o uso de redes neurais, será útil começar com uma aproximação simples de uma função.

Você treinará uma rede neural para aproximar um mapeamento entre uma entrada, x, e uma saída, y. Eles estão relacionados pela função de raiz quadrada, ou seja, \(y = \sqrt{x}\).

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

Após o treinamento, você plotará a série y e a saída da rede neural, para ver o quanto a rede se aproxima da função de raiz quadrada.

Os objetos Sequential e Dense da biblioteca Keras também estão disponíveis em seu espaço de trabalho.

Este exercício faz parte do curso

Gerenciamento quantitativo de riscos 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 a rede neural nos valores de treinamento, para 100 épocas
  • Trace o gráfico dos valores de treinamento (em azul) em relação aos 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