sÉlection de modÈles et rÉseaux de … · rÉseaux de neurones julie carreau ird hydrosciences...
TRANSCRIPT
SÉLECTION DE MODÈLES ET RÉSEAUX DE NEURONES
Julie Carreau IRDHydroSciences Montpellier
www.pages-perso-julie-carreau.univ-montp2.fr
samedi 8 mars 2014
Le niveau de complexité ne peut être déterminé sur les données qui sont utilisées pour optimiser les paramètres.
Hyperparamètre Nombre de clusters K
Niveau de complexité (nombre de paramètres) du modèle
• K = 1 : un seul cluster • K = n : autant de clusters que d’exemples et coût nul
K-MEANS
Fonction de coût : la somme des erreurs carrées
E(Y, µ) =n�
i=1
K�
k=1
Yik||Xi − µk||2
Paramètres centres des clusters µk
samedi 8 mars 2014
π ≡ {π1, . . . ,πK} µ ≡ {µ1, . . . , µK}Σ ≡ {Σ1, . . . ,ΣK}
l(π,µ,Σ|X) = −�
n
ln
�K�
k=1
πkf(x;µk,Σk)
�
Nombre de composantes K
Forme de la matrice de variance-covariance Σk = λkDkAkDTk
constante de proportionnalité
matrice de vecteurs propres
matrice diagonale telle que
est une valeur propre
λk
Dk
Akλkak
volume
orientation de la composante
forme de la composante
Les hyper-paramètres contrôlent le nombre de paramètres du modèle
MÉLANGE DE GAUSSIENNES
Fonction de coût : la log-vraisemblance négative
Paramètres
Hyperparamètres
✴ Lorsque le niveau de complexité augmente, la log-vraisemblance tend vers l’infini !samedi 8 mars 2014
Connaissances a priori
On sait qu’il y a K groupes mais on ne connaît pas l’attribution
e.g Old faithful, Seeds
On essaie plusieurs valeurs de K et on cherche à donner une interprétation aux groupes obtenus
e.g. Types de temps : pluie forte, brouillard, sec, pluie moyenne
NOMBRE DE CLUSTERS
samedi 8 mars 2014
Objectif final de la modélisation
Le clustering sert à classer les observations en groupes homogènes et sur chaque groupe on cherchera à conduire une analyse indépendante.
e.g. On veut analyser la croissance des variétés de blés dans différentes conditions.
K-Means sert d’initialisation pour l’estimation de densité par un mélange de Gaussiennes : critère basé sur la log-vraisemblance tel que AIC ou BIC
Critère d’information d’Akaike (AIC)
Critère d’information bayesian (BIC)
vecteur de paramètres du modèle de longueur
NOMBRE DE CLUSTERS
2 lnP (Y |θ)− p ln(n)
2 lnP (Y |θ)− 2p
θ p
samedi 8 mars 2014
Nombre faible de composantes : BIAIS
COMPROMIS BIAIS-VARIANCE
Mauvaise représentation de la structure des données
Grand nombre de composantes : VARIANCE
Apprentissage par coeur : estimateur dépend du jeu de données
Compromis entre le BIAIS et la VARIANCE
E[(y − yD(x))2] = biais2 + variance + bruit
samedi 8 mars 2014
ENTRAÎNEMENT ET VALIDATION
ENSEMBLE D’ENTRAÎNEMENT : optimisation des paramètres par la minimisation d’une fonction de coût pour différentes valeurs des hyper-paramètres
2/3 ou 80% du jeu de données
ENSEMBLE DE VALIDATION : détermination des hyper-paramètres par la minimisation d’une fonction de coût
ENSEMBLE D’ENTRAÎNEMENT : optimisation des paramètres par la minimisation d’une fonction d’erreur
OBJECTIF : compromis entre le biais et la varianceestimation de l’erreur quadratique espérée
samedi 8 mars 2014
COMPROMIS BIAIS-VARIANCE
niveau de complexité
fonction de coût
erreur d’entraînement
erreur de validation
complexité optimale
sous-apprentissagebiais
sur-apprentissagevariance
Lien avec les critères AIC et BIC : log-vraisemblance + pénalité = biais + variance
bruit
samedi 8 mars 2014
SÉLECTION DE MODÈLES
Choix du niveau de complexité (hyper-paramètre)e.g. nombre de clusters ou de composantes
Choix du type de modèles e.g. forme de la matrice de variance-covariance dans le mélange de Gaussiennesou mélanges avec différents types de composantes
Deux familles de modèles :- mélange de Gaussiennes- mélange de Log-Normales
Pour chaque type de mélanges, il faut :1. choisir le # de composantes2. évaluer la performance
entraînement des deux familles pour plusieurs # de composantes
choix du # de composantes pour
chaque famille
comparaison des performances de
chaque famille
ENTRAÎNEMENT VALIDATION TEST
✴ Comparer les deux types de mélanges ayant chacun un # de composantes «optimal»
samedi 8 mars 2014
VALIDATION CROISÉE✴ Lorsque le jeu de données n’est pas assez grand, on crée plusieurs paires
d’ensembles d’ENTRAÎNEMENT et de VALIDATION de sorte que toutes les données se retrouvent une fois dans un ensemble de validation.
✴ L’erreur de validation est estimée par l’erreur moyenne sur chaque ensemble de validation.
Evalidation =1
n
k�
j=1
Ej
k-fold cross-validation
run 1
E1
run 2
E2
run 3
E3
samedi 8 mars 2014
VALIDATION CROISÉE DOUBLE
✴ Comparaison de plusieurs familles de modèles pour lesquelles il faut choisir des hyper-paramètres : on crée plusieurs triplets d’ensembles
ENTRAÎNEMENT VALIDATION TEST
k-fold cross-validation
l-fold cross-validation
ENTRAÎNEMENT VALIDATION
TEST
E1test
Sélection des hyperparamètres :
Evalidation =1
nl
l�
j=1
Ej Etest =1
n
k�
j=1
Ejtest
Comparaison des familles :
samedi 8 mars 2014
• Pour un seul hyper-paramètre, on crée une liste de valeurs de complexité croissante.e.g. Pour le nombre de composantes d’un mélange, on essaie une liste valeurs de croissance logarithmique 1, 2, 4, 8, 16 puis on raffine la recherche.
• Pour deux hyper-paramètres, on crée une grille de valeurs ou de modèles de complexité croissante.e.g. Dans mclust, le choix du nombre de composantes et de la forme de la matrice de variance-covariance se fait sur un tableau
VALIDATION CROISÉE EN PRATIQUE
# de composantes / matrice VCV
1 2 4 8 16
EIIVIIEEIVEIEVIVVIEEEEEVVEVVVV
Limites de la validation croisée • évaluation de nombreuses combinaisons
de valeurs d’hyperparamètres• peut être lourd en temps de calcul• alternative : approche bayesienne
samedi 8 mars 2014
MODÈLES PARAMÉTRIQUES ET NON-PARAMÉTRIQUES
Modèles non-paramétriques : K-Means, mélange de Gaussiennes, réseau de neurones
Modèles paramétriques : régression linéaire ou logistique, la distribution Gaussienne, Log-Normale, Gamma
Modèles non-paramétriques :• nombre variable de paramètres (choisi en fonction des données) qui augmente
avec la taille de l’ensemble d’entraînement et la complexité de la tâche• hypothèses légères sur la continuité• tests sur la capacité prédictive (obtenir une bonne performance sur de nouvelles
données)
Types de tâches : classification (supervisée ou non), régression et l’estimation de densité
Modèles paramétriques : • nombre fixe de paramètres• hypothèses fortes sur le modèle• tests sur l’adéquation du modèle
samedi 8 mars 2014
RÉSEAUX DE NEURONES
Modèles de régression-classification-densité non-paramétrique non-linéaire
Développés dans les années 60 et mise en oeuvre efficace dans les années 80
Inspiration des neurones biologiques mais il n’y a plus de plausibilité biologique
Lorsque bien utilisés, ce sont des modèles flexibles et puissants qui ont la propriété d’approximateur universel
Focus sur une architecture spécifique et la plus répandue : feedforward neural network ou multilayer perceptron (MLP)
➡ Beaucoup d’applications en climat et dans les sciences de la terre
samedi 8 mars 2014
RÉGRESSION LINÉAIRE
x1
x2
x3
Entrées1
w0w1
w2
w3
a
a = w�x+ w0
f(a)
Fonction d’activation
• identité : régression• sigmoïde : 2 classes• softmax : multi-classes (avec plusieurs neurones de sorties)
f(·)
samedi 8 mars 2014
RÉGRESSION LINÉAIRE AVEC FONCTIONS DE BASES
x1
x2
x3
Entrées 1
a f(a)φ1(x)
φ2(x)
a = w�φ(x) + w0
Fonctions de bases
• fonctions non-linéaires fixes des entrées • polynômes, splines, gaussiennes, sigmoïde• extraire des caractéristiques des entrées• a est une fonction non-linéaire des entrées mais linéaire des poids w
samedi 8 mars 2014
FONCTIONS DE BASES POLYNOMIALES
φj(x) = xj
Fonctions globales une variation en x affecte toutes les fonctions de bases
samedi 8 mars 2014
FONCTIONS DE BASES GAUSSIENNES
φj(x) = exp
�− (x− µj)2
2s2
�
Fonctions locales une variation en x affecte seulement les fonctions de bases les plus près et contrôlent la position et la largeur de la fonction de base. µj s
samedi 8 mars 2014
FONCTIONS DE BASES SIGMOIDALES
φj(x) = σ
�x− µj
s
�
σ (x) =1
1 + exp(−x)
Fonctions localesune variation en x affecte seulement les fonctions de bases les plus près et contrôlent la position et la pente de la fonction de base. µj s
samedi 8 mars 2014
DU LINÉAIRE AU NON-LINÉAIRE
y(x,w) = f(a) = f(�
j
wjφj(x) + w0)
Réseau de neurones : fonctions de bases adaptatives, apprises à partir des données.
w = (ΦTΦ)−1ΦTyE(w) =
1
2
n�
i=1
{yi − wtφ(xi)}2Φij = φi(xj)
• limitations : ces fonctions de bases sont fixées indépendamment des données
y(x,w)
• fonctions de bases sont fixes (ne dépendent pas de w)
• correspond à l’extraction de caractéristiques et exige des connaissances a priori (pre-processing)
• est une fonction non-linéaire de x mais linéaire de w dans le cas où f() est l’identité
• pour la régression, il y a une solution analytique pour les w qui minimisent l’erreur carrée :
samedi 8 mars 2014
RÉSEAU DE NEURONES
Entrées Couche cachéenon-linéarités
Sorties
x1
x2
f(a)a1
a2
z1
z2
x0z0
a�1
a�2
a�3x3
x0 = 1z0 = 1
feed-forward propagation
zj = tanh(aj) a�k =h�
j=0
w(2)j,kzjaj =
d�
i=0
w(1)i,j xi
samedi 8 mars 2014
Fonctions de bases adaptatives
RÉSEAU DE NEURONES
Réseau de neurones avec h unités cachées
y(x,w) = f
h�
j=1
w(2)1,jφj(x), . . . ,
h�
j=1
w(2)K,jφj(x)
φj(x) = tanh(aj) = tanh�w(1)
i,j xi
�
!! " !!#
!"$%
!"$&
!"$'
!"$(
"
"$(
"$'
"$&
"$%
#
Student Version of MATLAB
Où la non-linéarité est produite par la tangente hyperbolique :
tanh(a) =ea − e−a
ea + e−a
Paramètres
Hyperparamètre Nombre de d’unités cachées h
w = (w(1),w(2))
samedi 8 mars 2014
!! " !!#
!"$%
!"$&
!"$'
!"$(
"
"$(
"$'
"$&
"$%
#
Student Version of MATLAB
Si le nombre d’unités cachées est bien choisi en fonction de l’ensemble d’entraînement (complexité et taille), un réseau de neurones feed-forward à une couche cachée peut approximer toute fonction continue.
RÉSEAU DE NEURONES approximateur universel
10 unités cachées
tangente hyperbolique
samedi 8 mars 2014
Classification : fonction d’activation = sigmoïde ou softmax
y(x,w) = σ(a�(x)) =1
1 + exp(−a�(x)) P (C1|x) P (C2|x) = 1− P (C1|x)
y(x,w) =
�exp (a�1(x))�Kk=1 exp (a
�k(x))
, . . . ,exp (a�K(x))
�Kk=1 exp (a
�k(x))
�
[P (C1|x), . . . , CK |x)]
Minimisation de l’entropie croisée :
E(w) = −n�
i=1
{yi ln y(xi, w) + (1− yi) ln(1− y(xi, w)}
E(w) = −n�
i=1
K�
k=1
yik ln yk(xi, w)
APPRENTISSAGE : RÉSEAU DE NEURONES
deux classes : un seul neurone de sortie
multi-classes : plusieurs neurones de sortie
samedi 8 mars 2014
Régression : fonction d’activation = identité
=
h�
j=1
w(2)1,j tanh
�d�
i=0
w(1)i,j xi
�. . . ,
h�
j=1
w(2)K,j tanh
�d�
i=0
w(1)i,j xi
�
y(x,w) = [a�1(x), . . . , a�K(x)]
Minimisation de l’erreur carrée :
E(w) =1
2
n�
i=1
K�
k=1
{yik − a�k(xi)}2
Pour l’erreur carrée ou l’entropie croisée 2 classes ou multi-classes, même dérivée de la fonction d’erreur en fonction des neurones de sorties :
APPRENTISSAGE : RÉSEAU DE NEURONES
∂E(w)
∂a�k= a�k(xi)− yik
samedi 8 mars 2014
OPTIMISATION DES PARAMÈTRES méthodes numériques basées sur le gradient
• Minimum se produit en un point tel que :
• Mais aussi les points de selle et les maxima
• Le minimum global correspond à la plus petite valeur prise par la fonction d’erreur
• On se contente généralement d’une minimum local qui est bon comparé à d’autres minima locaux
• Pas de solution analytique : minimisation de la fonction d’erreur par descente de gradient
gradient : vecteur des dérivées partiellespointe dans la direction de la plus grande pente
∇E(w)
∇E(w) = 0
w(τ+1) = w(τ) − η∇E(w(τ))
samedi 8 mars 2014
DESCENTE DE GRADIENTBasée sur une approximation locale quadratique
Le gradient est perpendiculaire à la tangente de la courbe de niveau.
Plus l’approximation quadratique est juste, plus rapide la convergence vers l’optimum local.
Le gradient permet une optimization beaucoup plus efficace
Les méthodes dites de quasi-Newton ou du gradient conjugué sont plus robustes que la simple descente du gradient et sont donc à préférer.
Pour trouver un minimum local suffisamment bon, il est recommendé d’exécuter la minimisation plusieurs fois en partant de différents valeurs de poids initiaux.
w(τ+1) = w(τ) − η∇E(w(τ))
samedi 8 mars 2014
RÉTROPROPAGATION calcul du gradientMéthode de rétropropagation permet le calcul efficace de ∇E(w)
Erreur carrée en un seul exemple : En(w) =1
2
K�
k=1
{yi,k − a�k(xn)}2
Application de la règle de la dérivée en chaîne pour calculer :
∂En(w)
∂w(2)k,j
∂En(w)
∂w(1)i,j
poids de la couche cachée (1ère couche)
poids de la couche de sortie (2ème couche)
Objectif : combiner les calculs de la phase forward (avant) et backward (arrière) de façon efficace.
samedi 8 mars 2014
Entrées Couche cachéenon-linéarités
Sorties
x1
x2
f(a)a1
a2
z1
z2
x0z0
a�1
a�2
a�3x3
x0 = 1z0 = 1
feed-forward propagation
backward propagation
w(1)i,j
En(w)
w(2)k,j
samedi 8 mars 2014
Phase avant ou forward : calcul de Ei(w)
zj = tanh(aj)aj =d�
i=0
w(1)ij xi
couche cachée (1ère couche)
a�k =h�
j=0
w(2)j,kzj
{yik − a�k(xi)}
couche de sortie (2ème couche)
∂E(w)
∂a�k= a�k(xi)− yik
samedi 8 mars 2014
Phase backward : calcul de ∇E(w)
∂En(w)
∂w(2)k,j
=∂En(w)
∂a�k× ∂a�k
∂w(2)k,j
= (ynk − a�k(xn))× (zj)
calculés dans la phase forward
∂En(w)
∂w(1)i,j
=K�
k=1
�∂En(w)
∂a�k× ∂a�k
∂zj× ∂zj
∂aj× ∂aj
∂w(1)i,j
�
(ynk − a�k(xn))× w(2)j,k ×
�1− z2j
�× xi
calculés dans la phase forward
samedi 8 mars 2014
∂Ei(w)
∂w(2)jk
= {yik − a�k}zj
Poids de la deuxième couche cachée
Poids de la première couche cachée
∂Ei(w)
∂w(1)ij
=
�K�
k=1
{yik − a�k}w(2)jk
�(1− z2j )xi
Une modification de la fonction d’erreur requiert la modification du calcul du gradient uniquement de :
∂Ei(w)
∂a�k
RÉTROPROPAGATION calcul du gradient
samedi 8 mars 2014
SYMÉTRIES DANS L’ESPACE DES POIDS
Propriété de la tangente hyperbolique :
Remplaçons les poids associés à une unité cachée par leur inverse additif :
w(1)j ← −w(1)
j
aj =d�
i=0
w(1)i,j xiPuisque aj ← −ajalors
et zj ← −zjzj = tanh(aj)
2h vecteurs de poids équivalents
w(2)j,k ← −w(2)
j,kEn posant
calculées par le réseau de neurones sont inchangés
a�k =h�
j=0
w(2)j,kzjles sorties
tanh(−a) = − tanh(a)
samedi 8 mars 2014
Si on intervertit l’ordre des unités cachées alors les sorties calculées par le réseau de neurones sont également inchangées : h! permutations possibles
h! 2h vecteurs de poids équivalents
Pas d’impacts en pratique si l’on entraîne le réseau de neurones correctement :
• en initialisant les poids de façon raisonnable• en exécutant l’optimisation plusieurs fois à partir de différents poids initiaux• en retenant le minima local le plus petit
SYMÉTRIES DANS L’ESPACE DES POIDS
samedi 8 mars 2014
RÉGULARISATION
• Minimise le risque de sur-apprentissage (over-fitting) en limitant la complexité du modèle
• Weight decay : pénaliser les poids les plus grands
�E(w) = E(w) +λ
2wTw
biais pénalité
Contrôle le compromis entre la minimisation de l’erreur et de la norme des poids : doit être choisi en validation
λ hyper-paramètre
ENTRAÎNEMENT VALIDATION
�E(w) pour différentesvaleurs de λ
E(w) pour évaluer la performance
samedi 8 mars 2014
Exemple d’apprentissage de réseau de neuronesune unité cachée trois unités cachées
10 unités cachées
samedi 8 mars 2014
Descente d’échelle ou régionalisation en deux mots
Méthode dynamiques : modèles de climat régionaux RCMs
Méthode statistiques :• fonctions de transfert (régression)• types de temps (classification non-supervisée)• générateurs stochastiques (estimation de densité
conditionnelle)• méthodes probabilistes
samedi 8 mars 2014
Fonctions de transfert
Covariables à grande échelle issues de modèles climatiques (ré-analyses)Maillage à faible résolutionpression au niveau de la mercomposante U et V du venthumidité relativehauteur de géopotentiel
Variable(s) à l’échelle locale (station ou maillage haute résolution) issues des observationstempératureprécipitation (liquide et solide)
Modèle de régression statistique
samedi 8 mars 2014
Étapes
1. Création d’un jeu de covariables parmi les variables à grande échelle
2. Ajustement d’un modèle de régression entre les observations de la variable locale et les covariables issues de ré-analyses
3. Vérification sur les covariables issues de GCM si la relation statistique établie par le modèle de régression est valable pour le GCM
4. Estimation en période future avec les covariables issues du GCM pour différents scénarios de changement climatique.
Période historique
Période future
samedi 8 mars 2014