Questions d'entretien Machine Learning
1. Expliquez la difference entre apprentissage supervise, non supervise et par renforcement.
L'apprentissage supervise utilise des donnees etiquetees (input + output attendu) pour apprendre une fonction de prediction. Exemples : regression lineaire, arbres de decision, SVM. L'apprentissage non supervise trouve des structures dans des donnees sans etiquettes. Exemples : K-Means (clustering), PCA (reduction de dimensionnalite). L'apprentissage par renforcement apprend par essais et erreurs via un systeme de recompenses. Exemples : jeux, robotique, systemes de recommandation.
2. Qu'est-ce que le biais-variance tradeoff ?
Le biais mesure l'erreur due a des hypotheses simplificatrices du modele (underfitting). La variance mesure la sensibilite du modele aux fluctuations des donnees d'entrainement (overfitting). Un modele simple (regression lineaire) a un biais eleve et une variance faible. Un modele complexe (arbre profond) a un biais faible et une variance elevee. L'objectif est de trouver le juste equilibre qui minimise l'erreur totale.
3. Comment detecter et prevenir l'overfitting ?
Detection : l'accuracy sur le jeu d'entrainement est bien superieure a celle sur le jeu de test. La courbe de learning montre un ecart croissant. Prevention : cross-validation (k-fold), regularisation (L1/Lasso, L2/Ridge), early stopping, dropout (deep learning), augmentation des donnees, reduction de la complexite du modele, augmentation de la taille du dataset, pruning (arbres de decision).
4. Expliquez l'algorithme Random Forest.
Random Forest est un ensemble d'arbres de decision entraines sur des sous-ensembles aleatoires des donnees (bagging) et des features (feature subsampling). Chaque arbre vote et la prediction finale est la classe majoritaire (classification) ou la moyenne (regression). Avantages : robuste a l'overfitting, gere les features mixtes, fournit l'importance des features. Inconvenients : plus lent qu'un arbre simple, difficile a interpreter.
5. Qu'est-ce que la cross-validation et comment l'utiliser ?
La cross-validation evalue la capacite de generalisation d'un modele. En k-fold, le dataset est divise en k parties. Le modele 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 utilisee pour le test exactement une fois. Variantes : Stratified K-Fold (preserve la distribution des classes), Leave-One-Out.
6. Quand utiliser la precision, le recall ou le F1-score ?
La precision (vrais positifs / predictions positives) est importante quand les faux positifs sont couteux (spam, diagnostics medicaux). Le recall (vrais positifs / reels positifs) est important quand les faux negatifs sont couteux (detection de fraude, maladies graves). Le F1-score (moyenne harmonique) equilibre les deux. L'AUC-ROC evalue la capacite globale de discrimination. Choisissez la metrique selon le cout metier de chaque type d'erreur.
7. Expliquez le gradient boosting (XGBoost, LightGBM).
Le gradient boosting construit un ensemble d'arbres de decision sequentiellement, chaque nouvel arbre corrigeant les erreurs du precedent en optimisant une fonction de perte par descente de gradient. XGBoost ajoute la regularisation L1/L2 et le parallelisme. LightGBM utilise une croissance par feuille (leaf-wise) et un histogramme pour plus de vitesse. Ces algorithmes dominent les competitions de ML sur donnees tabulaires et sont tres utilises en production.
8. Comment selectionner les features les plus pertinentes ?
Methodes de filtrage : correlation, chi-carre, information mutuelle, test ANOVA. Methodes wrapper : forward selection, backward elimination, recursive feature elimination (RFE). Methodes embedded : importance des features (Random Forest, XGBoost), regularisation L1 (met les coefficients a zero). Bonnes pratiques : supprimez les features constantes, les doublons, les features hautement correlees entre elles.
9. Qu'est-ce que le deploiement d'un modele ML en production ?
Le deploiement consiste a rendre un modele accessible pour des predictions en temps reel ou par lots. Etapes : serialisation du modele (pickle, joblib, ONNX), creation d'une API (FastAPI, Flask), conteneurisation (Docker), deploiement sur un serveur ou un service cloud (AWS SageMaker, GCP Vertex AI). Considerations : monitoring de la derive du modele, versionnement, A/B testing, rollback, performance et latence.
10. Expliquez la difference entre un modele parametrique et non-parametrique.
Un modele parametrique fait des hypotheses sur la forme de la distribution des donnees et a un nombre fixe de parametres (regression lineaire, regression logistique, Naive Bayes). Avantages : rapide, peu de donnees necessaires. Un modele non-parametrique ne fait pas d'hypotheses et le nombre de parametres croit avec les donnees (KNN, arbres de decision, SVM a noyau). Avantages : plus flexible, capture des relations complexes. Inconvenients : necessite plus de donnees, risque d'overfitting.