[PYTHON] Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2

introduction

Ceci est la partie 2 du mémo d'apprentissage pour "Deep-Learning from scratch".

Réseau de neurones à deux couches (chapitre 4)

train_neuralnet


#Lire les données
(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  #Définissez le nombre de répétitions comme il convient
train_size = x_train.shape[0] # 60000
batch_size = 100
learning_rate = 0.1

train_loss_list = []
train_acc_list = []
test_acc_list = []
#Traitement itératif par époque 60000/ 100
iter_per_epoch = max(train_size / batch_size, 1)

train_neuralnet


for i in range(iters_num): #10000
    #Obtenez un mini lot
    batch_mask = np.random.choice(train_size, batch_size) # (100,)Forme de
    x_batch = x_train[batch_mask] # (100,784)Forme de
    t_batch = t_train[batch_mask] # (100,784)Forme de
    
    #Calcul du gradient
    #grad = network.numerical_gradient(x_batch, t_batch)
    grad = network.gradient(x_batch, t_batch)
    
    #Mise à jour des paramètres
    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)

    #Enregistrer les données lorsque les conditions sont remplies pour 1 époque à 600
    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


#Dessiner un graphique
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()

référence

Apprentissage profond à partir de zéro

Recommended Posts

Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2
[Memo] Apprentissage automatique
Classification des images de guitare par apprentissage automatique Partie 1
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Mémo du cours d'apprentissage automatique
Classification des images de guitare par apprentissage automatique, partie 2
Touchons une partie de l'apprentissage automatique avec Python
Un jeune ingénieur a réussi le test G, alors notez ce que vous avez appris
Impressions d'avoir obtenu le nano-diplôme Udacity Machine Learning Engineer
Mémo de construction d'environnement d'apprentissage automatique par Python
Bases de l'apprentissage automatique (mémoire)
Mémo pratique du système d'apprentissage automatique
Créer un environnement d'apprentissage automatique
Importance des ensembles de données d'apprentissage automatique
Vérification des performances du prétraitement des données pour l'apprentissage automatique (données numériques) (partie 2)
Un résumé de l'apprentissage automatique Python pour débutant est très concis.
Vérification des performances du prétraitement des données pour l'apprentissage automatique (données numériques) (partie 1)
Importance de l'apprentissage automatique et de l'apprentissage par mini-lots
Apprentissage automatique ③ Résumé de l'arbre de décision
Analyse inverse du modèle d'apprentissage automatique
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
Une histoire coincée avec l'installation de la bibliothèque de machine learning JAX
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 4)
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 5)
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
Algorithme d'apprentissage automatique (généralisation de la régression linéaire)
J'ai changé de travail pour devenir ingénieur en apprentissage automatique chez AtCoder Jobs
Prédire la demande de puissance avec l'apprentissage automatique, partie 2
[Mémo d'apprentissage] Bases de la classe par python
Une compréhension approximative de python-fire et un mémo
Viser à devenir un ingénieur en apprentissage automatique en utilisant des MOOC depuis des postes de vente
Apprendre le latin dans le but d'écrire un programme d'analyse de phrases latines (partie 1)
Une histoire sur l'apprentissage automatique avec Kyasuket
Devenez bientôt un ingénieur IA! Apprenez complètement Python / AI / Machine learning / Deep learning / Analyse statistique en quelques jours!
20 sélections recommandées en 2020 de livres d'introduction à l'apprentissage automatique
Apprentissage automatique
Algorithme d'apprentissage automatique (implémentation de la classification multi-classes)
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Bases du réseau neuronal
Un mémo expliquant la spécification de l'axe de l'axe
[Apprentissage automatique] Liste des packages fréquemment utilisés
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Mémo sur Sphinx Partie 1 (Création d'un projet)
[Livre d'images sur l'apprentissage automatique] Mémo lorsque l'exercice Python à la fin du livre a été effectué lors de la vérification des données
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer jusqu'à la fin du chapitre 2
Créer un environnement de développement pour l'apprentissage automatique
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
Classification EV3 x Pyrhon Machine Learning Partie 3
Version gratuite de DataRobot! ?? Introduction à «PyCaret», une bibliothèque qui automatise l'apprentissage automatique
Prédire les travaux de courte durée de Weekly Shonen Jump par apprentissage automatique (Partie 2: Apprentissage et évaluation)
Une histoire sur l'obtention d'un taux de récupération des courses de chevaux de plus de 100% grâce à l'apprentissage automatique
Apprentissage automatique appris par des ingénieurs système de haut niveau à Coursera (tours 1-2)
Résumé des techniques de commande Linux que je connaissais quand j'étais un ingénieur débutant
Prédire les travaux de courte durée de Weekly Shonen Jump par apprentissage automatique (Partie 1: Analyse des données)
Un mémorandum de méthode souvent utilisé dans l'apprentissage automatique utilisant scikit-learn (pour les débutants)
Un mémo qui a fait un tutoriel pour exécuter python sur heroku