Optimisation

Du radar de vitesse à la descente de gradient, puis objectifs et contraintes jusqu'à la plus large marge (SVM)

Dans ce chapitre, vous apprendrez à

Outils : NumPy

13 exercices

Chaque exercice est corrigé automatiquement, dans le navigateur. Les énoncés complets sont accessibles avec un compte.

  1. À quoi ça sert dans la vraie vie

    Dès qu'on cherche « le meilleur » (le moins cher, le plus rapide, le moins d'erreurs), on fait de l'optimisation, et entraîner une IA n'est rien d'autre. - Entraîner une IA. Un grand modèle de langage possède…

  2. Radar de vitesse

    Vous construisez un radar de vitesse. Une caméra enregistre la position d'une voiture (en mètres) à chaque seconde. La police veut connaître la vitesse à chaque instant : « de combien la voiture avance par seconde…

  3. Bruit du capteur

    Le capteur GPS de votre radar n'est pas parfait. Les mesures de position contiennent de petites erreurs. On vous donne noisy_positions, un tableau numpy de 100 mesures de position prises toutes les 0.1 secondes…

  4. Quel chemin prendre ?

    Un drone de livraison survole une ville. Chaque position (x,y)(x, y) a un coût de livraison donné par une fonction cost(x, y) que vous pouvez appeler (mais dont vous ne connaissez pas la formule). Pour décider où aller…

  5. Pilote automatique

    Vous allez maintenant construire un pilote automatique pour le drone. Partant d'une position initiale, le drone doit rejoindre tout seul le point de coût minimum. Il ne voit pas la carte entière : à chaque instant…

  6. Curseur capricieux

    L'algorithme de descente de gradient est simple : on calcule la pente, on fait un pas dans l'autre sens. Mais de quelle taille doit être le pas ? On vous donne trois fonctions de coût f1, f2, f3 et une…

  7. Polynôme piégé

    Minimisez : h(x)=x4−4x2+x+3h(x) = x^4 - 4x^2 + x + 3 sur [−3,3][-3, 3]. Affichez votre meilleur xx. Pour réussir : obtenez h(x)<−2h(x) < -2. La méthode qui vous a servi jusqu'ici (« Pilote automatique », « Curseur capricieux ») va-t-elle…

  8. Labyrinthe

    La fonction labyrinthe(v) prend un vecteur numpy de 10 dimensions et retourne un "niveau de danger". Une descente de gradient depuis l'origine v=(0,...,0)v = (0, ..., 0) converge vers un score d'environ 8.0. Mais il…

  9. Qu'est-ce qu'optimiser ?

    Depuis le début, vous optimisez sans toujours le nommer : trouver la droite qui minimise l'erreur, les paramètres qui minimisent la loss… Mettons le mot dessus. Un problème d'optimisation, c'est : - des…

  10. Trouver le creux

    On vous donne une liste costs de fonctions de coût. Chaque élément est un couple (cost, grad) : - cost(x) renvoie le coût (un nombre) au point x = [x0, x1] ; - grad(x) renvoie le gradient de cost en x (un…

  11. Au plus près, sans dépasser

    On vous donne un point target = [c0, c1] et un budget c. Trouvez le point x = [x0, x1] le plus proche possible de target (au sens de la distance), mais dont la somme des coordonnées ne doit pas…

  12. Plus large marge

    Deux nuages de points sont à séparer : X (coordonnées, 2 colonnes) et y (étiquettes +1 ou -1). Beaucoup de droites les séparent sans erreur, mais on veut la meilleure : celle qui reste le plus loin…

  13. Expliquez l'amende

    Vous avez utilisé la méthode de la pénalité deux fois : pour rester sous un budget (« le plus proche, sans dépasser »), puis pour la plus large marge (la hinge loss du SVM). Maintenant, expliquez pourquoi ça…