Druk op de 'Play' knop voor het eerste code-block. We importeren Tensorflow.
Slide 10 - Slide
De eerste stappen
Druk op de Play knop voor het tweede code-block om de MNIST dataset te laden.
Zorg dat je code-blokken op volgorde uitvoert, en niet tussendoor iets vergeet (alle notebook code bouwt verder op vorige uitvoer en wordt tussendoor onthouden)
x_train = afbeeldingen
y_train = labels (0 t/m 9)
Slide 11 - Slide
from matplotlib import pyplot as plt import numpy as np first_image = x_test[0] first_image = np.array(first_image, dtype='float') pixels = first_image.reshape((28, 28)) plt.imshow(pixels, cmap='gray') plt.show()
Deze code creëert een specifiek type model, een sequentieel model genaamd, dat lijkt op het op elkaar stapelen van verschillende lagen. Elke laag voert bepaalde berekeningen uit op de gegevens.
Flatten Layer: De eerste laag, Flatten, wordt gebruikt om de invoergegevens, in dit geval een afbeelding van 28x28 pixels (2D), om te zetten in een 1D-array (of vector) met 784 elementen. Dit maakt het voor het model gemakkelijker om met de gegevens te werken.
Dense layers: Deze laag heeft 128 neuronen en gebruikt de 'relu'-activeringsfunctie. In deze lagen gebeurt het meeste leren in het model. (Een "ReLU"-activatie is als een speciaal soort schakelaar die op basis van verbindingssterkte wel of niet activeert en output doorgeeft aan de volgende neuron)
Dropout-laag: deze laag laat willekeurig een deel van de output van de neuronen vallen tijdens de training om overfitting te voorkomen.
Nog een dense layer: deze laag heeft 10 neuronen, die overeenkomen met de 10 mogelijke klassen (categorieën) waarin het model de invoergegevens probeert te classificeren, de cijfers: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Slide 14 - Slide
Voorspellingen (Predictions):x_train[:1] aan het model vragen geeft 'logits' (ruwe score dat de zekerheid aangeeft van de voorspelling)
Logits converteren naar voorspellingen (statistische waarschijnlijkheid): Softmax zet die logit om naar een waarschijnlijkheid als percentage. Het laat zien wat de waarschijnlijkste output is (0 t/m 9) voor de gegeven input (een afbeelding van een cijfer)
Slide 15 - Slide
Na bouwen eerst het model compileren
Bij het compileren leggen we ons gebouwde 'leerplan' vast en geven we de laatste instellingen en parameters voordat we gaan leren:
1. Optimizer: de strategie die het model zal gebruiken om zijn voorspellingen te verbeteren naarmate het meer voorbeelden ziet. "Adam" is bijvoorbeeld een veelgebruikte optimalisator.
2. Loss Function: Deze functie evalueert het verschil tussen de voorspellingen van het model en de werkelijke antwoorden.
3. Metrics: Hier kun je specificeren welke prestatie-indicatoren je wilt volgen tijdens de training. Het meest voorkomende is "accuracy," dat laat zien hoe vaak het model correcte voorspellingen maakt.
Slide 16 - Slide
Na compileren, eindelijk trainen met model.fit
Nadat het model is gecompileerd en alle instellingen zijn opgegeven, kun je beginnen met het daadwerkelijke trainingsproces door model.fit te gebruiken. Hier geef je de trainingsgegevens aan het model, en het model past zijn interne gewichten (weights) en parameters aan om beter te presteren op de gegeven taak.