diff --git a/cours.md b/cours.md index 0a277e4d362d7358f33db72d79dbaa344ed65fcf..989420267572cdaf3dd24db4d4fb97515ee6e2dd 100644 --- a/cours.md +++ b/cours.md @@ -26,6 +26,7 @@ urlcolor: blue \newcommand{\remarque}{\textbf{Remarque }} \newcommand{\proprietes}{\textbf{Propriétés }} \newcommand{\propriete}{\textbf{Propriété }} +\newcommand{\grad}{\mathrm{grad}} # Rappel @@ -1421,7 +1422,7 @@ L'idée de ce type de méthodes est, contrairement aux méthodes de la section p connaissances *locales* que nous pouvons avoir sur la fonction. Cette connsaissance loale a en général comme effet une *convergence* plus rapide de l'algorithme de recherche de zéros. -### Méthode de Newton (ou *Newton-Raphson") +### Méthode de Newton (ou *Newton-Raphson*) La méthode de Newton est également une méthode itérative, qui nécessite que la fonction $g(x)$ soit non seulement continue mais également dérivable. Revenons sur la méthode de la sécante. Il s'agissait de choisir deux points, $a < b$, et de déterminer la droite, $y(x)$, passant par $g(a)$ et $g(b)$, @@ -1457,7 +1458,7 @@ En revanche les contraintes pour sa convergence sont plus strictes que pour les --- -Remarques (non-convergence ou convergence lente) +.# +Remarque (non-convergence ou convergence lente) +.# Il y a un certain nombre de cas où la méthode de Newton ne converge pas. @@ -1498,6 +1499,9 @@ Exercice +.# ## En plusieurs dimensions Quand notre fonction de coût dépend de plusieurs arguments, on dit que c'est une fonction *multivariée*, $f(\vec x)$, avec $\vec x\in\real^n$. + +{#fig:selle width="50%"} + On peut également l'écrire de façon plus explicite (et aussi plus longue) comme \begin{equation} f(\vec x)=f(x_1, x_2, ..., x_n). @@ -1509,10 +1513,10 @@ f:\real^n\rightarrow \real. --- -Exemple +.# (Régression linéaire) +Exemple (Régression linéaire) +.# Dans le cas de la régression linéaire, si la droite ne passe pas par l'origine, nous avons que -la fonction de coût dépent de la pente de la droite, ainsi que de son ordonnée l'origine +la fonction de coût qui dépend de deux variables, $a$, et $b$ (et plus uniquement de $a$) \begin{equation} f(a,b)=\frac{1}{N}\sum_{i=1}^N \left(a\cdot x_i+b - y_i\right)^2. @@ -1520,7 +1524,259 @@ f(a,b)=\frac{1}{N}\sum_{i=1}^N \left(a\cdot x_i+b - y_i\right)^2. --- -### Les drivées en plusieurs dimensions +### Les dérivées en plusieurs dimensions + +La dérivé d'une fonction à une seule variable peut se représenter comme +\begin{equation} +f'(a)=\frac{\dd f}{\dd x}(a)=\lim_{\dd x\rightarrow 0}\frac{f(a+\dd x)-f(a)}{\dd x}. +\end{equation} +La notation ici n'est pas tout à fait usuelle. L'idée est de se rappeler que ce $\dd x$ est une toute petite variation +de $x$, et $\dd f$, une toute petite variation de $f$ en $a$. On voit immédiatement que cette quantité est la pente +de $f$ en $a$. Lorsque nous étudions une fonction à plusieurs variables, nous pouvons faire le même raisonnement pour chaque variable indépendemment. +Ainsi, nous calculons sa dérivée dans chacune des directions $x$, $y$, ... + +Cette vision de la dérivée comme une variation de $f$, $\dd f$, divisée par une petite variation de $x$, $\dd x$, permet +d'avoir une interprétation sur la variation locale de $f(x)$. En effet, la variation de $f(a)$ est donnée par +$$ +\dd f=f'(a)\dd x, +$$ +ou encore +$$ +f(a+\dd x)=f(a)+f'(a)\dd x. +$$ + +#### Les dérivées partielles + +Pour une fonction à deux variable, $f(x,y)$, dont le domaine de définition est +\begin{equation} +f:\real^2\rightarrow \real, +\end{equation} +on définit la **dérivée partielle** de $f$ par rapport à $x$ ou à $y$ +\begin{align} +\frac{\partial f}{\partial x}(x,y)&=\lim_{h\rightarrow 0}\frac{f(x+h,y)-f(x,y)}{h},\\ +\frac{\partial f}{\partial y}(x,y)&=\lim_{h\rightarrow 0}\frac{f(x,y+h)-f(x,y)}{h}. +\end{align} +Comme on le voit ici, pour chaque dérivée partielle, on ne fait varier qu'une seule variable, les autres sont considérées comme des constantes. + +--- + +Exemple (Dérivée partielle) +.# + +Les dérivée partielles de la fonction +$$ +f(x,y)=x^2\cdot y+3, +$$ +sont données par +\begin{align} +\frac{\partial f}{\partial x}(x,y)&=2xy,\\ +\frac{\partial f}{\partial y}(x,y)&=x^2. +\end{align} + +--- + +Pour une fonction $f$ dépendant d'un nombre $n$ de variables, la notation est la suivante. +Soit $f(\vec x)$ avec $\vec x=\{x_i\}_{i=1}^n$, ou $\vec x\in\real^n$, on définit la dérivée +par rapport à la $i$-ème composante de $\vec x$ comme +$$ +\frac{\partial f}{\partial x_i}(x_1,x_2,...,x_i,...,x_n)=\lim_{h\rightarrow 0}\frac{f(x_1,x_2,...,x_i+h,...,x_n)-f(x_1,x_2,...,x_i,...,x_n)}{h}. +$$ + +--- + +Remarque +.# + +Pour une fonction à une seule variable, $f(x)$, on a que +$$ +f'(x)=\frac{\dd f}{\dd x}(x)=\frac{\partial f}{\partial x}(x). +$$ + +--- + +De façon similaire à ce qui se passe pour les fonction à une seule variables, nous pouvons définir les dérivées secondes +pour les façon à une seule variable. Pour une fonction à deux variables, on a en fait quatre dérivées secondes +\begin{align} +&\frac{\partial}{\partial x}\frac{\partial f}{\partial x}(x,y)=\frac{\partial^2 f}{\partial x^2}(x,y),\\ +&\frac{\partial}{\partial x}\frac{\partial f}{\partial y}(x,y)=\frac{\partial^2 f}{\partial x\partial y}(x,y),\\ +&\frac{\partial}{\partial y}\frac{\partial f}{\partial x}(x,y)=\frac{\partial^2 f}{\partial y\partial x}(x,y),\\ +&\frac{\partial}{\partial y}\frac{\partial f}{\partial y}(x,y)=\frac{\partial^2 f}{\partial y^2}(x,y). +\end{align} + +--- + +Remarque +.# + +Si $f$ est dérivable en $x$ et $y$, on a que +$$ +\frac{\partial^2 f}{\partial x\partial y}(x,y)=\frac{\partial^2 f}{\partial y\partial x}(x,y). +$$ + +--- + +--- + +Exemple (Dérivées partielles deuxièmes) +.# + +Pour la fonction $f(x,y)=x^2-y^2$, on a +\begin{align} +\frac{\partial^2 f}{\partial x^2}(x,y)=\frac{\partial (2\cdot x)}{\partial x}(x,y)=2,\\ +\frac{\partial^2 f}{\partial x\partial y}(x,y)=\frac{\partial (-2\cdot y)}{\partial x}(x,y)=0,\\ +\frac{\partial^2 f}{\partial y\partial x}(x,y)=\frac{\partial (2\cdot x)}{\partial y}(x,y)=0,\\ +\frac{\partial^2 f}{\partial y^2}(x,y)=\frac{\partial (-2\cdot y)}{\partial y}(x,y)=-2. +\end{align} + +--- + +On peut également généraliser pour des fonction à $n$ variables où la deuxième dérivée partielle +par rapport aux variables $x_i$, $x_j$ s'écrit +$$ +\frac{\partial^2 f}{\partial x_i\partial x_j}(x,y). +$$ + + +#### Le gradient + +Pour une fonction à deux variables, $f(x,y)$, on a vu qu'on peut calculer ses dérivées partielles par rapport à $x$ et $y$ +$$ +\frac{\partial f}{\partial x}, \quad \frac{\partial f}{\partial y}. +$$ +Une construction mathématique possible est d'écrire un vecteur avec ces deux quantités +$$ +\grad f(x,y)=\vec \nabla f(x,y)=\left(\frac{\partial f}{\partial x}(x,y), \frac{\partial f}{\partial y}(x,y)\right)^\mathrm{T}. +$$ +Le symbole *nabla*, $\vec \nabla$, est une notation un peu étrange. Il représente un vecteur contenant toutes les +dérivées partielles +$$ +\vec \nabla = \left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}\right)^\mathrm{T}. +$$ +Cette notation est très utile pour se souvenir de ce qu'est un gradient, car on peut l'écrire un peu comme le "produit" entre +l'opérateur $\vec \nabla$ et $f$ +$$ +\vec \nabla f= \left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}\right)^\mathrm{T}f=\left(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right)^\mathrm{T}. +$$ +On peut généraliser cette notation pour $n$ variables à +$$ +\vec \nabla=\left(\frac{\partial}{\partial x_1}, \frac{\partial}{\partial x_2}, ..., \frac{\partial}{\partial x_n}\right)^\mathrm{T}. +$$ +et +$$ +\vec \nabla f=\left(\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, ..., \frac{\partial f}{\partial x_n}\right)^\mathrm{T}. +$$ + +--- + +Exemple (Gradient d'une fonction à deux variables) +.# + +Pour la fonction $f(x,y)=x^2-y^2$, le gradient est donné par +$$ +\vec \nabla f=\left(2x, -2y\right)^\mathrm{T}. +$$ + +Graphiquement, ceci est un *champds de vecteur* est peut se représenter comme + +{width="50%"} + +--- + +Revenons à nos fonctions à deux variables. Le gradient d'une fonction a une très grande utilité pratique. En effet, il nous donne la variation de $f$ +dans chacun des direction de l'espace. On peut donc (un peu comme on avait fait pour les fonctions à une dimensions) +se poser la question de la variation de $f$ dans une direction particulière, $\vec v$. Comme nous connaissons le taux de variation +de $f$ dans chacune des directions, nous pouvons définir la **dérivée directionnelle** de $f$ en un point $(a,b)$, comme +$$ +(\vec \nabla_{\vec v} f)(a,b)=(\vec \nabla f)(a,b)\cdot \vec v, +$$ +où $\vec v=(v_1,v_2)^\mathrm{T}$. +Cette grandeur représente la variation de $f(a,b)$ dans une direction particulière, $\vec v$. Comme pour les fonctions à une variable on peut écrire +que +$$ +f(a + v_1, b + v_2)=f(a,b)+\vec v\cdot (\vec \nabla f(a,b)). +$$ + +Cette dérivée directionnelle va nous permettre d'interpréter ce que représente le gradient d'une fonction. + +En fait, le gradient a une interprétation très intéressante. Ce n'est rien d'autre que la direction de la pente la plus élevée +sur chaque point de la fonction. C'est la direction, si vous faites de la randonnée en montagne, +qui vous permettra de monter le long de la pente la plus raide en chaque point. + +A l'inverse, imaginez que vous êtes un skieur et que votre montagne est décrite par la fonction $f(\vec x)$. Le vecteur $-\vec \nabla f$ +est la direction dans laquelle vous descendez si vous suivez tout droit la pente la plus raide. + +Pour s'en convaincre essayons de prendre le problème à l'envers. On cherche la dérivée directionnelle $\vec \nabla_{\vec v} f$, telle que celle ci-soit maximale, +pour tous les vecteur $\vec v$ de longueur $1$. En d'autres termes +$$ +\max_{||\vec v||=1} \vec v\cdot \vec \nabla f. +$$ +Il faut à présent se rappeler que le produit scalaire de deux vecteurs peut s'écrire +$$ +\vec a\cdot\vec b=||a||\cdot ||b||\cdot \cos\theta, +$$ +avec $\theta$ l'angle entre $\vec a$ et $\vec b$. De ceci, on déduit que +la valeur maximale de $\vec v\cdot \vec \nabla f$ est atteinte quand $\vec v$ est aligné avec +$\nabla f$, ce qui ne se produit que quand $\vec v$ a la valeur +$$ +\vec v^\ast=\frac{\nabla f}{||\nabla f||}. +$$ +La variation maximale est donc atteinte quand on suit le vecteur pointé par +$\nabla f$. Par ailleurs, la dérivée directionnelle dans la direction +de $\vec v^\ast$, on a +\begin{align} +\vec\nabla_{\vec v^\ast}\cdot (\vec \nabla f)=\frac{\nabla f \cdot f}{||\vec \nabla f||}=||\vec\nabla f||. +\end{align} +Le taux de variation maximal est donc la longueur du vecteur $\vec \nabla f$. + +--- + +Remarque (Généralisation) +.# + +Tout ce que nous venons d'écrire ici se généralise à un nombre arbitraire de dimensions. + +--- + +#### Le lien avec les problème d'optimisation + +Un cas qui nous intéresse particulièrement ici, est lorsque que le gradient d'une fonction est nul +$$ +\nabla f(x,y)=\vec 0. +$$ +Cela veut dire que si nous trouvons un tel point $(x,y)$ la variation de la fonction localement (sa "pente") sera nulle. +Exactement comme pour le cas à une seule variable cela ne suffit pas pour déterminer si nous avons à faire à +un minimum, un maximum, ou un point d'inflexion. Un exemple typique est la fonction +$$ +f(x,y)=x^2-y^2. +$$ +Bien que $\nabla f(0,0)=\vec 0$, nous voyons sur la @fig:selle que bien que nous ayons un minimum +dans la direction $x$, nous avons un maximum dans la direction $y$. On se retrouve dans un cas où nous avons un point +d'inflexion. + +Pour pouvoir en dire plus il nous faut étudier les deuxièmes dérivées de $f(x,y)$ comme pour +le cas unidimensionnel. + +### La descente de gradient + +Revenons à présent à l'optimisation d'une fonction de coût $f(\vec x)$. Pour simplifier considérons +la fonction +$$ +f(x,y)=x^2+y^2. +$$ +Nous pouvons facilement nous convaincre que cette fonction possède un minimum en $(0,0)$ en la dessinant. +On peut aussi aisément vérifier que $\nabla f(0,0)=\vec 0$. En effet, +$$ +\nabla f(x,y)=(2x, 2y), +$$ +et donc +$$ +\nabla f(0,0)=(0, 0). +$$ +Même si cela ne suffit pas à prouver mathématique que $\vec 0$ est le minimum de cette fonction nous nous en satisferons. + +--- + +Question +.# + +Avec ce qui précède, voyez-vous une façon de trouver le minimum de la fonction $f(x,y)$? + +--- + +Une méthode pour trouver le minimum de $f(x,y)$ est la méthode de la *descente de gradient*. @@ -2098,6 +2354,8 @@ $$z'(x)+(1-n)a(x)\cdot z(x)+(1-n)b(x)=0.$$ On a donc ramené l’équation de Bernouilli à une équation linéaire que nous savons résoudre à l’aide de la méthode de la section @sec:eq_lin. +--- + Exemple +.# Résoudre l’équation de Bernouilli suivante $$y'-y-x\cdot y^6=0.$$ @@ -2115,6 +2373,8 @@ la forme $z_p=x+B$ (avec $B$ une constante) on obtient $$\begin{aligned} $$z=z_h+z_p=Ae^{5x}+x+\frac{1}{5}.$$ Il nous reste à présent à calculer $y=z^{1/5}$ et on a $$y=\left(Ae^{5x}+x+\frac{1}{5}\right)^{1/5}.$$ +--- + ### Équation de Riccati L’équation de Riccati qui est de la forme