Machine Learning
Machine Learning
Machine Learning
DEFINITION :
L'apprentissage automatique est une application de l'intelligence artificielle (IA) qui offre aux systèmes la
capacité d'apprendre et de s'améliorer automatiquement à partir de l'expérience sans être explicitement
programmé. L'apprentissage automatique se concentre sur le développement de programmes
informatiques qui peuvent accéder aux données et les utiliser pour eux-mêmes. Une autre définition un
peu plus générale : L'apprentissage automatique est le domaine d'études qui donne aux ordinateurs
capacités d'apprendre sans être explicitement programmé.
Et plus orienté vers l'ingénierie : On dit qu'un programme informatique apprend de l'expérience E avec en
ce qui concerne une tâche T et une mesure de performance P, si ses performances sur T, mesurées par P,
s'améliorent avec l'expérience E.
Par exemple : Votre filtre anti-spam est un programme d'apprentissage automatique qui, à partir
d'exemples des courriers indésirables (par exemple, signalés par les utilisateurs) et des exemples de
courriers réguliers (non-spam, également appelé «jambon»), le système peut apprendre à signaler le
spam. Les exemples que le système utilise pour apprendre sont appelés « ensemble d’entrainement » ou
« training set ». Chaque exemple d’entrainement est appelé une instance (ou échantillon). Dans ce cas, la
tâche T consiste à signaler le spam pour les nouveaux e-mails, l'expérience E sont les données
d’entrainement « training set », et la mesure de performance P doit être défini ; par exemple, vous
pouvez utiliser le pourcentage de courriels correctement classifiés. Cette mesure de performance
particulière est appelée précision, et elle est souvent utilisé dans les tâches de classification.
Comme le problème est difficile, votre programme deviendra probablement une longue liste de règles
complexes - assez difficile à maintenir. En revanche, un filtre anti-spam basé sur les techniques
d'apprentissage automatique apprend automatiquement quels mots et expressions sont de bons
prédicteurs de spam en détectant des modèles de mots inhabituellement fréquents dans le spam
exemples comparés aux exemples de jambon (figure 1-2). Le programme est beaucoup plus court, plus
facile à entretenir et probablement plus précis.
Que faire si les spammeurs remarquent que tous leurs e-mails contenant «4U» sont bloqué? Ils
pourraient plutôt commencer à écrire «Pour U». Un filtre anti-spam utilisant les techniques de
programmation traditionnelles devraient être mises à jour pour signaler Courriels «Pour U». Si les
spammeurs continuent de contourner votre filtre anti-spam, vous devrez continuer à écrire de nouvelles
règles pour toujours. En revanche, un filtre anti-spam basé sur les techniques d'apprentissage
automatique remarque automatiquement que «For U» est devenu inhabituellement fréquent dans spam
signalé par les utilisateurs, et il commence à les signaler sans votre intervention
Figure 3 autoadaptation
Apprentissage supervisé :
En apprentissage supervisé, l'ensemble de données d’entrainement qui alimente à l'algorithme comprend
les solutions souhaitées, appelées étiquettes ou labelle, on peut distinguer deux type de système
d’apprentissage supervisé selon le type du variable cible,
Le premier type est la classification, on parle d’un problème de classification lorsque la variable cible est
une variable qualitatif discrète, Le filtre anti-spam est un bon exemple de cela : il est formé avec de
nombreux exemples de courriels avec leur classe (spam ou jambon), et il doit apprendre à classer les
nouveaux courriels
Les algorithmes de clustering : dans ce type d’algorithme le but est de construire des groupes ou des
segments d’individue de tels façon ou les individue de même groupe soit les plus similaire possible et les
individues qui appartient aux deux groupes différents soit le plus distinctifs possible, supposons que vous
disposez de nombreuses données sur les visiteurs de votre blog. Vous souhaiterez peut-être exécuter un
algorithme de clustering pour essayer de détecter des groupes de visiteurs similaires (figure 1-8). À aucun
moment, vous ne dites à l'algorithme à quel groupe un visiteur appartient : il trouve ces connexions sans
votre aide. Par exemple, il pourrait remarquer que 40% de vos visiteurs sont des hommes qui aiment les
bandes dessinées et lisent généralement votre blog le soir, tandis que 20% sont de jeunes amateurs de
science-fiction qui visitent le week-end. Si vous utilisez un algorithme de clustering hiérarchique, il peut
également subdiviser chaque groupe en petits groupes. Cela peut vous aider à cibler vos publications pour
chaque groupe
Apprentissage semi-supervisé :
Étant donné que l'étiquetage des données est généralement long et coûteux, vous aurez souvent de
nombreuses instances non étiquetées et peu d'instances étiquetées. Certains algorithmes peuvent traiter
des données partiellement étiquetées. C'est ce qu'on appelle l'apprentissage semi-supervisé
Figure 9: exemple d'apprentissage semi-supervisé
Certains services d'hébergement de photos, tels que Google Photos, en sont de bons exemples. Une fois
que vous avez téléchargé toutes vos photos de famille sur le service, il reconnaît automatiquement que la
même personne A apparaît sur les photos 1, 5 et 11, tandis qu'une autre personne B apparaît sur les
photos 2, 5 et 7. Il s'agit de la partie non supervisée de l'algorithme (clustering). Maintenant, tout ce dont
le système a besoin, c'est que vous lui disiez qui sont ces personnes. Ajoutez simplement une étiquette
par personne et elle pourra nommer tout le monde sur chaque photo, ce qui est utile pour rechercher des
photos. La plupart des algorithmes d'apprentissage semi-supervisés sont des combinaisons d'algorithmes
non supervisés et supervisés.
Overfitting (sur-apprentissage) :
L’Overfitting (sur-apprentissage) désigne le fait que le modèle prédictif produit par l’algorithme de Machine
Learning s’adapte bien au Training Set, En effet, quand je dis que la fonction prédictive s’adapte bien
au Training Set, je sous-entends qu’elle s’adapte même trop bien aux données d’apprentissage. Par
conséquent, le modèle prédictif capturera tous les “aspects” et détails qui caractérisent les données
du Training Set. Dans ce sens, il capturera toutes les fluctuations et variations aléatoires des données
du Training Set. En d’autres termes, le modèle prédictif capturera les corrélations généralisables ET le bruit
produit par les données. Quand un tel événement se produit, le modèle prédictif pourra donner de très bonnes
prédictions sur les données du Training Set (les données qu’il a déjà “vues” et auxquelles il s’y est adapté),
mais il prédira mal sur des données qu’il n’a pas encore vues lors de sa phase d’apprentissage. On dit que la
fonction prédictive se généralise mal. Et que le modèle souffre d’Overfitting.
L’image ci-dessus montre un exemple d’Overfitting. Le tracé en bleu représente une fonction de prédiction qui
passe par toutes les données du Training Set (points en vert). On voit bien que la fonction est instable (grande
variance) et qu’elle s’écarte beaucoup des points rouges qui représentent des données non vues lors de la
phase d’apprentissage (Test Set).
Underfitting (sous-apprentissage) :
L’Underfitting (sous-apprentissage), sous entend que le modèle prédictif généré lors de la phase
d’apprentissage, s’adapte mal au TRAINING SET.
Autrement dit, le modèle prédictif n’arrive même pas à capturer les corrélations du Training Set. Par
conséquent, le coût d’erreur en phase d’apprentissage reste grand. Bien évidemment, le modèle prédictif ne
se généralisera pas bien non plus sur les données qu’il n’a pas encore vu. Finalement, le modèle ne sera viable
car les erreurs de prédictions seront grandes.
Dans ce cas de figure, on dit que le modèle souffre d’Underfitting. On dit également qu’il souffre d’un
grand biais.
Voici un exemple qui illustre une situation de sous-apprentissage dans le cas du régression
L’image ci-dessus montre un exemple d’Underfitting. La courbe approche les 4 points et l’erreur est grande
pour les autres.