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