Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
projets:creer_son_premier_reseau_de_neurone_from_scratch [12/06/2019 14:23] – amenasria | projets:creer_son_premier_reseau_de_neurone_from_scratch [12/06/2019 14:44] (Version actuelle) – amenasria | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ==== Mon premier réseau de neurones from scratch ==== | ||
+ | // | ||
+ | |||
+ | === Qu'est ce qu'un réseau de neurones ? === | ||
+ | |||
+ | La plupart des articles compare ce concept à celui du cerveau humain. Cette image, bien que parlante, est assez éloignée de la réalité. | ||
+ | |||
+ | Il est plus facile de décrire un réseau de neurones comme une fonction mathématique qui à partir d'un élément initialement donné (input) renvoie un élément (output) désiré. | ||
+ | |||
+ | - | ||
+ | |||
+ | Ainsi un réseau de neurones est constitués des composants suivants : | ||
+ | |||
+ | * Une couche d' | ||
+ | * Un nombre arbitraire de couches cachées (**hidden layers**) | ||
+ | * Une couche de sortie (**output layer**), **ŷ** | ||
+ | * Un set de poids (**weights**) et de préjugés (**biases**) entre chaque couche, **W** et **b** | ||
+ | * Le choix d'une fonction d' | ||
+ | |||
+ | //Nous choisirons ici la fonction [[https:// | ||
+ | |||
+ | - | ||
+ | |||
+ | Le graphique suivant nous montre l' | ||
+ | (N.B: on exclut l' | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | === Création de l' | ||
+ | |||
+ | Commençons par importer les librairies dont nous aurons besoin : | ||
+ | |||
+ | <file python> | ||
+ | import numpy as np | ||
+ | </ | ||
+ | |||
+ | Puis créons la classe selon les composants dont nous avons parlé plus tôt : | ||
+ | |||
+ | <file python> | ||
+ | class NeuralNetwork: | ||
+ | def __init__(self, | ||
+ | self.input | ||
+ | self.weights1 = np.random.rand(self.input.shape[1], | ||
+ | self.weights2 = np.random.rand(4, | ||
+ | self.y | ||
+ | self.output | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === Entraînement de notre réseau de neurones === | ||
+ | |||
+ | L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | On remarque dans les équations ci-dessus que les poids **W** et les préjugés **b** sont les seules variables dont dépend **ŷ**. | ||
+ | |||
+ | Naturellement, |