Förlustfunktioner

Introduktion till TensorFlow i Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Introduktion till förlustfunktioner

  • Grundläggande tensorflow-operation
    • Används för att träna en modell
    • Mäter hur väl modellen passar data
  • Högre värde -> sämre passning
    • Minimera förlustfunktionen
Introduktion till TensorFlow i Python

Vanliga förlustfunktioner i TensorFlow

  • TensorFlow har operationer för vanliga förlustfunktioner

    • Mean squared error (MSE)
    • Mean absolute error (MAE)
    • Huber-fel
  • Förlustfunktioner nås via tf.keras.losses()

    • tf.keras.losses.mse()
    • tf.keras.losses.mae()
    • tf.keras.losses.Huber()
Introduktion till TensorFlow i Python

Varför spelar förlustfunktioner roll?

Bilden visar MSE-, MAE- och Huber-förlustfunktionerna plottade över intervallet -2 till 2.

  • MSE
    • Straffar avvikande värden hårt
    • Hög (gradient-)känslighet nära minimum
  • MAE
    • Skalas linjärt med felets storlek
    • Låg känslighet nära minimum
  • Huber
    • Liknar MSE nära minimum
    • Liknar MAE långt från minimum
Introduktion till TensorFlow i Python

Definiera en förlustfunktion

# Import TensorFlow under standard alias
import tensorflow as tf

# Compute the MSE loss
loss = tf.keras.losses.mse(targets, predictions)
Introduktion till TensorFlow i Python

Definiera en förlustfunktion

# 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)
Introduktion till TensorFlow i Python

Definiera förlustfunktionen

# 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
Introduktion till TensorFlow i Python

Nu kör vi en övning!

Introduktion till TensorFlow i Python

Preparing Video For Download...