Questions d'entretien Machine Learning
1. Expliquez la différence entre apprentissage supervise, non supervise et par renforcement.
L'apprentissage supervise utilise des données étiquetées (input + output attendu) pour apprendre une fonction de prédiction. Exemples : régression linéaire, arbres de décision, SVM. L'apprentissage non supervise trouve des structures dans des données sans etiquettes. Exemples : K-Means (clustering), PCA (réduction de dimensionnalite). L'apprentissage par renforcement apprend par essais et erreurs via un système de recompenses. Exemples : jeux, robotique, systèmes de recommandation.
2. Qu'est-ce que le biais-variance tradeoff ?
Le biais mesure l'erreur due à des hypotheses simplificatrices du modèle (underfitting). La variance mesure la sensibilite du modèle aux fluctuations des données d'entraînement (overfitting). Un modèle simple (régression linéaire) à un biais eleve et une variance faible. Un modèle complexe (arbre profond) à un biais faible et une variance elevee. L'objectif est de trouver le juste équilibre qui minimise l'erreur totale.
3. Comment détecter et prévenir l'overfitting ?
Détection : l'accuracy sur le jeu d'entraînement est bien supérieure a celle sur le jeu de test. La courbe de learning montre un écart croissant. Prévention : cross-validation (k-fold), régularisation (L1/Lasso, L2/Ridge), early stopping, dropout (deep learning), augmentation des données, réduction de la complexité du modèle, augmentation de la taille du dataset, pruning (arbres de décision).
4. Expliquez l'algorithme Random Forest.
Random Forest est un ensemble d'arbres de décision entraînés sur des sous-ensembles aléatoires des données (bagging) et des features (feature subsampling). Chaque arbre vote et la prédiction finale est la classe majoritaire (classification) ou la moyenne (régression). Avantages : robuste à l'overfitting, gere les features mixtes, fournit l'importance des features. Inconvénients : plus lent qu'un arbre simple, difficile à interpréter.
5. Qu'est-ce que la cross-validation et comment l'utiliser ?
La cross-validation evalue la capacité de generalisation d'un modèle. En k-fold, le dataset est divise en k parties. Le modèle est entraine k fois, chaque fois sur k-1 parties et teste sur la partie restante. La performance finale est la moyenne des k evaluations. C'est plus fiable qu'un simple train/test split car chaque observation est utilisée pour le test exactement une fois. Variantes : Stratified K-Fold (preserve la distribution des classes), Leave-One-Out.
6. Quand utiliser la précision, le recall ou le F1-score ?
La précision (vrais positifs / prédictions positives) est importante quand les faux positifs sont coûteux (spam, diagnostics medicaux). Le recall (vrais positifs / réels positifs) est important quand les faux négatifs sont coûteux (détection de fraude, maladies graves). Le F1-score (moyenne harmonique) équilibre les deux. L'AUC-ROC evalue la capacité globale de discrimination. Choisissez la métrique selon le coût métier de chaque type d'erreur.
7. Expliquez le gradient boosting (XGBoost, LightGBM).
Le gradient boosting construit un ensemble d'arbres de décision sequentiellement, chaque nouvel arbre corrigeant les erreurs du précédent en optimisant une fonction de perte par descente de gradient. XGBoost ajoute la régularisation L1/L2 et le parallélisme. LightGBM utilise une croissance par feuille (leaf-wise) et un histogramme pour plus de vitesse. Ces algorithmes dominent les competitions de ML sur données tabulaires et sont très utilises en production.
8. Comment sélectionner les features les plus pertinentes ?
Méthodes de filtrage : corrélation, chi-carre, information mutuelle, test ANOVA. Méthodes wrapper : forward sélection, backward elimination, récursive feature elimination (RFE). Méthodes embedded : importance des features (Random Forest, XGBoost), régularisation L1 (met les coefficients a zéro). Bonnes pratiques : supprimez les features constantes, les doublons, les features hautement correlees entre elles.
9. Qu'est-ce que le déploiement d'un modèle ML en production ?
Le déploiement consiste à rendre un modèle accessible pour des prédictions en temps réel ou par lots. Étapes : sérialisation du modèle (pickle, joblib, ONNX), création d'une API (FastAPI, Flask), conteneurisation (Docker), déploiement sur un serveur ou un service cloud (AWS SageMaker, GCP Vertex AI). Considerations : monitoring de la derive du modèle, versionnement, A/B testing, rollback, performance et latence.
10. Expliquez la différence entre un modèle parametrique et non-parametrique.
Un modèle parametrique fait des hypotheses sur la forme de la distribution des données et à un nombre fixe de paramètres (régression linéaire, régression logistique, Naive Bayes). Avantages : rapide, peu de données nécessaires. Un modèle non-parametrique ne fait pas d'hypotheses et le nombre de paramètres croit avec les données (KNN, arbres de décision, SVM a noyau). Avantages : plus flexible, capture des relations complexes. Inconvénients : nécessite plus de données, risque d'overfitting.