Algorithmes d’apprentissage automatique
Introduction aux mathématiques et à la logique qui sous-tendent l’apprentissage automatique.
Présentation des algorithmes d’apprentissage automatique
Les algorithmes d’apprentissage automatique sont des morceaux de code qui permettent aux utilisateurs d’explorer, d’analyser et de trouver une signification dans des jeux de données complexes. Chaque algorithme est un ensemble limité d’instructions pas à pas non ambiguës qu’un ordinateur peut suivre pour atteindre un certain objectif. Dans un modèle Machine Learning, l’objectif est d’établir ou de découvrir des modèles que les utilisateurs peuvent utiliser pour faire des prédictions ou classer des informations. Présentation de l’apprentissage automatique
Les algorithmes d’apprentissage automatique utilisent des paramètres basés sur les données d’apprentissage, un sous-ensemble de données qui représente l’ensemble le plus grand. À mesure que les données d’apprentissage s’étendent pour représenter le monde de façon plus réaliste, l’algorithme calcule des résultats plus précis.
Les différents algorithmes analysent les données de différentes façons. Ils sont souvent regroupés en fonction des techniques d’apprentissage automatique associées : l’apprentissage supervisé, l’apprentissage non supervisé et l’apprentissage par renforcement. Les algorithmes les plus couramment utilisés se servent de la régression et de la classification pour prédire des catégories cibles, rechercher des points de données inhabituels, prédire des valeurs et découvrir des similarités.
Techniques d’apprentissage automatique
À mesure que vous en apprendrez davantage sur les algorithmes d’apprentissage automatique, vous constaterez qu’ils appartiennent généralement à l’une des trois techniques d’apprentissage automatique :
Apprentissage supervisé
Les algorithmes d’apprentissage supervisé font des prédictions basées sur un ensemble d’exemples étiquetés que vous fournissez. Cette technique est utile lorsque vous savez à quoi doit ressembler le résultat.
Par exemple, vous fournissez un jeu de données qui inclut le nombre d’habitants dans la ville par année au cours des 100 dernières années, et vous souhaitez savoir quelle sera la population d’une ville spécifique dans quatre ans. Le résultat utilise des étiquettes qui existent déjà dans le jeu de données : population, ville et année.
Apprentissage non supervisé
Dans l’apprentissage non supervisé, les points de données ne sont pas étiquetés : l’algorithme les étiquette pour vous en organisant les données ou en décrivant leur structure. Cette technique est utile lorsque vous ne savez pas à quoi doit ressembler le résultat.
Par exemple, vous fournissez des données client et vous souhaitez créer des segments de clients qui aiment des produits similaires. Les données que vous fournissez ne sont pas étiquetées et les étiquettes dans le résultat sont générées en fonction des similarités détectées entre des points de données.
Apprentissage par renforcement
L’apprentissage par renforcement utilise des algorithmes qui apprennent des résultats et décident de l’action à entreprendre ensuite. Après chaque action, l’algorithme reçoit un retour d’expérience qui permet de déterminer si le choix effectué est correct, neutre ou incorrect. C’est une solution parfaitement adaptée aux systèmes automatisés qui doivent prendre un grand nombre de petites décisions sans instructions humaines.
Par exemple, vous concevez une voiture autonome et vous souhaitez vous assurer qu’elle respecte les réglementations et garantit la sécurité des passagers. À mesure que la voiture gagne en expérience et génère un historique de renforcement, elle apprend à rester sur sa voie, à respecter les limites de vitesse et à freiner pour céder le passage aux piétons.
Possibilités offertes par les algorithmes d’apprentissage automatique
Les algorithmes d’apprentissage automatique vous aident à répondre à des questions auxquelles il est trop difficile de répondre avec une analyse manuelle. Il existe de nombreux types d’algorithmes d’apprentissage automatique, mais les cas d’usage associés appartiennent généralement à l’une des catégories suivantes.
Prédire une catégorie cible
Les algorithmes de classification à deux classes (binaires) divisent les données en deux catégories. Ils sont utiles pour les questions qui n’ont que deux réponses possibles qui s’excluent mutuellement, notamment des questions de type oui/non. Par exemple :
- Une défaillance du pneu pourra-t-elle se produire dans les prochains 1 600 km ? Oui ou non ?
- Qu’est-ce qui attire le plus les clients : un crédit de 10 $ ou une remise de 15 % ?
Les algorithmes de classification multiclasse (multimultinomiale) divisent les données en trois catégories ou plus. Ils sont utiles pour les questions qui ont au moins trois réponses possibles qui s’excluent mutuellement. Par exemple :
- Pendant quel mois la majorité des voyageurs achètent-ils des billets d’avion ?
- Quelle émotion la personne de cette photo montre-t-elle ?
Trouver des points de données inhabituels
Les algorithmes de détection d’anomalies identifient les points de données qui se trouvent en dehors des paramètres définis pour ce qui est considéré comme « normal ». Par exemple, vous pouvez utiliser des algorithmes de détection d’anomalies pour répondre à des questions, par exemple :
- Où se trouvent les pièces défectueuses dans ce lot ?
- Quels achats par carte de crédit peuvent être frauduleux ?
Prédire des valeurs
Les algorithmes de régression prédisent la valeur d’un nouveau point de données en fonction de données d’historique. Ils répondent à des questions telles que :
- Combien coûtera un trois pièces dans ma ville l’année prochaine ?
- Combien de patients viendront à la clinique mardi ?
Découvrez comment les valeurs changent au fil du temps
Les algorithmes de série chronologique montrent comment une valeur donnée change au fil du temps. Avec l’analyse des séries chronologiques et la prévision des séries chronologiques, les données sont collectées à intervalles réguliers dans le temps et utilisées pour effectuer des prédictions et identifier les tendances, le caractère saisonnier, le caractère cyclique et l’irrégularité. Les algorithmes de série chronologique sont utilisés pour répondre à des questions dont voici quelques exemples :
- Le prix d’une action donnée est-il susceptible d’augmenter ou de baisser dans l’année à venir ?
- Quelles seront mes dépenses l’année prochaine ?
Découvrir des similitudes
Les algorithmes de clustering divisent les données en plusieurs groupes en déterminant le niveau de similarité entre des points de données. Les algorithmes de clustering fonctionnent bien pour des questions telles que :
- Quels spectateurs aiment les mêmes types de films ?
- Quels modèles d’imprimante tombent en panne de la même manière ?
Classification
Les algorithmes de classification utilisent des calculs prédictifs pour attribuer des données à des catégories prédéfinies. Les algorithmes de classification sont entraînés sur des données en entrée, et utilisés pour répondre à des questions dont voici quelques exemples :
- Cet e-mail est-il un spam ?
- Quel est le sentiment (positif, négatif ou neutre) d’un texte donné ?
Les algorithmes de régression linéaire affichent ou prédisent la relation entre deux variables ou facteurs en ajustant une ligne droite continue aux données. La ligne est souvent calculée à l’aide de la fonction de coût d’erreur quadratique. La régression linéaire est l’un des types d’analyse de régression les plus populaires.
Les algorithmes de régression logistique ajustent une courbe en forme de S continue aux données. La régression logistique est un autre type populaire d’analyse de régression.
Les algorithmes de classification naïve bayésienne calculent la probabilité qu’un événement se produise, en fonction de l’occurrence d’un événement associé.
Les machines à vecteurs de support dessinent un hyperplan entre les deux points de données les plus proches. Cela marginalise les classes et maximise les distances entre elles pour les différencier plus clairement.
Les algorithmes d’arbre de décision divisent les données en deux ou plusieurs jeux homogènes. Ils utilisent des règles Si-Alors pour séparer les données en fonction du différenciateur le plus significatif entre les points de données.
Les algorithmes de plus proche voisin stockent tous les points de données disponibles et classent chaque nouveau point de données en fonction des points de données les plus proches, tels qu’ils sont mesurés par une fonction distance.
Les algorithmes de forêt aléatoire sont basés sur des arbres de décision mais, au lieu de créer une arborescence, ils créent une forêt d’arborescences, puis randomisent les arborescences dans cette forêt. Ils agrègent ensuite les votes à partir de différentes formes aléatoires des arbres de décision pour déterminer la classe finale de l’objet de test.
Les algorithmes de boosting de gradient produisent un modèle de prédiction qui regroupe des modèles de prédiction faible, généralement des arbres de décision, via un processus d’assemblage qui améliore les performances globales du modèle.
Les algorithmes k-moyennes classent les données dans des clusters, où K est égal au nombre de clusters. Les points de données à l’intérieur de chaque cluster sont homogènes et ils sont hétérogènes aux points de données dans d’autres clusters.
Présentation des bibliothèques d’apprentissage automatique
Une bibliothèque d’apprentissage automatique est un ensemble de fonctions, d’infrastructures, de modules et de routines écrits dans un langage donné. Les développeurs utilisent le code dans les bibliothèques d’apprentissage automatique comme des composants pour créer des solutions d’apprentissage automatique qui peuvent effectuer des tâches complexes. Au lieu de coder manuellement chaque algorithme et formule dans une solution d’apprentissage automatique, les développeurs peuvent trouver les fonctions et les modules dont ils ont besoin dans l’une des nombreuses bibliothèques ML disponibles, et les utiliser pour créer une solution qui répond à leurs besoins.
En savoir plus sur l’apprentissage automatique
Commencez à expérimenter avec Azure Machine Learning
Découvrez comment différents algorithmes analysent les données en créant et en déployant vos propres modèles Machine Learning à l’aide d’Azure Machine Learning.