Mémo d'étude Python & Machine Learning ③: Réseau neuronal

A continué

Matériel de référence

Cours d'IA d'Udemy Everyone sur l'intelligence artificielle et l'apprentissage automatique à partir de zéro avec Python

Paramètre de problème

Compte tenu de la latitude et de la longitude, créez un programme qui détermine s'il appartient à Tokyo ou Kanagawa.

Méthode de jugement

Le jugement est fait par un réseau neuronal avec deux couches d'entrée, deux couches intermédiaires et une couche de sortie.

Classe de neurones

class Neuron:
    input_sum = 0.0
    output = 0.0

    def setInput(self, inp):
        self.input_sum += inp

    def getOutput(self):
        self.output = sigmoid(self.input_sum)
        return self.output

    def reset(self):
        self.input_sum = 0
        self.output = 0

setInput Additionnez les entrées.

getOutput Sort la valeur obtenue en convertissant la valeur d'entrée avec la fonction d'activation. Les neurones ont la caractéristique de se déclencher lorsque la valeur d'entrée dépasse le seuil, et cela est imité en appliquant la fonction sigmoïde à la fonction d'activation comme décrit ci-dessus.

reset Réinitialisez la valeur d'entrée.

réseau neuronal

class NeuralNetwork:
    #Poids d'entrée
    w_im = [[0.496, 0.512], [-0.501, 0.990], [0.490, -0.502]] # [[i1-m1, i1-m2], [i2-m1, i2-m2], [bias1-m1, bias1-m2]]
    w_mo = [0.121, -0.4996, 0.200] # [m1-o, m2-o, bias2-0]
    #Déclaration de chaque couche
    input_layer = [0.0, 0.0, 1.0]
    middle_layer = [Neuron(), Neuron(), 1.0]
    ouput_layer = Neuron()
    ...

«Le troisième élément de input_layer» et «middle_layer» est le biais.

Format d'entrée et lecture de fichier

Fichier d'entrée

Lisez un fichier qui décrit la longitude et la latitude sur une seule ligne.

35.48,137.76
35.47,137.81
35.29,138.06
...

Les résultats obtenus

Figure_1.png

Il est possible de faire la distinction entre Tokyo et Kanagawa par rapport à des frontières complexes. Pour faire un bon jugement, il est nécessaire de définir le poids et le seuil de chaque entrée de manière appropriée. La méthode de réglage sera apprise à partir de la prochaine fois.

Recommended Posts

Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
[Python / Machine Learning] Pourquoi le Deep Learning # 1 Perceptron Neural Network
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Mémo d'étude Python & Machine Learning ②: Introduction de la bibliothèque
Mémo d'étude Python & Machine Learning ⑦: Prévision du cours de l'action
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Formation sur les réseaux neuronaux ~ Chainer terminé
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
[Memo] Apprentissage automatique
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Classe Python (mémo d'apprentissage Python ⑦)
Module Python (mémo d'apprentissage Python ④)
Mémo du cours d'apprentissage automatique
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Bases du réseau neuronal
Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Réseau de neurones avec Python (scikit-learn)
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer du chapitre 2
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
Apprentissage automatique avec Python! Préparation
Bloc-notes de ressources d'étude d'apprentissage automatique
Mémo pratique du système d'apprentissage automatique
Programmation Python Machine Learning> Mots-clés
Implémentation de réseau neuronal en python
Commencer avec l'apprentissage automatique Python
Mémo de construction d'environnement d'apprentissage automatique par Python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 7 Analyse de régression
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Réseau neuronal avec OpenCV 3 et Python 3
Apprentissage automatique par python (1) Classification générale
Résumé de l'apprentissage automatique par les débutants de Python
PRML Chapitre 5 Implémentation Python du réseau neuronal
Entrée / sortie avec Python (mémo d'apprentissage Python ⑤)
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Python: prétraitement dans l'apprentissage automatique: présentation
Mémo d'apprentissage de la planification des sections ~ par python ~
mémo python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 10 Introduction à Cupy
Mémo Python
Apprentissage automatique
mémo python
apprentissage de python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 9 Introduction à scikit-learn
Mémo Python
Remarques sur la grammaire Python de l'apprentissage automatique PyQ
Numéros, chaînes, types de listes Python (mémo d'apprentissage Python ①)
[Mémo d'apprentissage] Bases de la classe par python
Amplifiez les images pour l'apprentissage automatique avec Python
Utiliser le groupe d'API d'apprentissage automatique A3RT de Python
Implémentation d'un réseau neuronal à 3 couches (pas d'apprentissage)
[python] Techniques souvent utilisées dans l'apprentissage automatique
Pourquoi Python est choisi pour l'apprentissage automatique
Note récapitulative sur la programmation d'apprentissage automatique Python (Jupyter)
Python: prétraitement en machine learning: acquisition de données
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
Structure et fonctionnement des données Python (mémo d'apprentissage Python ③)
[Python] Première analyse de données / apprentissage automatique (Kaggle)
[Python] Lorsqu'un amateur commence l'apprentissage automatique