Machine Learning

Introduction au Machine Learning

Comment ça marche, pourquoi c'est important et par où commencer

Le Machine Learning est une technique d'intelligence artificielle qui permet aux ordinateurs d'apprendre par l’expérience. Les algorithmes de Machine Learning utilisent des méthodes informatiques pour « apprendre » directement à partir de données, sans s'appuyer sur une équation prédéterminée servant de modèle. Les algorithmes améliorent leurs performances de manière adaptative à mesure qu’augment le nombre d'échantillons disponibles pour l'apprentissage. Le Deep Learning est une forme spécifique de Machine Learning.

Comment fonctionne le Machine Learning

Le Machine Learning fait appel à deux types de techniques : l’apprentissage supervisé, qui entraîne un modèle sur des données d'entrée et de sortie connues afin de prédire les résultats futurs, et l’apprentissage non supervisé, qui identifie des patterns cachés ou des structures intrinsèques dans les données d'entrée.

Les techniques de Machine Learning : apprentissage non supervisé (clustering) et apprentissage supervisé (classification et régression).

Figure 1. Les techniques de Machine Learning couvrent à la fois l'apprentissage supervisé et non supervisé.

Apprentissage supervisé

Le Machine Learning supervisé construit un modèle qui établit des prédictions basées sur des exemples (preuves) en présence d'incertitude. Un algorithme d'apprentissage supervisé utilise un jeu de données connues en entrée et de réponses connues associées à ces données en sortie. Il entraîne ainsi un modèle pour générer ensuite des prédictions raisonnables en réponse à de nouvelles données. Utilisez l'apprentissage supervisé si vous disposez de données connues pour le résultat que vous essayez de prédire.

L’apprentissage supervisé utilise des techniques de classification et de régression pour élaborer des modèles de Machine Learning.

Les techniques de classification prédisent des réponses discrètes, par exemple, un e-mail est-il authentique ou un spam, ou une tumeur est-elle cancéreuse ou bénigne. Les modèles de classification classent les données d'entrée en catégories. Les applications les plus représentatives sont l'imagerie médicale, la reconnaissance vocale et le credit scoring.

La classification se justifie si vos données peuvent être étiquetées, catégorisées ou séparées en groupes ou classes spécifiques. Par exemple, les applications de reconnaissance de l'écriture manuscrite utilisent la classification pour identifier les lettres et les chiffres. Dans le domaine du traitement d'images et de la Computer Vision, des techniques non supervisées de reconnaissance de formes sont utilisées pour la détection d'objets et la segmentation des images. Les algorithmes les plus courants pour effectuer une classification sont disponibles ici.

Les techniques de régression prédisent des réponses continues, par exemple des quantités physiques difficiles à mesurer telles que l'état de charge d’une batterie, la consommation électrique sur le réseau, ou les prix des actifs financiers. Les applications les plus représentatives sont la détection virtuelle, la prévision de la consommation électrique et le trading algorithmique.

Recourez aux techniques de régression dès lors que vous travaillez avec des intervalles de données ou si la nature de votre réponse est un nombre réel, tel que la température ou le temps avant défaillance d'un équipement. Les algorithmes les plus courants pour effectuer une régression sont disponibles ici.

Découvrez comment mettre à profit le Machine Learning supervisé pour entraîner un modèle à mettre en correspondance les entrées et les sorties et à prédire la réponse pour de nouvelles entrées.

Apprentissage non supervisé

L’apprentissage non supervisé permet de trouver des patterns cachés et des structures intrinsèques dans les données. Il permet de tirer des conclusions à partir de jeux de données composés d’entrée sans réponses étiquetées.

Le clustering est la technique d’apprentissage non supervisé la plus courante. Il est utilisé dans l'analyse exploratoire de données afin de trouver des patterns ou des regroupements cachés dans les données. Les applications utilisant l’analyse de clusters sont notamment l'analyse de séquences de gènes, les études de marché et la reconnaissance d'objets.

Par exemple, si une entreprise de téléphonie cellulaire souhaite optimiser les sites où elle construit ses antennes, elle peut utiliser le Machine Learning pour estimer le nombre de groupes de personnes dépendant de ses infrastructures. Un téléphone ne peut communiquer qu'avec une seule antenne la fois. L'équipe utilise donc des algorithmes de clustering pour concevoir le meilleur emplacement des antennes afin d'optimiser la réception du signal pour des groupes plus ou moins large de clients. Les algorithmes les plus courants pour effectuer du clustering sont disponibles ici.

Le clustering est une méthode de Machine Learning qui identifie des patterns cachés dans vos données, sans supervision.

Figure 2. Le clustering permet de trouver des patterns cachés dans vos données.

Découvrez le Machine Learning non supervisé, qui recherche des patterns dans des jeux de données qui n'ont pas de réponses labélisées. Cette approche vous permet d'explorer vos données lorsque vous ne savez pas quelles informations elles contiennent.

Comment choisir l’algorithme de Machine Learning à utiliser ?

Choisir le bon algorithme peut sembler très compliqué : il existe des dizaines d'algorithmes de Machine Learning supervisé et non supervisé, et chacun d'entre eux adopte une approche différente pour l'apprentissage.

Il n’existe aucune méthode optimale ou universelle. Déterminer le bon algorithme à utiliser est en partie une simple question de tâtonnement. Même les data scientists les plus expérimentés ne peuvent pas dire si un algorithme fonctionnera sans l'avoir essayé. Mais le choix de l'algorithme dépend également du volume et du type de données manipulées, des informations que vous souhaitez obtenir à partir de ces données et de la manière dont ces informations seront utilisées.

Diagramme des algorithmes de Machine Learning regroupés en différentes catégories : classification, régression et clustering.

Figure 3. Techniques de Machine Learning.

Voici quelques conseils pour choisir entre Machine Learning supervisé et non supervisé :

  • Privilégiez le Machine Learning supervisé si vous devez entraîner un modèle pour faire une prédiction, par exemple la valeur future d'une variable continue, comme la température ou le cours d'une action, ou une classification, par exemple identifier les constructeurs automobiles à partir de séquences vidéo de webcam.
  • Choisissez le Machine Learning non supervisé si vous devez explorer vos données et souhaitez entraîner un modèle en vue de trouver une bonne représentation interne, par exemple en scindant les données en clusters.

L'importance du Machine Learning

Avec l’avènement du Big Data, le Machine Learning est devenu une technique clé pour remédier à des problèmes dans plusieurs domaines :

automobile

Automobile

aérospatiale

Aérospatiale et défense

métaux, matériaux et exploitation minière

Analyse de la fabrication

équipements médicaux

Équipements médicaux

traitement du signal

Traitement du signal

Davantage de données, davantage de questions, de meilleures réponses

Les algorithmes de Machine Learning trouvent des patterns naturels dans les données qui génèrent des informations aidant à prendre des décisions plus éclairées et à établir de meilleures prédictions. Ils sont utilisés au quotidien pour prendre des décisions cruciales pour le diagnostic médical, les opérations boursières, la prévision de la consommation énergétique, et plus encore. Par exemple, les sites de contenus multimédias exploitent le Machine Learning pour passer au crible des millions d'options afin de proposer des recommandations de chansons ou de films. Les entreprises du commerce ont recours au Machine Learning pour mieux connaître les comportements d'achat de leurs clients.

Quand utiliser le Machine Learning ?

Le Machine Learning est une option à envisager dans le cas d’une tâche ou d’un problème complexe impliquant une grande quantité de données et de nombreuses variables, mais aucune formule ou équation existante.

Quelle est la différence entre le Machine Learning et le Deep Learning ?

Le Deep Learning est une forme spécifique de Machine Learning. Dans le cadre de l’analyse d’images, un workflow de Machine Learning commence par l'extraction manuelle des caractéristiques pertinentes des images. Ces caractéristiques sont ensuite mises à profit pour générer un modèle qui catégorise les objets de l'image. Dans le cas d’un workflow de Deep Learning, les caractéristiques pertinentes sont automatiquement extraites des images. En outre, le Deep Learning permet un « apprentissage de bout en bout », c'est-à-dire qu'un réseau reçoit des données brutes et une tâche à accomplir, telle que la classification, et il apprend à l’exécuter automatiquement.

Figure 4. Comparaison des approches de catégorisation de véhicules avec le Machine Learning (à gauche) et de Deep Learning (à droite).

Avec le Machine Learning, vous choisissez manuellement des caractéristiques et un classificateur pour trier les images. Avec le Deep Learning, les étapes d'extraction des caractéristiques et de modélisation sont automatiques.

Choisir entre le Machine Learning et le Deep Learning

Le Machine Learning propose une variété de techniques et de modèles que vous pouvez choisir en fonction de l’application envisagée, du volume de données que vous avez à traiter et du type de problème que vous souhaitez résoudre. Une application de Deep Learning réussie nécessite de très grands volumes de données (des milliers d'images) pour entraîner le modèle, ainsi que des GPU, ou unités de traitement graphique, pour traiter rapidement vos données.

Lorsque vous choisissez entre le Machine Learning et le Deep Learning, demandez-vous si vous disposez d'un GPU performant et d’un grand volume de données étiquetées. Si vous ne disposez ni de l'un ni de l'autre, il peut être plus judicieux d'utiliser le Machine Learning plutôt que le Deep Learning. Le Deep Learning est généralement plus complexe, aussi aurez-vous besoin d'au moins quelques milliers d'images pour obtenir des résultats fiables.

Si vous optez pour le Machine Learning, vous avez la possibilité d'entraîner votre modèle sur de nombreux classificateurs différents. De plus, si vous connaissez les caractéristiques essentielles à extraire pour obtenir de meilleurs résultats, vous avez alors la possibilité de choisir une combinaison d’approches utilisant différents classificateurs et caractéristiques afin de déterminer l'arrangement le mieux adapté à vos données.

Découvrez les différences entre le Deep Learning et le Machine Learning dans ce Tech Talk MATLAB. Parcourez plusieurs exemples et apprenez à identifier la meilleure méthode à utiliser.

Machine Learning avec MATLAB

MATLAB simplifie le Machine Learning. Avec des outils et des fonctions pour traiter les Big Data, ainsi que des applications pour rendre le Machine Learning accessible, MATLAB est un environnement idéal pour appliquer le Machine Learning à vos analyses de données.

Avec MATLAB, les ingénieurs et les data scientists ont un accès immédiat à des fonctions prédéfinies, des toolboxes complètes et des applications spécialisées pour la classification, la régression et le clustering. Ce qui leur permet d’utiliser leurs données pour prendre des décisions plus avisées.

Avec MATLAB vous pouvez :

  • Extraire les caractéristiques de signaux et d’images avec des méthodes manuelles et automatisées éprouvées, et sélectionner automatiquement des caractéristiques pour rendre les modèles plus compacts.
  • Optimiser les caractéristiques en appliquant diverses techniques d’ingénierie des caractéristiques.
  • Comparer des approches telles que la régression logistique, les arbres de classification, les machines à vecteurs de support (SVM), les méthodes ensemblistes et le Deep Learning.
  • Appliquer AutoML pour optimiser les modèles en utilisant des techniques de réglage et de réduction des hyperparamètres.
  • Intégrer les modèles de Machine Learning dans des systèmes d'entreprise, des clusters ou le cloud, et déployer ces modèles sur du hardware temps réel embarqué.
  • Utiliser la génération automatique de code pour l'analyse des données de capteurs embarqués.
  • Supporter des workflows intégrés, de l'analyse des données au déploiement.