• Projets00
  • AI Academy13
  • Veille07 entrées ces 7 derniers jours
  • Outils00
Profil
Déposer un projet
ProjetsAI AcademyVeilleOutilsProfilDéposer
Le cours
9/59
Démonstration6 min

Démonstration numérique complète

Le calcul refait à la main sur deux appartements, puis les mêmes lignes écrites en Python.

Les pages 4 et 5 ont donné les résultats, 190, 62,5 et 56,25, en sautant des lignes.

Celle-ci n'en saute aucune : c'est le seul endroit du parcours où tout se vérifie de tête, du premier produit à la dernière moyenne, et à la fin on regarde à quoi ressemblent ces mêmes lignes écrites en Python.

Le calcul entièrement à la main

Deux appartements, décrits par leur surface et leur nombre de pièces, ont été vendus à un prix connu, et on calcule tout, du premier produit à la dernière moyenne, avec des prix comptés en milliers d'euros.

Le jeu de données D\mathcal{D}D

ExempleSurface x1x_1x1​ (m²)Pièces x2x_2x2​Prix observé yyy (milliers d'euros)

n=1n = 1n=1

505050

222

200200200

n=2n = 2n=2

303030

111

115115115

Les deux ventes du fil conducteur. Un jeu de cette taille ne sert à rien pour apprendre ; il sert exactement à ce qu'on va en faire, vérifier un calcul jusqu'au dernier chiffre.
x(1)=(502),  y(1)=200x(2)=(301),  y(2)=115\mathbf{x}^{(1)}=\begin{pmatrix}50\\2\end{pmatrix},\ \ y^{(1)}=200 \qquad\qquad \mathbf{x}^{(2)}=\begin{pmatrix}30\\1\end{pmatrix},\ \ y^{(2)}=115x(1)=(502​),  y(1)=200x(2)=(301​),  y(2)=115
Chaque entrée est un vecteur colonne de R2\mathbb{R}^{2}R2, la vérité terrain un simple réel. Chaque entrée porte ses deux nombres dans l'ordre convenu page 4 : la surface, puis les pièces.

Un premier jeu de paramètres, posé à la main

Il faut un θ\boldsymbol{\theta}θ à noter, et c'est celui que la page 4 a posé au jugé, et que la page 5 a nommé θA\boldsymbol{\theta}_AθA​ : trois nombres écrits sans être calculés et sans être justifiés, car aucun apprentissage n'a eu lieu. C'est délibéré, et c'est même nécessaire : pour voir ce que la perte mesure, il faut d'abord quelque chose à mesurer, et n'importe quoi fait l'affaire.

θA=(w, b)avecw=(w1,w2)=(3, 10),b=20\boldsymbol{\theta}_A=(\mathbf{w},\,b) \qquad\text{avec}\qquad \mathbf{w}=(w_1, w_2) = (3,\ 10),\qquad b=20θA​=(w,b)avecw=(w1​,w2​)=(3, 10),b=20
Trois nombres, et trois seulement : c'est tout ce qu'on peut régler.

Premier appartement. On applique la formule 4.1, terme à terme, sans rien regrouper d'avance.

y^(1)  =  w1x1(1)+w2x2(1)+b  =  3×50+10×2+20  =  150+20+20  =  190\widehat{y}^{(1)} \;=\; w_1x^{(1)}_1+w_2x^{(1)}_2+b \;=\; 3\times 50+10\times 2+20 \;=\; 150+20+20 \;=\; 190y​(1)=w1​x1(1)​+w2​x2(1)​+b=3×50+10×2+20=150+20+20=190
ℓ(y^(1), y(1))=(190−200)2=(−10)2=100\ell\big(\widehat{y}^{(1)},\,y^{(1)}\big)=(190-200)^{2}=(-10)^{2}=100ℓ(y​(1),y(1))=(190−200)2=(−10)2=100
L'estimation manque le prix observé de 10 milliers d'euros, et le carré transforme cet écart en 100100100.

Second appartement. Mêmes paramètres, mêmes gestes.

y^(2)  =  3×30+10×1+20  =  90+10+20  =  120\widehat{y}^{(2)} \;=\; 3\times 30+10\times 1+20 \;=\; 90+10+20 \;=\; 120y​(2)=3×30+10×1+20=90+10+20=120
ℓ(y^(2), y(2))=(120−115)2=52=25\ell\big(\widehat{y}^{(2)},\,y^{(2)}\big)=(120-115)^{2}=5^{2}=25ℓ(y​(2),y(2))=(120−115)2=52=25
Ici l'estimation passe au-dessus du prix observé, de 5 milliers d'euros. Le carré ne s'en soucie pas : il rend 252525, sans signe.

Il reste à moyenner les deux pertes, et avec N=2N = 2N=2 la moyenne est une demi-somme.

LD(θA)=1N∑n=1Nℓ(n)=12(100+25)=1252=62,5\mathcal{L}_{\mathcal{D}}(\boldsymbol{\theta}_A)=\frac{1}{N}\sum_{n=1}^{N}\ell^{(n)}=\tfrac{1}{2}\big(100+25\big)=\frac{125}{2}=62{,}5LD​(θA​)=N1​n=1∑N​ℓ(n)=21​(100+25)=2125​=62,5

On change un seul paramètre

Gardons w=(w1,w2)=(3, 10)\mathbf{w}=(w_1, w_2) = (3,\ 10)w=(w1​,w2​)=(3, 10) intact et déplaçons le biais de 202020 à 22,522{,}522,5, si bien qu'un seul des trois nombres bouge. Les deux appartements, eux, ne bougent pas : D\mathcal{D}D est fixe, et c'est bien pour cela que la perte est une fonction de θ\boldsymbol{\theta}θ seul. Appelons ce nouveau point θB\boldsymbol{\theta}_BθB​.

y^(1)=3×50+10×2+22,5=192,5ℓ=(192,5−200)2=(−7,5)2=56,25\widehat{y}^{(1)}=3\times 50+10\times 2+22{,}5=192{,}5 \qquad \ell=(192{,}5-200)^{2}=(-7{,}5)^{2}=56{,}25y​(1)=3×50+10×2+22,5=192,5ℓ=(192,5−200)2=(−7,5)2=56,25
y^(2)=3×30+10×1+22,5=122,5ℓ=(122,5−115)2=(7,5)2=56,25\widehat{y}^{(2)}=3\times 30+10\times 1+22{,}5=122{,}5 \qquad \ell=(122{,}5-115)^{2}=(7{,}5)^{2}=56{,}25y​(2)=3×30+10×1+22,5=122,5ℓ=(122,5−115)2=(7,5)2=56,25
Les deux écarts sont devenus égaux en valeur absolue, 7,57{,}57,5 chacun, l'un par défaut et l'autre par excès. Le carré efface la différence de signe et rend deux fois la même perte.
LD(θB)=12(56,25+56,25)=56,25\mathcal{L}_{\mathcal{D}}(\boldsymbol{\theta}_B)=\tfrac{1}{2}\big(56{,}25+56{,}25\big)=56{,}25LD​(θB​)=21​(56,25+56,25)=56,25

Les deux notes, côte à côte

y^(1)\widehat{y}^{(1)}y​(1)ℓ(1)\ell^{(1)}ℓ(1)y^(2)\widehat{y}^{(2)}y​(2)ℓ(2)\ell^{(2)}ℓ(2)LD\mathcal{L}_{\mathcal{D}}LD​

θA\boldsymbol{\theta}_AθA​, b=20b=20b=20

190190190

100100100

120120120

252525

62,562{,}562,5

θB\boldsymbol{\theta}_BθB​, b=22,5b=22{,}5b=22,5

192,5192{,}5192,5

56,2556{,}2556,25

122,5122{,}5122,5

56,2556{,}2556,25

56,2556{,}2556,25

Un seul nombre a changé, de 202020 à 22,522{,}522,5, et les cinq colonnes ont bougé avec lui. L'écart de note est de 6,256{,}256,25.

La conclusion mérite d'être écrite en toutes lettres. θB\boldsymbol{\theta}_BθB​ est un meilleur point pour cette note-là et ces deux exemples-là, puisque 56,25<62,556{,}25 < 62{,}556,25<62,5. Pas un meilleur modèle du marché immobilier, pas une meilleure théorie du prix.

Et le déplacement de 202020 à 22,522{,}522,5, personne ne l'a calculé : il a été essayé. Trouver la bonne direction sans essayer est le sujet du chapitre 3.

Deux règles graduées de zéro à deux cents, l'une sous l'autre. Sur la première, pour la vente de cinquante mètres carrés et deux pièces, une barre faite de trois segments accolés porte trois fois cinquante, dix fois deux, et b égale vingt ; elle s'arrête à cent quatre-vingt-dix, et un trait de brique en pointillé marque le prix observé, deux cents : entre les deux, un segment de brique coté écart dix. Sur la seconde, pour la vente de trente mètres carrés et une pièce, les trois segments portent trois fois trente, dix fois un, et b égale vingt ; la barre atteint cent vingt et dépasse le prix observé, cent quinze, et l'écart vaut cinq. Sous un filet, deux carrés de brique côte à côte portent leurs aires, cent et vingt-cinq, le second quatre fois plus petit que le premier ; à droite, la ligne parenthèse cent plus vingt-cinq fermante divisé par deux égale soixante-deux virgule cinq.
Chaque écart devient une aire, et la note est leur moyenne.

De l'algorithme au code

Le calcul qu'on vient de faire deux fois est une procédure : la même suite de gestes, appliquée à des nombres différents. Elle tient en quatre gestes : lire un exemple, calculer l'estimation, la comparer au prix payé, et moyenner sur les exemples.

Deux colonnes séparées par un filet vertical, « le formalisme » à gauche et « le code » à droite, sur quatre rangées. Première rangée : z égale la somme des w indice i fois x indice i, plus b, en face des trois lignes z égale b, for i in range parenthèse d, et z plus égale w crochet i crochet fois x crochet i crochet. Deuxième : y chapeau égale z, en face de y_hat égale z. Troisième : la perte ell égale parenthèse y chapeau moins y fermante au carré, en face de loss égale parenthèse y_hat moins y fermante étoile étoile deux. Quatrième : la perte moyenne grand L égale un sur N fois la somme des ell, en face des quatre lignes total égale zéro virgule zéro, for x, y in D, total plus égale perte parenthèse x virgule y, et total divisé par N.
Chaque symbole a un nom dans le programme, et un seul.
Leçon suivante
PrécédenteRégression ou classificationSuivanteUn modèle est une fonction à boutons