summaryrefslogtreecommitdiff
path: root/ML/04_entrainement/Training models.md
blob: 59ab7dca495a338cf56c2427024442a3c01b58da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Linear Regression
- 1 poids par input
- Représentation vectorielle : $ŷ = h_{{\theta}}(x) = \theta \cdot x$
	- $h_{\theta}$ = fonction d'apprentissage
	- $\theta$ = vecteur à apprendre
Usage de la RMSE à optimiser
## Equation Normale
$\hat{\theta} = (X^TX)^{-1}X^TX$
Pseudo inverse

## Decomposition en valeur singulière (SVD)
$X \rightarrow U\Sigma V^T$ et $X^+ = V\Sigma^+ U^T$

## Complexités
Eq normale : $O(n^2.4) \approx O(n^3)$
SVD : $O(n^2)$

# Descente de Gradient
-> Recherche de minimum
Part d'un vecteur initialisé aléatoirement
Calcul de la dérivée de $f(\theta)$ (MSE par exemple)
$\theta' = \theta - \alpha f'(\theta)$
$\alpha$ = learning rate
Si $\alpha$ est trop petit : convergence trop lente
Si $\alpha$ est trop grand : risque de "saut de vallée" et divergence

De toute façon risque de tomber dans un minimum local

Normalisation capitale pour la descente de gradient
Bien mieux que SVD et Normale

GridSearch pour trouver un bon learning rate
limiter le nombre d'époques pour éviter la convergence trop lente
Set le nombre d'époques grand mais interrompre si $\nabla$ très petit
$O\left( \frac{1}{\epsilon} \right)$