Fonction coût


Pour des régressions

Mean Squared Error (MSE)

La fonction MSE pénalise les erreurs importantes en les mettant au carré: les petites erreurs (entre 0 et 1) deviennent encore plus petites tandis que les grandes erreurs deviennent encore plus grandes. Les grandes erreurs sont donc amplifiées tandis que les petites sont ignorées. Cette propriété rend MSE sensible aux valeurs extrêmes.
C’est généralement la fonction coût utilisée pour une régression linéaire.

\[MSE = \frac{1}{n} \sum_{i=1}^n (y_i - \bar{y}_i)^2\]

Mean Absolute Error (MAE)

La fonction MAE n’a pas de prédilection pour les grandes ou petites erreurs: une erreur de 100$ est deux fois pire qu’une erreur de 50$. Cela rend MAE plus robuste face aux valeurs extrêmes.

\[MAE = \frac{1}{n} \sum_{i=1}^n |y_i - \bar{y}_i|\]

Huber

Huber combine les propriétés de MSE et MAE:
le coût est quadratique pour les petites erreurs et linéaire pour les grandes erreurs.
On peut ajuster la valeur de δ pour désigner le seuil à partir duquel les erreurs doivent être pénalisées.

\[Huber = \frac{1}{n} \sum \begin{cases} \frac{(y_i - \bar{y_i})^2}{2} & \text{si } |y_i - \bar{y_i}| < \delta \\ \delta|y_i - \bar{y_i}| - \frac{\delta^2}{2} & \text{sinon} \end{cases}\]

Pour des classifications binaires

Cross-entropy / log-loss

Vise à réduire l’entropie de la distribution de probabilité prédite.
C’est généralement la fonction coût utilisée pour une régression logistique.

\[\begin{aligned} Log &= \sum_{i=0}^n \begin{cases} - log(\bar{y_i}) & \text{si } y = 1 \\ - log(1 - \bar{y_i}) & \text{si } y = 0 \end{cases} \\ &= \sum_{i=0}^n \left[ - y_i log(\bar{y_i}) - (1 - \bar{y_i}) log(1 - \bar{y_i}) \right] \end{aligned}\]

Hinge

Pénalise les misclassifications.
Elle est notamment utilisée par SVM.

\[Hinge = max(0, 1 - \bar{y} \times y)\]

Pour des classifications multi-classes

Multi-class Cross-entropy

Il s’agit d’une généralisation de la fonction cross-entropy pour K classes.

\[H(p,q) = - \sum_{c=1}^K y \times log(\bar{y})\]

Cross-entropy for classification

Kullback Leibler Divergence

Mesure la dissimilarisé entre deux distributions.
Plus p(y) se rapproche de q(y), plus la divergence est réduite.

\[KLDiv(q, p) = \sum_{i=1}^N q(y_i) \cdot \left[ log(q(y_i)) - log(p(y_i)) \right]\]

Common loss functions that you should know!