Telechargé par maher.boughdiri

TD

publicité
Exercice 1
Envisagez d'appliquer l'algorithme du perceptron par l'origine sur la base d'un petit ensemble de formation contenant trois
points :
x(1) = [-1, -1]
x(2) = [1, 0]
x(3) = [-1, 1.5]
y(1) = 1
y(2) = -1
y(3) = 1
Étant donné que l'algorithme de Perceptron commence par θ(0) = 0, le premier point que l'algorithme voit est toujours considéré
comme une erreur. L'algorithme commence par un point de données et passe ensuite à travers les données (dans l'ordre) jusqu'à
ce qu'il ne fasse plus d'erreur.
1.
Combien d'erreurs l'algorithme fait-il jusqu'à la convergence si l'algorithme commence par le point de données x(1) ?
Combien d'erreurs l'algorithme fait-il s'il commence par le point de données x(2) ?
Indiquez également la progression du plan de séparation au fur et à mesure des cycles de l'algorithme dans le format
de liste suivant : θ1(1) ,θ 2(1) ,... θ1( N ) ,θ 2( N ) où l'exposant indique un θ différent au fur et à mesure que le plan de
[[
] [
]]
séparation progresse. Par exemple, si θ passe de [0,0] (initialisation) à [1,2] puis à [3,-2], vous devez entrer [[1,2], [3,2]].
2.
Dans la partie (a), quels sont les facteurs qui influent sur le nombre d'erreurs commises par l'algorithme ?
Note : Ne choisissez que les facteurs qui ont été modifiés dans la partie (a), et non tous les facteurs qui peuvent
affecter le nombre d'erreurs.
Ordre d'itération
Marge maximale entre les points de données positifs et négatifs
Norme maximale des points de données
3.
Supposons maintenant que x(3)=[-1,10] . Combien d'erreurs l'algorithme fait-il jusqu'à la convergence si le cycle
commence au point de données x(1) ?
Indiquez également la progression du plan de séparation au fur et à mesure que l'algorithme effectue des cycles dans
le format de liste suivant : θ1(1) ,θ 2(1) ,... θ1( N ) ,θ 2( N ) où l'exposant indique un θ différent au fur et à mesure que le plan
de séparation progresse. Par exemple, si θ passe de [0,0] (initialisation) à [1,2] puis à [3,-2], vous devez entrer [[1,2],
[3,-2]].
[[
4.
] [
]]
Pour un ordre d'itération fixe, quels sont les facteurs qui affectent le nombre d'erreurs commises par l'algorithme entre
la partie (a) et la partie (c) ?
Note : Ne choisissez que les facteurs qui ont été modifiés entre la partie (a) et la partie (c), et non tous les facteurs qui
peuvent affecter le nombre d'erreurs
Ordre d'itération
Marge maximale entre les points de données positifs et négatifs
Norme maximale de points de données corrects
Exercice 2
Dans cette question, nous utiliserons l'algorithme des projections alternées pour la factorisation de la matrice de rang inférieur,
qui vise à minimiser
2
1
λ n k
λ m k
J (U ,V ) = ∑ Yai − UV T ai + ∑∑ U aj2 + ∑∑ Vij2
2 (a ,i )∈D
2 a =1 j =1
2 i =1 j =1
(
[
])
Erreur quadratique
Régularisation
Dans la suite, nous appellerons le premier terme le terme d'erreur quadratique, et les deux termes avec λ les termes de
régularisation.
5
?
Soit Y défini comme Y = 
4

?
? 7
2 ? 
? ?

3 6
D est défini comme l'ensemble des indices (a,i), où Ya,i n'est pas manquant. Dans ce problème, on laisse k = λ = 1 . De plus, U
et V sont initialisés comme U(0) = [6, 0, 3, 6]T , et V(0) = [4, 2, 1]T .
1. Calculer X(0) , la matrice des classements prévus des UVT compte tenu des valeurs initiales de U(0) et V(0).
2. Calculer le terme d'erreur quadratique (EQ) et les termes de régularisation (REG) pour l'estimation actuelle X .
3. Supposons que le V soit maintenu fixe. Exécutez une étape de l'algorithme pour trouver la nouvelle estimation U(1) .
Formulez U(1) sous forme de liste de nombres [U 1(1) ,U 2(1) ,U 3(1) ,U 4(1) ] .
Exercice 3
Dans ce problème, nous allons analyser un simple réseau de neurones pour comprendre ses propriétés de classification.
Considérons le réseau de neurones donné dans la figure ci-dessous, avec des fonctions d'activation ReLU (désignées par f ) sur
tous les neurones, et une fonction d'activation softmax dans la couche de sortie :
f(z1)
z1
v11
w11
v12
w21
x1
f(z2)
w12 z2
w22
w13
x2
v21
v22
u1
o1
u2
o2
f(z3) v31
w23 z3
w14
v32
v41
w24
f(z4) v42
z4
Etant donné une entrée x = [x1, x2]T , les unités cachées dans le réseau sont activées par étapes, comme le décrivent les
équations suivantes :
z1 = x1w11 + x2 w21 + w01
z 2 = x1w12 + x2 w22 + w02
z3 = x1w13 + x2 w23 + w03
z 4 = x1w14 + x2 w24 + w04
u1 = f ( z1 )v11 + f ( z 2 )v21 + f ( z3 )v31 + f ( z 4 )v41
u 2 = f ( z1 )v12 + f ( z 2 )v22 + f ( z 3 )v32 + f ( z 4 )v42
f ( z1 ) = max( z1 ,0)
f ( z 2 ) = max( z2 ,0)
f ( z3 ) = max ( z3 ,0 )
f ( z 4 ) = max( z4 ,0)
f (u1 ) = max(u1 ,0)
f (u1 ) = max(u1 ,0)
La sortie finale du réseau est obtenue en appliquant la fonction softmax à la dernière couche cachée,
o1 =
e f (u1 )
e f (u1 ) + e f (u2 )
o2 =
e f (u 2 )
e f (u1 ) + e f (u 2 )
Dans ce problème, nous considérerons les paramètres suivant:
 w11
w
 12
 w13

 w14
w21
w22
w23
w24
v11
v
 12
v21
v22
1.
w01   1 0
w02   0 1
=
w03  − 1 0
 
w04   0 − 1
v31
v32
v41
v42
− 1
− 1
− 1

− 1
v01   1 1 1 1 0
=
v02  − 1 − 1 − 1 − 1 2
Considérez l'entrée x1 = 3, x2 = 14. Quelle est la sortie finale (o1, o2) du réseau? (donner les résultats à au moins 9
décimales après la virgules)
2.
Dans ce problème, nous visualisons les "limites de décision" dans l'espace x, correspondant aux quatre unités cachées.
Ce sont les lignes dans l'espace x où les valeurs de z1, z2, z3, z4 sont exactement zéro. Tracez les limites de décision des
quatre unités cachées en utilisant les paramètres de w fournis ci-dessus.
3.
En utilisant la même matrice V que ci-dessus, quelle est la valeur de o1 (précise à au moins trois décimales si la
réponse est numérique) dans les trois cas suivants ?
En supposant que f (z1) + f (z2) + f (z3) + f (z4) = 1
En supposant que f (z1) + f (z2) + f (z3) + f (z4) = 0
En supposant que f (z1) + f (z2) + f (z3) + f (z4) = 3
4.
Maintenant, supposons que nous modifions la fonction softmax du réseau comme suit:
e βf (u1 )
e βf (u1 ) + e βf (u 2 )
e βf (u 2 )
o2 = βf (u1 ) βf (u2 )
e
+e
o1 =
où β > 0 est un paramètre. Notez que notre précédent paramètre correspondait au cas particulier β = 1. Dans la suite,
veuillez écrire une solution numérique avec une précision d'au moins 3 décimales.
Pour β = 1 si notre objectif es d'avoir o2 ≥ 1/1000 f (u1) - f (u2) doit être inférieur ou égal à une valeur val, calculer val.
Si nous augmentons la valeur à β = 3 , afin de satisfaire à o2 ≥1/1000 , la valeur de f (u1) - f (u2) devrait être inférieure
ou égale à quelle valeur de val ?
En général, pour satisfaire o2 ≥1/1000, l'augmentation de la valeur de β peut entraîner une valeur f (u1) - f (u2) :
Plus petite
Plus grande
Téléchargement