Cet article a été publié dans le cadre du Blogathon sur la science des données
introduction
Ongle neuronal rougeLes réseaux de neurones sont des modèles computationnels inspirés du fonctionnement du cerveau humain. Ils utilisent des structures appelées neurones artificiels pour traiter et apprendre des données. Ces réseaux sont fondamentaux dans le domaine de l’intelligence artificielle, permettant des avancées significatives dans des tâches telles que la reconnaissance d’images, Traitement du langage naturel et prédiction de séries temporelles, entre autres. Leur capacité à apprendre des motifs complexes en fait des outils puissants.. artificial es un subcampo de la inteligencia artificial compilado bajo las redes neuronales de l'apprentissage en profondeurL'apprentissage en profondeur, Une sous-discipline de l’intelligence artificielle, s’appuie sur des réseaux de neurones artificiels pour analyser et traiter de grands volumes de données. Cette technique permet aux machines d’apprendre des motifs et d’effectuer des tâches complexes, comme la reconnaissance vocale et la vision par ordinateur. Sa capacité à s’améliorer continuellement au fur et à mesure que de nouvelles données lui sont fournies en fait un outil clé dans diverses industries, de la santé... que intenta imitar la red de neuronas que hace el cerebro humano, leur permettant de comprendre et de répondre comme un humain.
Table des matières
- Présentation du réseau de neurones
- Présentation de Keras
- Implémentation pas à pas de votre premier modèle Keras
- Combiner tout le code
- Note de fin
Brève description du réseau de neurones
Le réseau de neurones est constitué d'un plus grand ensemble de neurones, appelées unités superposées. En mots simples, Le réseau neuronal est conçu pour effectuer une tâche plus complexe où les algorithmes d'apprentissage automatique ne trouvent pas leur utilité et n'atteignent pas les performances requises.
Les réseaux de neurones sont utilisés pour effectuer de nombreuses tâches complexes, y compris la classification des images, détection d'objets, identification du visage, le résumé du texte, reconnaissance vocale et la liste est interminable.
Comment les réseaux de neurones apprennent-ils des caractéristiques complexes? Un réseau de neurones a de nombreuses couches et chaque couche remplit une fonction spécifique et complexe du réseau. Plus il y a de couches, plus de performances sont reçues. C'est pourquoi le réseau de neurones est également appelé perceptron multicouche..
Introduction à la bibliothèque Kears
Keras est une bibliothèque de réseau de neurones rapide, Open source et facile à utiliser écrit en Python qui s'exécute sur Theano ou Tensorflow. Tensorflow fournit des API de bas et de haut niveau; En réalité, Keras ne fournit qu'une API de haut niveau.
En tant que débutant, il est recommandé de travailler d'abord avec Keras, puis de passer à TensorFlow. La raison en est que l'utilisation des fonctions Tensorflow en tant que débutant est un peu complexe à comprendre et à interpréter, mais la fonctionnalité Keras est simple.
Créez votre premier modèle de réseau de neurones avec Keras
Nous allons construire un simple réseau de neurones artificiels en utilisant Keras étape par étape qui vous aidera à créer votre propre modèle à l'avenir.
Paso 1) Charger les données
Nous allons utiliser les données sur le diabète des Indiens Pima que vous pouvez télécharger à partir de ici. Il s'agit d'un ensemble de données simple fourni par l'ensemble de données UCI Machine Learning, contenant un dossier médical de patients indiens. Nous devons prédire si le patient a un début de diabète dans les 5 ans.
importer des pandas au format pd données = pd.read_csv('diabète.csv') x = data.drop("Résultat", axe=1) y = données["Résultat"]
C'est un problème de classification binaire où nous devons dire si l'apparition de votre diabète est 1 ou pas comme 0. Toutes les colonnes sont numériques, ce qui facilite la création directe d'un réseau de neurones sur celui-ci. Donc, nous avons séparé les données indépendantes et dépendantes.
Paso 2) Définir le modèle Keras
Le modèle dans Keras est toujours défini comme une séquence de couches. Cela signifie que nous initialisons le modèle de séquence et ajoutons les couches les unes après les autres qui s'exécutent comme la séquence de la liste. Nous devons pratiquement essayer d'expérimenter le processus d'ajout et de suppression de couches jusqu'à ce que nous soyons satisfaits de notre architecture..
Ce dont vous devez faire attention, c'est que la première couche a le nombre correct de caractéristiques d'entrée qui est spécifié à l'aide de la input_dim paramètre. on peut spécifier le nombre de neurones comme premier argument d'une couche. para definir la fonction de réveilLa fonction d’activation est un composant clé des réseaux de neurones, puisqu’il détermine la sortie d’un neurone en fonction de son entrée. Son objectif principal est d’introduire des non-linéarités dans le modèle, vous permettant d’apprendre des modèles complexes dans les données. Il existe différentes fonctions d’activation, comme le sigmoïde, ReLU et tanh, chacun avec des caractéristiques particulières qui affectent les performances du modèle dans différentes applications.... utilice el argumento de activación.
Dans cet exemple, nous allons définir un réseau entièrement connecté avec trois couches. Pour définir la couche entièrement connectée, utiliser la classe Keras Dense.
- La première couche a 12 neuronas y función de activación como reprendreLa fonction d’activation ReLU (Unité linéaire rectifiée) Il est largement utilisé dans les réseaux neuronaux en raison de sa simplicité et de son efficacité. Défini comme suit : ( F(X) = max(0, X) ), ReLU permet aux neurones de se déclencher uniquement lorsque l’entrée est positive, ce qui permet d’atténuer le problème de l’évanouissement en pente. Il a été démontré que son utilisation améliore les performances dans diverses tâches d’apprentissage profond, faire de ReLU une option..
- La deuxième couche cachée a 8 les neurones et la fonction d'activation comme relu
- Finalement, dans la Couche de sortieLa "Couche de sortie" est un concept utilisé dans le domaine des technologies de l’information et de la conception de systèmes. Il s’agit de la dernière couche d’un modèle logiciel ou d’une architecture qui est chargée de présenter les résultats à l’utilisateur final. Cette couche est cruciale pour l’expérience utilisateur, puisqu’il permet une interaction directe avec le système et la visualisation des données traitées...., nous utilisons 1 unité et activation comme sigmoïde car c'est un problème de classification binaire.
à partir de keras.models Importation séquentielle de keras.layers importer Dense modèle = Séquentiel() model.ajouter(Dense(12, input_dim=8, activation="reprendre")) model.ajouter(Dense(12, activation="reprendre")) model.ajouter(Dense(1, activation="sigmoïde"))
Recuerde especificar la forma correcta de los datos en la primera capa conocida como couche d'entréeLa "couche d'entrée" fait référence au niveau initial d’un processus d’analyse de données ou d’architectures de réseaux de neurones. Sa fonction principale est de recevoir et de traiter l’information brute avant qu’elle ne soit transformée par les couches suivantes. Dans le contexte de l’apprentissage automatique, Une bonne configuration de la couche d’entrée est cruciale pour garantir l’efficacité du modèle et optimiser ses performances dans des tâches spécifiques.....
Paso 3) Compiler le modèle Keras
Quand on compile le modèle Keras, utiliser des bibliothèques numériques backend comme TensorFlow ou Theano. Quel que soit le backend que vous utilisez, choisit automatiquement la meilleure façon de représenter le réseau sur votre matériel, comme processeur, GPU ou TPU.
Quand on compile le modèle, debemos especificar algunos paramètresLes "paramètres" sont des variables ou des critères qui sont utilisés pour définir, mesurer ou évaluer un phénomène ou un système. Dans divers domaines tels que les statistiques, Informatique et recherche scientifique, Les paramètres sont essentiels à l’établissement de normes et de standards qui guident l’analyse et l’interprétation des données. Leur sélection et leur manipulation correctes sont cruciales pour obtenir des résultats précis et pertinents dans toute étude ou projet.... adicionales para evaluar mejor el modelo y encontrar el mejor conjunto de ponderaciones para asignar entradas a salidas.
- Fonction de perteLa fonction de perte est un outil fondamental de l’apprentissage automatique qui quantifie l’écart entre les prédictions du modèle et les valeurs réelles. Son but est de guider le processus de formation en minimisant cette différence, permettant ainsi au modèle d’apprendre plus efficacement. Il existe différents types de fonctions de perte, tels que l’erreur quadratique moyenne et l’entropie croisée, chacun adapté à différentes tâches et...: la fonction de perte doit être spécifiée pour évaluer l'ensemble de poids auxquels le modèle sera mappé. Nous utiliserons l'entropie croisée comme fonction de perte qui est en fait connue sous le nom d'entropie croisée binaire utilisée pour la classification binaire.
- Optimiseur: le second est l'optimiseur pour optimiser la perte. Nous utiliserons Adam, qui est une version populaire de la descente de gradient et donne le meilleur résultat sur la plupart des problèmes.
modèle.compile(perte ="binary_crossentropy", optimiseur="Adam", métriques=["précision"])
Paso 4) Commence l'entraînement (adapter le modèle)
Après une compilation réussie du modèle, nous sommes prêts à adapter les données au modèle et à commencer à entraîner le réseau de neurones. En plus de fournir des données pour modéliser, necesitamos definir una cantidad de épocas y un tamaño de lote en el que se produce el entraînementLa formation est un processus systématique conçu pour améliorer les compétences, connaissances ou aptitudes physiques. Il est appliqué dans divers domaines, Comme le sport, Éducation et développement professionnel. Un programme d’entraînement efficace comprend la planification des objectifs, Pratique régulière et évaluation des progrès. L’adaptation aux besoins individuels et la motivation sont des facteurs clés pour obtenir des résultats réussis et durables dans toutes les disciplines.....
- ÉpoqueEpoch est une plateforme qui propose des outils pour la création et la gestion de contenus numériques. Son objectif est de faciliter la production multimédia, Permettre aux utilisateurs de collaborer et de partager efficacement des informations. Avec une interface intuitive, Epoch est devenu un choix populaire parmi les professionnels et les entreprises qui cherchent à rationaliser leur flux de travail à l’ère numérique. Sa polyvalence le rend adapté à une variété de personnes..: passage unique à travers toutes les lignes de l'ensemble de données d'entraînement
- Taille du lot: nombre d'échantillons pris en compte par le modèle avant la mise à jour des poids.
model.fit(X,Oui, époques=150, taille_lot=10)
Une époque peut être composée de plusieurs lots. Ces paramètres sont finalement décidés après la méthode de chaleur et d'essai.
Paso 5) Évaluer le modèle
Après avoir formé le modèle, faisons connaître les performances d'un réseau de neurones. Le modèle est toujours évalué dans un ensemble de test. Dans cet exemple, Pour la simplicité, nous nous sommes entraînés sur un ensemble de données complet, mais en travaillant sur n'importe quel projet, divise essentiellement les données et entraîne le réseau.
_, precision = model.evaluate(X, Oui) imprimer("Précision du modèle: %.2F"% (précision*100))
Pour évaluer le modèle, utiliser la méthode d'évaluation et transmettre l'entrée et la sortie au modèle et vérifier les performances.
Paso 6) Faire des prédictions
prédire la sortie de nouvelles données en utilisant simplement la méthode de prédiction. nous avons un énoncé de problème de classification binaire, donc la sortie sera simplement 0 O 1.
prédictions = model.predict(X) imprimer([tour(X[0]) pour x dans les prédictions])
Alternativement, vous pouvez également utiliser le prédire_classes fonction pour prédire directement les classes.
C'est résolu, nous avons facilement créé un réseau de neurones avec 3 couches en utilisant seulement quelques lignes de code avec Keras.
Compilez tout le code ensemble
modèle = Séquentiel() #définir le modèle model.ajouter(Dense(12, input_dim=8, activation="reprendre")) model.ajouter(Dense(8, activation="reprendre")) model.ajouter(Dense(1, activation="sigmoïde")) modèle.compile(perte ="binary_crossentropy", optimiseur="Adam", métriques=["précision"]) #modèle de compilation model.fit(X,Oui, époques=150, taille_lot=10) #entraînement _, precision = model.evaluate(X,Oui) #essai imprimer("Précision du modèle: %.2F"% (précision*100)) prédictions = model.predict(X) #faire des prédictions #arrondir la prédiction arrondi = [tour(X[0]) pour x dans les prédictions]
Note de fin
Un réseau de neurones construit un réseau de couches connectées avec plusieurs neurones dans chaque couche. UNE mesureLa "mesure" C’est un concept fondamental dans diverses disciplines, qui fait référence au processus de quantification des caractéristiques ou des grandeurs d’objets, phénomènes ou situations. En mathématiques, Utilisé pour déterminer les longueurs, Surfaces et volumes, tandis qu’en sciences sociales, il peut faire référence à l’évaluation de variables qualitatives et quantitatives. La précision des mesures est cruciale pour obtenir des résultats fiables et valides dans toute recherche ou application pratique.... que aumentamos el número de capas, le réseau est capable d'apprendre des caractéristiques plus complexes.
Vous avez facilement créé votre premier modèle de réseau de neurones avec Keras. J'espère que c'était facile de saisir toutes les choses. Si vous avez des questions, commentez s'il vous plaît. je serai heureux de vous aider.
Si vous aimez l'article, Jetez un oeil sur mes autres objets. Relier