17. diel - Neurónové siete – Klasifikácia do viacerých tried

V minulej lekcii, Neurónové siete - Dokončenie krížovej entropie , sme hlbšie rozobrali tému krížovej entropie - variant "multi-class" a zoznámili sa s "negative log-likelihood".

V tejto lekcii tutoriálu Neurónovej siete - Pokročilé sa budeme zaoberať klasifikáciou do viacerých tried. Našim cieľom je mať konečne model, ktorý dokáže rozlíšiť všetky čísla z dátovej sady MNIST (nebudeme sa teda ďalej zaoberať iba štvorkou a deviatkou). Správnym spôsobom riešenia tohto problému je použitie funkcie softmax(). Postupne si ukážeme rôzne prístupy a následne ich porovnáme. Táto lekcia bude o prístupe one-vs-one.

Najprv importy:

import numpy as np
import matplotlib.pyplot as plt
import sklearn.preprocessing, sklearn.datasets, sklearn.model_selection

Na začiatok potrebujeme dáta. Šablóna je stále rovnaká:

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)

 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V tejto lekcii tutoriálu Neurónovej siete - Pokročilé sa budeme zaoberať klasifikáciou do viacerých tried a preberieme prístup &quot;one-vs-one&quot;.
Článok pre vás napísal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity