MLNodeSpringPaiements

Comment une machine apprend.

Pas de magie, pas de maths compliquées. Des exemples, une erreur que l'on mesure, et une machine qui se corrige un peu à chaque fois.

Deux façons d'apprendre.

Presque tout le machine learning du quotidien entre dans l'une de ces deux familles.

Apprentissage supervisé

On donne à la machine des exemples accompagnés de la bonne réponse. Elle apprend à retrouver cette réponse seule, sur des exemples qu'elle n'a jamais vus.

Comme un élève qui s'entraîne avec des exercices corrigés.

  • Reconnaître un chat d'un chien sur une photo
  • Ranger une dépense bancaire dans la bonne catégorie
  • Prévoir la durée d'un trajet
Projets 1 et 2 de la formation

Apprentissage non supervisé

On donne des exemples sans aucune réponse. La machine cherche seule ce qui se ressemble et fait apparaître des groupes que personne ne lui a décrits.

Comme trier une pile de photos de vacances sans consigne : on finit par faire des tas « plage », « montagne », « repas ».

  • Regrouper des recettes qui se ressemblent
  • Repérer des profils de clients
  • Détecter un achat qui ne vous ressemble pas
Projet 3 de la formation

Les cinq briques.

Une fois comprises, vous savez lire n'importe quel projet d'IA, du tri de photos au grand modèle de langage.

  1. Dataset

    Les exemples dont le modèle apprend

    { (x⁽ⁱ⁾, y⁽ⁱ⁾) }, i = 1 … m

    Un tableau d'exemples : des entrées x (surface, quartier, nombre de pièces) et la réponse attendue y (le prix). On le découpe pour pouvoir mesurer le modèle honnêtement.

    • Nettoyage et valeurs manquantes
    • Normalisation des variables
    • Découpage entraînement / validation / test
  2. Modèle

    Une fonction avec des paramètres

    ŷ = f(x) = w · x + b

    Le modèle calcule une prédiction ŷ à partir de x. Une régression linéaire a deux paramètres, un réseau de neurones en a des millions : le principe ne change pas.

    • Régression linéaire et logistique
    • Arbres de décision, forêts aléatoires
    • Réseaux de neurones
  3. Fonction coût

    Un seul nombre pour mesurer l'erreur

    J(w, b) = ¹⁄₂ₘ Σ (ŷ⁽ⁱ⁾ − y⁽ⁱ⁾)²

    Elle résume l'écart entre les prédictions et les vraies réponses. Apprendre, c'est trouver les paramètres qui rendent ce nombre le plus petit possible.

    • Erreur quadratique moyenne pour la régression
    • Entropie croisée pour la classification
    • Régularisation L1 / L2 contre le surapprentissage
  4. Algorithme d'optimisation

    La descente de gradient

    w ← w − α · ∂J/∂w

    On calcule la pente de la fonction coût, puis on déplace les paramètres dans le sens qui la fait baisser. On répète jusqu'à ce que l'erreur ne diminue plus.

    • Taux d'apprentissage α
    • Gradient stochastique et mini-batch
    • Adam, RMSProp, momentum
  5. Évaluation

    Tester sur des données jamais vues

    F1 = 2 · P · R / (P + R)

    Un modèle qui récite son jeu d'entraînement ne sert à rien. On le juge sur le jeu de test, avec la métrique qui correspond au problème réel.

    • Surapprentissage et sous-apprentissage
    • Validation croisée
    • Précision, rappel, F1, matrice de confusion

Essayez la descente de gradient.

Le point représente un paramètre w. À chaque pas, il suit la pente de la fonction coût J(w) vers le minimum. Changez le taux d'apprentissage pour voir son effet.

-20246801020wJ(w)
Itération
0
w
-1.500
Coût J(w)
20.750

Avec un α petit, la descente est sûre mais lente.

La même boucle en Python.

import numpy as np

w, b, alpha = 0.0, 0.0, 0.01

for epoch in range(1000):
    y_hat = w * X + b                    # modèle
    error = y_hat - y
    J = (error ** 2).mean() / 2          # fonction coût
    dw = (error * X).mean()              # gradients
    db = error.mean()
    w -= alpha * dw                      # descente de gradient
    b -= alpha * db

Prêt à créer votre première IA ?

Gratuit, sans prérequis, rien à installer.