Livres en français
18 livres et 26 critiques, dernière mise à jour le 25 novembre 2024 , note moyenne : 4.3
- Gradient Boosting - Exploitez les arbres de décision pour le Machine Learning (XGBoost, CatBoost, LightGBM)
- Introduction au Machine Learning
- Intelligence artificielle, l'affaire de tous - De la science au business
- Spark - Valorisez vos données en temps réel avec Spark ML et Hadoop
- Data science - Cours et exercices
- Apprentissage artificiel - Deep learning, concepts et algorithmes
- Deep Learning avec TensorFlow - Mise en oeuvre et cas concrets
- Machine Learning avec Scikit-Learn - Mise en oeuvre et cas concrets
- Big Data et Machine Learning - Les concepts et les outils de la data science
- Data Scientist et langage R - Guide d'autoformation à l'exploitation des Big Data
- L'Intelligence Artificielle pour les développeurs - Concepts et implémentations en Java
- Apprentissage machine - De la théorie à la pratique - Concepts fondamentaux en Machine Learning
- Apprentissage artificiel - Concepts et algorithmes
- Intelligence artificielle
- Réseaux de neurones - Méthodologie et applications
- Intelligence Artificielle
- Apprentissage statistique - Réseaux de neurones - Cartes topologiques - Machines à vecteurs supports
- L'Intelligence Artificielle pour les développeurs - Concepts et implémentations en C#
Gradient Boosting
Exploitez les arbres de décision pour le Machine Learning (XGBoost, CatBoost, LightGBM)
Résumé de l'éditeur
Ce livre sur les méthodes de Gradient Boosting est destiné aux étudiants, universitaires, ingénieurs, data scientist qui souhaitent découvrir en profondeur le fonctionnement de cette technique de Machine Learning utilisée pour construire des ensembles d’arbres de décision.
Tous les concepts sont illustrés par des exemples de code applicatif. Ils permettent au lecteur de reconstruire from scratch sa propre librairie d’entraînement des méthodes de Gradient Boosting. En parallèle, le livre présente les bonnes pratiques de la Data Science et apporte au lecteur un solide bagage technique pour construire des modèles de Machine Learning.
Après une présentation des principes du Gradient Boosting citant les cas d’application, les avantages et les limites, le lecteur s’imprègne des détails de la théorie mathématique. Une implémentation simple est donnée afin d’en illustrer le fonctionnement.
Le lecteur est ensuite armé pour aborder la mise en application et la configuration de ces méthodes. Préparation des données, entraînement, explication d’un modèle, gestion de l’Hyper Parameter Tuning et utilisation des fonctions objectifs sont couverts en détail !
Les derniers chapitres du livre élargissent le sujet vers l’application du Gradient Boosting pour les séries temporelles, la présentation des bibliothèques emblématiques XGBoost, CatBoost et LightGBM ainsi que sur le concept de modèle multi-résolution.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Édition : ENI - 258 pages, 1re édition, 16 mars 2022
ISBN10 : 2409034020 - ISBN13 : 9782409034022
Gradient Boosted Tree : contexte et théorie
Gradient Boosted Tree : fonctionnement
Entraîner efficacement un modèle
Comprendre et expliquer un modèle
Hyperparameters Tuning
Du bon usage des fonctions objectifs
Gradient Boosting pour les séries temporelles
XGBoost, LightGBM ou CatBoost ?
Approche multimodèle
Pour aller plus loin
Le sujet des méthodes de dopage par gradient en apprentissage automatique ne semble pas nécessiter de s'y apesantir trop longtemps : il s'agit d'une énième méthode basée sur des arbres, pourrait-on penser, avec l'avantage de donner d'extrêmement bons résultats dans des compétitions comme celles organisées sur Kaggle. Cependant, les apparences sont trompeuses.
L'ouvrage décrit d'abord le formalisme mathématique derrière les méthodes de dopage par gradient, avant de passer à son implémentation sans utiliser de bibliothèque externe. C'est là l'un des points forts du livre, puisque rien n'est caché derrière un appel de bibliothèque (si ce n'est des détails comme la dérivation de fonctions d'erreur). Ensuite, l'auteur aborde des sujets d'actualité comme l'explication des résultats de l'algorithme, l'optimisation d'hyperparamètres ou l'empilage de modèles (une autre technique ensembliste), même s'ils ne sont pas vraiment reliés au sujet principal (dopage par gradient). L'auteur achève l'ouvrage par les bibliothèques habituelles du domaine et quelques indices sur leur utilisation.
Cependant, les limitations du livre le destinent à un public peu averti des méthodes de dopage par gradient, voire qui n'a jamais cherché à comprendre ces méthodes. On peut regretter la clarté du code pas toujours au top (des fonctions découpées sans chercher la clarté — surtout en ce qui concerne la création des forêts et le calcul des pseudo-résidus —, formatage du code pas adapté à un livre papier) et des sujets où les explications s'arrêtent trop tôt pour bien comprendre comment implémenter les techniques (surtout au niveau de l'arrêt prématuré, mais aussi des optimisations de bibliothèques comme LightGBM ou du fonctionnement des arbres de décision). Certaines formulations sont malheureuses (comme l'implication entre l'abondance de données et le surapprentissage.
Commenter Signaler un problème
Exploitez les arbres de décision pour le Machine Learning (XGBoost, CatBoost, LightGBM)
Ce livre sur les méthodes de Gradient Boosting est destiné aux étudiants, universitaires, ingénieurs, data scientist qui souhaitent découvrir en profondeur le fonctionnement de cette technique de Machine Learning utilisée pour construire des ensembles d’arbres de décision.
Tous les concepts sont illustrés par des exemples de code applicatif. Ils permettent au lecteur de reconstruire from scratch sa propre librairie d’entraînement des méthodes de Gradient Boosting. En parallèle, le livre présente les bonnes pratiques de la Data Science et apporte au lecteur un solide bagage technique pour construire des modèles de Machine Learning.
Après une présentation des principes du Gradient Boosting citant les cas d’application, les avantages et les limites, le lecteur s’imprègne des détails de la théorie mathématique. Une implémentation simple est donnée afin d’en illustrer le fonctionnement.
Le lecteur est ensuite armé pour aborder la mise en application et la configuration de ces méthodes. Préparation des données, entraînement, explication d’un modèle, gestion de l’Hyper Parameter Tuning et utilisation des fonctions objectifs sont couverts en détail !
Les derniers chapitres du livre élargissent le sujet vers l’application du Gradient Boosting pour les séries temporelles, la présentation des bibliothèques emblématiques XGBoost, CatBoost et LightGBM ainsi que sur le concept de modèle multi-résolution.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Introduction au Machine Learning
Résumé de l'éditeur
Le Machine Learning est une discipline dont les outils puissants permettent aujourd’hui à de nombreux secteurs d’activité de réaliser des progrès spectaculaires grâce à l’exploitation de grands volumes de données.
Le but de cet ouvrage est de vous fournir des bases solides sur les concepts et les algorithmes de ce domaine en plein essor.
Il vous aidera à identifier les problèmes qui peuvent être résolus par une approche Machine Learning, à les formaliser, à identifier les algorithmes les mieux adaptés à chaque problème, à les mettre en oeuvre, et enfin à savoir évaluer les résultats obtenus.
Les notions de cours sont illustrées et complétées par 85 exercices, tous corrigés.
Édition : Dunod - 272 pages, 2e édition, 2 février 2022
ISBN10 : 2100834762 - ISBN13 : 9782100834761
Apprentissage supervisé
Sélection de modèle et évaluation
Inférence bayésienne
Régressions paramétriques
Régularisation
Réseaux de neurones artificiels
Méthodes des plus proches voisins
Arbres et forêts
Machines à vecteurs de support et méthodes à noyaux
Réduction de dimension
Clustering
Le livre est écrit surtout à destination d'étudiants qui découvrent ou commencent à approfondir le domaine. L'accent est mis sur la compréhension profonde des algorithmes plutôt que sur leur mise en pratique à l'aide de bibliothèques Python (utilisées pour certains exemples, sans que le code soit vraiment montré) ou autres. L'auteure détaille les concepts nécessaires à leur implémentation sans bibliothèque extérieure, y compris l'optimisation convexe (théorèmes principaux et méthodes numériques) utilisée pour bon nombre d'algorithmes, même si on aura probablement du mal à passer du livre au code.
Cet ouvrage, malgré sa cible clairement universitaire, exploite l'intuition, notamment au niveau géométrique — même si des sujets plus mathématiques (comme la notion de risque ou les techniques d'évaluation de modèles) sont présentés bien avant les algorithmes d'apprentissage proprement dits. Ce faisant, l'auteure propose une série d'exemples détaillés, mais aussi des exercices corrigés pour chaque chapitre.
Par rapport à bon nombre de livres introductifs, celui-ci se distingue par l'importance donnée à la pensée probabiliste et bayésienne. Pour ceux qui envisagent une carrière plus académique ou d'explorer les sujets présentés en profondeur, chaque chapitre est accompagné d'une liste de références scientifiques.
Commenter Signaler un problème
Le Machine Learning est une discipline dont les outils puissants permettent aujourd’hui à de nombreux secteurs d’activité de réaliser des progrès spectaculaires grâce à l’exploitation de grands volumes de données.
Le but de cet ouvrage est de vous fournir des bases solides sur les concepts et les algorithmes de ce domaine en plein essor.
Il vous aidera à identifier les problèmes qui peuvent être résolus par une approche Machine Learning, à les formaliser, à identifier les algorithmes les mieux adaptés à chaque problème, à les mettre en oeuvre, et enfin à savoir évaluer les résultats obtenus.
Les notions de cours sont illustrées et complétées par 85 exercices, tous corrigés.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Intelligence artificielle, l'affaire de tous
De la science au business
Résumé de l'éditeur
Grâce à ce livre, vous découvrirez progressivement l’IA telle qu’elle est aujourd’hui dans sa pluralité, avec ses dimensions business et techniques. Vous comprendrez ses principes de fonctionnement ; vous vous intéresserez à ses fondements scientifiques, aux enjeux économiques et sociétaux ainsi qu’aux risques et questions éthiques à considérer.
Accessible à tous (des étudiants aux managers chevronnés), centré sur l’acquisition de compétences et la formation, grâce à des études de cas et des exercices ludiques, cet ouvrage est le guide indispensable pour comprendre les enjeux actuels de l’IA et appréhender son champ d’application.
Édition : Pearson Education - 248 pages, 1re édition, 10 juillet 2020
ISBN10 : 274406758X - ISBN13 : 9782744067587
L’observation d’IA
L’IA est plurielle
Un business démesuré
Les risques effectifs
Les machines apprenantes
Les réseaux de neurones artificiels
Les systèmes autonomes
Études de cas
Un autre regard sur l’IA
Les explications fournies conviendront à un public très large. Les détails algorithmiques sont présentés de manière intuitive, mais certaines parties plus mathématiques nécessiteront des connaissances de base en mathématiques. Ces deux chapitres plus techniques sont la clé de voûte de l'ouvrage, en ce sens qu'ils achèvent de démystifier le domaine. L'intelligence artificielle n'est qu'une application de principes mathématiques bien connus, mais avec les possibilités techniques du 21e siècle.
L'ouvrage est facile à lire et probablement déconcertant pour le non-initié. Il met fin à certaines idées reçues, pour que les débats autour du sujet soient plus éclairés et sereins.
Commenter Signaler un problème
De la science au business
Grâce à ce livre, vous découvrirez progressivement l’IA telle qu’elle est aujourd’hui dans sa pluralité, avec ses dimensions business et techniques. Vous comprendrez ses principes de fonctionnement ; vous vous intéresserez à ses fondements scientifiques, aux enjeux économiques et sociétaux ainsi qu’aux risques et questions éthiques à considérer.
Accessible à tous (des étudiants aux managers chevronnés), centré sur l’acquisition de compétences et la formation, grâce à des études de cas et des exercices ludiques, cet ouvrage est le guide indispensable pour comprendre les enjeux actuels de l’IA et appréhender son champ d’application.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Spark
Valorisez vos données en temps réel avec Spark ML et Hadoop
Résumé de l'éditeur
Alors que vient de sortir Spark 3, les environnements simplifiés « clicks boutons » sont légion. Mais pour les utiliser à bon escient, il vous faudra comprendre le fonctionnement interne de Spark afin de paramétrer correctement votre cluster et vos applications.
C’est ce que propose ce livre : vous emmener dans une compréhension fine des tenants et aboutissants de Spark, depuis son installation et sa configuration jusqu’à l’écriture et l’exécution d’applications.
L’analyse des données n’est utile que dans des cas business précis. C’est pourquoi nous insistons sur une méthode d’analyse des données qui vous permettra de connaître les étapes d’un projet de machine learning, et les questions indispensables à se poser pour réussir une analyse pertinente. Nous l’illustrons via un exemple complet d’une entreprise (virtuelle) de location de vélo en libre service.
Ainsi, en lisant ce livre, vous maîtriserez l’outil et la méthode adéquats pour valoriser vos données de manière éclairée, vous assurant une meilleure efficacité et rentabilité de vos projets data.
Le code du livre est disponible sur Github.
Édition : Dunod - 304 pages, 1re édition, 8 janvier 2020
ISBN10 : 2100794329 - ISBN13 : 9782100794324
Spark et le big data
Les raisons du succès de Spark
Installation de Spark
Démarrer le cluster Spark
Présentation et installation d'HDFS
Premiers scripts avec Spark core et Spark SQL
Présentation de Spark Streaming
Introduction au machine learning
Étude de cas avec Spark ML
Conclusion
L'auteur ne cherche pas à décrire de manière exhaustive les possibilités offertes par le système, mais plutôt à inculquer une méthodologie pour faciliter la mise en œuvre d'un projet Spark. Par exemple, l'introduction à l'apprentissage automatique ne parle pas du tout des algorithmes disponibles : bon nombre d'ouvrages les expliquent déjà en long et en large. Par contre, très peu parlent de la manière d'introduire de l'apprentissage dans la pratique industrielle : par exemple, comment présenter les résultats d'une manière intelligible pour un public de décideurs qui n'a presque aucune connaissance en statistiques ? Il n'empêche que certains paramètres sont plus détaillés, car ils présentent un intérêt non négligeable pour améliorer la performance d'une application, par exemple.
Spark est expliqué comme une évolution logique des plateformes de traitement des mégadonnées : l'outil n'est pas apparu par magie au milieu du désert, mais dans un contexte très spécifique avec une série d'acteurs qui cherchent à effectuer des traitements similaires à très grande échelle. Ce n'est pas pour ça que les fonctionnalités de Spark sont présentées de manière chronologique : l'auteur préfère d'abord parler des tables de données (DataFrame), bien avant des RDD. De fait, avec Spark 2, ils sont devenus un sujet plutôt avancé. Néanmoins, on peut regretter que Spark 3 ne soit abordé que dans la conclusion et la quatrième de couverture.
L'un des points importants de ce livre est toutefois la présence de deux études de cas, l'une orientée Spark Core, l'autre Spark ML. Cette dernière correspond au chapitre 9, c'est-à-dire à presque un tiers du volume de l'ouvrage ! Elles partent de données brutes sur une entreprise de location de vélos et ne s'arrêtent qu'avec des résultats propres à présenter à des décideurs : ces études de cas sont réalistes, bien que simplifiées.
La mise en page est claire, notamment avec les objectifs de chaque chapitre explicités au début de chacun d'eux. Chaque section est richement illustrée, avec des figures claires, ce qui aide à la compréhension.
Un fil conducteur autour d’un suivi de trajets de cyclistes est proposé. Il a le mérite d'être clair, mais je n'ai pas trouvé qu'il approfondissait suffisamment. Mieux vaut créer son propre problème à compléter au fil des chapitres.
La partie dédiée à Spark Streaming est vraiment celle qui m'a le plus apporté. On comprend vraiment mieux comment paralléliser, via les DAG (graphes dirigés acycliques).
Seul bémol sur cette partie distribuée, tout est présenté autour d'une installation manuelle et minimaliste, alors que l'on retrouvera essentiellement des distributions clé en main. Cet aspect est toutefois évoqué dans le chapitre de conclusion.
Enfin, un dernier aspect abordé dans ce livre est l'apprentissage automatique. Ce n'est pas le point principal et il faudra avoir déjà de bonnes connaissances pour l'aborder. L'intérêt serait surtout de connecter tout cela via Spark.
La deuxième partie est très opérationnelle avec deux études de cas. Une première axée sur Spark SQL et la préparation des données et une autre à la fin de l’ouvrage qui va jusqu’à la modélisation (machine learning) et l’intégration de Spark ML et Spark Streaming pour faire des prédictions en temps réel.
Notons qu’il est nécessaire d’être doté d’une capacité à diagnostiquer les problèmes et les corriger lors de l’installation et la configuration de Spark et HDFS pour que tout se passe correctement comme décrit dans le livre. Il en est de même lors de l’utilisation de certains bouts de code : de petites modifications ou corrections sont parfois nécessaires pour obtenir les résultats attendus. Ça reste toutefois un très bon ouvrage qui peut permettre aux débutants en big data avec des notions de programmation de se lancer rapidement dans l’analyse, la modélisation de données et la prédiction en temps réel avec Spark et Python.
Commenter Signaler un problème
Alors que vient de sortir Spark 3, les environnements simplifiés « clicks boutons » sont légion. Mais pour les utiliser à bon escient, il vous faudra comprendre le fonctionnement interne de Spark afin de paramétrer correctement votre cluster et vos applications.
C’est ce que propose ce livre : vous emmener dans une compréhension fine des tenants et aboutissants de Spark, depuis son installation et sa configuration jusqu’à l’écriture et l’exécution d’applications.
L’analyse des données n’est utile que dans des cas business précis. C’est pourquoi nous insistons sur une méthode d’analyse des données qui vous permettra de connaître les étapes d’un projet de machine learning, et les questions indispensables à se poser pour réussir une analyse pertinente. Nous l’illustrons via un exemple complet d’une entreprise (virtuelle) de location de vélo en libre service.
Ainsi, en lisant ce livre, vous maîtriserez l’outil et la méthode adéquats pour valoriser vos données de manière éclairée, vous assurant une meilleure efficacité et rentabilité de vos projets data.
Le code du livre est disponible sur Github.
Data science
Cours et exercices
Résumé de l'éditeur
La data science, ou science des données, est la discipline qui traite de la collecte, de la préparation, de la gestion, de l'analyse, de l'interprétation et de la visualisation de grands ensembles de données complexes. Elle n'est pas seulement concernée par les outils et les méthodes pour obtenir, gérer et analyser les données ; elle consiste aussi à en extraire de la valeur et de la connaissance.
Cet ouvrage présente les fondements scientifiques et les composantes essentielles de la science des données, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Notre souci a été de proposer un exposé cohérent reliant la théorie aux algorithmes développés dans ces domaines. Il s'adresse aux chercheurs et ingénieurs qui abordent les problématiques liées à la science des données, aux data scientists de PME qui utilisent en profondeur les outils d'apprentissage, mais aussi aux étudiants de master, doctorants ou encore futurs ingénieurs qui souhaitent un ouvrage de référence en data science.
A qui s'adresse ce livre ?
- Aux développeurs, statisticiens, étudiants et chefs de projets ayant à résoudre des problèmes de data science.
- Aux data scientists, mais aussi à toute personne curieuse d'avoir une vue d'ensemble de l'état de l'art du machine learning.
Édition : Eyrolles - 272 pages, 1re édition, 16 août 2018
ISBN10 : 2212674104 - ISBN13 : 9782212674101
- Introduction
- Prétraitement des données
- Gestion de données large-échelle et systèmes distribués
- Calcul haute performance
- Optimisation pour l'analyse de données
- Décomposition matricielle/tensorielle
- Modèles génératifs
- Modèles discriminants
- Deep learning
- Visualisation interactive d'information
Tous ces sujets sont abordés de manière assez brève (le livre ne fait même pas trois cents pages) et concise, en insistant juste sur les éléments principaux. Le texte est rédigé de manière assez sèche, sans fioritures ; ce choix le rend d'ailleurs facile à lire. Les explications présentent un certain côté pédagogique qui plaira à bon nombre d'étudiants. Néanmoins, ce dépouillement impose des connaissances préexistantes dans le domaine, bien que pas forcément très poussées : la très brève introduction mène directement au vif du sujet, une progression assez étonnante.
Il s'agit de l'un des rares ouvrages à traiter tant des algorithmes que des techniques d'implémentation, ce qui en fait un point positif : ce lien aide le lecteur à rassembler Hadoop & co. avec les algorithmes d'apprentissage. On peut cependant regretter le fait que les exemples ne soient pas toujours les mieux choisis : notamment, le chapitre sur le calcul de haute performance présente diverses notions sous l'angle habituel de la résolution d'équations aux dérivées partielles — un sujet assez éloigné de la science des données.
La plupart des méthodes d'apprentissage sont ici survolées : les méthodes probabilistes (dont les modèles graphiques), les réseaux neuronaux, les ensembles, les plus proches voisins. Étonnamment, pourtant, les arbres de décision ne sont jamais présentés, ainsi que leurs dérivés directs (comme les forêts aléatoires), malgré leur grande utilité pratique. Tout le côté pratique est toutefois mis de côté : les neuf auteurs se focalisent sur les aspects théoriques du domaine, les principes derrière les méthodes, dans l'idée qu'il « suffit » alors de regarder la documentation d'une bibliothèque d'apprentissage.
Le chapitre sur la visualisation étonne quelque peu, mais apporte des compléments d'information très utiles. Il distille l'expérience acquise, notamment en cartographie, sur la meilleure manière de faire passer un message à travers des graphiques. Il n'importe là pas d'utiliser correctement les bibliothèques, mais d'agencer leurs fonctionnalités pour que les graphiques atteignent leur objectif.
En résumé, il s'agit là d'un très bon support de cours ou d'un petit ouvrage de référence dans le domaine de la science des données. Il ratisse assez large, en donnant des pointeurs vers la recherche actuelle dans le domaine, en omettant la pratique. (À noter que les solutions des exercices ne sont pas fournies.)
Commenter Signaler un problème
La data science, ou science des données, est la discipline qui traite de la collecte, de la préparation, de la gestion, de l'analyse, de l'interprétation et de la visualisation de grands ensembles de données complexes. Elle n'est pas seulement concernée par les outils et les méthodes pour obtenir, gérer et analyser les données ; elle consiste aussi à en extraire de la valeur et de la connaissance.
Cet ouvrage présente les fondements scientifiques et les composantes essentielles de la science des données, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Notre souci a été de proposer un exposé cohérent reliant la théorie aux algorithmes développés dans ces domaines. Il s'adresse aux chercheurs et ingénieurs qui abordent les problématiques liées à la science des données, aux data scientists de PME qui utilisent en profondeur les outils d'apprentissage, mais aussi aux étudiants de master, doctorants ou encore futurs ingénieurs qui souhaitent un ouvrage de référence en data science.
A qui s'adresse ce livre ?
- Aux développeurs, statisticiens, étudiants et chefs de projets ayant à résoudre des problèmes de data science.
- Aux data scientists, mais aussi à toute personne curieuse d'avoir une vue d'ensemble de l'état de l'art du machine learning.
Apprentissage artificiel
Deep learning, concepts et algorithmes
Résumé de l'éditeur
Pour réaliser ces tâches, ils sont dotés de modules d'apprentissage leur permettant d'adapter leur comportement à des situations jamais rencontrées, ou d'extraire des lois à partir de bases de données d'exemples. Ce livre présente les concepts qui sous-tendent l'apprentissage artificiel, les algorithmes qui en découlent et certaines de leurs applications. Son objectif est de décrire un ensemble d'algorithmes utiles en tentant d'établir un cadre théorique pour l'ensemble des techniques regroupées sous ce terme "d'apprentissage artificiel".
La troisième édition de ce livre a été complètement réorganisée pour s'adapter aux évolutions très significatives de l'apprentissage artificiel ces dernières années. Une large place y est accordée aux techniques d'apprentissage profond et à de nouvelles applications, incluant le traitement de flux de données.
A qui s'adresse ce livre ?
Ce livre s'adresse tant aux décideurs et aux ingénieurs qui souhaitent mettre au point des applications qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs, qui souhaitent un ouvrage de référence sur ce domaine clé de l'intelligence artificielle.
Édition : Eyrolles - 912 pages, 3e édition, 17 mai 2018
ISBN10 : 2212675224 - ISBN13 : 9782212675221
- Des machines apprenantes !
- L'induction exploitant la structure de l'espace des hypothèses
- L'induction par optimisation d'un critère inductif
- L'induction par comparaison à des exemples (et par collaboration)
- L'apprentissage descriptif
- Apprentissage en environnement et non stationnaire
- Aspects pratiques et suppléments
- Annexes et bibliographie
La rédaction diffère également de la concurrence, le point de vue adopté étant plus basé sur la théorie que la pratique. Les titres des chapitres ne révèlent pleinement leur cohérence qu'à la lecture. C'est là un parti pris : plus de théorie que de pratique. Cette structuration mène également à des points plus étonnants, comme le fait que la question de l'évaluation d'un apprentissage est traitée d'abord pour l'apprentissage non supervisé, puis (bien) après pour l'apprentissage supervisé plus classique. Également, le texte fourmille de références vers des articles plus académiques encore (les pages 851 à 889 sont réservées à la bibliographie), pour creuser plus avant si le cœur vous en dit.
Un point négatif (par rapport au public visé : « décideurs et […] ingénieurs […, ainsi] qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs ») est justement le côté théorique de toutes choses, le formalisme mathématique poussé à un très bon niveau. Les auteurs se veulent formels, et ce, dès l'introduction. Cela rend malheureusement l'ouvrage assez peu accessible, voire complètement imperméable pour les allergiques des mathématiques. Pourtant, lors de la majorité des chapitres, on se rend compte de l'effort fourni pour éviter l'abus d'anglicismes. Le sous-titre présente le mot clé « deep learning », mais celui-ci n'occupe pas une place aussi prépondérante que cela laisserait penser (deux chapitres sur vingt-trois).
On sent assez fortement qu'il y a trois auteurs, l'ouvrage manquant parfois de cohérence. Il est régulier de voir des références au passé à des notions qui ne sont pourtant détaillées que dans plusieurs chapitres (de manière similaire, les couvertures de Markov sont présentées au moins trois fois). Les rappels sont fréquents, mais il est plus gênant que, lorsque tous les chapitres pointent vers une notion à un endroit précis, cette définition soit elle aussi un rappel. Finalement, certaines informations sont clairement périmées : une note de bas de page indique que « très peu de travaux traitent de ce problème à ce jour (octobre 2009) », soit un peu avant la sortie de l'édition… précédente (en 2010). Trois sources de données sont citées (Microsoft Azure Marketplace, Datamarket, Data Publica), seule la dernière existe encore — quid dans quelques années ?
Par conséquent, l'ouvrage semble plutôt prédestiné à ceux qui veulent une compréhension profonde de la théorie derrière l'apprentissage, de ses liens avec les algorithmes. Il pèche sur les questions plus pratiques. Il n'y a donc pas beaucoup de souci à se faire pour la péremption des informations, qui resteront valables des années, si ce n'est dizaines d'années pour la plupart. Le public visé est plutôt mathématicien ou chercheur dans le domaine : il faut avoir déjà des connaissances préalables en apprentissage pour tirer un maximum du livre.
Loin d’être facile à prendre en main, il nécessite un très bon niveau pour comprendre les différentes théories abordées. De ce fait, il n’est pas véritablement à conseiller à un débutant.
Dans les points positifs, on peut noter la présence de nombreux chapitres, chacun sur un sujet bien précis. À la fin de la grande majorité d’entre eux, se trouve un point historique ainsi qu’un résumé des notions abordées.
Malgré le niveau élevé de cet ouvrage, les nombreuses références bibliographiques en font paradoxalement un point d’entrée idéal pour un néophyte (mais disposant malgré tout d’un bon bagage mathématique).
Je note toutefois quelques points négatifs. Tout d’abord, j’ai ressenti un manque de cohérence dans l’organisation des différents chapitres. Ils font fréquemment référence à d’autres chapitres, et généralement de manière assez éloignée (comme le chapitre 3 référençant le chapitre 18 ou 20). Cela gêne pour une lecture linéaire.
Ensuite, je trouve dommage que pour une réédition, on ait parfois l’impression que les références n’aient pas été mises à jour. Les références citées sont parfois assez anciennes. Et cette impression s’est transformée en quasi-certitude page 730, où il est indiqué « qu’il n’existe à ce jour que très peu de travaux », avec une note de bas de page précisant que le « à ce jour » correspond au mois d’octobre 2009. Pour une réédition publiée en 2018, je trouve cela fort préjudiciable.
En dernier « reproche », je noterai un manque de finition qui vient perturber la lecture. Je peux citer des références non résolues (« ?? » dans le texte), des courbes couleur imprimées en noir et blanc, rendant impossible de savoir quelle courbe est la verte et laquelle est la rouge, ou encore les petites erreurs de typographie, surtout lorsqu’elles interviennent dans des formules mathématiques.
Pour conclure, malgré ses imperfections et son niveau de difficulté élevé, cet ouvrage reste un très bon ouvrage pour aborder, de manière théorique, de très nombreux aspects liés à l’apprentissage artificiel.
Commenter Signaler un problème
Pour réaliser ces tâches, ils sont dotés de modules d'apprentissage leur permettant d'adapter leur comportement à des situations jamais rencontrées, ou d'extraire des lois à partir de bases de données d'exemples. Ce livre présente les concepts qui sous-tendent l'apprentissage artificiel, les algorithmes qui en découlent et certaines de leurs applications. Son objectif est de décrire un ensemble d'algorithmes utiles en tentant d'établir un cadre théorique pour l'ensemble des techniques regroupées sous ce terme "d'apprentissage artificiel".
La troisième édition de ce livre a été complètement réorganisée pour s'adapter aux évolutions très significatives de l'apprentissage artificiel ces dernières années. Une large place y est accordée aux techniques d'apprentissage profond et à de nouvelles applications, incluant le traitement de flux de données.
A qui s'adresse ce livre ?
Ce livre s'adresse tant aux décideurs et aux ingénieurs qui souhaitent mettre au point des applications qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs, qui souhaitent un ouvrage de référence sur ce domaine clé de l'intelligence artificielle.
Nous vous invitons à lire la critique que François DORIN a bien voulu faire sur ce livre :
Apprentissage artificiel : deep learning, concepts et algorithmes, 3e édition
Bonne lecture
Deep Learning avec TensorFlow
Mise en oeuvre et cas concrets
Résumé de l'éditeur
Le Deep Learning est récent et il évolue vite. Ce livre en présente les principales techniques : les réseaux de neurones profonds, capables de modéliser toutes sortes de données, les réseaux de convolution, capables de classifier des images, les segmenter et découvrir les objets ou personnes qui s'y trouvent, les réseaux récurrents, capables de gérer des séquences telles que des phrases, des séries temporelles, ou encore des vidéos, les autoencodeurs qui peuvent découvrir toutes sortes de structures dans des données, de façon non supervisée, et enfin le Reinforcement Learning (apprentissage par renforcement) qui permet de découvrir automatiquement les meilleures actions pour effectuer une tâche (par exemple un robot qui apprend à marcher).
Ce livre présente TensorFlow, le framework de Deep Learning créé par Google. Il est accompagné de notebooks Jupyter (disponibles sur github) qui contiennent tous les exemples de code du livre, afin que le lecteur puisse facilement tester et faire tourner les programmes. Il complète un premier livre intitulé Machine Learning avec Scikit-Learn.
Édition : Dunod - 320 pages, 1re édition, 22 août 2018
ISBN10 : 2100759930 - ISBN13 : 9782100759934
Introduction à TensorFlow
Introduction aux réseaux de neurones artificiels
Entraînement de réseaux de neurones profonds
Distribution de TensorFlow sur des processeurs ou des serveurs
Réseaux de neurones convolutifs
Réseaux de neurones récurrents
Autoencodeurs
Les points forts de cette œuvre se rapprochent de la première partie, notamment une bonne dose de pédagogie et une langue compréhensible par la majorité (à condition d'avoir les bonnes bases mathématiques) — l'emploi de termes anglophones est cependant plus présent que dans le premier tome. La variété de sujets abordés est intéressante, car elle s'étend sur tous les domaines actuels où l'apprentissage profond se développe (convolution, récursion, apprentissage par renforcement, principalement). Ce dernier exemple est particulièrement important, car rares sont les ressources qui parlent d'apprentissage par renforcement, surtout à un tel niveau de détail (en omettant toutefois les parties mathématiques assez complexes qui viennent rapidement dans le domaine — un grand plus de cet ouvrage qui facilite fortement la compréhension !). On peut regretter que Keras ou une autre interface de plus haut niveau ne soit pas traitée, pour faciliter l'expérimentation rapide.
Cet ouvrage se destine donc à toutes les personnes débutant dans l'apprentissage profond (ou qui connaissent l'utilisation plus classique des réseaux neuronaux, mais souhaitent se mettre au goût du jour). Il servira surtout à ceux qui veulent une référence écrite à garder sous la main ou qui n'aiment pas apprendre par le biais de vidéos en ligne (à ce niveau, quand il faut clairement faire un tri dans les vidéos disponibles, ce livre n'est pas démuni d'avantages).
TensorFlow est un framework difficile à prendre en main et à comprendre. Je travaille dessus depuis environ trois ans et il y a toujours des parties que je ne maîtrise pas, surtout que c'est un framework qui change son API très souvent. J'étais donc curieux de voir comment se présentait un ouvrage éducatif sur ce framework et je dois dire que j'ai été agréablement surpris par la clarté des explications et des implémentations des algorithmes : j'ai lu beaucoup d'explications détaillées sur les principales architectures de réseaux neuronaux (FFNN, CNN, RNN…) et rares sont celles qui sont aussi claires et intuitives. Une fois cet ouvrage fini, toute personne ayant les bases suffisantes en apprentissage automatique (voir l'ouvrage du même auteur sur le sujet) arrivera parfaitement à mettre en œuvre un réseau de neurones, ainsi qu'à réimplémenter un réseau de neurones existant.
Je recommande donc fortement cet ouvrage à qui veut apprendre les bases de l'apprentissage profond et les implémentations en TensorFlow.
Commenter Signaler un problème
Le Deep Learning est récent et il évolue vite. Ce livre en présente les principales techniques : les réseaux de neurones profonds, capables de modéliser toutes sortes de données, les réseaux de convolution, capables de classifier des images, les segmenter et découvrir les objets ou personnes qui s'y trouvent, les réseaux récurrents, capables de gérer des séquences telles que des phrases, des séries temporelles, ou encore des vidéos, les autoencodeurs qui peuvent découvrir toutes sortes de structures dans des données, de façon non supervisée, et enfin le Reinforcement Learning (apprentissage par renforcement) qui permet de découvrir automatiquement les meilleures actions pour effectuer une tâche (par exemple un robot qui apprend à marcher).
Ce livre présente TensorFlow, le framework de Deep Learning créé par Google. Il est accompagné de notebooks Jupyter (disponibles sur github) qui contiennent tous les exemples de code du livre, afin que le lecteur puisse facilement tester et faire tourner les programmes. Il complète un premier livre intitulé Machine Learning avec Scikit-Learn.
Deep Learning avec TensorFlow
Mise en oeuvre et cas concrets
de Aurélien Géron
Je vous invite à lire la critique de Julien Plu au sujet du livre Deep Learning avec TensorFlow - Mise en oeuvre et cas concrets.
Bonne lecture
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Machine Learning avec Scikit-Learn
Mise en oeuvre et cas concrets
Résumé de l'éditeur
Il ne requiert que peu de connaissances en mathématiques et présente les fondamentaux du Machine Learning d'une façon très pratique à l'aide de Scikit-Learn qui est l'un des frameworks de ML les plus utilisés actuellement.
Des exercices corrigés permettent de s'assurer que l'on a assimilé les concepts et que l'on maîtrise les outils.
Des compléments en ligne interactifs sous forme de notebooks Jupyter complètent le livre avec des exemples exécutables.
Ce premier titre est complété par un second ouvrage intitulé Deep Learning avec TensorFlow.
Édition : Dunod - 254 pages, 1re édition, 30 août 2017
ISBN10 : 210076540X - ISBN13 : 9782100765409
Un projet de Machine Learning de bout en bout
Classification
Entraînement de modèles
Machines à vecteurs de support
Arbres de décision
Apprentissage d'ensemble et forêts aléatoires
Réduction de dimension
Un des points forts est sans nul doute la pédagogie dont fait preuve l'auteur. Il n'abuse pas de jargon (la traduction en français est d'ailleurs de très bonne facture, sans quantité phénoménale d'anglicismes), pour des explications claires et progressives. Les exemples sont aussi bien choisis et donnent envie d'en faire plus. La présentation de scikit-learn n'est pas exhaustive, l'auteur préférant passer du temps sur les éléments les plus importants pour structurer correctement son code.
En résumé, on peut vraiment recommander ce livre pour toutes les personnes qui débutent dans le domaine de l'apprentissage automatique, mais aussi à toutes celles qui ont une certaine expérience et aimeraient la formaliser quelque peu. Le niveau attendu n'est pas très élevé, il suffit de connaissances assez basiques en mathématiques (à condition d'avoir une formation en informatique), comme les fonctions, les dérivées et les matrices. Par contre, il ne conviendra pas vraiment à celles et ceux qui cherchent une ressource plus avancée (même s'ils apprendront l'une ou l'autre chose utile au passage). Le seul aspect vraiment négatif est la séparation en deux ouvrages, celui-ci faisant complètement l'impasse sur les réseaux neuronaux, même si certaines remarques dans le fil du texte y font référence.
La seule frustration que j'aurais à la fin de ce livre est son manque de complétude, j'aurais aimé que l'auteur propose plus d'algorithmes. Par exemple, l'algorithme des K plus proches voisins, qui est beaucoup trop brièvement abordé. Malgré cela, c'est un ouvrage que je recommande très largement à toute personne désirant avoir des bases solides en apprentissage automatique.
Commenter Signaler un problème
Je vous invite à lire la critique de Julien Plu au sujet du livre Machine Learning avec Scikit-Learn - Mise en oeuvre et cas concrets.
Bonne lecture
Il ne requiert que peu de connaissances en mathématiques et présente les fondamentaux du Machine Learning d'une façon très pratique à l'aide de Scikit-Learn qui est l'un des frameworks de ML les plus utilisés actuellement.
Des exercices corrigés permettent de s'assurer que l'on a assimilé les concepts et que l'on maîtrise les outils.
Des compléments en ligne interactifs sous forme de notebooks Jupyter complètent le livre avec des exemples exécutables.
Ce premier titre est complété par un second ouvrage intitulé Deep Learning avec TensorFlow.
[/h] [h=3]Mise en oeuvre et cas concrets[/h] de Aurélien Géron
Big Data et Machine Learning
Les concepts et les outils de la data science
Résumé de l'éditeur
Le Big Data s'est imposé comme une innovation majeure pour toutes les entreprises qui cherchent à construire un avantage concurrentiel grâce à l'exploitation de leurs données clients, fournisseurs, produits, processus, machines, etc.
Mais quelle solution technique choisir ? Quelles compétences métier développer au sein de la DSI ?
Ce livre est un guide pour comprendre les enjeux d'un projet Big Data, en appréhender les concepts sous-jacents (en particulier le Machine Learning) et acquérir les compétences nécessaires à la mise en place d'un data lab.
Il combine la présentation :
- de notions théoriques (traitement statistique des données, calcul distribué...) ;
- des outils les plus répandus (écosystème Hadoop, Storm...) ;
- d'exemples d'applications ;
- d'une organisation typique d'un projet de data science.
Cette deuxième édition est complétée et enrichie par des mises à jour sur les réseaux de neurones et sur le Deep Learning ainsi que sur Spark..
Édition : Dunod - 272 pages, 2e édition, 9 octobre 2016
ISBN10 : 2100754637 - ISBN13 : 9782100754632
- Les origines du Big Data
- Le Big Data dans les organisations
- Le mouvement NoSQL
- L'algorithme MapReduce et le framework Hadoop
Le métier de data scientist
- Le quotidien du data scientist
- Exploration et préparation de données
- Le Machine Learning
- La visualisation des données
Les outils du Big Data
- L'écosystème Hadoop
- Analyse de logs avec Pig et Hive
- Les architectures lambda
- Apache Storm
Le principal avantage du livre est qu'il présente, dans un format compact, l'ensemble des notions de base utiles à toute personne devant intervenir dans un projet d'exploitation de données. Son public est donc assez large, le contenu ne nécessite bien souvent pas une longue expérience en informatique pour s'y retrouver : les auteurs assument entièrement ce choix. Les explications sont généralement claires, ce qui cadre bien avec l'objectif ; les nombreuses illustrations aident également. Malgré les quatre auteurs, l'ensemble est extrêmement fluide.
Le livre n'hésite pas à tordre le cou à certaines idées reçues. Non, la science de données n'est pas neuve : ce qui l'est, c'est la capacité (technique) de gérer de grands volumes d'information. Non, de grandes quantités de données ne résoudront pas tout problème dans une entreprise.
Les aspects réellement techniques ne sont pas oubliés. Le livre s'appesantit sur l'architecture MapReduce avec l'outil Hadoop pour déployer les calculs à large échelle, mais n'oublie pas de présenter YARN ou Drill. Conformément à l'esprit des auteurs, l'installation des outils est mise sur le côté, puisqu'ils préfèrent parler de distributions qui facilitent en bonne partie le travail et sont très bien adaptées à ceux qui débutent dans le domaine.
On peut cependant noter l'un ou l'autre point faible. Le côté apprentissage automatique est extrêmement limité, malgré sa présence dans le titre. La section sur l'apprentissage profond dénote fortement avec le reste du chapitre, étant extrêmement mathématique (au contraire du reste de l'ouvrage !). Une seule étude de cas est présentée, ce qui est dommage, notamment au niveau de la partie sur les outils.
Pour résumer, ce livre est à mettre entre toutes les mains des personnes qui aimeraient découvrir le domaine de l'exploitation des données à grande échelle. Elles auront un aperçu complet et bon nombre de pointeurs pour continuer leur apprentissage.
Commenter Signaler un problème
Le Big Data s'est imposé comme une innovation majeure pour toutes les entreprises qui cherchent à construire un avantage concurrentiel grâce à l'exploitation de leurs données clients, fournisseurs, produits, processus, machines, etc.
Mais quelle solution technique choisir ? Quelles compétences métier développer au sein de la DSI ?
Ce livre est un guide pour comprendre les enjeux d'un projet Big Data, en appréhender les concepts sous-jacents (en particulier le Machine Learning) et acquérir les compétences nécessaires à la mise en place d'un data lab.
Il combine la présentation :
- de notions théoriques (traitement statistique des données, calcul distribué...) ;
- des outils les plus répandus (écosystème Hadoop, Storm...) ;
- d'exemples d'applications ;
- d'une organisation typique d'un projet de data science.
Cette deuxième édition est complétée et enrichie par des mises à jour sur les réseaux de neurones et sur le Deep Learning ainsi que sur Spark..
Data Scientist et langage R
Guide d'autoformation à l'exploitation des Big Data
Résumé de l'éditeur
Ainsi, l'auteur propose un parcours didactique et professionnalisant qui, sans autre pré-requis qu'un niveau Bac en mathématiques et une grande curiosité, permet au lecteur :
- de s'intégrer à une équipe de data scientists,
- d'aborder des articles de recherche possédant une haute teneur en mathématiques,
- le cas échéant de développer en langage R, y compris des algorithmes nouveaux et de beaux graphiques,
- ou tout simplement de manager une équipe projet comprenant des data scientists, en étant à même de dialoguer avec eux de façon efficace.
Le livre ne se cantonne pas aux algorithmes du "machine learning", il aborde divers sujets importants comme le traitement du langage naturel, les séries temporelles, la logique floue, la manipulation des images.
La dynamique de l'ouvrage soutient le lecteur pas à pas dans sa découverte des data sciences et l'évolution de ses compétences théoriques et pratiques. Le praticien en exercice y découvrira également de nombreux savoir-faire à acquérir et le manager pourra surfer sur l'ouvrage après avoir lu attentivement le bestiaire des data sciences de l'introduction, qui sans inexactitude ou vulgarisation excessive présente le sujet en faisant l'économie de mathématiques ou de formalismes dissuasifs.
Édition : ENI - 663 pages, 1er mars 2016
ISBN10 : 2409000436 - ISBN13 : 9782409000430
- Introduction
- Premiers pas avec R
- Maîtriser les bases
- Techniques et algorithmes incontournables
- Cadre méthodologique du data scientist
- Traitement du langage naturel
- Graphes et réseaux
- Autres problèmes, autres solutions
- Feature Engineering
- Compléments utiles
- Annexes
Dans le premier chapitre, le lecteur trouvera plus de 50 pages présentant quelques concepts se cachant derrière le terme « big data », la présentation rapide de techniques de classification et d'apprentissage, puis une présentation (trop ?) succincte de l'écosystème Hadoop.
Les chapitres suivants seront une initiation au langage R, illustrée par des exemples de toutes les techniques évoquées au chapitre 1. Cette partie s'avèrera extrêmement dense, et très utile pour se former à l'utilisation pratique de R.
En revanche, un certain lectorat pourra, à juste titre, reprocher l'absence de recul et d'approche théorique. Finalement, le lecteur saura utiliser les outils, mais n'aura pas forcément la maturité nécessaire pour faire mieux qu'appliquer les recettes présentées en espérant que le résultat soit utilisable.
D'une manière générale, ce livre déçoit par son manque de structure. Les sections se succèdent sans nécessairement avoir de lien entre elles, en présentant parfois approximativement des techniques issues des statistiques et de l'apprentissage automatique sans vraiment de recul. Par exemple, on aura droit à une présentation des data frames de R, très rapidement suivie de la notion d'arbre de décision — sans que les deux aient l'air liés d'une quelconque manière — ou encore à RCommander juste après une introduction à la notion de variable aléatoire. Cette construction déstructurée pourrait être avantageuse pour un public plutôt débutant, sans bagage conséquent en mathématiques ou en programmation, qui aura ainsi la possibilité de tester directement la syntaxe de R entre le chargement d'un jeu de données et son exploitation par apprentissage automatique, sans s'allourdir de considérations autres que pratiques. Néanmoins, une structure assumée aiderait certains à comprendre… et surtout à utiliser l'ouvrage comme référence.
Cet ouvrage contient une introduction à la programmation en R de manière intuitive, renforcée par quantité d'exemples : elle devrait donner les bases à ceux qui n'ont que très peu touché à la programmation, des bases suffisantes pour écrire leur propre code proprement — même en utilisant l'approche orientée objet. Cependant, par la suite, l'auteur ne convainc pas réellement que R est l'outil le plus approprié pour ce cas d'utilisation, notamment à cause du nombre d'avertissements égrainés tout au long de l'ouvrage, autant d'indicateurs que le langage est piégeux. Un bon nombre d'outils est présenté, mais très rarement approfondi : par exemple, dplyr est très rapidement présenté, mais tout aussi vite oublié, sans montrer réellement ses apports par rapport aux fonctionnalités de base de R.
Le premier chapitre du livre est néanmoins très intéressant, notamment pour son bestiaire de la science des données : tous les concepts de base y sont représentés, dont une série graphiquement. Les explications sont succinctes, parfois approximatives, mais facilitent la compréhension du domaine dans son ensemble, chaque élément menant au suivant.
L'autre chapitre qui fait sortir ce livre de la moyenne concerne le suivi d'un projet de développement dans le domaine de la science des données. Il devrait aider le lecteur à s'organiser en situation réelle, notamment en pointant les différences par rapport aux cycles de développement logiciel.
Tout au long de l'ouvrage, l'auteur ne suit qu'une seule approche : comprendre le jeu de données (à l'aide de graphiques, principalement) aide à le modéliser, c'est-à-dire à choisir et appliquer un algorithme d'apprentissage automatique. L'approche inverse, qui consiste à exploiter le résultat d'algorithmes d'apprentissage pour analyser les données, n'est reléguée qu'à quelques notes éparses (à peine parle-t-on de l'importance des variables déterminée par une forêt aléatoire). On a là l'impression que l'auteur a une bonne expérience du domaine, avec un biais très fort envers les solutions très pragmatiques, mais nettement moins envers la recherche, toujours florissante dans le domaine — un comble, quand l'un des objectifs annoncés du livre est de mener à un niveau de compréhension suffisant du domaine pour aborder la littérature scientifique de pointe. Les notions théoriques ne sont toutefois pas oubliées, avec des présentations assez détaillées en ce qui concerne les probabilités et variables aléatoires (jusqu'à préciser la définition d'une tribu !) ou encore l'algèbre linéaire — sans que ces rappels soient réellement mis en rapport avec le reste de l'ouvrage.
Certains sujets sont abordés de manière extrêmement superficielle (comme le traitement d'images ou encore la logique floue), les rendant strictement inutiles. D'autres le sont, mais sans que ce soit justifié (le niveau de détail des variables aléatoires ou encore l'optimisation par essaims) : ces outils ne sont pas mis en lien avec le reste des thèmes abordés.
En résumé, ce livre pourrait être utile pour des débutants dans le domaine, qui n'ont pas une grande expérience dans le domaine ou un bagage mathématique poussé. Ces gens pourront profiter du livre, en omettant les parties trop mathématiques abstraites. Cela ne signifie pas que, pour ce public, tous les objectifs annoncés sont atteints. Difficile d'être pleinement opérationnel après uniquement la lecture de ce livre, de « s'autoformer », même en approfondissant chacun des exemples. Par contre, le niveau d'exposition devrait être suffisant pour dialoguer en profondeur avec des personnes dont la science des données est le domaine de prédilection.
Commenter Signaler un problème
Ainsi, l'auteur propose un parcours didactique et professionnalisant qui, sans autre pré-requis qu'un niveau Bac en mathématiques et une grande curiosité, permet au lecteur :
- de s'intégrer à une équipe de data scientists,
- d'aborder des articles de recherche possédant une haute teneur en mathématiques,
- le cas échéant de développer en langage R, y compris des algorithmes nouveaux et de beaux graphiques,
- ou tout simplement de manager une équipe projet comprenant des data scientists, en étant à même de dialoguer avec eux de façon efficace.
Le livre ne se cantonne pas aux algorithmes du "machine learning", il aborde divers sujets importants comme le traitement du langage naturel, les séries temporelles, la logique floue, la manipulation des images.
La dynamique de l'ouvrage soutient le lecteur pas à pas dans sa découverte des data sciences et l'évolution de ses compétences théoriques et pratiques. Le praticien en exercice y découvrira également de nombreux savoir-faire à acquérir et le manager pourra surfer sur l'ouvrage après avoir lu attentivement le bestiaire des data sciences de l'introduction, qui sans inexactitude ou vulgarisation excessive présente le sujet en faisant l'économie de mathématiques ou de formalismes dissuasifs.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
L'Intelligence Artificielle pour les développeurs
Concepts et implémentations en Java
Résumé de l'éditeur
- Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances.
- La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels.
- Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires.
- Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes.
- Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes.
- Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples.
- Les réseaux de neurones, capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données.
Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Java (réalisés avec Netbeans), un par technique d'Intelligence Artificielle. Chaque projet contient un package générique et un ou plusieurs packages spécifiques à l'application proposée.
Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index.
Édition : ENI - 484 pages, 1er décembre 2015
ISBN10 : 2746098431 - ISBN13 : 9782746098435
1. Objectifs du livre
2. Public et prérequis
3. Structure du livre
4. Code en téléchargement
Introduction
1. Présentation du chapitre
2. Définir l’intelligence
3. L’intelligence du vivant
4. L’intelligence artificielle
5. Domaines d’application
6. Synthèse
Systèmes experts
1. Présentation du chapitre
2. Exemple : un système expert en polygones
2.1 Triangles
2.2 Quadrilatères
2.3 Autres polygones
3. Contenu d'un système expert
3.1 Base de règles
3.2 Base de faits
3.3 Moteur d'inférences
3.4 Interface utilisateur
4. Types d'inférences
4.1 Chaînage avant
4.1.1 Principe
4.1.2 Application à un exemple
4.2 Chaînage arrière
4.2.1 Principe
4.2.2 Application à un exemple
4.3 Chaînage mixte
5. Étapes de construction d'un système
5.1 Extraction des connaissances
5.2 Création du moteur d'inférences
5.3 Écriture des règles
5.4 Création de l'interface utilisateur
6. Performance et améliorations
6.1 Critères de performance
6.2 Amélioration des performances par l'écriture des règles
6.3 Importance de la représentation du problème
7. Ajout d’incertitudes et de probabilités
7.1 Apport des incertitudes
7.2 Faits incertains
7.3 Règles incertaines
8. Domaines d’application
8.1 Aide au diagnostic
8.2 Estimation de risques
8.3 Planification et logistique
8.4 Transfert de compétences et connaissances
8.5 Autres applications
9. Création d'un système expert en Java
9.1 Détermination des besoins
9.2 Implémentation des faits
9.3 Base de faits
9.4 Règles et base de règles
9.5 Interface
9.6 Moteur d'inférences
9.7 Saisie des règles et utilisation
10. Utilisation de Prolog
10.1 Présentation du langage
10.2 Syntaxe du langage
10.2.1 Généralités
10.2.2 Prédicats
10.2.3 Poser des questions
10.2.4 Écriture des règles
10.2.5 Autres prédicats utiles
10.3 Codage du problème des formes géométriques
10.4 Codage du problème des huit reines
10.4.1 Intérêt du chaînage arrière
10.4.2 Étude du problème
10.4.3 Règles à appliquer
10.4.4 Règles de conflits entre reines
10.4.5 But du programme
10.4.6 Exemples d'utilisation
11. Synthèse
Logique floue
1. Présentation du chapitre
2. Incertitude et imprécision
2.1 Incertitude et probabilités
2.2 Imprécision et subjectivité
2.3 Nécessité de traiter l'imprécision
3. Ensembles flous et degrés d’appartenance
3.1 Logique booléenne et logique floue
3.2 Fonctions d'appartenance
3.3 Caractéristiques d'une fonction d'appartenance
3.4 Valeurs et variables linguistiques
4. Opérateurs sur les ensembles flous
4.1 Opérateurs booléens
4.2 Opérateurs flous
4.2.1 Négation
4.2.2 Union et intersection
5. Création de règles
5.1 Règles en logique booléenne
5.2 Règles floues
6. Fuzzification et défuzzification
6.1 Valeur de vérité
6.2 Fuzzification et application des règles
6.3 Défuzzification
7. Domaines d’application
7.1 Première utilisation
7.2 Dans les produits électroniques
7.3 En automobile
7.4 Autres domaines
8. Implémentation d'un moteur de logique floue
8.1 Le cœur du code : les ensembles flous
8.1.1 Point2D : un point d'une fonction d'appartenance
8.1.2 EnsembleFlou : un ensemble flou
8.1.3 Opérateurs de comparaison et de multiplication
8.1.4 Opérateurs ensemblistes
8.1.5 Calcul du barycentre
8.2 Ensembles flous particuliers
8.3 Variables et valeurs linguistiques
8.3.1 Valeur linguistique
8.3.2 Variable linguistique
8.4 Règles floues
8.4.1 Expression floue
8.4.2 Valeur numérique
8.4.3 Règle floue
8.5 Système de contrôle flou
8.6 Synthèse du code créé
9. Implémentation d'un cas pratique
10. Synthèse
Recherche de chemins
1. Présentation du chapitre
2. Chemins et graphes
2.1 Définition et concepts
2.2 Représentations
2.2.1 Représentation graphique
2.2.2 Matrice d’adjacence
2.3 Coût d'un chemin et matrice des longueurs
3. Exemple en cartographie
4. Algorithmes naïfs de recherche de chemins
4.1 Parcours en profondeur
4.1.1 Principe et pseudo-code
4.1.2 Application à la carte
4.2 Parcours en largeur
4.2.1 Principe et pseudo-code
4.2.2 Application à la carte
5. Algorithmes "intelligents"
5.1 Algorithme de Bellman-Ford
5.1.1 Principe et pseudo-code
5.1.2 Application à la carte
5.2 Algorithme de Dijkstra
5.2.1 Principe et pseudo-code
5.2.2 Application à la carte
5.3 Algorithme A*
5.3.1 Principe et pseudo-code
5.3.2 Application à la carte
6. Domaines d’application
7. Implémentation
7.1 Nœuds, arcs et graphes
7.1.1 Implémentation des noeuds
7.1.2 Classe représentant les arcs
7.1.3 Graphes
7.2 Fin du programme générique
7.2.1 IHM
7.2.2 Algorithme générique
7.3 Implémentation des différents algorithmes
7.3.1 Recherche en profondeur
7.3.2 Recherche en largeur
7.3.3 Algorithme de Bellman-Ford
7.3.4 Algorihme de Dijkstra
7.3.5 Algorithme A*
7.4 Application à la carte
7.4.1 Gestion des tuiles
7.4.2 Implémentation de la carte
7.4.3 Programme principal
7.5 Comparaison des performances
8. Synthèse
Algorithmes génétiques
1. Présentation du chapitre
2. Évolution biologique
2.1 Le concept d'évolution
2.2 Les causes des mutations
2.3 Le support de cette information : les facteurs
2.4 Des facteurs au code génétique
2.5 Le « cycle de la vie »
3. Évolution artificielle
3.1 Principes
3.2 Vue d'ensemble du cycle
3.2.1 Phases d'initialisation et de terminaison
3.2.2 Phase de sélection
3.2.3 Phase de reproduction avec mutations
3.2.4 Phase de survie
3.3 Convergence
4. Exemple du robinet
4.1 Présentation du problème
4.2 Initialisation de l'algorithme
4.3 Évaluation des individus
4.4 Reproduction avec mutations
4.5 Survie
4.6 Suite du processus
5. Choix des représentations
5.1 Population et individus
5.2 Gènes
5.3 Cas d'un algorithme de résolution de labyrinthe
6. Évaluation, sélection et survie
6.1 Choix de la fonction d’évaluation
6.2 Opérateurs de sélection
6.3 Opérateurs de survie
7. Reproduction : crossover et mutation
7.1 Crossover
7.2 Mutation
8. Domaines d’application
9. Coévolution
10. Implémentation d'un algorithme génétique
10.1 Implémentation générique d'un algorithme
10.1.1 Spécifications
10.1.2 Paramètres
10.1.3 Individus et gènes
10.1.4 IHM
10.1.5 Processus évolutionnaire
10.2 Utilisation pour le voyageur de commerce
10.2.1 Présentation du problème
10.2.2 Environnement
10.2.3 Gènes
10.2.4 Individus
10.2.5 Programme principal
10.2.6 Résultats
10.3 Utilisation pour la résolution d'un labyrinthe
10.3.1 Présentation du problème
10.3.2 Environnement
10.3.3 Gènes
10.3.4 Individus
10.3.5 Modification de la fabrique
10.3.6 Programme principal
10.3.7 Résultats
11. Synthèse
Métaheuristiques d'optimisation
1. Présentation du chapitre
2. Optimisation et minimums
2.1 Exemples
2.2 Le problème du sac à dos
2.3 Formulation des problèmes
2.4 Résolution mathématique
2.5 Recherche exhaustive
2.6 Métaheuristiques
3. Algorithmes gloutons
4. Descente de gradient
5. Recherche tabou
6. Recuit simulé
7. Optimisation par essaims particulaires
8. Méta-optimisation
9. Domaines d’application
10. Implémentation
10.1 Classes génériques
10.2 Implémentation des différents algorithmes
10.2.1 Algorithme glouton
10.2.2 Descente de gradient
10.2.3 Recherche tabou
10.2.4 Recuit simulé
10.2.5 Optimisation par essaims particulaires
10.3 Résolution du problème du sac à dos
10.3.1 Implémentation du problème
10.3.2 Algorithme glouton
10.3.3 Descente de gradient
10.3.4 Recherche tabou
10.3.5 Recuit simulé
10.3.6 Optimisation par essaims particulaires
10.3.7 Programme principal
10.4 Résultats obtenus
11. Synthèse
Systèmes multi-agents
1. Présentation du chapitre
2. Origine biologique
2.1 Les abeilles et la danse
2.2 Les termites et le génie civil
2.3 Les fourmis et l'optimisation de chemins
2.4 Intelligence sociale
3. Systèmes multi-agents
3.1 L'environnement
3.2 Les objets
3.3 Les agents
4. Classification des agents
4.1 Perception du monde
4.2 Prise des décisions
4.3 Coopération et communication
4.4 Capacités de l'agent
5. Principaux algorithmes
5.1 Algorithmes de meutes
5.2 Optimisation par colonie de fourmis
5.3 Systèmes immunitaires artificiels
5.4 Automates cellulaires
6. Domaines d’application
6.1 Simulation de foules
6.2 Planification
6.3 Phénomènes complexes
7. Implémentation
7.1 Banc de poissons 2D
7.1.1 Les objets du monde et les zones à éviter
7.1.2 Les agents-poissons
7.1.3 L'océan
7.1.4 L'application graphique
7.1.5 Résultats obtenus
7.2 Tri sélectif
7.2.1 Les déchets
7.2.2 Les agents nettoyeurs
7.2.3 L'environnement
7.2.4 L'application graphique
7.2.5 Résultats obtenus
7.3 Le jeu de la vie
7.3.1 La grille
7.3.2 L'application graphique
7.3.3 Résultats obtenus
8. Synthèse
Réseaux de neurones
1. Présentation du chapitre
2. Origine biologique
3. Le neurone formel
3.1 Fonctionnement général
3.2 Fonctions d'agrégation
3.3 Fonctions d'activation
3.3.1 Fonction heavyside
3.3.2 Fonction sigmoïde
3.3.3 Fonction gaussienne
3.4 Poids et apprentissage
4. Perceptron
4.1 Structure
4.2 Condition de linéarité
5. Réseaux feed-forward
6. Apprentissage
6.1 Apprentissage non supervisé
6.2 Apprentissage par renforcement
6.3 Apprentissage supervisé
6.3.1 Principe général
6.3.2 Descente de gradient
6.3.3 Algorithme de Widrow-Hoff
6.3.4 Rétropropagation
6.4 Surapprentissage et généralisation
6.4.1 Reconnaître le surapprentissage
6.4.2 Création de sous-ensembles de données
7. Autres réseaux
7.1 Réseaux de neurones récurrents
7.2 Cartes de Kohonen
7.3 Réseaux de Hopfield
8. Domaines d'application
8.1 Reconnaissance de patterns
8.2 Estimation de fonctions
8.3 Création de comportements
9. Implémentation d'un MLP
9.1 Points et ensembles de points
9.2 Neurone
9.3 Réseau de neurones
9.4 IHM
9.5 Système complet
9.6 Programme principal
9.7 Applications
9.7.1 Application au XOR
9.7.2 Application à Abalone
9.7.3 Améliorations possibles
10. Synthèse
Sitographie
Annexe
L'auteur propose un panorama de divers thèmes avec une très grande simplicité, sans grandes équations mathématiques et sans connaissances particulières préalables. Il aborde de nombreuses techniques d'algorithmes appliquées en Intelligence Artificielle de manière très claire. Tout est très simplement expliqué, de l'origine de la théorie, en passant par l'explication via un exemple ludique, jusqu'à une implémentation. Les exemples proposés sont très bien détaillés et les codes proposés sont simples, sans complexités et écrits dans un but pédagogique fournissant ainsi une prise en main concrète et efficace des concepts.
La bibliographie et la sitographie donnent des pistes pour approfondir chaque thématique.
Ce livre n'a pas vocation à apporter une expertise dans le domaine de l'Intelligence Artificielle et d'autres références, plus théoriques, seront nécessaires pour compléter le sujet.
Apprentissage machine
De la théorie à la pratique - Concepts fondamentaux en Machine Learning
Résumé de l'éditeur
L'apprentissage machine est l'un des domaines phares de l'intelligence artificielle. Il concerne l'étude et le développement de modèles quantitatifs permettant à un ordinateur d'accomplir des tâches sans qu'il soit explicitement programmé à les faire. Apprendre dans ce contexte revient à reconnaître des formes complexes et à prendre des décisions intelligentes. Compte tenu de toutes les entrées existantes, la complexité pour y arriver réside dans le fait que l'ensemble des décisions possibles est généralement très difficile à énumérer. Les algorithmes en apprentissage machine ont par conséquent été conçus dans le but d'acquérir de la connaissance sur le problème à traiter en se basant sur un ensemble de données limitées issues de ce problème.
Un ouvrage de référence
Cet ouvrage présente les fondements scientifiques de la théorie de l'apprentissage supervisé, les algorithmes les plus répandus développés suivant ce domaine ainsi que les deux cadres de l'apprentissage semi-supervisé et de l'ordonnancement, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Nous avons eu ici le souci de fournir un exposé cohérent reliant la théorie aux algorithmes développés dans cette sphère. Mais cette étude ne se limite pas à présenter ces fondements, vous trouverez ainsi quelques programmes des algorithmes classiques proposés dans ce manuscrit, écrits en langage C (langage à la fois simple et populaire), et à destination des lecteurs qui cherchent à connaître le fonctionnement de ces modèles désignés parfois comme des boîtes noires.
À qui s'adresse ce livre ?
- Aux élèves ingénieurs, étudiants de master et doctorants en mathématiques appliquées, algorithmique, recherche opérationnelle, gestion de production, aide à la décision.
- Aux ingénieurs, enseignants-chercheurs, informaticiens, industriels, économistes et décideurs ayant à résoudre des problèmes de classification, de partitionnement et d'ordonnancement à large échelle.
Édition : Eyrolles - 320 pages, 1re édition, 5 février 2015
ISBN10 : 2212138008 - ISBN13 : 9782212138009
- Introduction à la théorie de l'apprentissage
- Algorithmes d'optimisation convexe non-contrainte
- Classification bi-classes
- Classification multi-classes
- Apprentissage semi-supervisé
- Apprentissage de modèles d'ordonnancement
- Annexes (rappels de probabilités, code programmes)
C'est aussi, probablement, son point faible : les détails mathématiques occultent le reste du contenu. Le formalisme y est poussé très loin, notamment pour s'accrocher autour de l'axe du principe de minimisation du risque empirique : cette organisation confère au document une remarquable cohérence, mais ignore les questions de mise en œuvre. Le titre indique pourtant un voyage de la théorie à la pratique : cette dernière est résumée à l'implémentation (en C, parfois K&R !) des algorithmes. Les traces d'utilisation réelle des algorithmes sont ténues… et nulle trace de motivation par des applications réelles du contenu. En réalité, en opposition avec son titre, le livre se destine, à peu près exclusivement, aux chercheurs, avec une abondance de preuves mathématiques, mais aussi de références vers la littérature.
On peut pointer quelques manques dans l'ouvrage, comme les arbres de décision et leurs multiples variantes comme les forêts aléatoires, mais aussi la régression, qui n'est pas traitée explicitement. Ils ne sont cependant pas gênants, bon nombre d'algorithmes sont déjà au programme (perceptrons, SVM, AdaBoost, par exemple). Par contre, la question de l'évaluation de la qualité d'un modèle généré n'est pas véritablement à l'ordre du jour, sauf dans le chapitre sur l'apprentissage de fonctions d'ordonnancement.
La mise en page est soignée et aide généralement la lecture. Certaines parties du texte sont encadrées, notamment des sections qui mettent en évidence des notions centrales ou qui récapitulent le chapitre. Cependant, les mêmes artéfacts esthétiques sont employés pour des preuves : sont-elles alors mises en avant par rapport au reste du texte ? Ce n'est pas clair.
Globalement, l'ouvrage est complet et axé sur la théorie, difficile d'accès pour des personnes n'ayant pas eu une formation universitaire poussée en mathématiques. Celui qui souhaite se mettre à l'apprentissage automatique dans la pratique en retirera néanmoins quelques avantages, principalement pour la désacralisation des méthodes employées.
Commenter Signaler un problème
L'apprentissage machine est l'un des domaines phares de l'intelligence artificielle. Il concerne l'étude et le développement de modèles quantitatifs permettant à un ordinateur d'accomplir des tâches sans qu'il soit explicitement programmé à les faire. Apprendre dans ce contexte revient à reconnaître des formes complexes et à prendre des décisions intelligentes. Compte tenu de toutes les entrées existantes, la complexité pour y arriver réside dans le fait que l'ensemble des décisions possibles est généralement très difficile à énumérer. Les algorithmes en apprentissage machine ont par conséquent été conçus dans le but d'acquérir de la connaissance sur le problème à traiter en se basant sur un ensemble de données limitées issues de ce problème.
Un ouvrage de référence
Cet ouvrage présente les fondements scientifiques de la théorie de l'apprentissage supervisé, les algorithmes les plus répandus développés suivant ce domaine ainsi que les deux cadres de l'apprentissage semi-supervisé et de l'ordonnancement, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Nous avons eu ici le souci de fournir un exposé cohérent reliant la théorie aux algorithmes développés dans cette sphère. Mais cette étude ne se limite pas à présenter ces fondements, vous trouverez ainsi quelques programmes des algorithmes classiques proposés dans ce manuscrit, écrits en langage C (langage à la fois simple et populaire), et à destination des lecteurs qui cherchent à connaître le fonctionnement de ces modèles désignés parfois comme des boîtes noires.
À qui s'adresse ce livre ?
- Aux élèves ingénieurs, étudiants de master et doctorants en mathématiques appliquées, algorithmique, recherche opérationnelle, gestion de production, aide à la décision.
- Aux ingénieurs, enseignants-chercheurs, informaticiens, industriels, économistes et décideurs ayant à résoudre des problèmes de classification, de partitionnement et d'ordonnancement à large échelle.
De la théorie à la pratique - Concepts fondamentaux en Machine Learning
Apprentissage artificiel
Concepts et algorithmes
Résumé de l'éditeur
Édition : Eyrolles - 803 pages, 2e édition, 1er juin 2010
ISBN10 : 2212124716 - ISBN13 : 9782212124712
23 x 17 x 5 cm
- Les fondements de l'apprentissage
(list] - Première approche théorique de l'induction
- Environnement méthodologique
- Induction et relation d'ordre
- Programmation logique inductive
- Inférence grammaticale
- Apprentissage par évolution
- Surfaces séparatrices linéaires
- Réseaux connexionistes
- Réseaux bayésiens
- Modèles de Markov cachés
(list][*]Classification non supervisée[*]Apprentissage par renforcement[/list][*]Annexes et bibliographie[/list]
Ouch ! C'est la première impression quand on tient le livre entre les mains. Beaucoup de pages (plus de 800) et puis il pèse son poids. Ensuite, si on feuillette un peu le livre, on se rend compte qu'il y a beaucoup de texte, mais également beaucoup de formules mathématiques.
En effet, ce livre se veut être une référence dans le domaine de l'apprentissage artificiel, mais il est en fait plutôt dédié aux étudiants qui cherchent un complément de cours ou aux chercheurs qui ont besoin d'une bonne compilation de tout ce qui existe dans le domaine. Par contre, il est inaccessible aux professionnels qui cherchent un peu à savoir comment tout cela fonctionne.
L'approche est très théorique, voire très (trop ?) mathématique. En revanche, elle a l'avantage de bien poser toutes les bases et d'ouvrir la réflexion sur l'apprentissage à un niveau presque philosophique.
Cependant, il y a tout dedans. Ecrit par des pointures du domaine, cet ouvrage constitue une bible à lire et à relire. Les exemples sont assez compréhensibles et appliqués à des domaines proches de nous.
On regrettera le manque d'applications pratiques et quelques codes sources auraient été les bienvenus.
Commenter Signaler un problème
j'ai lu l'ouvrage Apprentissage artificiel - Concepts et algorithmes
Résumé de l'éditeur :
Ouch ! C'est la première impression quand on tient le livre entre les mains. Beaucoup de pages (plus de 800) et puis il pèse son poids. Ensuite, si on feuillette un peu le livre, on se rend compte qu'il y a beaucoup de texte, mais également beaucoup de formules mathématiques.
En effet, ce livre se veut être une référence dans le domaine de l'apprentissage artificiel, mais il est en fait plutôt dédié aux étudiants qui cherchent un complément de cours ou aux chercheurs qui ont besoin d'une bonne compilation de tout ce qui existe dans le domaine. Par contre, il est inaccessible aux professionnels qui cherchent un peu à savoir comment tout cela fonctionne.
L'approche est très théorique, voire très (trop ?) mathématique. En revanche, elle a l'avantage de bien poser toutes les bases et d'ouvrir la réflexion sur l'apprentissage à un niveau presque philosophique.
Cependant, il y a tout dedans. Ecrit par des pointures du domaine, cet ouvrage constitue une bible à lire et à relire. Les exemples sont assez compréhensibles et appliqués à des domaines proches de nous.
On regrettera le manque d'applications pratiques et quelques codes sources auraient été les bienvenus.
Quel est votre avis?
J'ai eu l'occasion d'utiliser cet ouvrage, il est en effet très théorique et totalement inadapté pour une application pratique immédiate. Cet ouvrage est plus destiné à compléter un cours ou des connaissances par des bases solides qu'a un apprentissage à partir de zéro.
Sur un ouvrage de référence tel que celui-ci, une chose m'a beaucoup dérangé (J'en ai déjà parlé ici et je recommence):
J'ai utilisé en particulier (dans la deuxième édition) le chapitre 12: L'apprentissage de modèle de Markov cachés; j'y ai trouvé de nombreuses erreurs:
- Dans les formules mathématiques (fautes de frappe, disparition de caractères ou de fin d'équation, et parfois tout ça dans une même ligne )
- Dans les algorithmes (la fin de certaines lignes est absente, des valeurs de fin de boucle sont fausses)
- Dans les valeurs numériques des exemples (De nombreux résultats sont totalement faux!!)
Pire encore: J'ai également eu l'occasion de consulter la première édition de ce livre. Non seulement la plupart des erreurs que j'ai trouvé dans la deuxième édition étaient déjà présentes dans la première édition, mais des erreurs supplémentaires sont apparues dans la deuxième édition!!!
J'avais cherché à l'époque un moyen de faire remonter l'info à l'éditeur, mais je n'y était pas parvenu...
Les autres chapitres que j'ai pu utiliser semblaient corrects.
Intelligence artificielle
Résumé de l'éditeur
Sa spécificité est de présenter l'IA à travers le concept des agents intelligents. Les auteurs exposent comment un système réussit à percevoir son environnement de manière à analyser ce qu'il s'y passe, et comment il transforme la perception qu'il a de son environnement en actions concrètes.
Parmi les sujets couverts :
- les contributions historiques des mathématiques, de la théorie des jeux, de l'économie, de la théorie des probabilités, de la psychologie, de la linguistique et des neurosciences ;
- les méthodes qui permettent de prendre des décisions lors de l'établissement d'un projet, en tenant compte des étapes à venir ;
- les différentes manières de représenter formellement les connaissances relatives au monde qui nous entoure ainsi que le raisonnement logique fondé sur ces connaissances ;
- les méthodes de raisonnement qui permettent d'établir des plans et donc de proposer des actions à entreprendre ;
- la prise de décisions en environnement incertain : réseaux bayésiens et algorithmes tels que l'élimination de variables et MCMC (Markov Chain Monte-Carlo) ;
- les méthodes employées pour générer les connaissances exigées par les composants de prise de décision : les algorithmes de boosting, l'algorithme EM (expectation-minimization), l'apprentissage à base d'exemples et les méthodes à noyaux (machines à vecteurs support) ;
- les implications philosophiques et éthiques de l'IA.
Chaque chapitre est illustré par de nombreux exemples et s'achève par des activités, qui vont des exercices de réflexion à des exercices de programmation, en passant par l'approfondissement des méthodes décrites, soit plus de 500 activités au total.
Cette 3e édition tient compte des derniers développements de la matière, concernant notamment les représentations qu'un agent peut utiliser (atomique, factorisée, structurée), les environnements partiellement observables et non déterministes, les planifications contingente et hiérarchique, les modèles probabilistes du premier ordre, l'apprentissage automatique, la recherche et l'extraction d'information sur le web et l'apprentissage à partir de très grandes bases de données.
Édition : Pearson Education - 1200 pages, 3e édition, 10 décembre 2010
ISBN10 : 2744074551 - ISBN13 : 9782744074554
01. Introduction
02. Agents intelligents
II Résolution de problèmes
03. Résolution de problèmes par l'exploration
04. Au-delà de l'exploration classique
05. Exploration en situation d'adversité
06. Problèmes à satisfaction de contraintes
III Connaissances, raisonnement et planification
07. Agents logiques
08. Logique du premier ordre
09. L'inférence en logique du premier ordre
10. Planification classique
11. Planification et action dans le monde réel
12. Représentation des connaissances
IV Connaître et penser l'incertain
13. Quantification de l'incertitude
14. Raisonnement probabiliste
15. Raisonnement probabiliste temporel
16. Prises de décisions simples
17. Prises de décisions complexes
V Apprentissage
18. Apprendre à partir d'exemples
19. Connaissances et apprentissage
20. Apprentissage de modèles probabilistes
21. Apprentissage par renforcement
VI Communication, perception et action
22. Traitement du langage naturel
23. Langage naturel et communication
24. Perception
25. Robotique
26. Fondements philosophiques
27. IA : le présent et le futur
A. Rappels mathématiques
B. Notes sur les langages et les algorithmes
Malgré tout, un bon niveau en mathématique et en algorithmique est fort conseillé mais pas obligatoire. Cela vous permettra de mieux comprendre les algorithmes et les formules mathématiques données dans ce livre.
Autre bon côté de ce livre, contrairement à certains de ses concurrents, il n'utilise pas de langage de programmation précis, tous les algorithmes sont écrits en pseudo-code. Ainsi tout le monde peut les implémenter dans le langage qu'il souhaite, car il ne privilégie pas les amateurs de tel ou tel langage de programmation. Malgré tout, les auteurs proposent sur leur dépôt en ligne l'implémentation des algorithmes dans quelques langages comme Java, Python et C++.
C'est vraiment un ouvrage de pure théorie donc pour les personnes qui souhaitent avoir des exemples d'intelligence artificielle tout faits comme on peut en trouver dans des ouvrages habituels, passez votre chemin ce livre n'est pas fait pour vous. Vous ne trouverez dedans que des algorithmes, des formules mathématiques, des démonstrations mathématiques, des courbes explicatives, de la notation BNF (Backus Naur Form), etc.
Ceux qui se méfient des traductions peuvent être rassurés. La relecture scientifique a été réalisée par Laurent Miclet, expert du domaine et auteur de « Apprentissage artificiel » .
Contrairement à ce dernier ouvrage, plus universitaire et dédié uniquement à l'apprentissage artificiel, celui-ci est plus général. Il traite de l'IA dans son ensemble, de ses fondements historiques, de la résolution de problèmes, de la connaissance, du raisonnement, de la planification, de l'apprentissage, de la communication, de la perception, de l'action, de robotique.
Après avoir défini l'IA comme l'étude des agents qui reçoivent des percepts de l'environnement et qui réalisent des actions, les auteurs se servent de cette idée d'agent intelligent pour explorer le domaine. Ce qui en fait un fil conducteur agréable à suivre.
Ce que j'ai également bien aimé, c'est que chaque chapitre commence par une petite phrase d'introduction et se termine par un résumé, des notes bibliographiques et historiques ainsi qu'une série d'exercices.
Du coup, j'ai trouvé l'ouvrage, bien que copieux, plutôt abordable. Je n'irais pas jusqu'à dire qu'il s'adresse à tout public mais si vous êtes intéressé par le domaine, pas seulement par l'aspect technique mais aussi par l'aspect philosophique, je vous le recommande.
Commenter Signaler un problème
Sa spécificité est de présenter l'IA à travers le concept des agents intelligents. Les auteurs exposent comment un système réussit à percevoir son environnement de manière à analyser ce qu'il s'y passe, et comment il transforme la perception qu'il a de son environnement en actions concrètes.
Parmi les sujets couverts : - les contributions historiques des mathématiques, de la théorie des jeux, de l'économie, de la théorie des probabilités, de la psychologie, de la linguistique et des neurosciences ; - les méthodes qui permettent de prendre des décisions lors de l'établissement d'un projet, en tenant compte des étapes à venir ; - les différentes manières de représenter formellement les connaissances relatives au monde qui nous entoure ainsi que le raisonnement logique fondé sur ces connaissances ; - les méthodes de raisonnement qui permettent d'établir des plans et donc de proposer des actions à entreprendre ; - la prise de décisions en environnement incertain : réseaux bayésiens et algorithmes tels que l'élimination de variables et MCMC (Markov Chain Monte-Carlo) ; - les méthodes employées pour générer les connaissances exigées par les composants de prise de décision : les algorithmes de boosting, l'algorithme EM (expectation-minimization), l'apprentissage à base d'exemples et les méthodes à noyaux (machines à vecteurs support) ; - les implications philosophiques et éthiques de l'IA.
Chaque chapitre est illustré par de nombreux exemples et s'achève par des activités, qui vont des exercices de réflexion à des exercices de programmation, en passant par l'approfondissement des méthodes décrites, soit plus de 500 activités au total.
Cette 3e édition tient compte des derniers développements de la matière, concernant notamment les représentations qu'un agent peut utiliser (atomique, factorisée, structurée), les environnements partiellement observables et non déterministes, les planifications contingente et hiérarchique, les modèles probabilistes du premier ordre, l'apprentissage automatique, la recherche et l'extraction d'information sur le web et l'apprentissage à partir de très grandes bases de données.
Avez vous lu ce livre, pensez vous le lire ?
Explications claires, structure des chapitres simple mais efficace, termes définis mis en évidence et nombreux exemples/exercices. Accessible au plus grand nombre je pense.
Par contre, avec 1200 pages, il faut avoir du temps à investir. A cela s'ajoutent les 200 pages du manuel des solutions des exos.
Bref, une des références du domaine, support de beaucoup de cours en IA dans le monde
Le site officiel du livre : http://aima.cs.berkeley.edu/
Réseaux de neurones
Méthodologie et applications
Résumé de l'éditeur
joignant fondements théoriques et applications pratiques dans un langage accessible, cet ouvrage permettra aux décideurs, aux ingénieurs et aux chercheurs de bénéficier de méthodologies claires pour mettre en oeuvre les réseaux de neurones dans des applications industrielles, financières ou bancaires, dont de nombreux exemples sont présentés. Cette deuxième édition mise à jour et enrichie des derniers développements dans le domaine est accompagnée d'un CD-Rom contenant des d'exemples de modèles en C avec leurs données et d'un outil d'apprentissage dédié, Neuro One (version d'évaluation).
A qui s'adresse ce livre ? - Aux ingénieurs, informaticiens, industriels et décideurs ayant à résoudre des problèmes de modélisation, de reconnaissance, de prévision, de commande, etc. - Aux étudiants et élèves ingénieurs des disciplines scientifiques et économiques, et à leurs enseignants.
Édition : Eyrolles - 417 pages, 2e édition, 1er avril 2004
ISBN10 : 2212114648 - ISBN13 : 9782212114645
Broché, dimensions : 17 x 3 x 23
- Les réseau de neurones : pourquoi et pour quoi faire ?
- Modélisation à l'aide de réseaux de neurones : principes et méthodologie de conception de modèles
- Compléments de méthodologie pour la modélisation : réduction de dimension et ré-échantillonnage
- Identification "neuronale" de systèmes dynamiques commandés et réseaux bouclés (récurrents)
- Apprentissage d'une commande en boucle fermée
- La discrimination
- Cartes auto-organisatrices et classification automatique
- Réseaux de neurones sans apprentissage pour l'optimisation
- Bibliographie commentée
- Outils pour les réseaux de neurones (CDROM)
Cet ouvrage traite des réseaux de neurones par un grand nombre d'aspects : algorithmique, statistique, algébrique, avec également des exemples d'applications aussi divers que variés pour notre plus grand bonheur. Il y en a pour tous les goûts.
Le lecteur pourra néanmoins être dérouté par l'excès de formalisme mathématique au détriment d'explications en langage naturel, c'est la raison pour laquelle il faut un solide bagage théorique/statistique/mathématique avant d'attaquer cet ouvrage. On appréciera au plus haut point les explications multiples pour un même concept et la mise en page très claire, mettant en évidence des encadrés "A retenir", "rappel" ou encore "définition", ainsi que des schémas nombreux et clairs. Bref, un ouvrage très utile mais d'une approche pas toujours évidente.
Intelligence Artificielle
Résumé de l'éditeur
Édition : Pearson Education - 1216 pages, 2e édition, 1er septembre 2006
ISBN10 : 2744071501 - ISBN13 : 9782744071508
- Intelligence artificielle
- Résolution de problèmes
- Connaissances et raisonnement
- Planification
- Connaissances et raisonnement en environnement incertain
- Apprentissage
- Communication, perception et action
- Conclusions
Une particularité de ce livre est qu'il est assez théorique. Le lecteur est amené à réfléchir sur des sujets passionnants, à mettre en relation des concepts et à les exploiter lui-même. En effet, parmi les 400 et quelques exercices, certains sont des exercices de réflexion, simplement. D'autres, à l'opposé, sont des exercices de programmation. Il est cependant important de s'intéresser à l'aspect "réflexion" de ce livre car il vous fera comprendre excessivement plus facilement bien des concepts et algorithmes d'IA.
Si ce livre vous intéresse mais que vous hésitez à cause de l'aspect théorique, je ne peux que vous conseiller de le feuilleter si vous le pouvez, ou bien de consulter sa table des matières. Pourquoi ? Car si il aborde vraiment les thèmes qui vous intéressent, la théorie ne sera pas un problème. Bien que la démarche adoptée soit plutôt nettement scientifique, il demeure toutefois accessible grâce à son côté philosophie, car il est bien question de philosophie de l'IA. On y apprend à raisonner sur les agents intelligents dans un contexte donc à la fois scientifique et philosophique. Toutefois, ce livre n'est pas non plus accessible à Mr Tout le monde. Il faut tout de même avoir de bonnes notions d'algorithmie et avoir été ne serait-ce qu'un peu sensibilisé aux problématiques abordées ici. Par exemple : comment fait l'ennemi dirigé par l'ordinateur dans tel jeu pour avoir le meilleur angle de tir et pour décider du meilleur moment pour ce faire ?
En conclusion, ce livre aborde donc tous les aspects qui concernent l'IA. De la prise de décisions au raisonnement, on découvre un nouveau monde passionnant. Il ne faut toutefois pas vous attendre à des exemples en C++, Java ou autres car ce livre est à visée générique et ne cible donc aucun langage. Il s'agit ici de comprendre certaines logiques et de savoir les mettre en oeuvre. C'est donc un excellent livre pour découvrir ce monde. Il devient bien plus facile après sa lecture d'aborder l'implémentation d'intelligences artificielles dans vos programmes.
Le sommaire est d'ailleurs assez impréssionnant, on passe de l'histoire de l'IA, aux agents intelligents pour en finir sur la robotique ainsi qu'une réflexion sur l'avenir. Aucun aspect n'est oublié.
Tout le monde peut, à mon avis, y trouver son compte : du débutant complet qui découvrira les différentes notions, un historique détaillé, des résumés de chaque chapitre très bien fait, au confirmé qui y trouvera son bonheur parmi tous les aspects abordés et la richesse qu'apporte chaque chapitre.
Le but central de ce livre reste la réflexion comme nous le montre les différents exercices proposés à chaque fin de chapitre, les auteurs veulent clairement que le lecteur comprenne l'intérêt de mettre en pratique tel ou tel algorithme.
Il faut cependant posséder, comme le précise le livre dans sa préface, quelques connaissances de base en informatique (ne serais ce que pour apprécier les algorithmes ponctuant le livre) ainsi que de solides bases en mathématiques pour comprendre certains chapitres (des rappels mathématique sont disponible en annexe si besoin).
Malgrès cela, le livre se veut accessible de par les exemples fournit qui peuvent être compris par n'importe qui et son style qui se lit assez facilement.
Même si le livre reste très théorique, il en reste très complet et devient vraiment intéressant si on prend la peine de se plonger un minimum dans les exercices proposés et donc de jouer le jeu des auteurs.
C'est pourquoi je le conseil à tous ceux qui veulent découvrir ou en apprendre plus sur l'IA.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Apprentissage statistique
Réseaux de neurones - Cartes topologiques - Machines à vecteurs supports
Résumé de l'éditeur
Sans omettre de rappeler les fondements théoriques de l'apprentissage statistique, cet ouvrage offre de solides bases méthodologiques à tout ingénieur ou chercheur soucieux d'exploiter ses données. Il en présente les algorithmes les plus couramment utilisées - réseaux de neurones, cartes topologiques, machines à vecteurs supports, modèles de Markov cachés - à l'aide d'exemples et d'études de cas industriels, financiers ou bancaires.
Édition : Eyrolles - 449 pages, 1er septembre 2008
ISBN10 : 2212122292 - ISBN13 : 9782212122299
- L'apprentissage statistique : pourquoi, comment ?
- Les réseaux de neurones
- Compléments de méthodologie pour la modélisation : réduction de dimension et ré-échantillonnage
- Identification neuronale de systèmes dynamiques commandés et réseaux bouclés (récurrents)
- Apprentissage d'une commande en boucle fermée
- La discrimination
- Cartes auto-organisatrices et classification automatique
- Outils pour les réseaux de neurones et contenu du CD-ROM
J'ai énormément apprécié ce livre et en attendais beaucoup, et il m'a satisfait sur tous les points sauf un : les machines à vecteurs supports. En effet, je m'attendais à bien plus d'explications et de pages sur le sujet, mais c'est la seule chose qui m'a déçue avec ce livre. Si vous êtes intéressés par l'apprentissage statistique ou par n'importe laquelle de ses applications, alors ce livre et pour vous, satisfaisant à la fois les fous de théories comme les practiciens. Attention toutefois, il faut un certain niveau en mathématiques statistiques pour aborder sereinement ce livre.
L'Intelligence Artificielle pour les développeurs
Concepts et implémentations en C#
Résumé de l'éditeur
Édition : ENI - 484 pages, 1re édition, 1er décembre 2014
ISBN10 : 2746092158 - ISBN13 : 9782746092150
1. Structure du chapitre
2. Définir l’intelligence
3. L’intelligence du vivant
4. L’intelligence artificielle
5. Domaines d’application
6. Synthèse
Systèmes experts
1. Présentation du chapitre
2. Exemple : un système expert en polygones
2.1 Triangles
2.2 Quadrilatères
2.3 Autres polygones
3. Contenu d'un système expert
3.1 Base de règles
3.2 Base de faits
3.3 Moteur d'inférences
3.4 Interface utilisateur
4. Types d'inférences
4.1 Chaînage avant
4.1.1 Principe
4.1.2 Application à un exemple
4.2 Chaînage arrière
4.2.1 Principe
4.2.2 Application à un exemple
4.3 Chaînage mixte
5. Étapes de construction d'un système
5.1 Extraction des connaissances
5.2 Création du moteur d'inférences
5.3 Écriture des règles
5.4 Création de l'interface utilisateur
6. Performance et améliorations
6.1 Critères de performance
6.2 Amélioration des performances par l'écriture des règles
6.3 Importance de la représentation du problème
7. Domaines d’application
7.1 Aide au diagnostic
7.2 Estimation de risques
7.3 Planification et logistique
7.4 Transfert de compétences et connaissances
7.5 Autres applications
8. Création d’un système expert en C#
8.1 Détermination des besoins
8.2 Implémentation des faits
8.3 Base de faits
8.4 Règles et base de règles
8.5 Interface
8.6 Moteur d'inférences
8.7 Saisie des règles et utilisation
9. Utilisation de Prolog
9.1 Présentation du langage
9.2 Syntaxe du langage
9.2.1 Généralités
9.2.2 Prédicats
9.2.3 Poser des questions
9.2.4 Écriture des règles
9.2.5 Autres prédicats utiles
9.3 Codage du problème des formes géométriques
9.4 Codage du problème des huit reines
9.4.1 Intérêt du chaînage arrière
9.4.2 Étude du problème
9.4.3 Règles à appliquer
9.4.4 Règles de conflits entre reines
9.4.5 But du programme
9.4.6 Exemples d'utilisation
10. Ajout d’incertitudes et de probabilités
10.1 Apport des incertitudes
10.2 Faits incertains
10.3 Règles incertaines
11. Synthèse
Logique floue
1. Présentation du chapitre
2. Incertitude et imprécision
2.1 Incertitude et probabilités
2.2 Imprécision et subjectivité
2.3 Nécessité de traiter l'imprécision
3. Ensembles flous et degrés d’appartenance
3.1 Logique booléenne et logique floue
3.2 Fonctions d'appartenance
3.3 Caractéristiques d'une fonction d'appartenance
3.4 Valeurs et variables linguistiques
4. Opérateurs sur les ensembles flous
4.1 Opérateurs booléens
4.2 Opérateurs flous
4.2.1 Négation
4.2.2 Union et intersection
5. Création de règles
5.1 Règles en logique booléenne
5.2 Règles floues
6. Fuzzification et défuzzification
6.1 Valeur de vérité
6.2 Fuzzification et application des règles
6.3 Défuzzification
7. Exemples d’applications
7.1 Premières utilisations
7.2 Dans les produits électroniques
7.3 En automobile
7.4 Autres domaines
8. Implémentation d’un moteur de logique floue
8.1 Le cœur du code : les ensembles flous
8.1.1 Point2D : un point d'une fonction d'appartenance
8.1.2 FuzzySet : un ensemble flou
8.1.3 Opérateurs de comparaison et de multiplication
8.1.4 Opérateurs ensemblistes
8.1.5 Calcul du barycentre
8.2 Ensembles flous particuliers
8.3 Variables et valeurs linguistiques
8.3.1 LinguisticValue : valeur linguistique
8.3.2 LinguisticVariable : variable linguistique
8.4 Règles floues
8.4.1 FuzzyExpression : expression floue
8.4.2 FuzzyValue : valeur floue
8.4.3 FuzzyRule : règle floue
8.5 Système de contrôle flou
8.6 Synthèse du code créé
9. Implémentation d’un cas pratique
10. Synthèse
Recherche de chemins
1. Présentation du chapitre
2. Chemins et graphes
2.1 Définition et concepts
2.2 Représentations
2.2.1 Représentation graphique
2.2.2 Matrice d’adjacence
2.3 Coût d'un chemin et matrice des longueurs
3. Exemple en cartographie
4. Algorithmes naïfs de recherche de chemins
4.1 Parcours en profondeur
4.1.1 Principe et pseudo-code
4.1.2 Application à la carte
4.2 Parcours en largeur
4.2.1 Principe et pseudo-code
4.2.2 Application à la carte
5. Algorithmes "intelligents"
5.1 Algorithme de Bellman-Ford
5.1.1 Principe et pseudo-code
5.1.2 Application à la carte
5.2 Algorithme de Dijkstra
5.2.1 Principe et pseudo-code
5.2.2 Application à la carte
5.3 Algorithme A*
5.3.1 Principe et pseudo-code
5.3.2 Application à la carte
6. Implémentations
6.1 Nœuds, arcs et graphes
6.1.1 Implémentation des nœuds
6.1.2 Classe représentant les arcs
6.1.3 Interface des graphes
6.2 Fin du programme générique
6.2.1 IHM
6.2.2 Algorithme générique
6.3 Codage des différents algorithmes
6.3.1 Recherche en profondeur
6.3.2 Recherche en largeur
6.3.3 Algorithme de Bellman-Ford
6.3.4 Algorithme de Dijkstra
6.3.5 Algorithme A*
6.4 Application à la carte
6.4.1 Tile et Tiletype
6.4.2 Implémentation de la carte
6.4.3 Programme principal
6.5 Comparaison des performances
7. Domaines d’application
8. Synthèse
Algorithmes génétiques
1. Présentation du chapitre
2. Évolution biologique
2.1 Le concept d'évolution
2.2 Les causes des mutations
2.3 Le support de cette information : les facteurs
2.4 Des facteurs au code génétique
2.5 Le « cycle de la vie »
3. Évolution artificielle
3.1 Principes
3.2 Vue d'ensemble du cycle
3.2.1 Phases d'initialisation et de terminaison
3.2.2 Phase de sélection
3.2.3 Phase de reproduction avec mutations
3.2.4 Phase de survie
3.3 Convergence
4. Exemple du robinet
4.1 Présentation du problème
4.2 Initialisation de l'algorithme
4.3 Évaluation des individus
4.4 Reproduction avec mutations
4.5 Survie
4.6 Suite du processus
5. Choix des représentations
5.1 Population et individus
5.2 Gènes
5.3 Cas d'un algorithme de résolution de labyrinthe
6. Évaluation, sélection et survie
6.1 Choix de la fonction d’évaluation
6.2 Opérateurs de sélection
6.3 Opérateurs de survie
7. Reproduction : crossover et mutation
7.1 Crossover
7.2 Mutation
8. Domaines d’application
9. Implémentation d'un algorithme génétique
9.1 Implémentation générique d'un algorithme
9.1.1 Spécifications
9.1.2 Paramètres
9.1.3 Individus et gènes
9.1.4 IHM
9.1.5 Processus évolutionnaire
9.2 Utilisation pour le voyageur de commerce
9.2.1 Présentation du problème
9.2.2 Environnement
9.2.3 Gènes
9.2.4 Individus
9.2.5 Programme principal
9.2.6 Résultats
9.3 Utilisation pour la résolution d'un labyrinthe
9.3.1 Présentation du problème
9.3.2 Environnement
9.3.3 Gènes
9.3.4 Individus
9.3.5 Programme principal
9.3.6 Résultats
10. Coévolution
11. Synthèse
Métaheuristiques d'optimisation
1. Présentation du chapitre
2. Optimisation et minimums
2.1 Exemples
2.2 Le problème du sac à dos
2.3 Formulation des problèmes
2.4 Résolution mathématique
2.5 Recherche exhaustive
2.6 Métaheuristiques
3. Algorithmes gloutons
4. Descente de gradient
5. Recherche tabou
6. Recuit simulé
7. Optimisation par essaims particulaires
8. Méta-optimisation
9. Domaines d’application
10. Implémentation
10.1 Classes génériques
10.2 Implémentation des différents algorithmes
10.2.1 Algorithme glouton
10.2.2 Descente de gradient
10.2.3 Recherche tabou
10.2.4 Recuit simulé
10.2.5 Optimisation par essaims particulaires
10.3 Résolution du problème du sac à dos
10.3.1 Implémentation du problème
10.3.2 Algorithme glouton
10.3.3 Descente de gradient
10.3.4 Recherche tabou
10.3.5 Recuit simulé
10.3.6 Optimisation par essaims particulaires
10.3.7 Programme principal
10.4 Résultats obtenus
11. Synthèse
Systèmes multi-agents
1. Présentation du chapitre
2. Origine biologique
2.1 Les abeilles et la danse
2.2 Les termites et le génie civil
2.3 Les fourmis et l'optimisation de chemins
2.4 Intelligence sociale
3. Systèmes multi-agents
3.1 L'environnement
3.2 Les objets
3.3 Les agents
4. Classification des agents
4.1 Perception du monde
4.2 Prise des décisions
4.3 Coopération et communication
4.4 Capacités de l'agent
5. Principaux algorithmes
5.1 Algorithmes de meutes
5.2 Optimisation par colonie de fourmis
5.3 Systèmes immunitaires artificiels
5.4 Automates cellulaires
6. Domaines d’application
6.1 Simulation de foules
6.2 Planification
6.3 Phénomènes complexes
7. Implémentation
7.1 Banc de poissons
7.1.1 Les objets du monde et les zones à éviter
7.1.2 Les agents-poissons
7.1.3 L'océan
7.1.4 L'application graphique
7.1.5 Résultats obtenus
7.2 Tri sélectif
7.2.1 Les déchets
7.2.2 Les agents nettoyeurs
7.2.3 L'environnement
7.2.4 L'application graphique
7.2.5 Résultats obtenus
7.3 Le jeu de la vie
7.3.1 La grille
7.3.2 L'application graphique
7.3.3 Résultats obtenus
8. Synthèse
Réseaux de neurones
1. Présentation du chapitre
2. Origine biologique
3. Le neurone formel
3.1 Fonctionnement général
3.2 Fonctions d'agrégation
3.3 Fonctions d'activation
3.3.1 Fonction "heavyside"
3.3.2 Fonction sigmoïde
3.3.3 Fonction gaussienne
3.4 Poids et apprentissage
4. Perceptron
4.1 Structure
4.2 Condition de linéarité
5. Réseaux feed-forward
6. Apprentissage
6.1 Apprentissage non supervisé
6.2 Apprentissage par renforcement
6.3 Apprentissage supervisé
6.3.1 Principe général
6.3.2 Descente de gradient
6.3.3 Algorithme de Widrow-Hoff
6.3.4 Rétropropagation
6.4 Surapprentissage et généralisation
6.4.1 Reconnaître le surapprentissage
6.4.2 Création de sous-ensembles de données
7. Autres réseaux
7.1 Réseaux de neurones récurrents
7.2 Cartes de Kohonen
7.3 Réseaux de Hopfield
8. Domaines d'application
8.1 Reconnaissance de patterns
8.2 Estimation de fonctions
8.3 Création de comportements
9. Implémentation d'un MLP
9.1 Points et ensembles de points
9.2 Neurone
9.3 Réseau de neurones
9.4 IHM
9.5 Système complet
9.6 Programme principal
9.7 Applications
9.7.1 Application au XOR
9.7.2 Application à Abalone
9.7.3 Améliorations possibles
10. Synthèse du chapitre
Bibliographie
1. Bibliographie
Sitographie
1. Pourquoi une sitographie ?
2. Systèmes experts
3. Logique floue
4. Algorithmes génétiques
5. Recherche de chemins
6. Métaheuristiques
7. Systèmes multi-agents
8. Réseaux de neurones
Annexe
1. Installation de SWI-Prolog
2. Utilisation de SWI-Prolog
Index
Autant le dire tout de suite, c'est une bonne chose de s'être déjà intéressé à l'I.A. auparavant, car malgré des rappels théoriques importants, les concepts abordés sont assez compliqués à appréhender. Malgré tout, l'auteur prend quand même son temps pour y revenir, ce qui est fort appréciable. À noter un très gros avantage de ce livre par rapport à d'autres : il n'y a quasiment pas de math et de formules imbitables ce qui le rend abordable à quelqu'un qui n'a pas fait six ans de FAC …
Cependant, on reste quand même sur une introduction avancée, tant le domaine est vaste.
Le livre est agréable à lire et les exemples de code plutôt bien expliqués. Vous pouvez y aller.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Voir aussi :
La rubrique intelligence artificielle
Le forum intelligence artificielle