CS 229 - Machine Learning

Pense-bête de petites astuces de Machine Learning
Star

Par Afshine Amidi et Shervine Amidi

Indicateurs dans le contexte de la classification

Dans le contexte de la classification binaire, voici les principaux indicateurs à surveiller pour évaluer la performance d'un modèle.

Matrice de confusion Une matrice de confusion est utilisée pour avoir une image complète de la performance d'un modèle. Elle est définie de la manière suivante :

Classe prédite
+ -
Classe vraie + TP
True Positives
FN
False Negatives
Type II error
- FP
False Positives
Type I error
TN
True Negatives

Indicateurs principaux Les indicateurs suivants sont communément utilisés pour évaluer la performance des modèles de classification :

Indicateur Formule Interprétation
Accuracy $\displaystyle\frac{\textrm{TP}+\textrm{TN}}{\textrm{TP}+\textrm{TN}+\textrm{FP}+\textrm{FN}}$ Performance globale du modèle
Précision $\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FP}}$ À quel point les prédictions positives sont précises
Rappel
Sensibilité
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Couverture des observations vraiment positives
Spécificité $\displaystyle\frac{\textrm{TN}}{\textrm{TN}+\textrm{FP}}$ Couverture des observations vraiment négatives
F-mesure $\displaystyle\frac{2\textrm{TP}}{2\textrm{TP}+\textrm{FP}+\textrm{FN}}$ Indicateur hybride utilisé pour les classes non-balancées

Courbe ROC La fonction d'efficacité du récepteur, plus fréquemment appelée courbe ROC (de l'anglais Receiver Operating Curve), est une courbe représentant le taux de True Positives en fonction de taux de False Positives et obtenue en faisant varier le seuil. Ces indicateurs sont résumés dans le tableau suivant :

Indicateur Formule Equivalent
True Positive Rate
TPR
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Recall, sensitivity
False Positive Rate
FPR
$\displaystyle\frac{\textrm{FP}}{\textrm{TN}+\textrm{FP}}$ 1-specificity

AUC L'aire sous la courbe ROC, aussi notée AUC (de l'anglais Area Under the Curve) ou AUROC (de l'anglais Area Under the ROC), est l'aire sous la courbe ROC comme le montre la figure suivante :


ROC AUC

Indicateurs dans le contexte de la régression

Indicateurs de base Étant donné un modèle de régression $f$, les indicateurs suivants sont communément utilisés pour évaluer la performance d'un modèle :

Somme des carrés totale Somme des carrés expliquée Somme des carrés résiduelle
$\displaystyle\textrm{SS}_{\textrm{tot}}=\sum_{i=1}^m(y_i-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{reg}}=\sum_{i=1}^m(f(x_i)-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{res}}=\sum_{i=1}^m(y_i-f(x_i))^2$

Coefficient de détermination Le coefficient de détermination, souvent noté $R^2$ ou $r^2$, donne une mesure sur la qualité du modèle et est tel que :

\[\boxed{R^2=1-\frac{\textrm{SS}_\textrm{res}}{\textrm{SS}_\textrm{tot}}}\]

Indicateurs principaux Les indicateurs suivants sont communément utilisés pour évaluer la performance des modèles de régression, en prenant en compte le nombre de variables $n$ qu'ils prennent en considération :

Cp de Mallow AIC BIC $R^2$ ajusté
$\displaystyle\frac{\textrm{SS}_{\textrm{res}}+2(n+1)\widehat{\sigma}^2}{m}$ $\displaystyle2\Big[(n+2)-\log(L)\Big]$ $\displaystyle\log(m)(n+2)-2\log(L)$ $\displaystyle1-\frac{(1-R^2)(m-1)}{m-n-1}$

où $L$ est la vraisemblance et $\widehat{\sigma}^2$ est une estimation de la variance associée à chaque réponse.


Sélection de modèle

Vocabulaire Lors de la sélection d'un modèle, on divise les données en 3 différentes parties comme suit :

Training set Validation set Testing set
• Modèle est entrainé
• Normalement 80% du dataset
• Modèle est évalué
• Normalement 20% du dataset
• Aussi appelé hold-out ou development set
• Modèle donne des prédictions
• Données jamais vues

Une fois que le modèle a été choisi, il est entrainé sur le jeu de données entier et testé sur test set (qui n'a jamais été vu). Ces derniers sont représentés dans la figure ci-dessous :

Partition of the dataset

Validation croisée La validation croisée, aussi notée CV (de l'anglais Cross-Validation), est une méthode qui est utilisée pour sélectionner un modèle qui ne s'appuie pas trop sur le training set de départ. Les différents types de validation croisée rencontrés sont resumés dans le tableau ci-dessous :

$k$-fold Leave-$p$-out
• Entrainement sur $k-1$ folds et évaluation sur le fold restant
• Généralement $k=5$ ou 10
• Entrainement sur $n-p$ observations et évaluation sur les $p$ restantes
• Cas $p=1$ est appelé leave-one-out

La méthode la plus utilisée est appelée validation croisée $k$-fold et partage le jeu de données d'entrainement en $k$ folds, de manière à valider le modèle sur un fold tout en trainant le modèle sur les $k-1$ autres folds, tout ceci $k$ fois. L'erreur est alors moyennée sur $k$ folds et est appelée erreur de validation croisée.

Cross-validation

Régularisation La procédure de régularisation a pour but d'éviter que le modèle ne surapprenne (en anglais overfit) les données et ainsi vise à régler les problèmes de grande variance. Le tableau suivant récapitule les différentes techniques de régularisation communément utilisées.

LASSO Ridge Elastic Net
• Réduit les coefficients à 0
• Bon pour la sélection de variables
Rend les coefficients plus petits Compromis entre la sélection de variables et la réduction de coefficients
Lasso Ridge Elastic Net
$...+\lambda||\theta||_1$
$\lambda\in\mathbb{R}$
$...+\lambda||\theta||_2^2$
$\lambda\in\mathbb{R}$
$...+\lambda\Big[(1-\alpha)||\theta||_1+\alpha||\theta||_2^2\Big]$
$\lambda\in\mathbb{R},\alpha\in[0,1]$

Diagnostics

Biais Le biais d'un modèle est la différence entre l'espérance de la prédiction et du modèle correct pour lequel on essaie de prédire pour des observations données.


Variance La variance d'un modèle est la variabilité des prédictions d'un modèle pour des observations données.


Compromis biais/variance Plus le modèle est simple, plus le biais est grand et plus le modèle est complexe, plus la variance est grande.


Underfitting Just right Overfitting
Symptômes • Erreur d'entrainement élevé
• Erreur d'entrainement proche de l'erreur de test
• Biais élevé
• Erreur d'entrainement légèrement inférieure à l'erreur de test • Erreur d'entrainement très faible
• Erreur d'entrainement beaucoup plus faible que l'erreur de test
• Variance élevée
Illustration dans le cas de la régression Underfit in regression Right fit in regression Overfit in regression
Illustration dans le cas de la classification Underfit in classification Right fit in classification Overfit in classification
Illustration dans le cas de l'apprentissage profond Underfit in deep learning Right fit in deep learning Overfit in deep learning
Remèdes possibles • Complexifier le modèle
• Ajouter plus de variables
• Laisser l'entrainement pendant plus de temps
• Effectuer une régularisation
• Avoir plus de données

Analyse de l'erreur L'analyse de l'erreur consiste à analyser la cause première de la différence en performance entre le modèle actuel et le modèle parfait.


Analyse ablative L'analyse ablative consiste à analyser la cause première de la différence en performance entre le modèle actuel et le modèle de base.