Comece agoraComece grátis

Treinar rede neural com função de perda personalizada

Agora vamos usar a função de perda personalizada que acabamos de criar. Isso permite alterar o comportamento do modelo de maneiras úteis para o nosso problema — ele vai tentar forçar o modelo a aprender ao menos a prever corretamente a direção do movimento do preço. Tudo o que você precisa fazer agora é definir o argumento loss na nossa função .compile() para o nome da função, sign_penalty. Vamos analisar novamente a perda de treino para garantir que ela estabilizou.

Este exercicio faz parte do curso

Machine Learning para Finanças em Python

Ver curso

Instruções do exercicio

  • Defina o input_dim da primeira camada da rede neural como o número de colunas de scaled_train_features usando a propriedade .shape[1].
  • Use a função de perda personalizada sign_penalty para .compile() o nosso model_2.
  • Plote a perda a partir do history do ajuste. A perda está em history.history['loss'].

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Create the model
model_2 = Sequential()
model_2.add(Dense(100, input_dim=____, activation='relu'))
model_2.add(Dense(20, activation='relu'))
model_2.add(Dense(1, activation='linear'))

# Fit the model with our custom 'sign_penalty' loss function
model_2.compile(optimizer='adam', loss=____)
history = model_2.fit(scaled_train_features, train_targets, epochs=25)
plt.plot(____)
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.show()
Editar e Executar Código