Ztrátové funkce

Úvod do TensorFlow v Pythonu

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Úvod do ztrátových funkcí

  • Základní operace tensorflow
    • Slouží k trénování modelu
    • Měří kvalitu přizpůsobení modelu
  • Vyšší hodnota -> horší přizpůsobení
    • Minimalizujte ztrátovou funkci
Úvod do TensorFlow v Pythonu

Běžné ztrátové funkce v TensorFlow

  • TensorFlow obsahuje operace pro běžné ztrátové funkce

    • Střední kvadratická chyba (MSE)
    • Střední absolutní chyba (MAE)
    • Huberova chyba
  • Ztrátové funkce jsou dostupné přes tf.keras.losses()

    • tf.keras.losses.mse()
    • tf.keras.losses.mae()
    • tf.keras.losses.Huber()
Úvod do TensorFlow v Pythonu

Proč jsou ztrátové funkce důležité?

Tento obrázek zobrazuje ztrátové funkce MSE, MAE a Huber vynesené v intervalu od -2 do 2.

  • MSE
    • Silně penalizuje odlehlé hodnoty
    • Vysoká citlivost (gradientu) v blízkosti minima
  • MAE
    • Roste lineárně s velikostí chyby
    • Nízká citlivost v blízkosti minima
  • Huber
    • Podobná MSE v blízkosti minima
    • Podobná MAE daleko od minima
Úvod do TensorFlow v Pythonu

Definování ztrátové funkce

# Import TensorFlow under standard alias
import tensorflow as tf

# Compute the MSE loss
loss = tf.keras.losses.mse(targets, predictions)
Úvod do TensorFlow v Pythonu

Definování ztrátové funkce

# 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)
Úvod do TensorFlow v Pythonu

Definování ztrátové funkce

# 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
Úvod do TensorFlow v Pythonu

Pojďme si procvičit!

Úvod do TensorFlow v Pythonu

Preparing Video For Download...