Optimisation
Du radar de vitesse à la descente de gradient, puis objectifs et contraintes jusqu'à la plus large marge (SVM)
Dans ce chapitre, vous apprendrez à
- Lire une dérivée comme une vitesse de variation, et un gradient comme une direction
- Minimiser une fonction pas à pas (descente de gradient) et régler son pas
- Formuler un problème comme un objectif sous contraintes
Outils : NumPy
13 exercices
Chaque exercice est corrigé automatiquement, dans le navigateur. Les énoncés complets sont accessibles avec un compte.
À 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…
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…
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…Quel chemin prendre ?
Un drone de livraison survole une ville. Chaque position 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…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…
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,f3et une…Polynôme piégé
Minimisez : sur . Affichez votre meilleur . Pour réussir : obtenez . La méthode qui vous a servi jusqu'ici (« Pilote automatique », « Curseur capricieux ») va-t-elle…
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 converge vers un score d'environ 8.0. Mais il…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…
Trouver le creux
On vous donne une liste
costsde fonctions de coût. Chaque élément est un couple(cost, grad): -cost(x)renvoie le coût (un nombre) au pointx = [x0, x1]; -grad(x)renvoie le gradient decostenx(un…Au plus près, sans dépasser
On vous donne un point
target = [c0, c1]et un budgetc. Trouvez le pointx = [x0, x1]le plus proche possible detarget(au sens de la distance), mais dont la somme des coordonnées ne doit pas…Plus large marge
Deux nuages de points sont à séparer :
X(coordonnées, 2 colonnes) ety(étiquettes+1ou-1). Beaucoup de droites les séparent sans erreur, mais on veut la meilleure : celle qui reste le plus loin…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…