You are currently viewing Introduction au Machine Learning

Introduction au Machine Learning

  • Post category:Regression

Qu’est-ce-que le Machine Learning ? En tant que Data Scientist, je désire vous donner une réponse claire à cette question, en démystifiant au passage le concept d’Intelligence Artificielle. Voici donc une introduction au Machine Learning qui vous permettra de comprendre le fonctionnement de cette technologie ainsi que ses applications.

Pour accompagner cet article, je vous offre une copie de mon livre “Apprendre le machine learning en une semaine“.

Définition du Machine Learning

Le Machine Learning est un domaine d’étude de l’Intelligence Artificielle qui vise à donner aux machines la capacité d’apprendre. Cette technologie très puissante a permit le développement des voitures autonomes, de la reconnaissance vocale, et de tous les systèmes dits “intelligents” depuis les 10 dernières années.

Définition Historique

Le Machine Learning a été inventé par Arthur Samuel en 1959, après que celui-ci ait développé le premier programme de jeu de Dames doté d’une intelligence artificielle. Ce programme avait appris à jouer aux Dames tout seul, sans recevoir la moindre instruction de son développeur.

Suite à son invention, Arthur Samuel a formulé la première définition historique du Machine Learning :

“Le Machine Learning est la science de donner à une machine la capacité d’apprendresans la programmer de façon explicite.

Machine Learning ou Apprentissage Statistique ?

Aujourd’hui, nous avons une façon plus mathématique de définir le Machine Learning. En français, nous appelons ça Apprentissage Statistique (ou apprentissage automatique) car la majorité des algorithmes utilisés en Machine Learning sont en réalité des modèles statistiques développées à partir de données. Parmi ces modèles, on retrouve par exemple les arbres de décision, la régression linéaire, ainsi que les modèles Bayésien.

Modele de Machine Learning

Ainsi, pour qu’une machine apprenne à reconnaître un visage sur une photo, nous lui fournissons des milliers de photos à étudier, et la machine développe ses propres règles statistiques permettant de différencier les visages.

Comment fonctionne le Machine Learning ?

Pour comprendre comment une machine peut apprendre à partir de données, il faut se pencher sur les 3 paradigmes d’apprentissage du Machine Learning :

  • L’Apprentissage Supervisé (Supervised Learning)
  • L’Apprentissage Non-Supervisé (Unsupervised Learning)
  • L’Apprentissage par Renforcement (Reinforcement Learning)

Apprentissage Supervisé

L’Apprentissage Supervisé est utilisé pour développer des modèles prédictifs, c’est-à-dire des modèles capables de prédire une certaine valeur y en fonction de variables x_1, x_2, etc.

Exemples : Prédire le nom d’une personne y à partir d’une photo x, ou bien prédire le prix d’un appartement y en fonction de sa surface habitable x_1et du nombre de pièces x_2

Pour développer de tels modèles, il faut en premier lieu fournir à la machine une grande quantité de données (x, y). On appelle cela un dataset (un jeu de données). Ensuite, on demande à la machine de développer une fonction d’approximation qui représente au mieux la relation x \rightarrow y présente dans nos données. Pour ça, on utilise un algorithme d’optimisation qui minimise les écarts entre la fonction et les données du dataset. Le nom “Apprentissage Supervisé” vient donc du fait que l’on supervise (tel un professeur) l’apprentissage de la machine en lui fournissant des exemples de question/réponse (x / y) à étudier.

 

Les applications de l’Apprentissage Supervisé sont nombreuses : On peut les diviser en 2 catégories de problèmes : les Régressions, et les Classifications.

Les problèmes de Régression

Les problèmes de Régression correspondent aux situations dans lesquelles la machine doit apprendre à prédire la valeur d’une variable quantitative (ce qu’on appelle une variable variable continue). Il peut par exemple s’agir du prix d’un appartement, de l’évolution du climat, de la taille d’un individu, etc. Visuellement, on cherche donc à développer un modèle ressemblant à celui présenté ci-dessous

Model de Régression

Les problèmes de Classification

Les problèmes de Classification correspondent aux situations dans lesquelles la machine doit apprendre à prédire la valeur d’une variable qualitative (ce qu’on appelle une variable discrète). Autrement dit, la machine doit apprendre à classer ce les données dans des classes. il peut s’agir de classer des emails spam ou non spam, ou bien classer un patient dans une classe malade ou non malade, etc. Dans cette mesure, Les application de reconnaissances faciales ou reconnaissance vocales sont également des applications de classification. Visuellement, on peut ainsi représenter les données et leur classes par des couleurs, et le modèle permet de classer les points grâce à une frontière de décision

Modele de Classification

Apprentissage Non-Supervisé

Une autre méthode d’apprentissage pour développer des programmes de Machine Learning est l’apprentissage nonSupervisé (Unsupervised Learning). Cette méthode est utilisée quand notre Dataset ne contient pas d’exemples qui indiquent ce que l’on cherche. Voyons cela avec une analogie : Regardez ces 6 photos. Pouvez-vous les regrouper en 2 familles selon leur ressemblance ?

Clustering

Bien sûr ! C’est même plutôt simple. Nul besoin de savoir s’il s’agit de cellules animales, de bactéries ou de protéines pour apprendre à classer ces imagesVotre cerveau a en fait reconnu des structures communes dans les données que vous lui avez montrées. Dans l’apprentissage non-supervisé, on dispose ainsi de données caractérisées par des variables X sans variable cible y, et la machine apprend à reconnaître des structures dans ces données. Grâce à cela, on peut ainsi regrouper des donnés dans des clusters (c’est le Clustering), détecter des anomalies, ou encore réduire la dimension de données très riches en compilant les dimensions ensembles.

Clustering

Apprentissage par Renforcement

Une dernière technique très populaire est l’apprentissage par renforcement qui consiste à laisser la machine apprendre à faire une tâche (par exemple piloter un mini drone) en la laissant pratiquer seule. Quand la machine réussit ce qu’elle entreprend, elle reçoit un bonus. Quand elle échoue, elle reçoit un malus.

On développe un programme qui force la machine à vouloir maximiser ses bonus, et la machine fait alors l’analyse de ses propres erreurs du passé afin de s’améliorer au fil du temps. C’est un petit peu comme quand nous apprenons à faire du vélo: au début nous n’y arrivons pas du tout, mais a force d’en faire, nous développons intrinsèquement notre équilibre de façon à éviter les erreurs du passé qui nous ont fait tomber !

Apprentissage par Renforcement et exemple de vélo

Conclusion

Le Machine Learning est la nouvelle électricité, il va tout révolutionner. En 2019, le Machine Learning est déjà présent tout autour de nous. En fait, vous l’utilisez probablement des centaines de fois par jour sans même vous en rendre compte. Chaque fois que vous effectuez une recherche dans Google, c’est un modèle de Machine Learning qui a appris comment classer en première page les résultats les plus pertinents parmi des millions de pages web possibles. Quand vous postez une photo de vous sur Facebook, il y a un algorithme de Machine Learning qui parvient à vous identifier parce qu’il a appris à reconnaître des visages sur des photos.

utilisation du Machine Learning

Le machine Learning a déjà commencé à changer la face de notre monde. Il révolutionne l’industrie des transports avec la voiture autonome et fait fonctionner nos objets connectés : Iphone, reconnaissance vocale et vision par ordinateur. Il diagnostique le cancer mieux qu’une équipe de plusieurs docteurs et améliore la sécurité bancaire, la sécurité informatique, prend des décisions judiciaires plus justes… Même l’industrie agricole et le monde de l’art sont touchés par le machine Learning.

Si vous désirez vous former, notre site propose des formations reconnues.

Cet article a 23 commentaires

  1. houston junk car buyer

    Interesting read , I’m going to spend more time researching this subject

    1. Guillaume Saint-Cirgue

      Thank you. Good luck in your coding 🙂

  2. AWA

    Great tuto thank you. Very helpful

    1. Guillaume Saint-Cirgue

      Thank you very much

  3. Eric

    Très belle explication, fluide et facilement compréhensible. Merci de partager votre savoir

    1. Guillaume Saint-Cirgue

      Merci beaucoup pour votre commentaire Eric. Je suis heureux de savoir que l’article a pu aider !

  4. farid

    pourrais-je avoir le lien de téléchargement du livre??

    1. Guillaume Saint-Cirgue

      Le lien est ci-dessus

      1. Maissa

        Merci beaucoup j’apprécie cette formation et elle m’aide à bien comprendre le machine learning

  5. Mariem

    s’il vous plait j’ai une question concernant la régression linéaire si par exemple je veux prédire un target mais qui n’est pas un vecteur c’est t a dire une matrice comment je peux faire la formulation de la dataset j’ai vu votre vidéo pour un target vecteur de 1 colone et m linges mais pour un autre cas ?

    1. Guillaume Saint-Cirgue

      Bonjour, c’est très simple a faire ! Je vous conseille d’utiliser sklearn. Voici un exemple dans lequel on prédit 2 valeurs pour chaque prédiction (les données sont aléatoires, mais c’est juste pour montrer que c’est possible)
      import numpy as np
      from sklearn.linear_model import LinearRegression
      X = np.random.randn(10, 4) # 4 variables X
      y = np.random.randn(10, 2) # 2 variables y
      model = LinearRegression().fit(X, y)
      print(model.predict(X))

  6. Mariem

    Merci beaucoup , mais reste en peu n’est pas cler pour la formulation Mathématiques

    Moi par exemple j’ai : x_1 jusqu’à x_n i= 1 jusqu’a n et pour chaque x_i m valeurs c’est dire que chaque x_i peut prendre m valeurs moi je veux prédire les y correspondent à x_1 jusqu’à x_n mais pour m valeurs
    je veux formuler le tableau du dataset mais je n’arrive pas également le modèle mathématiques (Régression linéaire simple)

    1. Guillaume Saint-Cirgue

      Oui je vois la situation. Avez-vous regardé la vidéo sur la regression polynomiale ? Je pourrais faire une vidéo pour répondre a votre question plus en détails

      1. Mariem

        Non j’ai pas vu un votre vidéo pour la régression polynomiale

        Oui se sera mieux pour moi un vidéo contient les détails merci beaucoup

        1. Mariem

          je pense que la modèle soit comme ça

          f(x) = ax^n + bx^n-1 + …….. + c ?

  7. Mariem

    x_1……..x_n sont des variables aléatoires

  8. David

    Merci pour ce premier cours qui constitue une bonne introduction parfaitement compréhensible.

  9. perla

    Bonjour
    pour la régression linéaire
    concernant l’algorithme du Gradient
    a = a – la dérive de la fonction coût par rapport à a multiplié par alpha
    j’ai pris n = 2 par exemple
    j’ai une question : le vecteur a est un vecteur colonne et la dérive de la fonction coût par rapport à a est un vecteur ligne comment je peux faire la soustraction ?

  10. ChretienTimmamo

    Bonjour,
    Merci Guillaume pour cette belle introduction au Machine Learning.

  11. abdessamad

    merci beaucoup pour vos efforts, j’espère avoir une série sur les réseaux de neurones.

  12. ibrahima barry

    merci beaucoup,
    serait il possible que tu nous fasses des videos sur tensorflow 2 s’il te plait

  13. Noura Bentaher

    Bonjour, j’ai bien tout compris , vous avez vraiment une façon d’explication bien organisée. Merci pour tout l’effort que vous consacrer pour ce travail. Bon courage!!

  14. ibrahima barry

    salut Guillaume , c’est quand la date de sortie de la serie sur le deep learning

Les commentaires sont fermés.