Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Data Science avec Microsoft Azure
  3. La Data Science
Extrait - Data Science avec Microsoft Azure Maîtrisez le Machine Learning sur Cortana Intelligence Suite
Extraits du livre
Data Science avec Microsoft Azure Maîtrisez le Machine Learning sur Cortana Intelligence Suite Revenir à la page d'achat du livre

La Data Science

Objectif du chapitre

Que ce soit dans la nature ou dans les entreprises, les issues de certains processus sont incertaines et s’apprêtent à des phénomènes aléatoires. Ce caractère aléatoire peut-être une réalité ou une simple apparence. Dans ce dernier cas, il est tout à fait légitime d’essayer de modéliser et de comprendre ces événements. Étudier de tels phénomènes n’est évidemment pas une tâche aisée. Le Machine Learning propose un cadre théorique et algorithmique pour justement modéliser ces phénomènes. L’objectif de ce premier chapitre est d’introduire les concepts généraux du Machine Learning et de la Data Science.

Après la lecture de ce chapitre, même si certains concepts ne sont pas clairs, sachez que des éclaircissements seront apportés par les chapitres suivants. Le lecteur est d’ailleurs invité à y revenir pour faire le lien entre ces concepts et les cas concrets abordés dans les autres chapitres. En effet, les deux premiers chapitres de ce livre serviront de base aux suivants, de sorte qu’après leur lecture, le lecteur pourra directement aborder n’importe quel autre chapitre du livre.

À la fin de ce chapitre, le lecteur aura abordé :

  • Les étapes fondamentales...

L’objectif recherché en Machine Learning

Les phénomènes étudiés en Machine Learning peuvent être considérés comme des systèmes qui, en fonction de leur environnement, présentent un comportement particulier face à certains événements.

La figure 1-1 ci-dessous montre le schéma général d’un système qui prend en entrée un ensemble de valeurs images/eq1.PNG, puis il réalise un traitement spécifique en utilisant un ensemble de paramètres images/eq2.PNG, et enfin, ce système donne un résultat images/eq3.PNG en sortie. De tels systèmes, avec des entrées, un traitement et des sorties, sont rencontrés partout dans la vie de tous les jours.
images/01EPS01.png

Figure 1-1 : un système avec entrées, traitement et sorties.

Généralement, les problèmes concernés par le Machine Learning, sont justement ces systèmes pour lesquels un ensemble d’entrées et de sorties est connu, mais où le traitement effectué pour transformer une entrée en une sortie n’est pas connu. Le but du Machine Learning est idéalement de comprendre ce traitement, ou du moins, trouver le traitement le plus proche possible de celui vraiment effectué au sein du système. Bien sûr, l’hypothèse du Machine Learning est que ce traitement existe et que le fait d’obtenir le résultat images/eq3.PNG à partir de l’entrée images/eq1.PNG n’est pas le fruit du pur hasard.
En d’autres termes, l’objectif du Machine Learning est d’étudier les entrées...

Une expérimentation Machine Learning

Comme toute expérimentation scientifique, réussir une expérimentation en Machine Learning nécessite d’appliquer une méthodologie avec beaucoup de rigueur. Comme évoqué à la section précédente, l’objectif du Machine Learning est de répondre à un besoin métier en partant des données à la recherche du modèle prédictif le plus robuste possible. Pour y parvenir, il faut se poser plusieurs questions, définir un ensemble d’étapes à suivre, fixer l’objectif de chaque étape, réaliser plusieurs tests avec plusieurs hypothèses différentes et surtout ne pas hésiter à se reposer des questions, quitte à tout remettre en cause à n’importe quel moment de l’expérimentation. La figure 1-3 suivante propose une succession d’étapes à suivre pour réaliser une expérimentation en Machine Learning.

images/01EPS03.png

Figure 1-3 : les étapes d’une expérimentation Machine Learning

Ces étapes peuvent être définies comme suit :

1.

Poser le problème : c’est le début de toute l’histoire. Le besoin peut venir des équipes opérationnelles et/ou métier qui constatent une optimisation possible des processus de production ou autre. Le besoin, peut également être mis en avant par les équipes Data Science qui démontrent l’intérêt d’imbriquer de l’intelligence artificielle dans certains processus métier. Cette démonstration est généralement concrétisée par des expérimentations et/ou des POC (Proof Of Concept) réalisés sur des données fictives ou réelles, cela dépend des budgets alloués.

Une fois qu’un besoin est défini, l’équipe Data Science intervient pour discuter de la valeur ajoutée de l’intelligence artificielle pour répondre à ce besoin et, le cas échéant, discuter des méthodes et des solutions à mettre en œuvre pour parvenir aux résultats escomptés.

Ainsi, l’équipe Data Science encadre et formalise le problème et revient vers le métier avec...

Cycle de vie d’un projet Data Science

Les sections précédentes ont montré qu’une expérience en Machine Learning consiste à construire un modèle prédictif en se basant sur un ensemble de données d’apprentissage. Une fois qu’un modèle est construit, il doit être déployé en production pour que d’autres applications puissent l’interroger. Ce déploiement en production est souvent l’objectif final d’une équipe de Data Scientists intervenant sur un projet.

Cependant, il existe des projets de Data Science pour lesquels le déploiement du modèle en production n’est pas une fin en soi. Ce déploiement des modèles en production ne représente qu’une partie d’un projet plus grand que le projet de réalisation d’une expérimentation Machine Learning.

En effet, de plus en plus les entreprises souhaitent s’équiper de solutions End-to-End. C’est-à-dire, des solutions qui prennent en compte toutes les composantes d’un projet où les données sont capturées et suivies en temps pseudo-réel jusqu’à leur transformation en action dite intelligente.

La figure 1-4 ci-après, montre à quoi peut ressembler une solution End-to-End. La première chose à remarquer sur cette figure est que le modèle...

Algorithmes du Machine Learning

Au début de ce chapitre, les algorithmes de Machine Learning ont été introduits comme étant des algorithmes qui cherchent à comprendre le fonctionnement des systèmes qui donnent des résultats après avoir effectué un traitement sur leurs entrées. Ces algorithmes produisent donc des modèles prédictifs. Bien que ce type d’algorithmes caractérise, de façon générale, le domaine du Machine Learning, il en existe d’autres types qui font partie de ces algorithmes dits algorithmes d’apprentissage automatique.

Les algorithmes du Machine Learning peuvent être catégorisés en se basant sur deux critères principaux : le mode d’apprentissage et le type du problème traité.

Le mode d’apprentissage concerne le caractère supervisé ou non supervisé. Sans perdre en généralité, on peut distinguer ces deux types d’apprentissages comme suit :

  • Un algorithme supervisé utilise un ensemble d’observations connues contenant des variables prédictives et des variables à prédire, pour apprendre un modèle qui sera capable de faire des prédictions sur les futures observations des variables prédictives.

  • Un algorithme non supervisé prend en entrée un ensemble de données, dans lequel...

Problème de surapprentissage

Le problème du surapprentissage peut être rencontré par tous les algorithmes du Machine Learning. On dit d’un modèle qu’il souffre du problème de surapprentissage, lorsque ses performances sont très satisfaisantes sur les données d’entraînement, mais que ses capacités de prédiction sur les données de test et sur les données futures sont très faibles. La figure ci-dessous illustre ce problème.

images/01EPS06.png

Figure 1-6 : le problème du surapprentissage

Sur cette figure, les points représentent les données d’entraînement et le carré un exemple de donnée de test. Bien que le modèle représenté par la fonction en courbes soit capable de prédire avec exactitude toutes les données d’entraînement, c’est bien le modèle représenté par la droite qui est meilleur puisqu’il possède une meilleure capacité de prédiction sur les données de test. Ici, le modèle représenté par la fonction en courbe a sur-appris les données d’entraînement.

Validation croisée

Jusqu’à présent, les sections précédentes ont montré que la construction d’un modèle prédictif est basée sur la séparation en deux groupes de l’ensemble des observations d’apprentissage. Un groupe pour l’entraînement du modèle et un deuxième groupe pour le test des performances de ce modèle. Une fois qu’un modèle est construit, l’objectif est de le publier en production pour qu’il puisse être interrogé sur des observations futures. Le problème posé par une telle démarche de construction de modèle est que nous n’avons pas une idée sur les erreurs de prédiction attendues en production. De plus, comme l’a montré la section précédente, ce modèle publié en production peut être affecté par le problème de surapprentissage.

En effet, une fois qu’un modèle est construit, même s’il présente des performances intéressantes, il est très important de se poser les deux questions suivantes :

  • Les performances du modèle sur l’ensemble des observations de test ne seraient-elles pas le fruit du surapprentissage ?

  • Quel est le taux d’erreur de ce modèle auquel nous pouvons nous attendre en production sur les futures observations ?

La validation croisée tente justement de répondre à ces deux questions. Elle permet d’un côté d’estimer le taux d’erreur du modèle en production sur les futures observations, et de l’autre côté, de mettre en évidence si le modèle a sur-appris sur les données d’entraînement.

Plusieurs méthodes permettent de mettre en place une validation croisée sur un modèle. Sans être exhaustive, la liste ci-dessous présente les méthodes de validation...

Métriques de performance

Pour conserver un cadre formel cohérent tout au long de ce livre, les notations suivantes seront adoptées :

  • images/eq15.PNG : l’ensemble des images/eq16.PNG observations de la base d’apprentissage. Chaque observation images/eq17.PNG est composée des valeurs prises par images/eq18.PNG variables explicatives. Ainsi, images/eq19.PNG est l’observation images/eq20.PNG avec images/eq21.PNG la valeur de la première variable explicative, images/eq22.PNG la valeur de la deuxième variable explicative et ainsi de suite.
  • images/eq23.PNG : l’ensemble des résultats obtenus sur les images/eq16.PNG observations de la base d’apprentissage, avec images/eq24.PNG représentant le résultat de l’observation images/eq19.PNG.
Par exemple images/eq24.PNG est le résultat de l’observation images/eq25.PNG.
  • images/eq26.PNG : l’ensemble des résultats futurs associés aux observations futures images/eq27.PNG. Par exemple, images/eq28.PNG est le résultat qui va être obtenu sur l’observation images/eq29.PNG.
Pour rappel, l’objectif des algorithmes du Machine Learning est de construire des modèles prédictifs en utilisant la base d’apprentissage, capables de prédire images/eq30.PNG lorsque images/eq31.PNG sera observé, puis de prédire images/eq32.PNG lorsque images/eq33.PNG sera observé et ainsi de suite.

En résumé, la base d’apprentissage peut être représentée comme suit :

images/eq34.PNG
Lorsque le nombre de variables explicatives images/eq18.PNG est égale à 1, pour simplifier la notation, l’indice des variables sera omis et la base d’apprentissage sera représentée par :
images/eq35.PNG
  • images/eq36.PNG : l’ensemble des prédictions obtenues avec un modèle sur les résultats de la base d’apprentissage. Ainsi, images/eq37.PNG est la valeur prédite par un modèle pour une observation images/eq19.PNG alors que pour rappel, la vraie valeur est images/eq24.PNG.
  • Donc, pour dire qu’un modèle a fait une prédiction correcte pour l’observation images/eq19.PNG il faudrait que images/eq38.PNG.
Les mesures de performances d’un modèle en Machine Learning sont essentiellement basées sur la comparaison des vrais résultats images/eq39.PNG avec les prédictions images/eq40.PNG sur les observations de la base d’apprentissage.
Cette comparaison entre les vrais résultats et les prédictions dépend du type du modèle choisi pour décrire la relation entre images/eq41.PNG et images/eq39.PNG. Généralement :
  • Pour les modèles de régression linéaire, les indicateurs utilisés sont :

  • L’erreur absolue moyenne MAE (Mean Absolute Error)

  • L’erreur absolue relative...

Conclusion

Ce chapitre a permis d’introduire les notions de base de la Data Science. Il a commencé par amener à une compréhension intuitive du Machine Learning puis les autres sections ont été consacrées à l’introduction de la démarche à suivre lors d’une expérimentation Machine Learning et aussi à l’introduction des concepts de préparation des données, de surapprentissage, de validation croisée et des métriques de performances. Les chapitres suivants vont permettre au lecteur de mettre en pratique sur l’environnement Microsoft Azure la plupart des notions abordées dans ce chapitre.