📚 Découvrez notre tutoriel plongeant dans la régression linéaire simple avec les mathématiques et Python. 📚

Qu’est-ce que l’apprentissage automatique ?

Professeur Tom M. Mitchell dépeint en expliquant la définition opérationnelle de l'apprentissage automatique.

Le professeur Tom M. Mitchell a dépeint en expliquant la définition opérationnelle de l'apprentissage machinal.

Source : Machine Learning Department at Carnegie Mellon

On dit d’un programme informatique qu’il apprend de l’expérience E par rapport à une certaine classe de tâches T et à une mesure de performance P, si sa performance aux tâches dans T, telle que mesurée par P, s’améliore avec l’expérience E. ~ Tom M. Mitchell

L’apprentissage des machines se comporte de manière similaire à la croissance d’un enfant. Au fur et à mesure qu’un enfant grandit, son expérience E dans l’exécution de la tâche T augmente, ce qui entraîne une mesure de performance (P) plus élevée.

Par exemple, nous donnons un jouet  » bloc de tri de formes  » à un enfant. (Maintenant, nous savons tous que dans ce jouet, nous avons différentes formes et trous de forme). Dans ce cas, notre tâche T est de trouver un trou de forme approprié pour une forme. Ensuite, l’enfant observe la forme et essaie de la faire entrer dans un trou de forme. Disons que ce jouet a trois formes : un cercle, un triangle et un carré. Lors de sa première tentative pour trouver un trou en forme, sa mesure de performance(P) est de 1/3, ce qui signifie que l’enfant a trouvé 1 trou en forme correct sur 3.

Deuxièmement, l’enfant essaie une autre fois et remarque qu’elle a un peu d’expérience dans cette tâche. Considérant l’expérience acquise (E), l’enfant essaie cette tâche une autre fois, et en mesurant la performance(P), elle s’avère être 2/3. Après avoir répété cette tâche (T) 100 fois, le bébé a maintenant compris quelle forme va dans quel trou de forme.

Donc son expérience (E) a augmenté, sa performance(P) a également augmenté, et on remarque alors que lorsque le nombre d’essais de ce jouet augmente. La performance augmente également, ce qui entraîne une plus grande précision.

Cette exécution est similaire à l’apprentissage automatique. Ce que fait une machine, c’est qu’elle prend une tâche (T), l’exécute et mesure sa performance (P). Maintenant, une machine a un grand nombre de données, donc à mesure qu’elle traite ces données, son expérience (E) augmente au fil du temps, ce qui entraîne une mesure de performance plus élevée (P). Donc après avoir parcouru toutes les données, la précision de notre modèle d’apprentissage automatique augmente, ce qui signifie que les prédictions faites par notre modèle seront très précises.

Une autre définition de l’apprentissage automatique par Arthur Samuel:

L’apprentissage automatique est le sous-domaine de l’informatique qui donne aux « ordinateurs la capacité d’apprendre sans être explicitement programmés. » ~ Arthur Samuel

Essayons de comprendre cette définition : Elle stipule « apprendre sans être explicitement programmé » – ce qui signifie que nous n’allons pas enseigner à l’ordinateur avec un ensemble de règles spécifiques, mais au contraire, ce que nous allons faire, c’est nourrir l’ordinateur avec suffisamment de données et lui donner le temps d’apprendre de ces données, en faisant ses propres erreurs et en les améliorant. Par exemple, Nous n’avons pas enseigné à l’enfant comment insérer les formes, mais en effectuant la même tâche plusieurs fois, l’enfant a appris à insérer les formes dans le jouet par lui-même.

Par conséquent, nous pouvons dire que nous n’avons pas enseigné explicitement à l’enfant comment insérer les formes. Nous faisons la même chose avec les machines. Nous lui donnons suffisamment de données sur lesquelles travailler et nous l’alimentons avec les informations que nous attendons d’elle. Ainsi, elle traite les données et les prédit avec précision.

Pourquoi avons-nous besoin de l’apprentissage automatique ?

Par exemple, nous avons un ensemble d’images de chats et de chiens. Ce que nous voulons faire, c’est les classer dans un groupe de chats et de chiens. Pour ce faire, nous devons trouver différentes caractéristiques des animaux, telles que :

  1. Combien d’yeux a chaque animal ?
  2. Quelle est la couleur des yeux de chaque animal ?
  3. Quelle est la taille de chaque animal ?
  4. Quel est le poids de chaque animal ?
  5. Que mange généralement chaque animal ?

Nous formons un vecteur sur les réponses de chacune de ces questions. Ensuite, nous appliquons un ensemble de règles telles que :

Si la hauteur > 1 pied et le poids > 15 livres, alors il pourrait s’agir d’un chat.

Maintenant, nous devons faire un tel ensemble de règles pour chaque point de données. En outre, nous plaçons un arbre de décision d’énoncés si, sinon si, sinon et vérifions s’il entre dans l’une des catégories.

Supposons que le résultat de cette expérience n’a pas été fructueux car il a mal classé un grand nombre d’animaux, ce qui nous donne une excellente occasion d’utiliser l’apprentissage automatique.

Ce que fait l’apprentissage automatique, c’est traiter les données avec différents types d’algorithmes et nous dire quelle caractéristique est plus importante pour déterminer s’il s’agit d’un chat ou d’un chien. Ainsi, au lieu d’appliquer de nombreux ensembles de règles, nous pouvons le simplifier en nous basant sur deux ou trois caractéristiques, et par conséquent, cela nous donne une plus grande précision. La méthode précédente n’était pas assez généralisée pour faire des prédictions.

Les modèles d’apprentissage automatique nous aident dans de nombreuses tâches, telles que :

  • Reconnaissance d’objets
  • Summarisation
  • Prédiction
  • Classification
  • Clustering
  • Systèmes de recommandation
  • Et autres

Qu’est-ce qu’un modèle d’apprentissage automatique ?

Un modèle d’apprentissage automatique est un système de questions/réponses qui prend en charge le traitement des tâches liées à l’apprentissage automatique. Considérez-le comme un système d’algorithmes qui représente les données lors de la résolution de problèmes. Les méthodes que nous allons aborder ci-dessous sont bénéfiques à des fins liées à l’industrie pour résoudre des problèmes commerciaux.

Par exemple, imaginons que nous travaillons sur le système ML de Google Adwords, et que notre tâche consiste à mettre en œuvre un algorithme ML pour véhiculer une démographie ou une zone particulière à l’aide de données. Une telle tâche vise à passer de l’utilisation des données à la collecte d’informations précieuses pour améliorer les résultats commerciaux.

Les principaux algorithmes d’apprentissage automatique :

Nous utilisons des algorithmes de régression pour prédire des valeurs continues.

Les algorithmes de régression :

  • Régression linéaire
  • Régression polynomiale
  • Régression exponentielle
  • Régression logistique
  • Régression logarithmique

Classification

Nous utilisons des algorithmes de classification pour prédire la classe ou la catégorie d’un ensemble d’éléments.

Algorithmes de classification :

  • K-plus proches voisins
  • Arbres de décision
  • Forêt aléatoire
  • Machine vectorielle de soutien
  • Naive Bayes

Clustering

Nous utilisons des algorithmes de clustering pour résumer ou structurer les données.

Algorithmes de clustering :

  • K-means
  • DBSCAN
  • Mean Shift
  • Hiérarchique

Association

Nous utilisons des algorithmes d’association pour associer des éléments ou des événements cooccurrents.

Algorithmes d’association :

  • Apriori

Détection d’anomalies

Nous utilisons la détection d’anomalies pour découvrir des activités anormales et des cas inhabituels comme la détection de fraude.

Sequence Pattern Mining

Nous utilisons le pattern mining séquentiel pour prédire les prochains événements de données entre les exemples de données dans une séquence.

Réduction de la dimensionnalité

Nous utilisons la réduction de la dimensionnalité pour réduire la taille des données afin d’extraire uniquement les caractéristiques utiles d’un ensemble de données.

Systèmes de recommandation

Nous utilisons des algorithmes de recommandation pour construire des moteurs de recommandation.

Exemples :

  • Système de recommandation de Netflix.
  • Système de recommandation de livres.
  • Système de recommandation de produits sur Amazon.

De nos jours, nous entendons de nombreux mots à la mode comme intelligence artificielle, apprentissage automatique, apprentissage profond, et autres.

Quelles sont les différences fondamentales entre l’intelligence artificielle, l’apprentissage automatique et l’apprentissage profond ?

📚 Découvrez nos recommandations éditoriales sur les meilleurs livres d’apprentissage automatique. 📚

Intelligence artificielle (IA):

L’intelligence artificielle (IA), telle que définie par le professeur Andrew Moore, est la science et l’ingénierie permettant de faire en sorte que les ordinateurs se comportent d’une manière dont, jusqu’à récemment, nous pensions qu’elle nécessitait une intelligence humaine .

Ce sont notamment :

  • Vision par ordinateur
  • Traitement du langage
  • Créativité
  • Summarisation

Apprentissage machine (ML) :

Comme défini par le professeur Tom Mitchell, l’apprentissage automatique fait référence à une branche scientifique de l’IA, qui se concentre sur l’étude des algorithmes informatiques qui permettent aux programmes informatiques de s’améliorer automatiquement grâce à l’expérience .

Ceux-ci comprennent :

  • Classification
  • Réseau neuronal
  • Clustering

Deep Learning:

Le deep learning est un sous-ensemble de l’apprentissage automatique dans lequel les réseaux neuronaux en couches, combinés à une puissance de calcul élevée et à de grands ensembles de données, peuvent créer de puissants modèles d’apprentissage automatique.

Représentation abstraite d'un réseau neuronal | Photo de Clink Adair via Unsplash

Représentation abstraite d'un réseau neuronal | Photo de Clink. Adair via Unsplash

Représentation abstraite d’un réseau neuronal | Photo de Clink Adair via Unsplash

Pourquoi préférons-nous Python pour mettre en œuvre des algorithmes d’apprentissage automatique ?

Python est un langage de programmation populaire et polyvalent. Nous pouvons écrire des algorithmes d’apprentissage automatique en utilisant Python, et cela fonctionne bien. La raison pour laquelle Python est si populaire parmi les scientifiques des données est que Python a une variété diverse de modules et de bibliothèques déjà mis en œuvre qui rendent notre vie plus confortable.

Laissons un bref aperçu de certaines bibliothèques Python passionnantes.

  1. Numpy : C’est une bibliothèque mathématique permettant de travailler avec des tableaux à n dimensions en Python. Elle nous permet de faire des calculs de manière efficace et efficiente.
  2. Scipy : C’est une collection d’algorithmes numériques et une boîte à outils spécifique à un domaine, y compris le traitement du signal, l’optimisation, les statistiques, et bien plus encore. Scipy est une bibliothèque fonctionnelle pour les calculs scientifiques et de haute performance.
  3. Matplotlib : C’est un paquet de traçage tendance qui fournit des tracés 2D ainsi que des tracés 3D.
  4. Scikit-learn : C’est une bibliothèque libre d’apprentissage automatique pour le langage de programmation python. Elle possède la plupart des algorithmes de classification, de régression et de clustering, et fonctionne avec des bibliothèques numériques Python telles que Numpy, Scipy.

Les algorithmes d’apprentissage automatique se classent en deux groupes :

  • Algorithmes d’apprentissage supervisé
  • Algorithmes d’apprentissage non supervisé

I. Algorithmes d’apprentissage supervisé :

But : prédire l’étiquette de classe ou de valeur.

L’apprentissage supervisé est une branche de l’apprentissage automatique (peut-être est-ce le courant principal de l’apprentissage automatique/profond pour le moment) liée à la déduction d’une fonction à partir de données d’entraînement étiquetées. Les données d’apprentissage consistent en un ensemble de paires *(entrée, cible)*, où l’entrée peut être un vecteur de caractéristiques et la cible indique ce que nous souhaitons que la fonction produise. En fonction du type de *cible*, nous pouvons diviser l’apprentissage supervisé en deux catégories : la classification et la régression. La classification implique des cibles catégorielles ; les exemples vont de quelques cas simples, comme la classification d’images, à des sujets avancés, comme les traductions automatiques et les légendes d’images. La régression concerne des cibles continues. Ses applications comprennent la prédiction des actions, le masquage d’images et d’autres – qui entrent toutes dans cette catégorie.

Pour illustrer l’exemple d’apprentissage supervisé ci-dessous | Source : Photo de Shirota Yuri, Unsplash

Pour comprendre ce qu’est l’apprentissage supervisé, nous allons utiliser un exemple. Par exemple, nous donnons à un enfant 100 animaux en peluche dans lesquels il y a dix animaux de chaque sorte comme dix lions, dix singes, dix éléphants, et autres. Ensuite, nous apprenons à l’enfant à reconnaître les différents types d’animaux en fonction de leurs caractéristiques (traits). Par exemple, si sa couleur est orange, il peut s’agir d’un lion. Si c’est un gros animal avec une trompe, alors ce peut être un éléphant.

Nous apprenons à l’enfant à différencier les animaux, cela peut être un exemple d’apprentissage supervisé. Maintenant, lorsque nous donnons à l’enfant différents animaux, il devrait être capable de les classer dans un groupe d’animaux approprié.

Pour le bien de cet exemple, nous remarquons que 8/10 de ses classifications étaient correctes. Nous pouvons donc dire que l’enfant a fait un assez bon travail. Il en va de même pour les ordinateurs. Nous leur fournissons des milliers de points de données avec leurs valeurs réelles étiquetées (les données étiquetées sont des données classées dans différents groupes avec leurs valeurs de caractéristiques). Ensuite, il apprend de ses différentes caractéristiques au cours de sa période d’apprentissage. Une fois la période d’apprentissage terminée, nous pouvons utiliser notre modèle formé pour faire des prédictions. N’oubliez pas que nous avons déjà fourni à la machine des données étiquetées, de sorte que son algorithme de prédiction est basé sur l’apprentissage supervisé. En bref, nous pouvons dire que les prédictions par cet exemple sont basées sur des données étiquetées.

Exemple d’algorithmes d’apprentissage supervisé :

  • Régression linéaire
  • Régression logistique
  • K-plus proches voisins
  • Arbre de décision
  • Forêt aléatoire
  • Machine vectorielle de soutien

II. Apprentissage non supervisé :

But : déterminer des modèles/groupements de données.

Contrairement à l’apprentissage supervisé. L’apprentissage non supervisé déduit des données non étiquetées, une fonction qui décrit les structures cachées dans les données.

Peut-être que le type le plus basique d’apprentissage non supervisé est les méthodes de réduction de dimension, telles que PCA, t-SNE, tandis que PCA est généralement utilisé dans le prétraitement des données, et t-SNE généralement utilisé dans la visualisation des données.

Une branche plus avancée est le clustering, qui explore les modèles cachés dans les données et fait ensuite des prédictions sur ceux-ci ; les exemples incluent le clustering K-mean, les modèles de mélange gaussien, les modèles de Markov cachés, et d’autres.

Avec la renaissance de l’apprentissage profond, l’apprentissage non supervisé gagne de plus en plus d’attention car il nous libère de l’étiquetage manuel des données. À la lumière de l’apprentissage profond, nous considérons deux types d’apprentissage non supervisé : l’apprentissage par représentation et les modèles génératifs.

L’apprentissage par représentation vise à distiller une caractéristique représentative de haut niveau qui est utile pour certaines tâches en aval, tandis que les modèles génératifs ont l’intention de reproduire les données d’entrée à partir de certains paramètres cachés.

Pour illustrer l’exemple d’apprentissage non supervisé ci-dessous | Source : Photo de Jelleke Vanooteghem, Unsplash

L’apprentissage non supervisé fonctionne comme il le semble. Dans ce type d’algorithmes, nous ne disposons pas de données étiquetées. La machine doit donc traiter les données d’entrée et essayer de tirer des conclusions sur la sortie. Par exemple, vous vous souvenez de l’enfant à qui on a donné un jouet de forme ? Dans ce cas, il apprendrait de ses propres erreurs pour trouver le trou de forme parfait pour différentes formes.

Mais le hic, c’est que nous ne nourrissons pas l’enfant en lui apprenant les méthodes pour adapter les formes (à des fins d’apprentissage machine appelées données étiquetées). En revanche, l’enfant apprend des différentes caractéristiques du jouet et tente d’en tirer des conclusions. En bref, les prédictions sont basées sur des données non étiquetées.

Exemples d’algorithmes d’apprentissage non supervisé :

  • Réduction de dimension
  • Estimation de la densité
  • Analyse du panier de la ménagère
  • Réseaux adversaires génératifs (GAN)
  • Clustering

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *