Pret a executer sur Google Colab

Cours de Machine Learning

Formation complete couvrant les algorithmes fondamentaux jusqu'aux techniques avancees.

8
Chapitres
25+
Equations
50+
Exemples de code
Partie 1 · 20 min

Fondamentaux Qu'est-ce que le Machine Learning ?

Le Machine Learning (ML) est une branche de l'intelligence artificielle qui permet aux machines d'apprendre a partir de donnees sans etre explicitement programmees pour chaque tache. Au lieu de coder des regles a la main, on montre des exemples au modele et il decouvre lui-meme les patterns.

[i]
Idee fondamentale
On cherche a approximer une fonction inconnue $f$ telle que $\hat{y} = f(x_1, x_2, \ldots, x_n)$. Le modele ML apprend cette fonction a partir d'exemples $(x, y)$ connus.

Types d'apprentissage

S

Supervise

Donnees labellisees $(x, y)$ : regression et classification.

Predictions
N

Non supervise

Pas de labels : clustering, reduction de dimension.

Patterns
R

Par renforcement

Agent apprend via actions-recompenses.

Strategies

Pipeline ML typique

1
Donnees
Collecte & nettoyage
2
Features
Engineering
3
Split
Train / Test
4
Modele
Entrainement
5
Evaluation
Metriques
6
Production
Deploiement
Partie 2 · 25 min

Algorithmes de base Regression Lineaire

La regression lineaire modelise la relation entre les features et la cible par une fonction affine. C'est l'algorithme le plus simple mais souvent tres efficace comme baseline.

$$\hat{y} = w_0 + w_1 x_1 + w_2 x_2 + \cdots + w_n x_n = \mathbf{w}^T \mathbf{x}$$ Modele lineaire avec coefficients $\mathbf{w}$

L'objectif est de minimiser l'erreur quadratique moyenne (MSE) :

$$\text{MSE} = \frac{1}{m} \sum_{i=1}^{m} (y_i - \hat{y}_i)^2$$ Fonction de cout : moyenne des erreurs quadratiques
[i]
Solution analytique
La regression lineaire admet une solution fermee : $\mathbf{w}^* = (X^T X)^{-1} X^T Y$. Pas besoin d'iterations !

[+] Avantages

  • Tres rapide a entrainer
  • Interpretable (coefficients)
  • Pas d'hyperparametres
  • Excellent baseline

[-] Limitations

  • Relation lineaire uniquement
  • Sensible aux outliers
  • Performance decroit en haute dimension
Partie 3 · 20 min

Classification Regression Logistique

Malgre son nom, la regression logistique est un algorithme de classification. Elle predit la probabilite d'appartenance a une classe en utilisant la fonction sigmoide.

$$P(y=1|\mathbf{x}) = \sigma(\mathbf{w}^T \mathbf{x}) = \frac{1}{1 + e^{-\mathbf{w}^T \mathbf{x}}}$$ Fonction sigmoide pour la classification binaire
[v]
Cas d'usage : Dataset Titanic
Predire la survie des passagers du Titanic a partir de leur age, sexe, classe de billet, etc. Un classique du ML pour debuter !
Partie 4 · 30 min

Ensemble Learning Random Forest

Random Forest est un ensemble d'arbres de decision qui votent pour predire. C'est l'un des algorithmes les plus populaires en ML applique : performant, robuste, peu sensible au tuning.

Algorithm : Bagging + Random Splits

1
Bootstrap
Echantillons aleatoires
2
Splits
Features aleatoires
3
Arbres
N arbres independants
4
Vote
Moyenne ou mode
n_estimators
100 - 500
Nombre d'arbres
max_depth
10 - 30
Profondeur max
min_samples_split
2 - 10
Min pour splitter
[*]
Feature Importance
Random Forest fournit automatiquement l'importance de chaque feature, ce qui aide a comprendre quelles variables influencent le plus les predictions.
Partie 5 · 35 min

Deep Learning Reseaux de Neurones

Les reseaux de neurones sont inspires du cerveau humain : des couches de neurones interconnectes executent des transformations non-lineaires. Ils excellent pour les patterns complexes.

Fonctionnement : Forward + Backprop

F

Forward Pass

Donnees traversent les couches : $\mathbf{h}_1 = \sigma(W_1 \mathbf{x} + b_1)$

L

Loss Computation

Compare prediction vs realite : $L = \frac{1}{m} \sum (y - \hat{y})^2$

B

Backpropagation

Calcule les gradients via la chaine de derivation

G

Gradient Descent

Met a jour les poids : $W \leftarrow W - \alpha \nabla_W L$

Fonctions d'activation

ReLU
$f(x) = \max(0, x)$
Couches cachees
Sigmoid
$f(x) = \frac{1}{1 + e^{-x}}$
Classification binaire
Softmax
$f(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}$
Classification multi-classe
Partie 6 · 30 min

Series Temporelles LSTM & Reseaux Recurrents

LSTM (Long Short-Term Memory) est un type de reseau neuronal pour series temporelles. Il peut "retenir" l'information sur de longues periodes — crucial pour les predictions temporelles.

[!]
Probleme des RNN vanilla
Les gradients disparaissent (vanishing) ou explosent (exploding) sur de longues sequences. Le LSTM resout ce probleme avec son cell state.

Les trois portes du LSTM

Forget Gate
$f_t = \sigma(W_f [h_{t-1}, x_t] + b_f)$
Quoi oublier ?
Input Gate
$i_t = \sigma(W_i [h_{t-1}, x_t] + b_i)$
Quoi ajouter ?
Output Gate
$o_t = \sigma(W_o [h_{t-1}, x_t] + b_o)$
Quoi exposer ?
[i]
Cas d'usage
Prediction de prix boursiers, meteo, consommation energetique, traitement du langage naturel (NLP)...
Partie 7 · 25 min

Evaluation Metriques de Performance

Evaluer correctement un modele est crucial. Les bonnes metriques dependent du type de probleme (regression vs classification) et des objectifs metier.

Regression

MAE
$\frac{1}{n}\sum|y_i - \hat{y}_i|$
Robuste aux outliers
RMSE
$\sqrt{\frac{1}{n}\sum(y_i - \hat{y}_i)^2}$
Penalise les grandes erreurs
R2
$1 - \frac{SS_{res}}{SS_{tot}}$
% variance expliquee

Classification

Metrique Formule Usage
Accuracy $(TP + TN) / Total$ Classes equilibrees
Precision $TP / (TP + FP)$ Minimiser faux positifs
Recall $TP / (TP + FN)$ Minimiser faux negatifs
F1-Score $2 \cdot \frac{P \cdot R}{P + R}$ Classes desequilibrees
Partie 8 · 20 min

Amelioration Optimisation & Regularisation

Pour eviter le surapprentissage (overfitting) et ameliorer la generalisation, plusieurs techniques existent.

D

Dropout

Desactive aleatoirement des neurones pendant l'entrainement.

E

Early Stopping

Arrete l'entrainement quand la validation stagne.

L

L2 Regularization

Penalise les grands poids : $L_{total} = L_{data} + \lambda \sum w^2$

C

Cross-Validation

K-fold pour une evaluation plus robuste.

[*]
Regle d'or
Toujours comparer les metriques sur train ET test. Un grand ecart = overfitting. Objectif : R2 train ≈ R2 test.