Funções de loss

Introdução ao TensorFlow em Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Introdução às funções de loss

  • Operação fundamental do tensorflow
    • Usada para treinar um modelo
    • Mede o ajuste do modelo
  • Valor maior -> pior ajuste
    • Minimize a função de loss
Introdução ao TensorFlow em Python

Funções de loss comuns no TensorFlow

  • TensorFlow tem operações para losses comuns

    • Mean squared error (MSE)
    • Mean absolute error (MAE)
    • Erro de Huber
  • As funções de loss estão em tf.keras.losses()

    • tf.keras.losses.mse()
    • tf.keras.losses.mae()
    • tf.keras.losses.Huber()
Introdução ao TensorFlow em Python

Por que nos importamos com funções de loss?

Esta imagem mostra as funções de loss mse, mae e huber no intervalo de -2 a 2.

  • MSE
    • Penaliza fortemente outliers
    • Alta sensibilidade (gradiente) perto do mínimo
  • MAE
    • Escala linearmente com o erro
    • Baixa sensibilidade perto do mínimo
  • Huber
    • Parecida com MSE perto do mínimo
    • Parecida com MAE longe do mínimo
Introdução ao TensorFlow em Python

Definindo uma função de loss

# Import TensorFlow under standard alias
import tensorflow as tf

# Compute the MSE loss
loss = tf.keras.losses.mse(targets, predictions)
Introdução ao TensorFlow em Python

Definindo uma função de loss

# Define a linear regression model
def linear_regression(intercept, slope = slope, features = features):
    return intercept + features*slope
# Define a loss function to compute the MSE
def loss_function(intercept, slope, targets = targets, features = features):
    # Compute the predictions for a linear model
    predictions = linear_regression(intercept, slope)

    # Return the loss
    return tf.keras.losses.mse(targets, predictions)
Introdução ao TensorFlow em Python

Definindo a função de loss

# Compute the loss for test data inputs
loss_function(intercept, slope, test_targets, test_features)
10.77
# Compute the loss for default data inputs
loss_function(intercept, slope)
5.43
Introdução ao TensorFlow em Python

Let's practice!

Introdução ao TensorFlow em Python

Preparing Video For Download...