Final 3395 H2008
Final 3395 H2008
Final 3395 H2008
Examen Final
Vendredi 25 avril 2008
Durée: 2h45
Prénom:
Nom:
Code permanent:
IFT 3395 ou 6390?
Veuillez répondre aux questions dans les zones de blanc laissées à cet effet.
Notations
Les notations suivantes sont définies pour tout l’examen, là où elles ont un sens:
On suppose qu’on dispose d’un ensemble de données de n exemples: Dn = {z (1), , z (n)}. Dans le cas
(i)
supervisé chaque exemple z (i) est constitué d’une paire observation, cible: z = (x(i), t(i)), alors que dans
le cas non-supervisé, on n’a pas de notion de cible explicite donc juste un vecteur d’observation: z (i) = x(i).
1 , , xd )
(i)
On suppose que chaque observation est constituée de d traits caractéristiques: x(i) ∈ Rd: x(i) = (x(i)
1.1 Expliquez brièvement ce qui caractérise l’apprentissage semi-supervisé. Dans quel cas aurait-on
avantage à utiliser un algorithme d’apprentissage semi-supervisé plutôt qu’un algorithme d’apprentissage
supervisé?
1.2 Expliquez brièvement votre compréhension de ce qui caractérise l’apprentissage par renforcement.
2 Section 2
Votre collègue vous dit que ce qui l’intéresse c’est de prédire la variable re en fonction des autres.
2.1
a) Est-ce un problème d’apprentissage supervisé, non-supervisé, semi-supervisé,
ou par renforcement?
b) De quel type de problème précis s’agit-il (classification, régression, estimation de densité, partition-
nement, réducion de dimensionalité, etc...)?
c) Pour votre réseau de neurones, combien choisiriez-vous de neurones de sortie?
d) Utiliseriez-vous une non-linéarité de sortie (si oui, laquelle)?
e) Quel type de coût (différentiable) choisiriez-vous pour l’apprentissage?
2.2 En l’absence d’informations plus détaillées sur la nature des entrées, expliquez en détail quel
prétraitement vous effectueriez pour obtenir un ensemble d’entraînement Dn approprié pour ce réseau
de neurones (et la plupart des algorithmes vus en cours d’ailleurs).
2.3 Écrivez à quoi ressembleraient les 3 premières lignes de l’ensemble d’entraînement Dn obtenu après
votre prétraitement (donnez des valeurs approximatives pour les composantes réelles). Quelle est la
dimensionalité de l’entrée dans cet ensemble prétraité?
Réseaux de neurones en pratique... 3
2.4 Dans un modèle de réseau de neurones typique on dispose de plusieurs leviers (hyper-paramètres) et
techniques pour contrôler la capacité du modèle et ainsi gérer le risque de sur-apprentissage. Quels sont
ces leviers et techniques? Nommez-les, expliquez précisément ce qu’ils représentent et, pour chacun,
indiquez le sens de l’effet du levier, c.a.d. si le fait de l’augmenter va augmenter la capacité du modèle
(et le risque de sur-apprentissage) ou au contraire diminuer la capacité (et augmenter le risque de sous-
apprentissage).
2.5 Expliquez, par un pseudo-code informel de haut niveau, la procédure qu’on va typiquement utiliser
pour choisir une valeur appropriée de ces leviers, pour un problème donné sous la forme d’un unique
ensemble de données Dn.
4 Section 3
3 Arbres de décision
Pour un problème de classification binaire (2 classes) en 2 dimension, on donne l’ensemble de données
d’entraînement suivant:
x2
0
-1 0 1 2 3 4 5 6 7 8 9 10 11 12 x1
-1
On considère un classifieur de type arbre de décision binaire classique où chaque noeud n’effectue que
la comparaison d’une seule variable d’observation à un seuil choisi (ex. CART). L’arbre est entraîné avec
le critère suivant: on choisit des subdivisions qui minimisent la proportion d’erreurs de classification, et
ceci jusqu’à obtenir 0 erreurs sur l’ensemble d’entraînement.
a) Sur le graphique ci-dessus, tracez une à une, en les numérotant, les subdivisions de l’espace que
réaliserait un tel classifieur. Hachurez la région de décision correspondant à la classe des ronds
noirs.
Arbres de décision 5
b) Dessinez ci-dessous l’arbre de décision binaire correspondant, en indiquant sur chaque arc la condi-
tion qui doit être vérifiée pour suivre cet arc. Indiquez à l’intérieur de chaque noeud, sous forme
d’une paire fractions, la proportion d’exemples de chacune des deux classes qu’on a au niveau de ce
noeud. La première fraction de chaque paire devra correspondre à la proportion des carrés, et la
deuxième à la proportion des ronds noirs.
c) Exprimez ci-dessous, sous forme d’une règle logique (avec des ET et des OU), la règle représentée
par cet arbre qui permet de décider si un point de test x = (x1, x2) est de la classe des ronds noirs.
e) Quel est le principal point faible des algorithmes de type arbre de décision? Connaissez-vous une
technique qui, utilisée en conjonction avec les arbres de décision, permet de contrebalancer ou mit-
iger ce point faible?
6 Section 4
4.1 Pour quel type de tâche (de problème) emploie-t-on l’algorithme des K-moyennes? Expliquez dans
vos mots à quoi cela peut servir. S’agit-il d’appretissage supervisé, non-supervisé, semi-supervisé ou par
renforcement?
4.2 Écrivez l’algorithme des K-moyenes sous forme de pseudo-code, à partir des notations définies plus
haut pour tout l’exeman:
5.1 Dessinez ci-dessous le modèle graphique dirigé (réseau Bayesien) correspondant à la décomposition
de la probabilité jointe suivante:
P (A, B, C , D, E) = P (E |A, D, C) P (D|C) P (C)P (A|C , B) P (B)
5.2 On veut écrire un programme qui pourra générer des exemples de quintuplets (a, b, c, d, e) tirés aléa-
toirement de la distribution jointe P (A, B , C , D, E) ci-dessus. On suppose que vous avez déjà écrit les
fonctions permettant de tirer des exemples selon chacune des distributions situées à droite du = . On
pourra faire appel par ex. au tirage d’un exemple e de P (E |A, D, C), sachant A = a, D = d, et C = c, et
on notera cette opération e ∼ P (E |A = a, D = d, C = c).
En utilisant cette notation, écrivez la procédure pour générer des exemples (a, b, c, d, e) de la distribution
jointe P (A, B, C , D, E):
8 Section 6
Pour les réseaux de type Perceptron Multicouche (MLP) vus en cours, un neurone Nk de la première
couche cachée reçoit une entrée x et a un vecteur de poids synaptiques w (k) ∈ Rd et un biais b(k) ∈ R. Il
calcule sa sortie hk avec la formule hk = sigmoid( < w (k), x > + b(k)), où < w (k), x > dénote le produit
scalaire usuel.
On s’intéresse pour cette question à un type de réseaux de neurones différent, nommé RBF (Radial
Basis Function). Ces réseaux à une couche cachée sont très similaires aux MLP. La différene est qu’un
neurone RBF Nk de la couche cachée, ayant un vecteur de poids wk calcule sa sortie hk ainsi:
hk = exp( − β kx − w (k)k2)
d
!
(k) 2
X
= exp − β (x j − w j )
j=1
où exp désigne l’exponentielle et β est un hyper-paramètre (le même pour tous les neurones de la pre-
mière couche cachée. Remarquez aussi qu’il n’y a pas de biais. Une unique couche cachée de m neurones
RBF ayant des sorties (h1, , hm) = h est typiquement suiviePd’une couche de sortie linéaire avec des poids
(a1, , am) = a pour donner une sortie y = fθ(x) = < a, h > = mk=1 akhk.
6.1 Quel est l’ensemble θ des paramètres (excluant les hyper-paramètres) d’un tel réseau RBF?
θ={ }
6.2 Le coût pour un exemple x pour lequel le réseau prédit fθ(x) alors que la vraie cible est t est donné
par une fonction de coût différentiable L(fθ(x), t). On cherche les valeurs des paramètres qui vont min-
imiser le coût empirique moyen sur un ensemble d’apprentissage Dn = {(x(1), t(1)), , (x(n), t(n))}.
Exprimez ce problème de minimisation, puis nommez la technique qu’on va typiquement utiliser pour
trouver une solution, et détaillez-là brièvement sous la forme d’un pseudo-code de haut niveau.
Réseaux de neurones de type Radial Basis Function 9
6.3 On s’intéresse au gradient, c.a.d la dérivée partielle du coût L par rapport aux paramètres, on sup-
∂L
pose qu’on a déjà calculé ∂y
, et on va rétropropager le gradient. Exprimez et calculez (en fonction de
∂L
ak, hk, et ∂y ):
∂L
=
∂ak
∂L
=
∂hk
∂L
puis, en fonction (entre autres) de ∂h
k
∂ exp(u) ∂u
Rappel de la formule pour dériver une exponentielle: exp(u) ′ = u ′ exp(u), ou encore: ∂θ
= ∂θ
exp(u)
∂L
=
∂w (k)
j
10 Section 7
7 Mélange de Gaussiennes
On considère, en dimension d, un mélange de k Gaussiennes avec des matrices de covariance diagonales.
7.1 A quoi sert un mélange de Gaussienne: pour quel type de problème d’apprentissage s’en sert-on?
Dans quels cas un mélange de Gaussiennes est-il plus approprié qu’une unique Gaussienne?
7.2 Chacune des Gaussiennes diagonales de ce mélange a des paramètres: nommez-les et indiquez leur
dimension. A combien de nombre réels ajustables cela correspond-t-il?
7.3 En plus des paramètres de chaque Gaussienne, quels autres paramètres y a-t-il dans un tel mélange?
En tout combien y a-t-il de nombre réels ajustables dans les paramètres d’un tel mélange de Gaussiennes?
7.4 Écrivez la formule permettant de calculer la densité donnée par le mélange de Gaussiennes en un
point x ∈ Rd (avec les notations que vous avez utilisé ci-haut pour représenter les paramètres).
Mélange de Gaussiennes 11
7.5 On suppose qu’on dispose de deux procédures informatiques fournies par une librairie logicielle:
• une fonction tirageGaussienne reçoit en paramètre les paramètres d’une Gaussienne et retourne
un point de Rd tiré aléatoirement selon cette distribution Gaussienne.
• une fonction tirageDiscret reçoit en paramètre un vecteur de probabilités sommant à 1, effectue
un tirage selon ces probabilités discrètes et retourne l’indice entier correspondant. Ainsi par ex., si
on lui passe en paramètre le vecteur (0.30, 0.50, 0.20), la procédure retournera la valeur 1 dans 30%
des appels, la valeur 2 dans 50% des appels et la valeur 3 dans 20% des appels.
Écrivez, sous forme de pseudo-code, la procédure permettant de générer un points x ∈ Rd selon la distribu-
tion de mélange de Gaussiennes paramétrée telle que vous l’avez définie plus haut.