changement sans doute mineur

This commit is contained in:
Pierre-Edouard Portier 2022-02-26 15:49:14 +01:00
parent 76ca63a3a7
commit 1172a45176

View File

@ -119,7 +119,7 @@ $$
& \hat{y} = \mathbf{k(x)}^T \left( \mathbf{K} + \lambda \mathbf{I_n} \right)^{-1} \mathbf{y}
\end{aligned}
$$
Ainsi, l'approche non paramétrique par juxtaposition des similarités d'une observation avec chaque observation du jeu d'entraînement correspond à une régression ridge après application de la transformation $\phi$ aux observations. Nous remarquons qu'il n'est pas nécessaire d'opérer explicitement cette transformation, seules sont nécessaires les valeurs des produits scalaires $\phi(\mathbf{x_i})^T\phi(\mathbf{x_j})$.
Ainsi, l'approche non paramétrique par juxtaposition des similarités d'une observation avec chaque observation du jeu d'entraînement correspond à une régression ridge après application de la transformation $\phi$ aux observations. Nous remarquons qu'il n'est pas nécessaire d'opérer explicitement cette transformation, seules sont nécessaires les valeurs des produits scalaires $\phi(\mathbf{x_i})^T\phi(\mathbf{x_j})$. En fait, l'application explicite de la transformation $\phi$ serait souvent impossible. Par exemple, dans le cas d'un noyau gaussien, $\phi$ projette vers un espace de dimension infinie...
# Calcul des paramètres de la régression ridge à noyau
@ -160,7 +160,7 @@ $$
$$
Ainsi, après avoir effectuée la décomposition en valeurs propres de $\mathbf{K}$ en $\mathcal{O}(n^3)$, le calcul de $\boldsymbol\alpha_\lambda$ pour une valeur $\lambda$ donnée se fait en $\mathcal{O}(n^2)$.
# Validation croisée un-contre-tous (LOOCV)
# LOOCV pour le choix de l'hyper-paramètre $\lambda$
Pour la régression ridge, nous avons découvert une forme de la validation croisée un-contre-tous (LOOCV) qui peut être calculée à partir d'un seul calcul des paramètres sur tout le jeu d'entraînement :
$$
@ -171,4 +171,61 @@ Avec $h_i$ le i-ème élément sur la diagonale de la matrice chapeau.
Le même raisonnement nous mène à découvrir une expression similaire pour la régression ridge à noyau :
$$
LOO_\lambda = \frac{1}{n} \sum_{i=1}^{n} \left( \frac{y_i - \left(\mathbf{K}\mathbf{G}^{-1} \mathbf{y}\right)_i}{1 - \left(\mathbf{K}\mathbf{G}^{-1}\right)_{ii}} \right)^2
$$
$$
Nous simplifions l'expression $\mathbf{K}\mathbf{G}^{-1}$ en utilisant la décomposition en éléments propres de $\mathbf{K}$.
$$
\begin{aligned}
& \mathbf{K}\mathbf{G}^{-1} \\
= \{& \text{Décomposition en éléments propres de $\mathbf{K}$} \} \\
& \mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^T \mathbf{Q} \left( \mathbf{\Lambda} + \lambda \mathbf{I_n} \right)^{-1} \mathbf{Q}^T \\
= \{& \text{$\mathbf{Q}$ est orthogonale, donc $\mathbf{Q}^T\mathbf{Q} = \mathbf{I}$} \} \\
& \mathbf{Q}\mathbf{\Lambda}\left( \mathbf{\Lambda} + \lambda \mathbf{I_n} \right)^{-1} \mathbf{Q}^T \\
= \{& \text{Astuce arithmétique pour faire apparaître une simplification.} \} \\
& \mathbf{Q}\left(\mathbf{\Lambda} + \lambda \mathbf{I_n} - \lambda \mathbf{I_n}\right)\left( \mathbf{\Lambda} + \lambda \mathbf{I_n} \right)^{-1} \mathbf{Q}^T \\
= \{& \text{$\left(\mathbf{\Lambda} + \lambda \mathbf{I_n} - \lambda \mathbf{I_n}\right)$ et $\left( \mathbf{\Lambda} + \lambda \mathbf{I_n} \right)^{-1}$ sont des matrices diagonales.} \\
\phantom{=}\phantom{\{}& \text{$+$ et $\times$ sont des opérateurs commutatifs et associatifs pour les matrices diagonales.} \\
\phantom{=}\phantom{\{}& \mathbf{G}^{-1} = \mathbf{Q} \left( \mathbf{\Lambda} + \lambda \mathbf{I_n} \right)^{-1} \mathbf{Q}^T\} \\
& \mathbf{I_n} - \lambda\mathbf{G}^{-1} \\
\end{aligned}
$$
Nous simplifions le numérateur de $LOO_\lambda$ :
$$
\begin{aligned}
& y_i - \left(\mathbf{K}\mathbf{G}^{-1} \mathbf{y}\right)_i \\
= \{& \mathbf{K}\mathbf{G}^{-1} = \mathbf{I_n} - \lambda\mathbf{G}^{-1} \} \\
& \left( \lambda\mathbf{G}^{-1}\mathbf{y} \right)_i
\end{aligned}
$$
Nous simplifions le dénominateur de $LOO_\lambda$ :
$$
\begin{aligned}
& 1 - \left(\mathbf{K}\mathbf{G}^{-1}\right)_{ii} \\
= \{& \mathbf{K}\mathbf{G}^{-1} = \mathbf{I_n} - \lambda\mathbf{G}^{-1} \} \\
& \left( \lambda\mathbf{G}^{-1} \right)_{ii}
\end{aligned}
$$
Nous obtenons une nouvelle expression simplifiée de $LOO_\lambda$ :
$$
LOO_\lambda = \frac{1}{n} \sum_{i=1}^{n} \left( \frac{\alpha_i}{\left(\mathbf{G}^{-1}\right)_{ii}} \right)^2
$$
Montrons comment calculer efficacement $\left(\mathbf{G}^{-1}\right)_{ii}$ en calculant l'expression d'un élément de la matrice $\mathbf{G}^{-1}$ :
$$
\begin{aligned}
& \left(\mathbf{G}^{-1}\right)_{ij} \\
= \{& \text{Définition de $\mathbf{G}^{-1}$ en fonction de la décomposition en éléments propres de $\mathbf{K}$.} \} \\
& \left(\mathbf{Q} \left( \mathbf{\Lambda} + \lambda \mathbf{I_n} \right)^{-1} \mathbf{Q}^T\right)_{ij} \\
= \{& \text{Définition du produit matricielle.} \} \\
& \sum_{k=1}^{n} \frac{Q_{ik}Q_{jk}}{\Lambda_{kk} + \lambda}
\end{aligned}
$$
Nous pouvons donc calculer $\left(\mathbf{G}^{-1}\right)_{ii}$ en $\mathcal{O}(n)$ et $LOO_\lambda$ en $\mathcal{O}(n^2)$.
# Choix de l'hyper-paramètre $\sigma^2$
Il est possible de montrer qu'une fois les données standardisées (i.e., moyenne nulle et écart-type unité), la moyenne de la distance euclidienne entre deux points est égale à deux fois la dimension de l'espace des observations : $E\left[\|\mathbf{x_j}-\mathbf{x_i}\|^2\right] = 2d$. Ainsi, $\sigma^2=d$ est un choix raisonnable pour permettre au noyau gaussien de bien capturer les similarités entre points (i.e., les points les plus proches auront une similarité proche de $1$, tandis que les points les plus éloignés auront une similarité proche de $0$).