Funzioni di perdita

Introduzione a TensorFlow in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Introduzione alle funzioni di perdita

  • Operazione tensorflow fondamentale
    • Usata per addestrare un modello
    • Misura dell'aderenza del modello
  • Valore più alto -> adattamento peggiore
    • Minimizza la funzione di perdita
Introduzione a TensorFlow in Python

Perdite comuni in TensorFlow

  • TensorFlow offre operazioni per perdite comuni

    • Mean squared error (MSE)
    • Mean absolute error (MAE)
    • Errore di Huber
  • Le funzioni di perdita sono in tf.keras.losses()

    • tf.keras.losses.mse()
    • tf.keras.losses.mae()
    • tf.keras.losses.Huber()
Introduzione a TensorFlow in Python

Perché ci interessano le funzioni di perdita?

Questo grafico mostra le funzioni di perdita mse, mae e huber sull'intervallo -2 a 2.

  • MSE
    • Penalizza molto gli outlier
    • Alta sensibilità (del gradiente) vicino al minimo
  • MAE
    • Scala linearmente con l'errore
    • Bassa sensibilità vicino al minimo
  • Huber
    • Simile a MSE vicino al minimo
    • Simile a MAE lontano dal minimo
Introduzione a TensorFlow in Python

Definire una funzione di perdita

# Importa TensorFlow con l'alias standard
import tensorflow as tf

# Calcola la perdita MSE
loss = tf.keras.losses.mse(targets, predictions)
Introduzione a TensorFlow in Python

Definire una funzione di perdita

# Definisci un modello di regressione lineare
def linear_regression(intercept, slope = slope, features = features):
    return intercept + features*slope
# Definisci una funzione di perdita per calcolare la MSE
def loss_function(intercept, slope, targets = targets, features = features):
    # Calcola le predizioni per un modello lineare
    predictions = linear_regression(intercept, slope)

    # Restituisci la perdita
    return tf.keras.losses.mse(targets, predictions)
Introduzione a TensorFlow in Python

Definire la funzione di perdita

# Calcola la perdita per i dati di test
loss_function(intercept, slope, test_targets, test_features)
10.77
# Calcola la perdita per i dati predefiniti
loss_function(intercept, slope)
5.43
Introduzione a TensorFlow in Python

Esercitiamoci!

Introduzione a TensorFlow in Python

Preparing Video For Download...