[PYTHON] Maschinelles Lernen eines jungen Ingenieurs Teil 2

Einführung

Dies ist Teil 2 des Lernmemos für "Deep-Learning von Grund auf neu".

2-lagiges neuronales Netzwerk (Kapitel 4)

train_neuralnet


#Daten lesen
(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True,flatten=True, one_hot_label=True)

train_neuralnet


network = TwoLayerNet(input_size=784, hidden_size=50, output_size=10)

train_neuralnet


iters_num = 10000  #Stellen Sie die Anzahl der Wiederholungen entsprechend ein
train_size = x_train.shape[0] # 60000
batch_size = 100
learning_rate = 0.1

train_loss_list = []
train_acc_list = []
test_acc_list = []
#Iterative Verarbeitung pro Epoche 60000/ 100
iter_per_epoch = max(train_size / batch_size, 1)

train_neuralnet


for i in range(iters_num): #10000
    #Holen Sie sich eine Mini-Charge
    batch_mask = np.random.choice(train_size, batch_size) # (100,)Form von
    x_batch = x_train[batch_mask] # (100,784)Form von
    t_batch = t_train[batch_mask] # (100,784)Form von
    
    #Gradientenberechnung
    #grad = network.numerical_gradient(x_batch, t_batch)
    grad = network.gradient(x_batch, t_batch)
    
    #Parameteraktualisierung
    for key in ('W1', 'b1', 'W2', 'b2'):
        network.params[key] -= learning_rate * grad[key]
    
    loss = network.loss(x_batch, t_batch)
    train_loss_list.append(loss)

    #Speichern Sie Daten, wenn die Bedingungen für 1 Epoche bei 600 erfüllt sind
    if i % iter_per_epoch == 0:
        train_acc = network.accuracy(x_train, t_train)
        test_acc = network.accuracy(x_test, t_test)
        train_acc_list.append(train_acc)
        test_acc_list.append(test_acc)
        print("train acc, test acc | " + str(train_acc) + ", " + str(test_acc))

python


#Zeichnen eines Diagramms
x = np.arange(len(train_acc_list))
plt.plot(x, train_acc_list,'o', label='train acc')
plt.plot(x, test_acc_list, label='test acc', linestyle='--')
plt.xlabel("epochs")
plt.ylabel("accuracy")
plt.ylim(0, 1.0)
plt.legend(loc='lower right')
plt.show()

Referenz

Deep Learning von Grund auf neu

Recommended Posts

Maschinelles Lernen eines jungen Ingenieurs Teil 1
Maschinelles Lernen eines jungen Ingenieurs Teil 2
[Memo] Maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 1
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Memo zum Kurs für maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Ein junger Ingenieur hat den G-Test bestanden. Notieren Sie sich also, was Sie gelernt haben
Eindrücke vom Udacity Machine Learning Engineer Nano-Abschluss
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
Grundlagen des maschinellen Lernens (Denkmal)
Praktisches Memo zum maschinellen Lernsystem
Erstellen Sie eine maschinelle Lernumgebung
Bedeutung von Datensätzen für maschinelles Lernen
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 2)
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 1)
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums
Inverse Analyse des maschinellen Lernmodells
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 4)
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 5)
Python & Machine Learning Study Memo: Vorbereitung der Umgebung
Algorithmus für maschinelles Lernen (Verallgemeinerung der linearen Regression)
Ich wechselte meinen Job zu einem Ingenieur für maschinelles Lernen bei AtCoder Jobs
Vorhersage des Strombedarfs durch maschinelles Lernen Teil 2
[Lernnotiz] Grundlagen des Unterrichts mit Python
Ein grobes Verständnis von Python-Feuer und ein Memo
Mit dem Ziel, ein Ingenieur für maschinelles Lernen zu werden, der MOOCs aus Vertriebspositionen verwendet
Latein lernen zum Schreiben eines lateinischen Satzanalyseprogramms (Teil 1)
Eine Geschichte über maschinelles Lernen mit Kyasuket
Werden Sie bald KI-Ingenieur! Lernen Sie in wenigen Tagen umfassend Python / KI / Maschinelles Lernen / Deep Learning / Statistische Analyse!
2020 Empfohlen 20 Auswahlmöglichkeiten für einführende Bücher zum maschinellen Lernen
Maschinelles Lernen
Algorithmus für maschinelles Lernen (Implementierung einer Klassifizierung mit mehreren Klassen)
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 13 Grundlagen des neuronalen Netzwerks
Ein Memo, das die Achsenspezifikation der Achse erklärt
[Maschinelles Lernen] Liste der häufig verwendeten Pakete
Python & Machine Learning Study Memo ③: Neuronales Netz
Python & maschinelles Lernen Lernnotiz Machine: Maschinelles Lernen durch Rückausbreitung
Memo über Sphinx Teil 1 (Erstellen eines Projekts)
[Bildbuch zum maschinellen Lernen] Memo, wenn die Python-Übung am Ende des Buches ausgeführt wurde, während die Daten überprüft wurden
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2
Erstellen einer Entwicklungsumgebung für maschinelles Lernen
Python & Machine Learning Study Memo ⑥: Zahlenerkennung
"Deep Learning from Grund" Memo zum Selbststudium (Teil 12) Deep Learning
EV3 x Pyrhon Maschinelles Lernen Teil 3 Klassifizierung
Kostenlose Version von DataRobot! ?? Einführung in "PyCaret", eine Bibliothek, die maschinelles Lernen automatisiert
Vorhersage kurzlebiger Arbeiten von Weekly Shonen Jump durch maschinelles Lernen (Teil 2: Lernen und Bewertung)
Eine Geschichte über das Erreichen einer Wiederherstellungsrate von Pferderennen von über 100% durch maschinelles Lernen
Maschinelles Lernen, das von hochqualifizierten Systemingenieuren bei Coursera gelernt wurde (Runden 1-2)
Zusammenfassung der Linux-Befehlstechniken, die ich als junger Ingenieur kannte
Vorhersage kurzlebiger Arbeiten von Weekly Shonen Jump durch maschinelles Lernen (Teil 1: Datenanalyse)
Ein Memorandum über Methoden, die häufig beim maschinellen Lernen mit Scikit-Learn (für Anfänger) verwendet werden.
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat