Aktivační funkce

Úvod do TensorFlow v Pythonu

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Co je aktivační funkce?

  • Složky typické skryté vrstvy
    • Lineární: Maticové násobení
    • Nelineární: Aktivační funkce
Úvod do TensorFlow v Pythonu

Proč jsou nelinearity důležité

Jednoduchá síť, kde výše účtu a věk slouží k předpovědi nesplácení.

Úvod do TensorFlow v Pythonu

Proč jsou nelinearity důležité

Graf závislosti výše účtu kreditní karty a nesplácení pro dlužníky ve věku 30 let a mladší.

Úvod do TensorFlow v Pythonu

Jednoduchý příklad

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

Jednoduchý příklad

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

Jednoduchý příklad

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

Aktivační funkce sigmoid

  • Aktivační funkce sigmoid
    • Binární klasifikace
    • Nízkoúrovňově: tf.keras.activations.sigmoid()
    • Vysokoúrovňově: sigmoid

Graf aktivační funkce sigmoid v intervalu od -10 do 10.

Úvod do TensorFlow v Pythonu

Aktivační funkce ReLU

  • Aktivační funkce ReLU
    • Skryté vrstvy
    • Nízkoúrovňově: tf.keras.activations.relu()
    • Vysokoúrovňově: relu

Graf aktivační funkce ReLU v intervalu od -10 do 10.

Úvod do TensorFlow v Pythonu

Aktivační funkce softmax

  • Aktivační funkce softmax
    • Výstupní vrstva (>2 třídy)
    • Nízkoúrovňově: tf.keras.activations.softmax()
    • Vysokoúrovňově: softmax
Úvod do TensorFlow v Pythonu

Aktivační funkce v neuronových sítích

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

Pojďme cvičit!

Úvod do TensorFlow v Pythonu

Preparing Video For Download...