Aktiveringsfunktioner

Introduktion till TensorFlow i Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Vad är en aktiveringsfunktion?

  • Komponenter i ett typiskt dolt lager
    • Linjärt: Matrixmultiplikation
    • Icke-linjärt: Aktiveringsfunktion
Introduktion till TensorFlow i Python

Varför icke-linjäriteter är viktiga

Bilden visar ett enkelt nätverk där fakturabelopp och ålder används för att förutsäga betalningsinställelse.

Introduktion till TensorFlow i Python

Varför icke-linjäriteter är viktiga

Bilden visar sambandet mellan kreditkortsfaktura och betalningsinställelse för låntagare som är 30 år eller yngre.

Introduktion till TensorFlow i Python

Ett enkelt exempel

import numpy as np
import tensorflow as tf

# Define example borrower features
young, old = 0.3, 0.6
low_bill, high_bill = 0.1, 0.5
# Apply matrix multiplication step for all feature combinations
young_high = 1.0*young + 2.0*high_bill
young_low = 1.0*young + 2.0*low_bill
old_high = 1.0*old + 2.0*high_bill
old_low = 1.0*old + 2.0*low_bill
Introduktion till TensorFlow i Python

Ett enkelt exempel

# Difference in default predictions for young
print(young_high - young_low)

# Difference in default predictions for old
print(old_high - old_low)
0.8 
0.8
Introduktion till TensorFlow i Python

Ett enkelt exempel

# Difference in default predictions for young
print(tf.keras.activations.sigmoid(young_high).numpy() - 
tf.keras.activations.sigmoid(young_low).numpy())

# Difference in default predictions for old
print(tf.keras.activations.sigmoid(old_high).numpy() - 
tf.keras.activations.sigmoid(old_low).numpy())
0.16337568
0.14204389
Introduktion till TensorFlow i Python

Sigmoidaktiveringsfunktionen

  • Sigmoidaktiveringsfunktion
    • Binär klassificering
    • Lågnivå: tf.keras.activations.sigmoid()
    • Högnivå: sigmoid

Bilden visar en graf över sigmoidaktiveringsfunktionen i intervallet -10 till 10.

Introduktion till TensorFlow i Python

ReLU-aktiveringsfunktionen

  • ReLU-aktiveringsfunktion
    • Dolda lager
    • Lågnivå: tf.keras.activations.relu()
    • Högnivå: relu

Bilden visar en graf över ReLU-aktiveringsfunktionen i intervallet -10 till 10.

Introduktion till TensorFlow i Python

Softmax-aktiveringsfunktionen

  • Softmax-aktiveringsfunktion
    • Utdatalager (>2 klasser)
    • Lågnivå: tf.keras.activations.softmax()
    • Högnivå: softmax
Introduktion till TensorFlow i Python

Aktiveringsfunktioner i neurala nätverk

import tensorflow as tf
# Define input layer
inputs = tf.constant(borrower_features, tf.float32)
# Define dense layer 1
dense1 = tf.keras.layers.Dense(16, activation='relu')(inputs)
# Define dense layer 2
dense2 = tf.keras.layers.Dense(8, activation='sigmoid')(dense1)
# Define output layer 
outputs = tf.keras.layers.Dense(4, activation='softmax')(dense2)
Introduktion till TensorFlow i Python

Nu kör vi en övning!

Introduktion till TensorFlow i Python

Preparing Video For Download...