Skip to content
Snippets Groups Projects
Commit 69844730 authored by ExtraDev's avatar ExtraDev
Browse files

miam miam la documentation

parent 27f41aff
No related branches found
No related tags found
No related merge requests found
---
title : "Travail pratique - Optimisation"
title : "Rapport - Travail pratique - Optimisation"
author : "Nicolas Rivier & Birner Scott"
date : "2021 - 2022"
tof: true
......@@ -26,7 +26,7 @@ E(a,b) = $\sum_{j=1}^N (a * x_{j} + b - y_{j})^2$
En résolvant le système de deux équations à deux inconnues. Ce sont avec ces équations que nous allons pouvoir réaliser notre solutions numérique.
Nous alons d'abord chercher la dérivée en a et en b de la fonction de cout.
Nous allons d'abord chercher la dérivée en **a** et en **b** de la fonction de cout.
Tels que :
......@@ -84,7 +84,7 @@ $a = \frac{-BD + CN}{AN - {B}^2}$
$a = \frac{CN - BD}{AN - {B}^2}$
On a alors obtenu **a**, il nous reste plus qu'a l'inserer dans la formul de **b**, pour obtenir **b** sans variable.
On a alors obtenu **a**, il nous reste plus qu'a l'insérer dans la formule de **b**, pour obtenir **b** sans variable.
On obtient:
......@@ -93,52 +93,52 @@ $b = -a\frac{B}{N} + \frac{D}{N} = -(\frac{CN - BD}{AN - {B}^2})\frac{B}{N} + \
$b = -(\frac{CNB - {B^2}D}{{AN^2} - {B^2}N}) + \frac{D}{N}$
## Vérifiaction
On peux tester nos deux formule dans un exel par exemple pour s'assurer de la justesse des transformation.
On peux tester nos deux formules dans un excel par exemple pour s'assurer de la justesse des transformation.
On vas donc génerer un nuage de point suivant une droite, puis calculer nos deux formule en rentrant comme parametre les differents somme de points.
On vas donc génerer un nuage de points suivant une droite, puis calculer nos deux formules en rentrant comme paramètre les differentes sommes de points.
ce qui vas nous donner un premier resultat (Solution analitique a et b) que lon peux comparer avec l'equation de la coubre de tendance lineaire calculer par exel.
ce qui vas nous donner un premier resultat (Solution analitique a et b) que l'on peut comparer avec l'équation de la courbe de tendance lineaire calculée par excel.
![Vérification via un tableur](./doc/screenshots/verification.png)
On compart donc que les deux resultat sont identique sur la base d'afichage des nombre a virgule obtenu.
De cette façon, nous avons pu confirmer la qualité de nos calculs, mais aussi de s'avoir à quoi s'attendre en therme de résultat par la suite.
On compart donc que les deux resultats sont identiques sur la base d'affichage des nombres a virgules obtenu.
De cette façon, nous avons pû confirmer la qualité de nos calculs, mais aussi de s'avoir à quoi s'attendre en therme de résultat par la suite.
À partir de ce moment là, on en a déduit que les équations obtenues en **A et B** sont correcte.
À partir de ce moment là, on en a déduit que les équations obtenues en **A** et **B** sont correcte.
# Solution numérique
## Génération des points pseudo aléatoire
Nous parlons de points pseudo aléatoire car, ils sont en réalité généré autour d'une fonction de droite tel que f() = ax+b avec une marge d'erreur en 0 et 1 sur l'axe y.
Nous parlons de points pseudo aléatoire car, ils sont en réalité générés autour d'une fonction de droite tel que f() = ax+b avec une marge d'erreur entre 0 et 1 sur l'axe y.
![Nuage de points pseudo aléatoire](./doc/screenshots/nuage_aleatoire.png){width=400px}
En effet, de cette façon on s'assure que la droite que nous souhaitons retrouver resemble à celle qui a permis de générer les points...
En effet, de cette façon on s'assure que la droite que nous souhaitons retrouver ressemble à celle qui a permis de générer les points aléatoire...
## Descente de gradient
Pour trouver la meilleure droite passant par le nuage de points, nous devont appliqué la descente de gradient. En effet, c'est cette formule qui nous permettra de retrouver l'ordonée à l'origine ainsi que la pente de la meilleur droite passant par un nuage de points.
Pour trouver la meilleure droite passant par le nuage de points, nous devont appliquer la descente de gradient. En effet, c'est cette formule qui nous permettra de retrouver l'ordonnée à l'origine ainsi que la pente de la meilleur droite.
Sur notre nuage de points nous avons appliqué la formule suivante:
**Formule descente de gradient**
Et nous nous sommes arrêté quand le $\epsilon$ était inférieur à 0.001 ce qui représente environ 385 itération sur 30 points
Et nous nous sommes arrêté quand le $\epsilon$ était inférieur à 0.001 ce qui représente environ 385 itération sur 30 points.
## Validation du modèle de régression
La validation croisée consiste à valider la descente de dradient de notre droite sur plusieurs échantillons de données.
Il a donc fallu en premier temps séparé de manière aléatoire notre nuage de points en 3 groupes distinct. Par la suite, le calcule de la descente du gradient et appliqué sur chacun des groupe. Le but de cette opération est de retrouvé dans chacun des groupes des droits similaires à celle trouvée au départ avec le nuage complet. Cela a pour but de valider nos données!
Il a donc fallu en premier temps séparer de manière aléatoire notre nuage de points en trois groupes distincts. Par la suite, le calcule de la descente du gradient est appliqué sur chacun des groupe. Le but de cette opération est de retrouvé dans chacun des groupes des droites similaires à celle trouvée au départ avec le nuage complet. Cela a pour but de valider nos résultats!
![Validation croisée, descente de gradient](./doc/screenshots/validation_croisee.png){width=400px}
## Erreur quadratique
L'erreur quadratique va nous donner un indice pour savoir à quel point nous somme précis dans le calcul de la descente de gradient. Plus la valeur de l'erreur quadratique est petite, mieux c'est.
L'erreur quadratique va nous donner un indice de précision dans le calcul de la descente de gradient. Plus la valeur de l'erreur quadratique est petite, mieux c'est.
En voici la formule :
**Formule erreur quadratique**
# Résultats
Comme nous avons pu le voir dans les figures précédentes, nous avons optenu des résultats concluent. J'entends pas là que aussi bien la droite obtenue sur la descente de gradient avec le nuage complet **et** les droits obtenues sur la validation croisée se ressemble et semblent juste au niveau de nos nuage de points.
Comme nous avons pu le voir dans les figures précédentes, nous avons obtenu des résultats concluents. J'entends pas là que aussi bien la droite obtenue sur la descente de gradient avec le nuage complet **et** les droits obtenues sur la validation croisée se ressemble et semblent juste au niveau de nos nuage de points.
Voici un tableau des données obtenue sur une génération aléatoire ainsi que leur différence.
Voici un tableau des données obtenues sur une génération aléatoire:
| Nuage de 30 points | Descente de gradient | Différence | Erreur quadratique |
| :-- | :-- | :-- | :-- |
......@@ -149,9 +149,10 @@ Voici un tableau des données obtenue sur une génération aléatoire ainsi que
On peut constater une différence de précision au niveau de l'erreur quadratique. En effet, l'erreur quadratique obtenue pendant la validation croisée par chacun des groupes sont bien plus petites que cette optenue sur le nuage complet. On peut en déduire qu'il est préférable de réaliser la descente de gradient sur des lots données pas trop volumineux et de vérifier l'écart de chacun des résultats afin de s'assurer que le résultat obtenu soit le plus juste possible.
# Amélioration possible
# Conclusion
Pour conclure, nous sommes parvenu à retrouvé la meilleure droite passant par un nuage de point aléatoire. Ce qui était l'objectif final ce travail. Ce qui veut dire que les étapes intermédiaire pour arriver à ce point sont fonctionnels, à savoir: **la minisation de la fonction de coup** et la **descente de gradient**. Nous avons également pu faire une partie analyse des résultats via l'**erreur quadratique** et on peut donc en déduire que les résultats trouvé sont plutôt satisfaisant.
En revanche, nous avons un soucis dans notre solution numérique. En effet, nous avons réussir à faire ce tp sur un nombre de point aléatoire inférieur à 40... Au dela, nous avons des résultats biaisé pour la descente de gradient. Par exemple: -nan; inf. Malheureusement nous ne sommes pas parvenu à savoir d'où provenait l'erreur et cela n'ou a empêché de faire cette étude sur un plus grand nombre de points.
# Remerciements
Nous tenions à remercier M. Malaspinas pour nous avoir donné un TP aussi agréable et constructif à réaliser et cela avec des technologies de pointe tel que le C. Un remerciement spécial aussi pour M. (l'assistant) qui est parvenu à répondre à nos questions de manière très pédagogique et ce en dévulgarissant le plus possible la problématique.
\ No newline at end of file
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment