Lekce 17 - Neuronové sítě – Klasifikace do více tříd
V minulé lekci, Neuronové sítě - Dokončení křížové entropie, jsme hlouběji rozebrali téma křížové entropie - variantu "multi-class" a seznámili se s "negative log-likelihood".
V této lekci tutoriálu Neuronové sítě - Pokročilé se
budeme zabývat klasifikací do více tříd. Naším cílem je
mít konečně model, který dokáže rozlišit všechna čísla z datové sady
MNIST (nebudeme se tedy dále zabývat pouze čtyřkou a devítkou). Správným
způsobem řešení tohoto problému je použití funkce softmax()
.
Postupně si ukážeme různé přístupy a následně je porovnáme. Tato lekce
bude o přístupu one-vs-one.
Nejprve importy:
import numpy as np import matplotlib.pyplot as plt import sklearn.preprocessing, sklearn.datasets, sklearn.model_selection
Pro začátek potřebujeme data. Šablona je stále stejná:
data, target = sklearn.datasets.fetch_openml('mnist_784', version=1, return_X_y=True, as_frame=False) target = target.astype(int) data = data.reshape(-1, 784) data[data < 128] = 0 data[data > 0] = 1 data = np.hstack([data, np.ones((data.shape[0],1))]) train_data, test_data, train_target, test_target = sklearn.model_selection.train_test_split(data, target.astype(int), test_size=0.3, random_state=47)
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tomto tutoriálu Pythonu pro pokročilé se budeme zabývat klasifikací do více tříd a probereme přístup one-vs-one.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.