
Manuel d'apprentissage automatique : édition PyTorch
Description
Introduction au livre
Découvrez les livres les plus vendus d'Amazon en version PyTorch !
Un guide pratique d'apprentissage automatique/d'apprentissage profond, avec une théorie solide et des exemples variés.
Le best-seller d'Amazon « Machine Learning Textbook » renaît avec une édition PyTorch ! Cet ouvrage propose une explication équilibrée de la théorie et du code, couvrant les concepts essentiels à la compréhension du machine learning et du deep learning, le fonctionnement et l'utilisation des algorithmes fondamentaux, les mathématiques sous-jacentes, des exemples pratiques et comment éviter les pièges courants.
De plus, l'apprentissage automatique est expliqué à l'aide des bibliothèques de base basées sur Python (SciPy, NumPy, scikit-learn, Matplotlib, Pandas), et l'apprentissage profond est expliqué à l'aide de PyTorch.
Outre les concepts fondamentaux de PyTorch, cet ouvrage aborde également les dernières tendances telles que les transformateurs, PyTorch Lightning, XGBoost et les réseaux de neurones graphiques, complétant ainsi le contenu de la 3e édition du manuel d'apprentissage automatique. Il est basé sur les dernières versions de scikit-learn et de PyTorch.
Recommandé à ceux qui souhaitent acquérir de solides bases en apprentissage automatique et en apprentissage profond.
Un guide pratique d'apprentissage automatique/d'apprentissage profond, avec une théorie solide et des exemples variés.
Le best-seller d'Amazon « Machine Learning Textbook » renaît avec une édition PyTorch ! Cet ouvrage propose une explication équilibrée de la théorie et du code, couvrant les concepts essentiels à la compréhension du machine learning et du deep learning, le fonctionnement et l'utilisation des algorithmes fondamentaux, les mathématiques sous-jacentes, des exemples pratiques et comment éviter les pièges courants.
De plus, l'apprentissage automatique est expliqué à l'aide des bibliothèques de base basées sur Python (SciPy, NumPy, scikit-learn, Matplotlib, Pandas), et l'apprentissage profond est expliqué à l'aide de PyTorch.
Outre les concepts fondamentaux de PyTorch, cet ouvrage aborde également les dernières tendances telles que les transformateurs, PyTorch Lightning, XGBoost et les réseaux de neurones graphiques, complétant ainsi le contenu de la 3e édition du manuel d'apprentissage automatique. Il est basé sur les dernières versions de scikit-learn et de PyTorch.
Recommandé à ceux qui souhaitent acquérir de solides bases en apprentissage automatique et en apprentissage profond.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
Chapitre 1.
Les ordinateurs apprennent à partir des données
1.1 Construire un système intelligent qui transforme les données en connaissances
1.2 Trois types d'apprentissage automatique
1.2.1 Prédire l'avenir grâce à l'apprentissage supervisé
1.2.2 Résolution de problèmes réactifs par apprentissage par renforcement
1.2.3 Découverte de la structure cachée grâce à l'apprentissage non supervisé
1.3 Introduction à la terminologie et à la notation de base
1.3.1 Notations et conventions utilisées dans ce livre
1.3.2 Terminologie de l'apprentissage automatique
1.4 Feuille de route pour la construction de systèmes d'apprentissage automatique
1.4.1 Prétraitement : Mise en forme des données
1.4.2 Entraînement et sélection d'un modèle prédictif
1.4.3 Évaluer le modèle et effectuer des prédictions à l'aide d'échantillons non observés.
1.5 Python pour l'apprentissage automatique
__1.5.1 Installation de paquets avec Python et PIP
__1.5.2 Utilisation de la distribution et du gestionnaire de paquets Anaconda pour Python
__1.5.3 Packages pour le calcul scientifique, la science des données et l'apprentissage automatique
1.6 Résumé
Chapitre 2.
Entraînement d'un algorithme de classification simple
2.1 Neurones artificiels : bref historique des débuts de l’apprentissage automatique
__2.1.1 Définition mathématique des neurones artificiels
__2.1.2 Règles d'apprentissage du perceptron
2.2 Implémentation de l'algorithme d'apprentissage du perceptron en Python
__2.2.1 API Perceptron orientée objet
__2.2.2 Entraînement d'un perceptron sur le jeu de données Iris
2.3 Neurones linéaires adaptatifs et convergence d'apprentissage
2.3.1 Minimisation de la fonction de perte par descente de gradient
__2.3.2 Implémentation d'Adalin en Python
__2.3.3 Amélioration des résultats de la descente de gradient par ajustement des échelles de caractéristiques
__2.3.4 Apprentissage automatique à grande échelle et descente de gradient stochastique
2.4 Résumé
Chapitre 3.
Présentation des modèles de classification d'apprentissage automatique avec Scikit-Learn
3.1 Choix d'un algorithme de classification
3.2 Premiers pas avec Scikit-Learn : Entraînement d’un perceptron
3.3 Modélisation de la probabilité de classe à l'aide de la régression logistique
3.3.1 Comprendre la régression logistique et la probabilité conditionnelle
3.3.2 Apprentissage des pondérations pour la fonction de perte logistique
3.3.3 Remplacer l'implémentation d'Adalin par un algorithme de régression logistique
3.3.4 Entraînement d'un modèle de régression logistique à l'aide de Scikit-Learn
3.3.5 Éviter le surapprentissage grâce à la régularisation
3.4 Classification à marge maximale à l'aide de machines à vecteurs de support
__3.4.1 Marge maximale
3.4.2 Résolution des problèmes de classification non linéaire à l'aide de variables d'écart
__3.4.3 Autres implémentations de scikit-learn
3.5 Résolution de problèmes non linéaires à l'aide de SVM à noyau
3.5.1 Méthodes à noyau pour les données linéairement non séparables
__3.5.2 Recherche d'un hyperplan de partitionnement dans un espace de grande dimension à l'aide de techniques de noyau
3.6 Apprentissage par arbre de décision
3.6.1 Optimisation des gains d'information : Optimisation de l'utilisation des ressources
3.6.2 Création d'un arbre de décision
__3.6.3 Connexion de plusieurs arbres de décision avec des forêts aléatoires
3.7 k plus proches voisins : un algorithme d’apprentissage paresseux
3.8 Résumé
Chapitre 4.
Création d'un bon jeu de données d'entraînement : prétraitement des données
4.1 Gestion des données manquantes
4.1.1 Identification des valeurs manquantes dans les données tabulaires
4.1.2 Exclusion des échantillons d'entraînement ou des caractéristiques comportant des valeurs manquantes
4.1.3 Remplacement des valeurs manquantes
4.1.4 Se familiariser avec l'API d'estimation de scikit-learn
4.2 Traitement des données catégorielles
4.2.1 Encodage des données catégorielles avec Pandas
4.2.2 Cartographie des entités ordonnées
4.2.3 Encodage des étiquettes de classe
4.2.4 Application de l'encodage one-hot aux caractéristiques non ordonnées
4.3 Divisez l'ensemble de données en ensembles de données d'entraînement et de test.
4.4 Correspondance avec l'échelle des caractéristiques
4.5 Choisir des traits utiles
4.5.1 Régularisation L1 et régularisation L2 pour limiter la complexité du modèle
4.5.2 Interprétation géométrique de la réglementation L2
4.5.3 Parcimonie utilisant la régularisation L1
__4.5.4 Algorithme de sélection séquentielle de caractéristiques
4.6 Utilisation de l'importance des caractéristiques dans les forêts aléatoires
4.7 Résumé
Chapitre 5.
Compression de données par réduction de dimensionnalité
5.1 Réduction de dimensionnalité non supervisée par analyse en composantes principales
5.1.1 Étapes clés de l'analyse en composantes principales
5.1.2 Étape d'extraction des composantes principales
5.1.3 Variance totale et variance expliquée
5.1.4 Conversion d'attributs
__5.1.5 Analyse en composantes principales dans Scikit-Learn
5.2 Compression de données supervisée par analyse discriminante linéaire
5.2.1 Analyse en composantes principales vs. analyse discriminante linéaire
5.2.2 Fonctionnement interne de l'analyse discriminante linéaire
5.2.3 Calcul de la matrice de dispersion
__5.2.4 Sélection des vecteurs discriminants linéaires pour les nouveaux sous-espaces de caractéristiques
5.2.5 Projection des échantillons dans un nouvel espace de caractéristiques
__5.2.6 LDA dans scikit-learn
5.3 Réduction de dimensionnalité non linéaire et visualisation
__5.3.1 Pourquoi envisager une réduction de dimensionnalité non linéaire ?
5.3.2 Visualisation des données à l'aide de t-SNE
5.4 Résumé
Chapitre 6.
Meilleures pratiques pour l'évaluation des modèles et le réglage des hyperparamètres
6.1 Flux de travail efficace grâce aux pipelines
__6.1.1 Ensemble de données sur le cancer du sein du Wisconsin
6.1.2 Raccordement des transformateurs et des estimateurs aux canalisations
6.2 Évaluation des performances du modèle à l'aide de la validation croisée k-fold
6.2.1 Méthode de test de validation
__6.2.2 Validation croisée à k plis
6.3 Débogage des algorithmes à l'aide des courbes d'apprentissage et de validation
6.3.1 Analyse des problèmes de biais et de variance liés aux courbes d'apprentissage
6.3.2 Analyse du surapprentissage et du sous-apprentissage à l'aide de courbes de validation
6.4 Optimisation des modèles d'apprentissage automatique par recherche sur grille
6.4.1 Optimisation des hyperparamètres par recherche sur grille
6.4.2 Exploration plus large des paramètres d'hyperparamètres avec la recherche aléatoire
6.4.3 Recherche d'hyperparamètres économe en ressources à l'aide de la méthode SH
6.4.4 Sélection de l'algorithme par validation croisée imbriquée
6.5 Divers indicateurs d'évaluation des performances
6.5.1 Matrice d'erreur
6.5.2 Optimisation de la précision et du rappel des modèles de classification
6.5.3 Tracé de la courbe ROC
6.5.4 Métriques de performance pour la classification multiple
6.5.5 Gestion des classes déséquilibrées
6.6 Résumé
Chapitre 7.
Apprentissage d'ensemble combinant différents modèles
7.1 Apprentissage en ensemble
7.2 Classification par ensemble utilisant le vote majoritaire
7.2.1 Mise en œuvre d'un classificateur à vote majoritaire simple
7.2.2 Élaboration de prédictions à l'aide du vote majoritaire
7.2.3 Évaluation et optimisation des classificateurs d'ensemble
7.3 Bagging : Ensembles de classification par échantillonnage bootstrap
7.3.1 Fonctionnement de l'algorithme de bagging
7.3.2 Classification d'échantillons de l'ensemble de données sur le vin à l'aide de la méthode d'agrégation (Bagging)
7.4 AdaBoost avec des apprenants faibles
7.4.1 Fonctionnement du boosting
7.4.2 Utilisation d'AdaBoost dans Scikit-learn
7.5 Gradient Boosting : Entraînement d'ensemble basé sur le gradient de perte
7.5.1 Comparaison d'AdaBoost et de Gradient Boosting
__7.5.2 Introduction à l'algorithme de gradient boosting
7.5.3 Algorithme de gradient boosting pour la classification
__7.5.4 Exemple de classification par gradient boosting
__7.5.5 Utilisation de XGBoost
7.6 Résumé
Chapitre 8.
Application de l'apprentissage automatique à l'analyse des sentiments
8.1 Préparation des données de critiques de films IMDb pour le traitement de texte
8.1.1 Obtention d'un ensemble de données de critiques de films
8.1.2 Prétraitement de l'ensemble de données de critiques de films sous une forme plus simple
8.2 Introduction au modèle BoW
8.2.1 Conversion des mots en vecteurs de caractéristiques
8.2.2 Évaluation de la pertinence des mots à l'aide de TF-IDF
8.2.3 Nettoyage des données textuelles
8.2.4 Division d'un document en jetons
8.3 Entraînement d'un modèle de régression logistique pour la classification de documents
8.4 Traitement de données à grande échelle : algorithmes en ligne et apprentissage en mémoire externe
8.5 Modélisation thématique à l'aide de l'allocation de Dirichlet latente
8.5.1 Décomposition de documents textuels à l'aide de LDA
__8.5.2 LDA dans scikit-learn
8.6 Résumé
Chapitre 9.
Prédiction des variables cibles continues à l'aide de l'analyse de régression
9.1 Régression linéaire
9.1.1 Régression linéaire simple
9.1.2 Régression linéaire multiple
9.2 Exploration de l'ensemble de données sur le logement d'Ames
__9.2.1 Lecture du jeu de données Ames Housing sous forme de DataFrame
9.2.2 Visualisation des principales caractéristiques de l'ensemble de données
9.2.3 Analyse à l'aide d'une matrice de corrélation
9.3 Mise en œuvre d'un modèle de régression linéaire par les moindres carrés
9.3.1 Détermination des paramètres d'un modèle de régression par descente de gradient
__9.3.2 Estimation des poids d'un modèle de régression avec scikit-learn
9.4 Entraînement d'un modèle de régression stable à l'aide de RANSAC
9.5 Évaluation des performances des modèles de régression linéaire
9.6 Application de la régularisation à la régression
9.7 Conversion d'un modèle de régression linéaire en régression polynomiale
__9.7.1 Addition de termes polynomiaux à l'aide de Scikit-learn
9.7.2 Modélisation des relations non linéaires à l'aide de l'ensemble de données sur le logement d'Ames
9.8 Gestion des relations non linéaires à l'aide de forêts aléatoires
__9.8.1 Régression par arbre de décision
__9.8.2 Régression par forêt aléatoire
9.9 Résumé
Chapitre 10.
Gestion des données non étiquetées : analyse de clusters
10.1 Regroupement d'objets similaires à l'aide de l'algorithme des k-moyennes
__10.1.1 Clustering k-means avec scikit-learn
__10.1.2 Attribution intelligente des centroïdes initiaux des clusters avec k-means++
10.1.3 Clustering direct vs. indirect
10.1.4 Détermination du nombre optimal de clusters par la méthode du coude
__10.1.5 Quantification de la qualité des clusters à l'aide de graphiques de silhouette
10.2 Organisation des groupes en un arbre hiérarchique
10.2.1 Clustering ascendant
10.2.2 Réalisation d'un clustering hiérarchique sur une matrice de distance
10.2.3 Relier un dendrogramme à une carte thermique
__10.2.4 Application du clustering par fusion dans scikit-learn
10.3 Détection des zones denses à l'aide de DBSCAN
10.4 Résumé
Chapitre 11.
Mise en œuvre d'un réseau neuronal artificiel multicouche à partir de zéro
11.1 Modélisation de fonctions complexes à l'aide de réseaux de neurones artificiels
__11.1.1 Résumé des réseaux neuronaux monocouches
11.1.2 Structure du réseau neuronal multicouche
11.1.3 Calcul de la sortie d'activation du réseau de neurones par calcul direct
11.2 Classification des chiffres manuscrits
11.2.1 Obtention du jeu de données MNIST
11.2.2 Implémentation d'un perceptron multicouche
__11.2.3 Programmation de la boucle d'apprentissage du réseau neuronal
__11.2.4 Évaluation des performances des modèles de réseaux neuronaux
11.3 Entraînement des réseaux de neurones artificiels
11.3.1 Calcul de la fonction de perte
__11.3.2 Comprendre l'algorithme de rétropropagation
__11.3.3 Entraînement d'un réseau neuronal avec l'algorithme de rétropropagation
11.4 Convergence des réseaux neuronaux
11.5 Quelques remarques sur l'implémentation des réseaux neuronaux
11.6 Résumé
Chapitre 12.
Entraînement de réseaux neuronaux avec PyTorch
12.1 PyTorch et performances d'entraînement
__12.1.1 Problèmes de performance
__12.1.2 Qu'est-ce que PyTorch ?
__12.1.3 Comment apprendre PyTorch
12.2 Premiers pas avec PyTorch
__12.2.1 Installation de PyTorch
__12.2.2 Création de tenseurs dans PyTorch
__12.2.3 Manipulation des types et des tailles de données tensorielles
__12.2.4 Application des opérations mathématiques aux tenseurs
__12.2.5 fonctions chunk(), stack(), cat()
12.3 Création d'un pipeline d'entrée PyTorch
__12.3.1 Création d'un DataLoader PyTorch à partir d'un tenseur
12.3.2 Concaténation de deux tenseurs en un seul ensemble de données
12.3.3 Mélanger, regrouper et répéter
__12.3.4 Création d'un jeu de données à partir d'un fichier sur le disque local
__12.3.5 Chargement des jeux de données à partir de la bibliothèque torchvision.datasets
12.4 Création d'un modèle de réseau neuronal avec PyTorch
__12.4.1 Module de réseau neuronal PyTorch (torch.nn)
12.4.2 Création d'un modèle de régression linéaire
__12.4.3 Entraînement d'un modèle avec les modules torch.nn et torch.optim
__12.4.4 Construction d'un perceptron multicouche pour la classification du jeu de données Iris
12.4.5 Évaluation du modèle sur l'ensemble de données de test
__12.4.6 Sauvegarde et chargement des modèles entraînés
12.5 Choix d'une fonction d'activation pour un réseau de neurones multicouches
__12.5.1 Résumé des fonctions logistiques
12.5.2 Prédiction de probabilité multiclasse à l'aide de la fonction softmax
__12.5.3 Élargissement de la plage de sortie avec des tangentes hyperboliques
__12.5.4 Fonction d'activation ReLU
12.6 Résumé
Chapitre 13.
Apprenez-en davantage sur l'architecture de PyTorch
13.1 Principales caractéristiques de PyTorch
13.2 Graphes de calcul PyTorch
__13.2.1 Comprendre les graphes de calcul
__13.2.2 Création de graphes avec PyTorch
13.3 Objets tenseurs PyTorch pour la sauvegarde et la mise à jour des paramètres du modèle
13.4 Calcul des gradients par différentiation automatique
13.4.1 Calcul du gradient de la fonction de perte par rapport aux variables entraînables
__13.4.2 Comprendre la différenciation automatique
__13.4.3 Échantillon hostile
13.5 Mise en œuvre d'architectures communes à l'aide du module torch.nn
__13.5.1 Implémentation d'un modèle basé sur nn.Sequential
13.5.2 Choix d'une fonction de perte
__13.5.3 Résolution du problème de classification XOR
__13.5.4 Création de modèles flexibles avec nn.Modules
__13.5.5 Création de calques personnalisés dans PyTorch
13.6 Projet 1 : Prévision de la consommation de carburant automobile
__13.6.1 Utilisation des colonnes d'attributs
13.6.2 Entraînement d'un modèle de régression DNN
13.7 Projet 2 : Classification des chiffres manuscrits de MNIST
13.8 API PyTorch de haut niveau : Présentation de PyTorch Lightning
__13.8.1 Préparation du modèle Lightning de PyTorch
__13.8.2 Préparation du chargeur de données pour Lightning
__13.8.3 Entraînement d'un modèle à l'aide de la classe Lightning Trainer
__13.8.4 Évaluation des modèles avec TensorBoard
13.9 Résumé
Chapitre 14.
Classification d'images avec des réseaux neuronaux convolutifs profonds
14.1 Composants d'un réseau neuronal convolutif
__14.1.1 Apprentissage des couches CNN et de caractéristiques
__14.1.2 Réalisation d'une convolution discrète
__14.1.3 Sous-échantillonnage
14.2 Construction d'un réseau neuronal convolutif profond à l'aide de blocs de base
__14.2.1 Gestion de plusieurs entrées ou canaux de couleur
14.2.2 Régularisation des réseaux de neurones avec la régularisation L2 et le dropout
__14.2.3 Fonction de perte pour la classification
14.3 Implémentation d'un réseau neuronal convolutif profond à l'aide de PyTorch
14.3.1 Structure CNN multicouche
__14.3.2 Chargement et prétraitement des données
__14.3.3 Implémentation d'un CNN à l'aide du module torch.nn
14.4 Classification des visages souriants à l'aide de réseaux neuronaux convolutifs
__14.4.1 Chargement du jeu de données CelebA
14.4.2 Conversion d'images et augmentation des données
__14.4.3 Entraînement d'un classificateur de visages souriants CNN
14.5 Résumé
Chapitre 15.
Modélisation de données séquentielles à l'aide de réseaux neuronaux récurrents
15.1 Introduction aux données séquentielles
15.1.1 Modélisation des données séquentielles : prise en compte de l’ordre
15.1.2 Données séquentielles vs. données de séries temporelles
__15.1.3 Représentation séquentielle
__15.1.4 Types de modélisation de séquences
15.2 Réseaux de neurones récurrents pour la modélisation de séquences
15.2.1 Comprendre la structure répétitive du RNN
15.2.2 Calcul de la sortie d'activation du RNN
__15.2.3 Boucles cachées et boucles de sortie
__15.2.4 La difficulté d'apprendre de longues séquences
Cellule LSTM __15.2.5
15.3 Implémentation de réseaux de neurones récurrents pour la modélisation de séquences avec PyTorch
15.3.1 Premier projet : Analyse des sentiments des critiques de films sur IMDb
__15.3.2 Deuxième projet : Implémentation d’un modèle de langage au niveau des caractères avec TensorFlow
15.4 Résumé
Chapitre 16.
Transformer : Améliorer les performances du traitement automatique du langage naturel grâce aux mécanismes d’attention
16.1 RNN avec mécanisme d'attention ajouté
16.1.1 Attention portée à l'aide apportée aux RNN pour la récupération des informations
__16.1.2 Mécanisme d'attention original pour les RNN
16.1.3 Traitement des entrées avec un RNN bidirectionnel
__16.1.4 Génération de sortie à partir d'un vecteur de contexte
__16.1.5 Calcul des pondérations d'attention
16.2 Introduction du mécanisme d'auto-attention
16.2.1 Formes fondamentales d'auto-attention
__16.2.2 Mécanisme d'auto-attention entraînable : attention au produit scalaire à l'échelle
16.3 Tout ce dont vous avez besoin, c'est d'attention : l'architecture originale du transformateur
__16.3.1 Encodage des plongements contextuels avec attention multi-têtes
__16.3.2 Entraînement du modèle de langage : Décodeur et attention multi-têtes masquée
__16.3.3 Détails d'implémentation : Encodage positionnel et normalisation des couches
16.4 Construction de modèles de langage à grande échelle à partir de données non étiquetées
16.4.1 Pré-entraînement et mise au point du modèle Transformer
16.4.2 Utilisation de données non étiquetées avec GPT
__16.4.3 Génération de nouveau texte à l'aide de GPT-2
__16.4.4 Pré-entraînement bidirectionnel avec BERT
__16.4.5 Le BART combine les atouts des deux
16.5 Optimisation d'un modèle BERT dans PyTorch
__16.5.1 Chargement de l'ensemble de données des critiques de films IMDb
__16.5.2 Tokenisation de l'ensemble de données 715
__16.5.3 Chargement et ajustement d'un modèle BERT pré-entraîné
__16.5.4 Ajustez facilement les transformateurs à l'aide de l'API d'entraînement
16.6 Résumé
Chapitre 17.
Réseaux antagonistes génératifs pour la synthèse de nouvelles données
17.1 Introduction aux réseaux antagonistes génératifs
__17.1.1 Auto-encodeur
__17.1.2 Modèle génératif pour la synthèse de nouvelles données
__17.1.3 Génération de nouveaux échantillons avec GAN
__17.1.4 Comprendre les fonctions de perte du générateur et du discriminateur des GAN
17.2 Implémentation d'un modèle GAN à partir de zéro
__17.2.1 Entraînement d'un modèle GAN dans Google Colab
17.2.2 Mise en œuvre de réseaux de neurones générateurs et discriminateurs
17.2.3 Définition de l'ensemble de données d'entraînement
__17.2.4 Entraînement d'un modèle GAN
17.3 Amélioration de la qualité des images synthétiques avec les GAN convolutionnels et les GAN de Wasserstein
__17.3.1 Convolution transposée
__17.3.2 Normalisation par lots
__17.3.3 Implémentation des constructeurs et des discriminateurs
__17.3.4 Mesure de la distance entre deux distributions
__17.3.5 Utilisation de la distance EM dans les GAN
__17.3.6 Pénalité de gradient
__17.3.7 Entraînement d'un modèle DCGAN avec WGAN-GP
__17.3.8 Mode réduit
17.4 Autres applications GAN
17.5 Résumé
Chapitre 18.
Réseaux neuronaux graphiques pour la détection de dépendances dans les données structurées en graphes
18.1 Introduction aux données graphiques
__18.1.1 Graphe non orienté
__18.1.2 Graphe orienté
__18.1.3 Graphique d'étiquettes
18.1.4 Représentation graphique des molécules
18.2 Comprendre la convolution de graphes
18.2.1 Motivation pour l'utilisation de la convolution de graphes
__18.2.2 Implémentation de base de la convolution de graphes
18.3 Implémentation d'un GNN à partir de zéro dans PyTorch
__18.3.1 Définition du modèle NodeNetwork
__18.3.2 Création d'une couche de convolution de graphe dans NodeNetwork
__18.3.3 Ajout d'une couche de mise en commun globale pour gérer les différentes tailles de graphes
__18.3.4 Préparation du chargeur de données
18.3.5 Prédiction à l'aide d'un réseau de nœuds
18.4 Implémentation de GNN à l'aide de la bibliothèque géométrique PyTorch
18.5 Autres couches GNN et développements récents
__18.5.1 Convolution spectrale de graphes
__18.5.2 Mise en commun
__18.5.3 Normalisation
18.5.4 Autres réseaux neuronaux graphiques avancés
18.6 Résumé
Chapitre 19.
Prise de décision dans des environnements complexes avec apprentissage par renforcement
19.1 Tirer des leçons de l'expérience
19.1.1 Comprendre l'apprentissage par renforcement
19.1.2 Définition de l'interface agent-environnement pour les systèmes d'apprentissage par renforcement
19.2 Théorie de base de l'apprentissage par renforcement
19.2.1 Processus de décision markovien
19.2.2 Formule mathématique du processus de décision markovien
19.2.3 Terminologie de l'apprentissage par renforcement : gain, politique et fonction de valeur
__19.2.4 Programmation dynamique utilisant l'équation de Bellman
19.3 Algorithmes d'apprentissage par renforcement
19.3.1 Programmation dynamique
19.3.2 Apprentissage par renforcement utilisant la méthode de Monte Carlo
__19.3.3 Apprentissage de la différence de temps
19.4 Mise en œuvre de votre premier algorithme d'apprentissage par renforcement
__19.4.1 Présentation du kit d'outils OpenAI Gym
__19.4.2 Résolution des problèmes du monde en grille avec l'apprentissage par renforcement Q
19.5 Apprentissage par renforcement profond (Deep Q-Learning)
19.5.1 Entraînement du modèle DQN à l'aide de l'algorithme Q-learning
__19.5.2 Implémentation d'un algorithme d'apprentissage par renforcement profond (Deep Q-Learning)
19.6 Résumé général
Les ordinateurs apprennent à partir des données
1.1 Construire un système intelligent qui transforme les données en connaissances
1.2 Trois types d'apprentissage automatique
1.2.1 Prédire l'avenir grâce à l'apprentissage supervisé
1.2.2 Résolution de problèmes réactifs par apprentissage par renforcement
1.2.3 Découverte de la structure cachée grâce à l'apprentissage non supervisé
1.3 Introduction à la terminologie et à la notation de base
1.3.1 Notations et conventions utilisées dans ce livre
1.3.2 Terminologie de l'apprentissage automatique
1.4 Feuille de route pour la construction de systèmes d'apprentissage automatique
1.4.1 Prétraitement : Mise en forme des données
1.4.2 Entraînement et sélection d'un modèle prédictif
1.4.3 Évaluer le modèle et effectuer des prédictions à l'aide d'échantillons non observés.
1.5 Python pour l'apprentissage automatique
__1.5.1 Installation de paquets avec Python et PIP
__1.5.2 Utilisation de la distribution et du gestionnaire de paquets Anaconda pour Python
__1.5.3 Packages pour le calcul scientifique, la science des données et l'apprentissage automatique
1.6 Résumé
Chapitre 2.
Entraînement d'un algorithme de classification simple
2.1 Neurones artificiels : bref historique des débuts de l’apprentissage automatique
__2.1.1 Définition mathématique des neurones artificiels
__2.1.2 Règles d'apprentissage du perceptron
2.2 Implémentation de l'algorithme d'apprentissage du perceptron en Python
__2.2.1 API Perceptron orientée objet
__2.2.2 Entraînement d'un perceptron sur le jeu de données Iris
2.3 Neurones linéaires adaptatifs et convergence d'apprentissage
2.3.1 Minimisation de la fonction de perte par descente de gradient
__2.3.2 Implémentation d'Adalin en Python
__2.3.3 Amélioration des résultats de la descente de gradient par ajustement des échelles de caractéristiques
__2.3.4 Apprentissage automatique à grande échelle et descente de gradient stochastique
2.4 Résumé
Chapitre 3.
Présentation des modèles de classification d'apprentissage automatique avec Scikit-Learn
3.1 Choix d'un algorithme de classification
3.2 Premiers pas avec Scikit-Learn : Entraînement d’un perceptron
3.3 Modélisation de la probabilité de classe à l'aide de la régression logistique
3.3.1 Comprendre la régression logistique et la probabilité conditionnelle
3.3.2 Apprentissage des pondérations pour la fonction de perte logistique
3.3.3 Remplacer l'implémentation d'Adalin par un algorithme de régression logistique
3.3.4 Entraînement d'un modèle de régression logistique à l'aide de Scikit-Learn
3.3.5 Éviter le surapprentissage grâce à la régularisation
3.4 Classification à marge maximale à l'aide de machines à vecteurs de support
__3.4.1 Marge maximale
3.4.2 Résolution des problèmes de classification non linéaire à l'aide de variables d'écart
__3.4.3 Autres implémentations de scikit-learn
3.5 Résolution de problèmes non linéaires à l'aide de SVM à noyau
3.5.1 Méthodes à noyau pour les données linéairement non séparables
__3.5.2 Recherche d'un hyperplan de partitionnement dans un espace de grande dimension à l'aide de techniques de noyau
3.6 Apprentissage par arbre de décision
3.6.1 Optimisation des gains d'information : Optimisation de l'utilisation des ressources
3.6.2 Création d'un arbre de décision
__3.6.3 Connexion de plusieurs arbres de décision avec des forêts aléatoires
3.7 k plus proches voisins : un algorithme d’apprentissage paresseux
3.8 Résumé
Chapitre 4.
Création d'un bon jeu de données d'entraînement : prétraitement des données
4.1 Gestion des données manquantes
4.1.1 Identification des valeurs manquantes dans les données tabulaires
4.1.2 Exclusion des échantillons d'entraînement ou des caractéristiques comportant des valeurs manquantes
4.1.3 Remplacement des valeurs manquantes
4.1.4 Se familiariser avec l'API d'estimation de scikit-learn
4.2 Traitement des données catégorielles
4.2.1 Encodage des données catégorielles avec Pandas
4.2.2 Cartographie des entités ordonnées
4.2.3 Encodage des étiquettes de classe
4.2.4 Application de l'encodage one-hot aux caractéristiques non ordonnées
4.3 Divisez l'ensemble de données en ensembles de données d'entraînement et de test.
4.4 Correspondance avec l'échelle des caractéristiques
4.5 Choisir des traits utiles
4.5.1 Régularisation L1 et régularisation L2 pour limiter la complexité du modèle
4.5.2 Interprétation géométrique de la réglementation L2
4.5.3 Parcimonie utilisant la régularisation L1
__4.5.4 Algorithme de sélection séquentielle de caractéristiques
4.6 Utilisation de l'importance des caractéristiques dans les forêts aléatoires
4.7 Résumé
Chapitre 5.
Compression de données par réduction de dimensionnalité
5.1 Réduction de dimensionnalité non supervisée par analyse en composantes principales
5.1.1 Étapes clés de l'analyse en composantes principales
5.1.2 Étape d'extraction des composantes principales
5.1.3 Variance totale et variance expliquée
5.1.4 Conversion d'attributs
__5.1.5 Analyse en composantes principales dans Scikit-Learn
5.2 Compression de données supervisée par analyse discriminante linéaire
5.2.1 Analyse en composantes principales vs. analyse discriminante linéaire
5.2.2 Fonctionnement interne de l'analyse discriminante linéaire
5.2.3 Calcul de la matrice de dispersion
__5.2.4 Sélection des vecteurs discriminants linéaires pour les nouveaux sous-espaces de caractéristiques
5.2.5 Projection des échantillons dans un nouvel espace de caractéristiques
__5.2.6 LDA dans scikit-learn
5.3 Réduction de dimensionnalité non linéaire et visualisation
__5.3.1 Pourquoi envisager une réduction de dimensionnalité non linéaire ?
5.3.2 Visualisation des données à l'aide de t-SNE
5.4 Résumé
Chapitre 6.
Meilleures pratiques pour l'évaluation des modèles et le réglage des hyperparamètres
6.1 Flux de travail efficace grâce aux pipelines
__6.1.1 Ensemble de données sur le cancer du sein du Wisconsin
6.1.2 Raccordement des transformateurs et des estimateurs aux canalisations
6.2 Évaluation des performances du modèle à l'aide de la validation croisée k-fold
6.2.1 Méthode de test de validation
__6.2.2 Validation croisée à k plis
6.3 Débogage des algorithmes à l'aide des courbes d'apprentissage et de validation
6.3.1 Analyse des problèmes de biais et de variance liés aux courbes d'apprentissage
6.3.2 Analyse du surapprentissage et du sous-apprentissage à l'aide de courbes de validation
6.4 Optimisation des modèles d'apprentissage automatique par recherche sur grille
6.4.1 Optimisation des hyperparamètres par recherche sur grille
6.4.2 Exploration plus large des paramètres d'hyperparamètres avec la recherche aléatoire
6.4.3 Recherche d'hyperparamètres économe en ressources à l'aide de la méthode SH
6.4.4 Sélection de l'algorithme par validation croisée imbriquée
6.5 Divers indicateurs d'évaluation des performances
6.5.1 Matrice d'erreur
6.5.2 Optimisation de la précision et du rappel des modèles de classification
6.5.3 Tracé de la courbe ROC
6.5.4 Métriques de performance pour la classification multiple
6.5.5 Gestion des classes déséquilibrées
6.6 Résumé
Chapitre 7.
Apprentissage d'ensemble combinant différents modèles
7.1 Apprentissage en ensemble
7.2 Classification par ensemble utilisant le vote majoritaire
7.2.1 Mise en œuvre d'un classificateur à vote majoritaire simple
7.2.2 Élaboration de prédictions à l'aide du vote majoritaire
7.2.3 Évaluation et optimisation des classificateurs d'ensemble
7.3 Bagging : Ensembles de classification par échantillonnage bootstrap
7.3.1 Fonctionnement de l'algorithme de bagging
7.3.2 Classification d'échantillons de l'ensemble de données sur le vin à l'aide de la méthode d'agrégation (Bagging)
7.4 AdaBoost avec des apprenants faibles
7.4.1 Fonctionnement du boosting
7.4.2 Utilisation d'AdaBoost dans Scikit-learn
7.5 Gradient Boosting : Entraînement d'ensemble basé sur le gradient de perte
7.5.1 Comparaison d'AdaBoost et de Gradient Boosting
__7.5.2 Introduction à l'algorithme de gradient boosting
7.5.3 Algorithme de gradient boosting pour la classification
__7.5.4 Exemple de classification par gradient boosting
__7.5.5 Utilisation de XGBoost
7.6 Résumé
Chapitre 8.
Application de l'apprentissage automatique à l'analyse des sentiments
8.1 Préparation des données de critiques de films IMDb pour le traitement de texte
8.1.1 Obtention d'un ensemble de données de critiques de films
8.1.2 Prétraitement de l'ensemble de données de critiques de films sous une forme plus simple
8.2 Introduction au modèle BoW
8.2.1 Conversion des mots en vecteurs de caractéristiques
8.2.2 Évaluation de la pertinence des mots à l'aide de TF-IDF
8.2.3 Nettoyage des données textuelles
8.2.4 Division d'un document en jetons
8.3 Entraînement d'un modèle de régression logistique pour la classification de documents
8.4 Traitement de données à grande échelle : algorithmes en ligne et apprentissage en mémoire externe
8.5 Modélisation thématique à l'aide de l'allocation de Dirichlet latente
8.5.1 Décomposition de documents textuels à l'aide de LDA
__8.5.2 LDA dans scikit-learn
8.6 Résumé
Chapitre 9.
Prédiction des variables cibles continues à l'aide de l'analyse de régression
9.1 Régression linéaire
9.1.1 Régression linéaire simple
9.1.2 Régression linéaire multiple
9.2 Exploration de l'ensemble de données sur le logement d'Ames
__9.2.1 Lecture du jeu de données Ames Housing sous forme de DataFrame
9.2.2 Visualisation des principales caractéristiques de l'ensemble de données
9.2.3 Analyse à l'aide d'une matrice de corrélation
9.3 Mise en œuvre d'un modèle de régression linéaire par les moindres carrés
9.3.1 Détermination des paramètres d'un modèle de régression par descente de gradient
__9.3.2 Estimation des poids d'un modèle de régression avec scikit-learn
9.4 Entraînement d'un modèle de régression stable à l'aide de RANSAC
9.5 Évaluation des performances des modèles de régression linéaire
9.6 Application de la régularisation à la régression
9.7 Conversion d'un modèle de régression linéaire en régression polynomiale
__9.7.1 Addition de termes polynomiaux à l'aide de Scikit-learn
9.7.2 Modélisation des relations non linéaires à l'aide de l'ensemble de données sur le logement d'Ames
9.8 Gestion des relations non linéaires à l'aide de forêts aléatoires
__9.8.1 Régression par arbre de décision
__9.8.2 Régression par forêt aléatoire
9.9 Résumé
Chapitre 10.
Gestion des données non étiquetées : analyse de clusters
10.1 Regroupement d'objets similaires à l'aide de l'algorithme des k-moyennes
__10.1.1 Clustering k-means avec scikit-learn
__10.1.2 Attribution intelligente des centroïdes initiaux des clusters avec k-means++
10.1.3 Clustering direct vs. indirect
10.1.4 Détermination du nombre optimal de clusters par la méthode du coude
__10.1.5 Quantification de la qualité des clusters à l'aide de graphiques de silhouette
10.2 Organisation des groupes en un arbre hiérarchique
10.2.1 Clustering ascendant
10.2.2 Réalisation d'un clustering hiérarchique sur une matrice de distance
10.2.3 Relier un dendrogramme à une carte thermique
__10.2.4 Application du clustering par fusion dans scikit-learn
10.3 Détection des zones denses à l'aide de DBSCAN
10.4 Résumé
Chapitre 11.
Mise en œuvre d'un réseau neuronal artificiel multicouche à partir de zéro
11.1 Modélisation de fonctions complexes à l'aide de réseaux de neurones artificiels
__11.1.1 Résumé des réseaux neuronaux monocouches
11.1.2 Structure du réseau neuronal multicouche
11.1.3 Calcul de la sortie d'activation du réseau de neurones par calcul direct
11.2 Classification des chiffres manuscrits
11.2.1 Obtention du jeu de données MNIST
11.2.2 Implémentation d'un perceptron multicouche
__11.2.3 Programmation de la boucle d'apprentissage du réseau neuronal
__11.2.4 Évaluation des performances des modèles de réseaux neuronaux
11.3 Entraînement des réseaux de neurones artificiels
11.3.1 Calcul de la fonction de perte
__11.3.2 Comprendre l'algorithme de rétropropagation
__11.3.3 Entraînement d'un réseau neuronal avec l'algorithme de rétropropagation
11.4 Convergence des réseaux neuronaux
11.5 Quelques remarques sur l'implémentation des réseaux neuronaux
11.6 Résumé
Chapitre 12.
Entraînement de réseaux neuronaux avec PyTorch
12.1 PyTorch et performances d'entraînement
__12.1.1 Problèmes de performance
__12.1.2 Qu'est-ce que PyTorch ?
__12.1.3 Comment apprendre PyTorch
12.2 Premiers pas avec PyTorch
__12.2.1 Installation de PyTorch
__12.2.2 Création de tenseurs dans PyTorch
__12.2.3 Manipulation des types et des tailles de données tensorielles
__12.2.4 Application des opérations mathématiques aux tenseurs
__12.2.5 fonctions chunk(), stack(), cat()
12.3 Création d'un pipeline d'entrée PyTorch
__12.3.1 Création d'un DataLoader PyTorch à partir d'un tenseur
12.3.2 Concaténation de deux tenseurs en un seul ensemble de données
12.3.3 Mélanger, regrouper et répéter
__12.3.4 Création d'un jeu de données à partir d'un fichier sur le disque local
__12.3.5 Chargement des jeux de données à partir de la bibliothèque torchvision.datasets
12.4 Création d'un modèle de réseau neuronal avec PyTorch
__12.4.1 Module de réseau neuronal PyTorch (torch.nn)
12.4.2 Création d'un modèle de régression linéaire
__12.4.3 Entraînement d'un modèle avec les modules torch.nn et torch.optim
__12.4.4 Construction d'un perceptron multicouche pour la classification du jeu de données Iris
12.4.5 Évaluation du modèle sur l'ensemble de données de test
__12.4.6 Sauvegarde et chargement des modèles entraînés
12.5 Choix d'une fonction d'activation pour un réseau de neurones multicouches
__12.5.1 Résumé des fonctions logistiques
12.5.2 Prédiction de probabilité multiclasse à l'aide de la fonction softmax
__12.5.3 Élargissement de la plage de sortie avec des tangentes hyperboliques
__12.5.4 Fonction d'activation ReLU
12.6 Résumé
Chapitre 13.
Apprenez-en davantage sur l'architecture de PyTorch
13.1 Principales caractéristiques de PyTorch
13.2 Graphes de calcul PyTorch
__13.2.1 Comprendre les graphes de calcul
__13.2.2 Création de graphes avec PyTorch
13.3 Objets tenseurs PyTorch pour la sauvegarde et la mise à jour des paramètres du modèle
13.4 Calcul des gradients par différentiation automatique
13.4.1 Calcul du gradient de la fonction de perte par rapport aux variables entraînables
__13.4.2 Comprendre la différenciation automatique
__13.4.3 Échantillon hostile
13.5 Mise en œuvre d'architectures communes à l'aide du module torch.nn
__13.5.1 Implémentation d'un modèle basé sur nn.Sequential
13.5.2 Choix d'une fonction de perte
__13.5.3 Résolution du problème de classification XOR
__13.5.4 Création de modèles flexibles avec nn.Modules
__13.5.5 Création de calques personnalisés dans PyTorch
13.6 Projet 1 : Prévision de la consommation de carburant automobile
__13.6.1 Utilisation des colonnes d'attributs
13.6.2 Entraînement d'un modèle de régression DNN
13.7 Projet 2 : Classification des chiffres manuscrits de MNIST
13.8 API PyTorch de haut niveau : Présentation de PyTorch Lightning
__13.8.1 Préparation du modèle Lightning de PyTorch
__13.8.2 Préparation du chargeur de données pour Lightning
__13.8.3 Entraînement d'un modèle à l'aide de la classe Lightning Trainer
__13.8.4 Évaluation des modèles avec TensorBoard
13.9 Résumé
Chapitre 14.
Classification d'images avec des réseaux neuronaux convolutifs profonds
14.1 Composants d'un réseau neuronal convolutif
__14.1.1 Apprentissage des couches CNN et de caractéristiques
__14.1.2 Réalisation d'une convolution discrète
__14.1.3 Sous-échantillonnage
14.2 Construction d'un réseau neuronal convolutif profond à l'aide de blocs de base
__14.2.1 Gestion de plusieurs entrées ou canaux de couleur
14.2.2 Régularisation des réseaux de neurones avec la régularisation L2 et le dropout
__14.2.3 Fonction de perte pour la classification
14.3 Implémentation d'un réseau neuronal convolutif profond à l'aide de PyTorch
14.3.1 Structure CNN multicouche
__14.3.2 Chargement et prétraitement des données
__14.3.3 Implémentation d'un CNN à l'aide du module torch.nn
14.4 Classification des visages souriants à l'aide de réseaux neuronaux convolutifs
__14.4.1 Chargement du jeu de données CelebA
14.4.2 Conversion d'images et augmentation des données
__14.4.3 Entraînement d'un classificateur de visages souriants CNN
14.5 Résumé
Chapitre 15.
Modélisation de données séquentielles à l'aide de réseaux neuronaux récurrents
15.1 Introduction aux données séquentielles
15.1.1 Modélisation des données séquentielles : prise en compte de l’ordre
15.1.2 Données séquentielles vs. données de séries temporelles
__15.1.3 Représentation séquentielle
__15.1.4 Types de modélisation de séquences
15.2 Réseaux de neurones récurrents pour la modélisation de séquences
15.2.1 Comprendre la structure répétitive du RNN
15.2.2 Calcul de la sortie d'activation du RNN
__15.2.3 Boucles cachées et boucles de sortie
__15.2.4 La difficulté d'apprendre de longues séquences
Cellule LSTM __15.2.5
15.3 Implémentation de réseaux de neurones récurrents pour la modélisation de séquences avec PyTorch
15.3.1 Premier projet : Analyse des sentiments des critiques de films sur IMDb
__15.3.2 Deuxième projet : Implémentation d’un modèle de langage au niveau des caractères avec TensorFlow
15.4 Résumé
Chapitre 16.
Transformer : Améliorer les performances du traitement automatique du langage naturel grâce aux mécanismes d’attention
16.1 RNN avec mécanisme d'attention ajouté
16.1.1 Attention portée à l'aide apportée aux RNN pour la récupération des informations
__16.1.2 Mécanisme d'attention original pour les RNN
16.1.3 Traitement des entrées avec un RNN bidirectionnel
__16.1.4 Génération de sortie à partir d'un vecteur de contexte
__16.1.5 Calcul des pondérations d'attention
16.2 Introduction du mécanisme d'auto-attention
16.2.1 Formes fondamentales d'auto-attention
__16.2.2 Mécanisme d'auto-attention entraînable : attention au produit scalaire à l'échelle
16.3 Tout ce dont vous avez besoin, c'est d'attention : l'architecture originale du transformateur
__16.3.1 Encodage des plongements contextuels avec attention multi-têtes
__16.3.2 Entraînement du modèle de langage : Décodeur et attention multi-têtes masquée
__16.3.3 Détails d'implémentation : Encodage positionnel et normalisation des couches
16.4 Construction de modèles de langage à grande échelle à partir de données non étiquetées
16.4.1 Pré-entraînement et mise au point du modèle Transformer
16.4.2 Utilisation de données non étiquetées avec GPT
__16.4.3 Génération de nouveau texte à l'aide de GPT-2
__16.4.4 Pré-entraînement bidirectionnel avec BERT
__16.4.5 Le BART combine les atouts des deux
16.5 Optimisation d'un modèle BERT dans PyTorch
__16.5.1 Chargement de l'ensemble de données des critiques de films IMDb
__16.5.2 Tokenisation de l'ensemble de données 715
__16.5.3 Chargement et ajustement d'un modèle BERT pré-entraîné
__16.5.4 Ajustez facilement les transformateurs à l'aide de l'API d'entraînement
16.6 Résumé
Chapitre 17.
Réseaux antagonistes génératifs pour la synthèse de nouvelles données
17.1 Introduction aux réseaux antagonistes génératifs
__17.1.1 Auto-encodeur
__17.1.2 Modèle génératif pour la synthèse de nouvelles données
__17.1.3 Génération de nouveaux échantillons avec GAN
__17.1.4 Comprendre les fonctions de perte du générateur et du discriminateur des GAN
17.2 Implémentation d'un modèle GAN à partir de zéro
__17.2.1 Entraînement d'un modèle GAN dans Google Colab
17.2.2 Mise en œuvre de réseaux de neurones générateurs et discriminateurs
17.2.3 Définition de l'ensemble de données d'entraînement
__17.2.4 Entraînement d'un modèle GAN
17.3 Amélioration de la qualité des images synthétiques avec les GAN convolutionnels et les GAN de Wasserstein
__17.3.1 Convolution transposée
__17.3.2 Normalisation par lots
__17.3.3 Implémentation des constructeurs et des discriminateurs
__17.3.4 Mesure de la distance entre deux distributions
__17.3.5 Utilisation de la distance EM dans les GAN
__17.3.6 Pénalité de gradient
__17.3.7 Entraînement d'un modèle DCGAN avec WGAN-GP
__17.3.8 Mode réduit
17.4 Autres applications GAN
17.5 Résumé
Chapitre 18.
Réseaux neuronaux graphiques pour la détection de dépendances dans les données structurées en graphes
18.1 Introduction aux données graphiques
__18.1.1 Graphe non orienté
__18.1.2 Graphe orienté
__18.1.3 Graphique d'étiquettes
18.1.4 Représentation graphique des molécules
18.2 Comprendre la convolution de graphes
18.2.1 Motivation pour l'utilisation de la convolution de graphes
__18.2.2 Implémentation de base de la convolution de graphes
18.3 Implémentation d'un GNN à partir de zéro dans PyTorch
__18.3.1 Définition du modèle NodeNetwork
__18.3.2 Création d'une couche de convolution de graphe dans NodeNetwork
__18.3.3 Ajout d'une couche de mise en commun globale pour gérer les différentes tailles de graphes
__18.3.4 Préparation du chargeur de données
18.3.5 Prédiction à l'aide d'un réseau de nœuds
18.4 Implémentation de GNN à l'aide de la bibliothèque géométrique PyTorch
18.5 Autres couches GNN et développements récents
__18.5.1 Convolution spectrale de graphes
__18.5.2 Mise en commun
__18.5.3 Normalisation
18.5.4 Autres réseaux neuronaux graphiques avancés
18.6 Résumé
Chapitre 19.
Prise de décision dans des environnements complexes avec apprentissage par renforcement
19.1 Tirer des leçons de l'expérience
19.1.1 Comprendre l'apprentissage par renforcement
19.1.2 Définition de l'interface agent-environnement pour les systèmes d'apprentissage par renforcement
19.2 Théorie de base de l'apprentissage par renforcement
19.2.1 Processus de décision markovien
19.2.2 Formule mathématique du processus de décision markovien
19.2.3 Terminologie de l'apprentissage par renforcement : gain, politique et fonction de valeur
__19.2.4 Programmation dynamique utilisant l'équation de Bellman
19.3 Algorithmes d'apprentissage par renforcement
19.3.1 Programmation dynamique
19.3.2 Apprentissage par renforcement utilisant la méthode de Monte Carlo
__19.3.3 Apprentissage de la différence de temps
19.4 Mise en œuvre de votre premier algorithme d'apprentissage par renforcement
__19.4.1 Présentation du kit d'outils OpenAI Gym
__19.4.2 Résolution des problèmes du monde en grille avec l'apprentissage par renforcement Q
19.5 Apprentissage par renforcement profond (Deep Q-Learning)
19.5.1 Entraînement du modèle DQN à l'aide de l'algorithme Q-learning
__19.5.2 Implémentation d'un algorithme d'apprentissage par renforcement profond (Deep Q-Learning)
19.6 Résumé général
Image détaillée

Dans le livre
Que vous aspiriez à devenir ingénieur en apprentissage automatique doté de compétences exceptionnelles en résolution de problèmes ou que vous envisagiez d'acquérir de l'expérience dans la recherche en apprentissage automatique, ce livre vous sera utile.
Les débutants peuvent être submergés par les aspects théoriques de l'apprentissage automatique.
Des tutoriels récemment publiés vous apprendront comment implémenter des algorithmes d'apprentissage haute performance.
Travailler avec des exemples de code concrets et des exemples d'applications d'apprentissage automatique est un excellent moyen de débuter.
Mettre en pratique ce que vous avez appris à l'aide d'exemples concrets vous aide à comprendre des concepts plus généraux.
Mais n'oubliez pas, qui dit progrès dit responsabilités ! Ce livre vous aidera à pratiquer l'apprentissage automatique en utilisant le langage de programmation Python et les bibliothèques d'apprentissage automatique basées sur Python.
De plus, nous introduisons la théorie mathématique des algorithmes d'apprentissage automatique.
Il s'agit d'un élément essentiel pour réussir l'utilisation de l'apprentissage automatique.
Par conséquent, contrairement à d'autres ouvrages pratiques, ce livre explique les principes fondamentaux de l'apprentissage automatique.
Il fournit également une explication facile à comprendre du fonctionnement des algorithmes d'apprentissage automatique, de leur utilisation et de la manière d'éviter les erreurs courantes.
Ce livre aborde les sujets et concepts fondamentaux dont vous avez besoin pour débuter dans ce domaine.
Si vous souhaitez en savoir plus, vous pouvez suivre les innovations importantes dans ce domaine en consultant les documents présentés dans ce livre.
Les débutants peuvent être submergés par les aspects théoriques de l'apprentissage automatique.
Des tutoriels récemment publiés vous apprendront comment implémenter des algorithmes d'apprentissage haute performance.
Travailler avec des exemples de code concrets et des exemples d'applications d'apprentissage automatique est un excellent moyen de débuter.
Mettre en pratique ce que vous avez appris à l'aide d'exemples concrets vous aide à comprendre des concepts plus généraux.
Mais n'oubliez pas, qui dit progrès dit responsabilités ! Ce livre vous aidera à pratiquer l'apprentissage automatique en utilisant le langage de programmation Python et les bibliothèques d'apprentissage automatique basées sur Python.
De plus, nous introduisons la théorie mathématique des algorithmes d'apprentissage automatique.
Il s'agit d'un élément essentiel pour réussir l'utilisation de l'apprentissage automatique.
Par conséquent, contrairement à d'autres ouvrages pratiques, ce livre explique les principes fondamentaux de l'apprentissage automatique.
Il fournit également une explication facile à comprendre du fonctionnement des algorithmes d'apprentissage automatique, de leur utilisation et de la manière d'éviter les erreurs courantes.
Ce livre aborde les sujets et concepts fondamentaux dont vous avez besoin pour débuter dans ce domaine.
Si vous souhaitez en savoir plus, vous pouvez suivre les innovations importantes dans ce domaine en consultant les documents présentés dans ce livre.
--- Note de l'auteur
Avis de l'éditeur
Avec des explications claires, des mathématiques et des exemples pratiques
Je comprends parfaitement les principes fondamentaux !
- Explication équilibrée de la théorie et du code !
L'exécution de code à elle seule ne suffit pas à comprendre pleinement l'apprentissage automatique et l'apprentissage profond.
Pour vraiment comprendre l'apprentissage automatique et l'apprentissage profond, il faut comprendre les concepts mathématiques qui sous-tendent les théories et les algorithmes associés, en plus du code.
Ce livre propose une approche équilibrée entre théorie et code, offrant des explications claires sur le fonctionnement des algorithmes fondamentaux d'apprentissage automatique et d'apprentissage profond, leur utilisation, les mathématiques sous-jacentes, des exemples pratiques et comment éviter les pièges courants.
- Des algorithmes fondamentaux aux technologies les plus récentes !
L'apprentissage automatique est expliqué à l'aide des bibliothèques de base basées sur Python (SciPy, NumPy, Scikit-Learn, Pandas, etc.) et l'apprentissage profond est expliqué à l'aide de PyTorch.
Comme PyTorch est enseigné de manière similaire à Python, il est plus facile à apprendre et à programmer.
Ce livre aborde en détail les concepts fondamentaux de PyTorch, ainsi que les GAN et l'apprentissage par renforcement.
En plus du contenu couvert par l'ouvrage existant 『Machine Learning Textbook Revised 3rd Edition』, nous avons ajouté les dernières tendances telles que Transformer, PyTorch Lightning, XGBoost et les réseaux neuronaux graphiques.
Apprenez avec des exemples pratiques !
Tous les exemples présentés dans ce livre sont basés sur la vaste expérience d'enseignement et de terrain de l'auteur en tant qu'expert en apprentissage automatique/apprentissage profond.
Il est composé d'exemples pratiques et extensibles plutôt que de simplement apprendre des concepts.
L'étude de ces exemples vous permettra d'acquérir une solide compréhension des concepts d'apprentissage automatique et d'apprentissage profond, des algorithmes fondamentaux et des conseils d'application. Vous maîtriserez également les principes qui vous permettront de concevoir vos propres modèles et applications.
Communauté Discord pour les lecteurs : https://bit.ly/tensor-discord
Salle de discussion ouverte pour les questions-réponses : https://bit.ly/tensor-chat
Je comprends parfaitement les principes fondamentaux !
- Explication équilibrée de la théorie et du code !
L'exécution de code à elle seule ne suffit pas à comprendre pleinement l'apprentissage automatique et l'apprentissage profond.
Pour vraiment comprendre l'apprentissage automatique et l'apprentissage profond, il faut comprendre les concepts mathématiques qui sous-tendent les théories et les algorithmes associés, en plus du code.
Ce livre propose une approche équilibrée entre théorie et code, offrant des explications claires sur le fonctionnement des algorithmes fondamentaux d'apprentissage automatique et d'apprentissage profond, leur utilisation, les mathématiques sous-jacentes, des exemples pratiques et comment éviter les pièges courants.
- Des algorithmes fondamentaux aux technologies les plus récentes !
L'apprentissage automatique est expliqué à l'aide des bibliothèques de base basées sur Python (SciPy, NumPy, Scikit-Learn, Pandas, etc.) et l'apprentissage profond est expliqué à l'aide de PyTorch.
Comme PyTorch est enseigné de manière similaire à Python, il est plus facile à apprendre et à programmer.
Ce livre aborde en détail les concepts fondamentaux de PyTorch, ainsi que les GAN et l'apprentissage par renforcement.
En plus du contenu couvert par l'ouvrage existant 『Machine Learning Textbook Revised 3rd Edition』, nous avons ajouté les dernières tendances telles que Transformer, PyTorch Lightning, XGBoost et les réseaux neuronaux graphiques.
Apprenez avec des exemples pratiques !
Tous les exemples présentés dans ce livre sont basés sur la vaste expérience d'enseignement et de terrain de l'auteur en tant qu'expert en apprentissage automatique/apprentissage profond.
Il est composé d'exemples pratiques et extensibles plutôt que de simplement apprendre des concepts.
L'étude de ces exemples vous permettra d'acquérir une solide compréhension des concepts d'apprentissage automatique et d'apprentissage profond, des algorithmes fondamentaux et des conseils d'application. Vous maîtriserez également les principes qui vous permettront de concevoir vos propres modèles et applications.
Communauté Discord pour les lecteurs : https://bit.ly/tensor-discord
Salle de discussion ouverte pour les questions-réponses : https://bit.ly/tensor-chat
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 30 novembre 2023
Nombre de pages, poids, dimensions : 876 pages | 1 693 g | 183 × 235 × 36 mm
- ISBN13 : 9791140707362
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne