Classification en apprentissage automatique : qu'est-ce que c'est et comment ça marche
Publié: 2024-11-20La classification est un concept central de l'analyse des données et de l'apprentissage automatique (ML). Ce guide explore ce qu'est la classification et comment elle fonctionne, explique la différence entre la classification et la régression et couvre les types de tâches, les algorithmes, les applications, les avantages et les défis.
Table des matières
- Qu'est-ce que le classement ?
- Classification vs régression
- Types de tâches de classification en ML
- Algorithmes utilisés pour l'analyse de classification
- Applications du classement
- Avantages du classement
- Inconvénients du classement
Qu’est-ce que la classification en apprentissage automatique ?
La classification est une technique d'apprentissage supervisé en apprentissage automatique qui prédit la catégorie (également appelée classe) de nouveaux points de données en fonction des caractéristiques d'entrée. Les algorithmes de classification utilisent des données étiquetées, dont la catégorie correcte est connue, pour apprendre à mapper les entités à des catégories spécifiques. Ce processus est également appelé catégorisation ou classification catégorielle.
Pour effectuer la classification, les algorithmes fonctionnent en deux phases clés. Pendant la phase de formation, l'algorithme apprend la relation entre les données d'entrée et leurs étiquettes ou catégories correspondantes. Une fois entraîné, le modèle entre dans la phase d'inférence, où il utilise les modèles appris pour classer de nouvelles données invisibles dans des applications réelles. L'efficacité de la classification dépend en grande partie de la manière dont ces phases sont gérées et de la qualité des données prétraitées disponibles lors de la formation.
Comprendre comment les algorithmes de classification gèrent ces phases est essentiel. Une différence clé réside dans la manière dont ils abordent l’apprentissage. Cela nous amène à deux stratégies distinctes que les algorithmes de classification peuvent suivre : l’apprentissage paresseux et l’apprentissage impatient.
Apprenants paresseux vs apprenants avides
Les algorithmes de classification adoptent généralement l’une des deux stratégies d’apprentissage suivantes : apprentissage paresseux ou apprentissage impatient. Ces approches diffèrent fondamentalement par la manière et le moment où le modèle est construit, ce qui affecte la flexibilité, l'efficacité et les cas d'utilisation de l'algorithme. Si tous deux visent à classer les données, ils le font avec des méthodes contrastées adaptées à différents types de tâches et d’environnements.
Examinons les opérations des apprenants paresseux et avides pour mieux comprendre les forces et les faiblesses de chaque approche.
Apprenants paresseux
Également appelés apprenants basés sur des instances ou basés sur la mémoire, les algorithmes d'apprentissage paresseux stockent les données d'entraînement et retardent l'apprentissage réel jusqu'à ce qu'une requête doive être classifiée. Lorsqu'un de ces algorithmes est mis en œuvre, il compare les nouveaux points de données aux instances stockées à l'aide d'une mesure de similarité. La qualité et la quantité des données disponibles influencent considérablement la précision de l'algorithme, l'accès à des ensembles de données plus volumineux améliorant généralement leurs performances. Les apprenants paresseux donnent souvent la priorité aux données récentes, ce que l'on appelle unbiais de récence. Parce qu’ils apprennent en temps réel, ils peuvent être plus lents et plus coûteux en calcul lorsqu’ils répondent aux requêtes.
Les apprenants paresseux excellent dans des environnements dynamiques où la prise de décision en temps réel est cruciale et où les données évoluent constamment. Ces algorithmes sont bien adaptés aux tâches dans lesquelles de nouvelles informations affluent continuellement et où il n'y a pas de temps pour des cycles de formation approfondis entre les tâches de classification.
Des apprenants avides
En revanche, les algorithmes d’apprentissage impatients traitent toutes les données d’entraînement à l’avance, construisant un modèle avant que des tâches de classification ne soient effectuées. Cette phase d'apprentissage initial est généralement plus gourmande en ressources et plus complexe, permettant à l'algorithme de découvrir des relations plus profondes dans les données. Une fois formés, les apprenants enthousiastes n'ont pas besoin d'accéder aux données de formation originales, ce qui les rend très efficaces pendant la phase de prédiction. Ils peuvent classer les données rapidement et traiter de gros volumes de requêtes avec un coût de calcul minimal.
Cependant, les apprenants enthousiastes sont moins flexibles pour s’adapter aux nouvelles données en temps réel. Leur processus de formation, gourmand en ressources, limite la quantité de données qu'ils peuvent gérer, ce qui rend difficile l'intégration de nouvelles informations sans recycler l'intégralité du modèle.
Plus loin dans cet article, nous verrons comment des algorithmes paresseux et impatients peuvent être utilisés en tandem pour la reconnaissance faciale.
Classification vs régression : quelle est la différence ?
Maintenant que nous avons exploré le fonctionnement de la classification, il est important de la distinguer d’une autre technique clé d’apprentissage supervisé : la régression.
La classification et la régression sont utilisées pour effectuer des prédictions basées sur des données étiquetées de la phase de formation, mais elles diffèrent par le type de prédictions qu'elles génèrent.
Les algorithmes de classificationprédisent des résultats discrets et catégoriels. Par exemple, dans un système de classification des e-mails, un e-mail peut être étiqueté comme « spam » ou « ham » (où « ham » fait référence aux e-mails non spam). De même, un modèle de classification météorologique pourrait prédire « oui », « non » ou « peut-être » en réponse à la question « Est-ce qu'il pleuvra demain ?
Les algorithmes de régression, quant à eux, prédisent des valeurs continues. Plutôt que d'attribuer des données à des catégories, les modèles de régression estiment les résultats numériques. Par exemple, dans un système de messagerie, un modèle de régression pourrait prédire la probabilité (par exemple 70 %) qu'un e-mail soit du spam. Pour un modèle de prévision météorologique, il pourrait prédire le volume de pluie attendu, par exemple 2 pouces de pluie.
Bien que la classification et la régression répondent à des objectifs différents, elles sont parfois utilisées ensemble. Par exemple, la régression pourrait estimer les probabilités qui alimentent un système de classification, améliorant ainsi la précision et la granularité des prédictions.
Types de tâches de classification en ML
Les tâches de classification varient, chacune étant adaptée à des types de données et à des défis spécifiques. Selon la complexité de votre tâche et la nature des catégories, vous pouvez employer différentes méthodes : classification binaire, multiclasse, multilabel ou déséquilibrée. Examinons plus en détail chaque approche ci-dessous.
Classement binaire
La classification binaire est une tâche fondamentale qui trie les données en deux catégories, telles que vrai/faux ou oui/non. Il fait l'objet de nombreuses recherches et applications dans des domaines tels que la détection des fraudes, l'analyse des sentiments, le diagnostic médical et le filtrage du spam. Alors que la classification binaire traite de deux classes, une catégorisation plus complexe peut être gérée en décomposant le problème en plusieurs tâches binaires. Par exemple, pour classer les données en « pommes », « oranges », « bananes » et « autres », des classificateurs binaires distincts pourraient être utilisés pour répondre « Est-ce une pomme ? », « Est-ce une orange ? » et « Est-ce une banane ?
Classification multiclasse
La classification multiclasse, également connue sous le nom de classification multinomiale, est conçue pour les tâches dans lesquelles les données sont classées en trois catégories ou plus. Contrairement aux modèles qui décomposent le problème en plusieurs tâches de classification binaire, les algorithmes multiclasses sont conçus pour gérer de tels scénarios plus efficacement. Ces algorithmes sont généralement plus complexes, nécessitent des ensembles de données plus volumineux et nécessitent plus de ressources à configurer que les systèmes binaires, mais ils offrent souvent de meilleures performances une fois mis en œuvre.
Classification multi-étiquettes
La classification multi-étiquettes, également connue sous le nom de classification multi-sorties, attribue plusieurs étiquettes à une donnée donnée. Elle est souvent confondue avec la classification multiclasse, où chaque instance se voit attribuer une seule étiquette parmi plusieurs catégories.
Pour clarifier la différence : un algorithme de classification binaire pourrait trier les images en deux catégories : les images avec des fruits et les images sans fruits. Un système multiclasse pourrait ensuite classer les images de fruits en catégories spécifiques comme les bananes, les pommes ou les oranges. La classification multi-étiquettes, en revanche, permettrait d'attribuer plusieurs étiquettes à une seule image. Par exemple, une seule image pourrait être classée à la fois comme « fruit » et « banane », et le fruit pourrait également être étiqueté « mûr » ou « non mûr ». Cela permet au système de prendre en compte simultanément plusieurs caractéristiques indépendantes, telles que (« pas de fruit », « pas de banane », « rien n'est mûr »), (« fruit », « banane », « mûre » ou (« fruit, " "banane", "rien n'est mûr").
Classement déséquilibré
Souvent, les données disponibles pour la formation ne représentent pas la distribution des données vues dans la réalité. Par exemple, un algorithme peut n'avoir accès qu'aux données de 100 utilisateurs lors d'une formation, où 50 % d'entre eux effectuent un achat (alors qu'en réalité, seuls 10 % des utilisateurs effectuent un achat). Les algorithmes de classification déséquilibrés résolvent ce problème lors de l'apprentissage en utilisant des techniques de suréchantillonnage (réutilisation de certaines parties des données d'entraînement) et de sous-échantillonnage (sous-utilisation de certaines parties des données d'entraînement). Cela amène l'algorithme d'apprentissage à apprendre qu'un sous-ensemble de données apparaît beaucoup plus ou moins fréquemment dans la réalité que dans les données d'entraînement. Ces techniques constituent généralement une sorte d’optimisation de la formation, car elles permettent au système d’apprendre à partir de beaucoup moins de données qu’il n’en faudrait autrement.
Parfois, accumuler suffisamment de données pour refléter la réalité est difficile ou prend du temps, et ce type d'optimisation peut permettre de former les modèles plus rapidement. D’autres fois, la quantité de données est si importante que les algorithmes de classification mettent trop de temps à s’entraîner sur tout cela, et des algorithmes déséquilibrés permettent quand même de les entraîner.
Algorithmes utilisés pour l'analyse de classification
Les algorithmes de classification sont bien étudiés et aucune forme de classification ne s’est révélée universellement appropriée à toutes les situations. En conséquence, il existe de vastes boîtes à outils d’algorithmes de classification bien connus. Ci-dessous, nous décrivons quelques-uns des plus courants.
Prédicteurs linéaires
Les prédicteurs linéaires font référence à des algorithmes qui prédisent les résultats sur la base de combinaisons linéaires de caractéristiques d'entrée. Ces méthodes sont largement utilisées dans les tâches de classification car elles sont simples et efficaces.
Régression logistique
La régression logistique est l'un des prédicteurs linéaires les plus couramment utilisés, notamment dans la classification binaire. Il calcule la probabilité d'un résultat en fonction des variables observées à l'aide d'une fonction logistique (ou sigmoïde). La classe présentant la probabilité la plus élevée est sélectionnée comme résultat prédit, à condition qu'elle dépasse un seuil de confiance. Si aucun résultat n’atteint ce seuil, le résultat peut être marqué comme « incertain » ou « indécis ».
Régression linéaire
La régression linéaire est généralement utilisée pour les cas d'utilisation de régression et génère des valeurs continues. Cependant, les valeurs peuvent être réutilisées pour la classification en ajoutant des filtres ou des cartes pour convertir leurs sorties en classes. Si, par exemple, vous avez déjà formé un modèle de régression linéaire qui produit des prévisions de volume de pluie, le même modèle peut devenir un classificateur binaire « jour de pluie »/« jour non pluvieux » en définissant arbitrairement un seuil. Par défaut, seul le signe du résultat de la régression est utilisé lors de la conversion des modèles en classificateurs binaires (0 et les nombres positifs sont mappés à la réponse « oui » ou « +1 », et les nombres négatifs à la réponse « non » ou « - 1"). Les cartes peuvent cependant être plus complexes et adaptées au cas d’utilisation. Par exemple, vous pourriez décider que toute prévision supérieure à cinq ml de pluie sera considérée comme un « jour de pluie », et toute prévision inférieure à cette valeur prédira le contraire.
Analyse discriminante
L'analyse discriminante linéaire (LDA) est un autre prédicteur linéaire important utilisé pour la classification. LDA fonctionne en trouvant des combinaisons linéaires de fonctionnalités qui séparent au mieux les différentes classes. Cela suppose que les observations sont indépendantes et normalement distribuées. Bien que la LDA soit souvent utilisée pour la réduction de dimensionnalité, elle constitue également un outil de classification puissant qui attribue des observations aux classes à l'aide de fonctions discriminantes, c'est-à-dire des fonctions qui mesurent les différences entre les classes.
Classification bayésienne
Les algorithmes de classification bayésienne utilisent le théorème de Bayes pour calculer la probabilité a posteriori de chaque classe en fonction des données observées. Ces algorithmes supposent certaines propriétés statistiques des données et leurs performances dépendent de la validité de ces hypothèses. Naive Bayes, par exemple, suppose que les fonctionnalités sont conditionnellement indépendantes compte tenu de la classe.
Classement k-NN
L’algorithme k-plus proche voisin (k-NN) est une autre méthode de classification largement utilisée. Bien qu’il puisse être appliqué à la fois aux tâches de régression et de classification, il est le plus souvent utilisé pour la classification. L'algorithme attribue une classe à un nouveau point de données en fonction des classes de ses k voisins les plus proches (où k est une variable), en utilisant un calcul de distance pour déterminer la proximité. L'algorithme k-NN est simple, efficace et efficient lorsqu'il existe une structure locale dans les données. Ses performances dépendent de la sélection d'une métrique de distance appropriée et de la garantie que les données présentent des modèles locaux qui peuvent faciliter la classification.
Arbres de décision et forêts aléatoires
Les arbres de décision sont un algorithme populaire utilisé pour les tâches de classification. Ils fonctionnent en divisant de manière récursive les données en fonction des valeurs des caractéristiques pour décider à quelle classe appartient une observation donnée. Cependant, les arbres de décision ont tendance à surajuster les données d'entraînement, capturant le bruit et conduisant à une variance élevée. Ce surajustement entraîne une mauvaise généralisation aux nouvelles données.
Pour atténuer le surajustement, des forêts aléatoires sont utilisées comme méthode d'ensemble. Une forêt aléatoire entraîne plusieurs arbres de décision en parallèle sur des sous-ensembles aléatoires de données, et chaque arbre fait sa propre prédiction. La prédiction finale est réalisée en agrégeant les prédictions de tous les arbres, généralement par vote majoritaire. Ce processus, connu sous le nom de « bagging » (mot abrégé pour agrégation bootstrap), réduit la variance et améliore la capacité du modèle à généraliser à des données invisibles. Les forêts aléatoires sont efficaces pour équilibrer les biais et la variance, ce qui en fait un algorithme robuste et prêt à l'emploi pour les tâches de classification.
Applications du classement
Les algorithmes de classification sont largement utilisés dans divers domaines pour résoudre des problèmes du monde réel en catégorisant les données en groupes prédéfinis. Vous trouverez ci-dessous quelques applications courantes de classification, notamment la reconnaissance faciale, la classification de documents et la prédiction du comportement des clients.
Reconnaissance faciale
Les systèmes de reconnaissance faciale comparent en temps réel un visage dans une vidéo ou une photo à une base de données de visages connus. Ils sont couramment utilisés pour l'authentification.
Un système de déverrouillage de téléphone, par exemple, commencerait par utiliser un système de détection faciale, qui prend des images basse résolution de la caméra orientée visage toutes les quelques secondes, puis en déduit si un visage est dans l'image. Le système de détection faciale pourrait être un classificateur binaire bien entraîné et enthousiaste qui répondrait à la question « Y a-t-il un visage présent ou non ? »
Un classificateur paresseux suivrait le « Y a-t-il un visage ? » classificateur. Il utiliserait toutes les photos et selfies du propriétaire du téléphone pour mettre en œuvre une tâche de classification binaire distincte et répondre à la question « Ce visage appartient-il à une personne autorisée à déverrouiller le téléphone ? » Si la réponse est oui, le téléphone se déverrouillera ; si la réponse est non, ce ne sera pas le cas.
Classement des documents
La classification des documents est un élément crucial des stratégies modernes de gestion des données. Les classificateurs basés sur le ML cataloguent et classent un grand nombre de documents stockés, prenant ainsi en charge les efforts d'indexation et de recherche qui rendent les documents et leur contenu plus utiles.
Le travail de classification des documents commence par le prétraitement des documents. Leur contenu est analysé et transformé en représentations numériques (puisque les nombres sont plus faciles à traiter). Les fonctionnalités importantes du document, telles que les équations mathématiques, les images intégrées et la langue du document, sont extraites des documents et mises en évidence pour que les algorithmes ML puissent les apprendre. Ceci est suivi par d’autres tâches de traitement similaires dans la même veine.
Un sous-ensemble de documents est ensuite classé manuellement, par des humains, pour créer un ensemble de données de formation pour les systèmes de classification. Une fois formé, un classificateur cataloguera et classera tous les documents entrants rapidement et à grande échelle. Si des erreurs de classification sont détectées, des corrections manuelles peuvent être ajoutées aux supports de formation du système ML. De temps en temps, le modèle de classificateur peut être recyclé avec les corrections ajoutées, et ses performances seront améliorées.
Prédiction du comportement des clients
Les boutiques de vente au détail et de commerce électronique collectent des informations fines et détaillées sur le comportement de leurs clients. Ces informations peuvent être utilisées pour catégoriser les nouveaux clients et répondre à des questions telles que « Ce nouveau client est-il susceptible d'effectuer un achat ? » » et « Est-ce qu'offrir une remise de 25 % influencera le comportement d'achat de ce client ?
Le classificateur est formé à l'aide des données des clients précédents et de leur comportement éventuel, par exemple s'ils ont effectué un achat. À mesure que de nouveaux clients interagissent avec la plateforme, le modèle peut prédire s’ils effectueront un achat et quand. Il peut également effectuer une analyse de simulation pour répondre à des questions telles que « Si j'offre à cet utilisateur une remise de 25 %, effectuera-t-il un achat ? »
Avantages du classement
La classification offre plusieurs avantages dans le domaine de l'apprentissage automatique, ce qui en fait une approche largement utilisée pour résoudre les problèmes de catégorisation des données. Ci-dessous, nous explorons certains des principaux avantages de la classification, notamment sa maturité, sa flexibilité et sa capacité à fournir des résultats lisibles par l'homme.
Bien étudié et compris
La classification est l'un des problèmes les plus étudiés et les mieux compris dans le domaine de l'apprentissage automatique. En conséquence, il existe de nombreuses boîtes à outils matures disponibles pour les tâches de classification, permettant aux utilisateurs d'équilibrer les compromis entre vitesse, efficacité, utilisation des ressources et exigences de qualité des données.
Des techniques standard, telles que les matrices d'exactitude, de précision, de rappel et de confusion, sont disponibles pour évaluer les performances d'un classificateur. Avec ces outils, il peut être relativement simple de choisir le système de classification le plus approprié pour un problème donné, d’évaluer ses performances et de l’améliorer au fil du temps.
Fournir une sortie lisible par l’homme
Les classificateurs permettent souvent un compromis entre puissance prédictive et lisibilité humaine. Des modèles plus simples et plus interprétables, tels que les arbres de décision ou la régression logistique, peuvent être ajustés pour rendre leur comportement plus facile à comprendre. Ces modèles interprétables peuvent être utilisés pour explorer les propriétés des données, permettant aux utilisateurs humains d'avoir un aperçu des données. Ces informations peuvent ensuite guider le développement de modèles d’apprentissage automatique plus complexes et plus précis.
Inconvénients du classement
Bien que la classification soit un outil puissant d’apprentissage automatique, elle comporte certains défis et limites. Ci-dessous, nous discutons de certains des principaux inconvénients de la classification, notamment le surapprentissage, le sous-apprentissage et la nécessité d'un prétraitement approfondi des données d'entraînement.
Surapprentissage
Lors de la formation de modèles de classification, il est important d’ajuster le processus de formation pour réduire les risques que le modèle surajuste ses données. Le surajustement est un problème dans lequel un modèle mémorise tout ou partie de ses données sources, au lieu de développer une compréhension abstraite des relations entre les données. Un modèle qui a surajusté les données d'entraînement fonctionnera bien lorsqu'il verra de nouvelles données qui ressemblent beaucoup aux données sur lesquelles il a été entraîné, mais il risque de ne pas fonctionner aussi bien en général.
Sous-ajustement
Les performances des systèmes de classification dépendent de la disponibilité de quantités suffisantes de données de formation et de leur application à des problèmes qui fonctionnent bien pour les algorithmes de classification choisis. Si les données d'entraînement disponibles ne sont pas suffisantes ou si un algorithme de classification spécifique ne dispose pas des outils appropriés pour interpréter correctement les données, le modèle entraîné pourrait ne jamais apprendre à faire de bonnes prédictions. Ce phénomène est connu sous le nom de « sous-apprentissage ». Il existe de nombreuses techniques disponibles pour tenter d’atténuer le sous-ajustement, et les appliquer correctement n’est pas toujours facile.
Prétraitement des données d'entraînement
De nombreux systèmes de classification ont des exigences relativement rigides en matière de structure et de formatage des données. Leurs performances sont souvent étroitement corrélées à la qualité du traitement des données avant qu'ils y soient exposés ou qu'ils y soient formés. En conséquence, les systèmes de classification peuvent être rigides et inflexibles, avec des limites strictes autour des problèmes et des contextes de données auxquels ils sont les mieux adaptés.