Apprentissage automatique · Statistiques · Optimisation
Le machine learning permet aux systèmes d'apprendre automatiquement depuis l'expérience, d'améliorer leurs performances et de faire des prédictions sans être explicitement programmés pour chaque tâche.
Tâche T : classification, régression, clustering. Expérience E : données d'entraînement. Performance P : accuracy, RMSE, AUC...
Biais : erreur systématique due aux hypothèses du modèle (underfitting). Variance : sensibilité aux fluctuations des données (overfitting). Compromis fondamental dans tout apprentissage statistique.
Vecteurs, matrices, tenseurs. Produit scalaire, norme ‖w‖. SVD (décomposition valeurs singulières). Valeurs propres (ACP). Espace d'hypothèses = espace vectoriel de fonctions.
P(θ|X) ∝ P(X|θ)·P(θ). Maximum de vraisemblance (MLE) : maximiser P(X|θ). Maximum a posteriori (MAP) : intégrer le prior. Fondement des classifieurs bayésiens naïfs et des modèles génératifs.
∇L(θ) : direction de la plus forte augmentation de la perte. Descente de gradient : θ ← θ - α∇L. Règle de la chaîne : base de la rétropropagation. Jacobien, Hessien, saddle points.
Vapnik-Chervonenkis : capacité d'un espace d'hypothèses. PAC (Probably Approximately Correct) learning : garanties de généralisation. Complexité de Rademacher. No Free Lunch theorem.
Apprendre une fonction f: X → Y depuis des paires étiquetées (xᵢ, yᵢ). Classification (y discret) ou régression (y continu).
| Algorithme | Type | Avantages | Limites |
|---|---|---|---|
| Régression linéaire / logistique | Régression / Classification | Interprétable, rapide | Relations non-linéaires |
| k-NN (k plus proches voisins) | Classification / Régression | Simple, pas de training | Lent en inférence, sensible aux dimensions |
| SVM (Support Vector Machine) | Classification | Efficace en haute dim., kernel trick | Lent sur grands datasets |
| Arbre de décision | Classification / Régression | Interprétable, robuste aux outliers | Overfitting sans élagage |
| Random Forest | Ensemble (bagging) | Robuste, feature importance | Moins interprétable |
| Gradient Boosting (XGBoost, LightGBM) | Ensemble (boosting) | State-of-the-art données tabulaires | Hyperparamètres nombreux |
| Réseau de neurones (MLP) | Universal approximator | Scalable, expressif | Données abondantes requises |
| Gaussian Process | Régression bayésienne | Incertitude quantifiée | O(n³) en temps |
Le kernel trick projette implicitement les données dans un espace de features de dimension infinie. Kernels communs : RBF (Gaussien), polynomial, sigmoïde.
from sklearn.datasets import make_classification from sklearn.model_selection import cross_val_score from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier from sklearn.svm import SVC import xgboost as xgb X, y = make_classification(n_samples=5000, n_features=20, n_informative=10) models = { 'Random Forest': RandomForestClassifier(n_estimators=200), 'XGBoost': xgb.XGBClassifier(n_estimators=200, eval_metric='logloss'), 'GBM': GradientBoostingClassifier(n_estimators=200), 'SVM (RBF)': SVC(kernel='rbf', C=10, probability=True), } for name, clf in models.items(): auc = cross_val_score(clf, X, y, cv=5, scoring='roc_auc').mean() print(f"{name:25s} AUC = {auc:.4f}")
K-Means : minimise l'inertie intra-cluster. Algorithme EM. Sensible aux outliers. DBSCAN : découvre des clusters de forme arbitraire, gère les outliers. HDBSCAN : version hiérarchique robuste.
ACP (PCA) : projection linéaire sur axes de variance maximale. Eigenvectors de la covariance. t-SNE : préserve la structure locale (2D/3D visualisation). UMAP : plus rapide, préserve la structure globale.
Gaussian Mixture Model : mélange de gaussiennes, algo EM. VAE (Variational Autoencoder) : encode dans un espace latent continu + décode. Génération de nouveaux échantillons, interpolation latente.
Encodeur : X → z (bottleneck). Décodeur : z → X'. Apprend une représentation compressée non-supervisée. Applications : débruitage, détection d'anomalies, compression, features pour d'autres tâches.
S : états, A : actions, P : transitions, R : récompenses, γ : facteur d'actualisation. L'équation de Bellman est la base de tous les algorithmes RL.
Q(s,a) ← Q(s,a) + α[r + γ max Q(s',a') - Q(s,a)]. Deep Q-Network (DeepMind) : Q-table remplacée par un CNN. Experience replay + target network. A joué à Atari (2013).
Optimise directement la politique π(a|s). PPO (Proximal Policy Optimization) : clip de ratio pour stabilité. A3C : acteur-critique asynchrone. REINFORCE, SAC. Base d'AlphaGo et des LLMs (RLHF).
Fine-tuning des LLMs via feedback humain. Étapes : SFT (supervised fine-tuning) → Reward Model → PPO. Base de ChatGPT, Claude, Gemini. Alternative : DPO (Direct Preference Optimization).
Convolution : détecte des features locales (bords, textures, formes). Pooling : réduction spatiale. Architecture : Conv → BN → ReLU → Pool → FC. ResNet (He 2016) : skip connections pour les réseaux très profonds (152 couches).
Séquences temporelles. LSTM (Long Short-Term Memory) : cellule de mémoire, portes d'oubli/entrée/sortie. GRU : version simplifiée. Gradient vanishing → solution : transformers. Encore utilisés : séries temporelles, audio.
Attention(Q,K,V) = softmax(QKᵀ/√d)V. Capture les dépendances longue portée. Multi-head : plusieurs têtes d'attention parallèles. Architecture encoder-decoder ou decoder-only (GPT). Positional encoding.
min_G max_D V(D,G) = E[log D(x)] + E[log(1-D(G(z)))]. Générateur vs Discriminateur. Mode collapse. Améliorations : WGAN, StyleGAN, CycleGAN. Remplacés par les modèles de diffusion pour la génération d'images.
Processus de débruitage en T étapes. q(xₜ|xₜ₋₁) = N(√(1-βₜ)xₜ₋₁, βₜI). Génération : débruite depuis un bruit gaussien pur. DDPM, DDIM, Stable Diffusion. Score matching. État de l'art génération image/vidéo/audio.
Réutiliser des features pré-entraînées sur de grands datasets. PEFT : Parameter-Efficient Fine-Tuning. LoRA : fine-tune de faibles matrices de rang pour économiser la mémoire. QLoRA : quantification 4-bit. Adapter layers.
| Métrique | Formule | Usage | Quand l'utiliser |
|---|---|---|---|
| Accuracy | (TP+TN)/(TP+TN+FP+FN) | Classification | Classes équilibrées |
| Précision | TP/(TP+FP) | Classification | Coût élevé des faux positifs |
| Rappel (Sensibilité) | TP/(TP+FN) | Classification | Coût élevé des faux négatifs (médecine) |
| F1-Score | 2·(P·R)/(P+R) | Classification | Classes déséquilibrées |
| AUC-ROC | Aire sous la courbe ROC | Classification binaire | Performance globale, seuil indépendant |
| RMSE | √(Σ(yᵢ-ŷᵢ)²/n) | Régression | Erreurs grandes pénalisées |
| MAE | Σ|yᵢ-ŷᵢ|/n | Régression | Robuste aux outliers |
| R² (coefficient) | 1 - SS_res/SS_tot | Régression | Proportion de variance expliquée |
Découpe les données en k plis, entraîne sur k-1, teste sur 1, répète k fois. Réduit la variance de l'estimation de performance. k=5 ou k=10 en pratique. Leave-One-Out CV : k=n.
SGD : descente de gradient stochastique (mini-batch). Momentum : accumule le gradient passé. Adam (Kingma 2015) : moments adaptatifs du 1er et 2ème ordre. AdamW : Adam + weight decay découplé. Lion : plus efficace en mémoire.
L1 (Lasso) : sparsité, sélection de features. L2 (Ridge) : pénalise les grands poids. Dropout : désactive aléatoirement des neurones à l'entraînement. BatchNorm : normalise les activations, accélère la convergence.
Grid search : exhaustif. Random search : plus efficace en haute dimension. Optimisation bayésienne (Optuna, Hyperopt) : modélise la fonction objectif et guide la recherche. AutoML : NAS, BOHB.
Cosine annealing, step decay, polynomial decay. Warmup : augmentation graduelle du LR au début (stabilise les Transformers). OneCycleLR (fastai). Cyclical LR pour échapper aux minima locaux.
Collecte, annotation, stockage
Nettoyage, features, normalisation
Modèle, GPU, tracking
Métriques, validation
API, serving, monitoring