Optymalizatory

Wprowadzenie do TensorFlow w Pythonie

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Jak znaleźć minimum

Obraz przedstawia Wielki Kanion.

1 Źródło: U.S. National Park Service
Wprowadzenie do TensorFlow w Pythonie

Jak znaleźć minimum

Obraz przedstawia Wielki Kanion.

1 Źródło: U.S. National Park Service
Wprowadzenie do TensorFlow w Pythonie

Jak znaleźć minimum

Obraz przedstawia Wielki Kanion.

1 Źródło: U.S. National Park Service
Wprowadzenie do TensorFlow w Pythonie

Rysunek przedstawia ścieżki uczenia się optymalizatorów SGD, RMS prop i Adam dla prostego problemu.

Wprowadzenie do TensorFlow w Pythonie

Optymalizator spadku gradientu

  • Optymalizator stochastycznego spadku gradientu (SGD)

    • tf.keras.optimizers.SGD()
    • learning_rate
  • Prosty i łatwy do interpretacji

Wprowadzenie do TensorFlow w Pythonie

Optymalizator RMS prop

  • Optymalizator RMS propagacji (RMSprop)

    • Stosuje różne współczynniki uczenia dla każdej cechy
    • tf.keras.optimizers.RMSprop()
    • learning_rate
    • momentum
    • decay
  • Pozwala na budowanie i zanikanie momentum

Wprowadzenie do TensorFlow w Pythonie

Optymalizator Adam

  • Optymalizator adaptacyjnego momentu (Adam)

    • tf.keras.optimizers.Adam()
    • learning_rate
    • beta1
  • Działa dobrze z domyślnymi wartościami parametrów

Wprowadzenie do TensorFlow w Pythonie

Kompletny przykład

import tensorflow as tf

# Define the model function
def model(bias, weights, features = borrower_features):
    product = tf.matmul(features, weights)
    return tf.keras.activations.sigmoid(product+bias)
# Compute the predicted values and loss
def loss_function(bias, weights, targets = default, features = borrower_features):
    predictions = model(bias, weights)
    return tf.keras.losses.binary_crossentropy(targets, predictions)
# Minimize the loss function with RMS propagation
opt = tf.keras.optimizers.RMSprop(learning_rate=0.01, momentum=0.9)
opt.minimize(lambda: loss_function(bias, weights), var_list=[bias, weights])
Wprowadzenie do TensorFlow w Pythonie

Czas na ćwiczenia!

Wprowadzenie do TensorFlow w Pythonie

Preparing Video For Download...