Vous vous souvenez du théorème No Free Lunch ? Non, il ne s’agit pas de nourriture (encore). Mais si vous avez faim, prenez une collation avant de lire ce post – je ne veux pas que vous baviez sur votre clavier.

Je vous rappelle – aucun algorithme n’est optimal sur l’ensemble de toutes les situations possibles. Les algorithmes d’apprentissage automatique sont des instruments délicats que vous réglez en fonction de l’ensemble des problèmes, en particulier dans l’apprentissage automatique supervisé.

Aujourd’hui, nous allons voir comment les algorithmes de classification populaires fonctionnent et nous aident, par exemple, à choisir et à trier de merveilleuses tomates juteuses.

Comment fonctionne la classification

Nous prédisons si une chose peut être référencée à une classe particulière tous les jours. Pour donner un exemple, la classification nous aide à prendre des décisions lorsque nous choisissons des tomates dans un supermarché (« vertes », « parfaites », « pourries »). En termes d’apprentissage automatique, nous attribuons une étiquette d’une des classes à chaque tomate que nous tenons dans nos mains.

L’efficacité de votre concours de cueillette de tomates (que certains appelleraient un modèle de classification) dépend de la précision de ses résultats. Plus vous irez vous-même au supermarché (au lieu d’y envoyer vos parents ou votre moitié), plus vous deviendrez doué pour choisir des tomates fraîches et délicieuses.

Les ordinateurs, c’est pareil ! Pour qu’un modèle de classification apprenne à prédire les résultats avec précision, il a besoin de beaucoup d’exemples d’entraînement.

4 types de classification

4 types de tâches de classification dans l'apprentissage automatique

Binaire

La classification binaire signifie qu’il y a deux classes à travailler qui se rapportent l’une à l’autre comme vrai et faux. Imaginez que vous avez devant vous une énorme boîte à claire-voie contenant des tomates jaunes et rouges. Mais, votre recette de pâtes italiennes fantaisistes dit que vous n’avez besoin que des rouges.

Que faites-vous ? Évidemment, vous utilisez le codage des étiquettes et, dans ce cas, vous attribuez 1 à « rouge » et 0 à « pas rouge ». Le tri des tomates n’a jamais été aussi facile.

Classification binaire

Multiclasse

Que voyez-vous sur cette photo ?

tomates

Tomates beefsteak rouges. Tomates cerises. Tomates cocktail. Tomates Heirloom.

Il n’y a pas de noir et blanc ici, de « normal » et « anormal » comme dans la classification binaire. Nous accueillons toutes sortes de merveilleux légumes (ou baies) sur notre table.

Ce que vous ne savez probablement pas si vous n’êtes pas un fan de la cuisine des tomates, c’est que toutes les tomates ne sont pas également bonnes pour le même plat. Les tomates beefsteak rouges sont parfaites pour la salsa mais on ne les marie pas. Les tomates cerises conviennent aux salades mais pas aux pâtes. Il est donc important de savoir à quoi vous avez affaire.

La classification multiclasse nous aide à trier toutes les tomates de la boîte quel que soit le nombre de classes qu’il y a.

La classification multiclasse

Multi-étiquette

La classification multiétiquette est appliquée lorsqu’une entrée peut appartenir à plus d’une classe, comme une personne qui est citoyenne de deux pays.

Pour travailler avec ce type de classification, vous devez construire un modèle qui peut prédire plusieurs sorties.

Vous avez besoin d’une classification multi-label pour la reconnaissance d’objets dans les photos. Par exemple, lorsque vous devez identifier non seulement des tomates mais aussi différents autres types d’objets dans la même image : pommes, courgettes, oignons, etc.

Note importante pour tous les amateurs de tomates : Vous ne pouvez pas simplement prendre un algorithme de classification binaire ou multi-classe et l’appliquer directement à la classification multi-label. Mais vous pouvez utiliser :

La classification multi-label

Vous pouvez également essayer d’utiliser un algorithme distinct pour chaque classe afin de prédire les étiquettes de chaque catégorie.

Imbalanced

Nous travaillons avec la classification Imbalanced lorsque les exemples dans chaque classe sont distribués de manière inégale.

La classification Imbalanced est utilisée pour les logiciels de détection de fraude et le diagnostic médical. Trouver des tomates rares et exquises cultivées biologiquement qui sont accidentellement renversées dans un grand tas de tomates de supermarché est un exemple de classification déséquilibrée proposé par Gints, notre génial rédacteur (si vous avez d’autres exemples, tweetez-les nous).

Classification déséquilibrée

Je vous recommande de visiter le fantastique blog de Machine Learning Mastery où vous pouvez lire sur les différents types de classification et étudier beaucoup plus de matériel d’apprentissage automatique.

Étapes de la construction d’un modèle de classification

Une fois que vous savez à quel type de tâche de classification vous avez affaire, il est temps de construire un modèle.

  1. Sélectionnez le classificateur. Vous devez choisir l’un des algorithmes ML que vous appliquerez à vos données.
  2. L’entraîner. Vous devez préparer un ensemble de données d’entraînement avec des résultats étiquetés (plus il y a d’exemples, mieux c’est).
  3. Prédire la sortie. Utilisez le modèle pour obtenir quelques résultats.
  4. Évaluer le modèle de classificateur. C’est une bonne idée de préparer un ensemble de validation de données que vous n’avez pas utilisé dans la formation pour vérifier les résultats.

Regardons maintenant les algorithmes de classification les plus utilisés.

Les algorithmes de classification les plus populaires

algorithmes de classification communs

Scikit-Learn est l’une des meilleures bibliothèques ML pour Python. Donc, si vous voulez construire votre modèle, consultez-la. Elle donne accès à des classificateurs largement utilisés.

Régression logistique

La régression logistique est utilisée pour la classification binaire.

Cet algorithme emploie une fonction logistique pour modéliser la probabilité qu’un résultat se produise. Il est le plus utile lorsque vous voulez comprendre comment plusieurs variables indépendantes affectent une seule variable de résultat.

Exemple de question : Les niveaux de précipitations et la composition du sol conduiront-ils à la prospérité ou à la mort prématurée des tomates ?

La régression logistique a des limites ; tous les prédicteurs doivent être indépendants et il ne doit pas y avoir de valeurs manquantes. Cet algorithme échouera lorsqu’il n’y a pas de séparation linéaire des valeurs.

Naive Bayes

L’algorithme Naive Bayes est basé sur le théorème de Bayes. Vous pouvez appliquer cet algorithme pour la classification binaire et multiclasse et classer les données en fonction des résultats historiques.

Exemple de tâche : je dois séparer les tomates pourries des tomates fraîches en fonction de leur aspect.

Les avantages des Bayes naïfs sont que ces algorithmes sont rapides à construire : ils ne nécessitent pas un ensemble d’entraînement étendu et sont également rapides par rapport aux autres méthodes. Cependant, comme la performance des algorithmes bayésiens dépend de l’exactitude de ses hypothèses fortes, les résultats peuvent potentiellement s’avérer très mauvais.

En utilisant le théorème de Bayes, il est possible de dire comment l’occurrence d’un événement a un impact sur la probabilité d’un autre événement.

k-Plus Proches Voisins

kNN signifie « k plus proches voisins » et est l’un des algorithmes de classification les plus simples.

L’algorithme affecte les objets à la classe à laquelle appartiennent la plupart de ses plus proches voisins dans l’espace multidimensionnel des caractéristiques. Le nombre k est le nombre d’objets voisins dans l’espace des caractéristiques qui sont comparés à l’objet classé.

Exemple : Je veux prédire l’espèce de la tomate à partir des espèces de tomates qui lui sont similaires.

Pour classer les entrées en utilisant les k plus proches voisins, vous devez effectuer un ensemble d’actions :

  • Calculer la distance à chacun des objets de l’échantillon d’entraînement ;
  • Sélectionner k objets de l’échantillon d’entraînement, dont la distance est minimale ;
  • La classe de l’objet à classer est la classe qui apparaît le plus fréquemment parmi les k plus proches voisins.

Arbre de décision

Les arbres de décision sont probablement la façon la plus intuitive de visualiser un processus de décision. Pour prédire une étiquette de classe d’entrée, on part de la racine de l’arbre. Vous devez diviser l’espace des possibilités en sous-ensembles plus petits basés sur une règle de décision que vous avez pour chaque nœud.

Voici un exemple:

exemple d'arbre de décision

Vous continuez à décomposer l’espace des possibilités jusqu’à ce que vous atteigniez le bas de l’arbre. Chaque nœud de décision a deux branches ou plus. Les feuilles du modèle ci-dessus contiennent la décision de savoir si une personne est ou n’est pas apte.

Exemple : Vous avez un panier de différentes tomates et vous voulez choisir la bonne pour améliorer votre plat.

Types d’arbres de décision

Il existe deux types d’arbres. Ils sont basés sur la nature de la variable cible :

  • Arbre de décision à variable catégorielle.
  • Arbre de décision à variable continue.

Par conséquent, les arbres de décision fonctionnent assez bien avec les données numériques et catégorielles. Un autre avantage de l’utilisation des arbres de décision est qu’ils nécessitent peu de préparation des données.

Cependant, les arbres de décision peuvent devenir trop compliqués, ce qui entraîne un surajustement. Un inconvénient important de ces algorithmes est que de petites variations dans les données d’entraînement les rendent instables et conduisent à des arbres entièrement nouveaux.

Forêt aléatoire

Les classificateurs de forêt aléatoire utilisent plusieurs arbres de décision différents sur divers sous-échantillons de jeux de données. Le résultat moyen est pris comme prédiction du modèle, ce qui améliore la précision prédictive du modèle en général et combat le surajustement.

En conséquence, les forêts aléatoires peuvent être utilisées pour résoudre des problèmes complexes d’apprentissage automatique sans compromettre la précision des résultats. Néanmoins, elles demandent plus de temps pour former une prédiction et sont plus difficiles à mettre en œuvre.

Lisez-en plus sur le fonctionnement des forêts aléatoires sur le blog Towards Data Science.

Machine à vecteurs de support

Les machines à vecteurs de support utilisent un hyperplan dans un espace à N dimensions pour classer les points de données. N est ici le nombre de caractéristiques. Il peut être, fondamentalement, n’importe quel nombre, mais plus il est grand, plus il devient difficile de construire un modèle.

On peut imaginer l’hyperplan comme une ligne (pour un espace à 2 dimensions). Dès que l’on passe l’espace à 3 dimensions, il nous devient difficile de visualiser le modèle.

Les points de données qui tombent sur différents côtés de l’hyperplan sont attribués à différentes classes.

Exemple : Un système automatique qui trie les tomates en fonction de leur forme, de leur poids et de leur couleur.

L’hyperplan que nous choisissons affecte directement la précision des résultats. Ainsi, nous recherchons le plan qui a la distance maximale entre les points de données des deux classes.

Les SMVM montrent des résultats précis avec une puissance de calcul minimale lorsque vous avez beaucoup de caractéristiques.

Summing up

Comme vous pouvez le voir, l’apprentissage automatique peut être aussi simple que de ramasser des légumes dans le magasin. Mais il y a de nombreux détails à garder à l’esprit si vous ne voulez pas tout gâcher. Restez à l’écoute de notre blog, de Twitter et de Medium pour d’autres lectures cool sur l’apprentissage automatique.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.