Académique Documents
Professionnel Documents
Culture Documents
1. Problèmes de récitation
1.1. Chapitre 9
Nous pouvons imaginer que ces valeurs définissent un vecteur pour chaque ordinateur ;
par exemple, le vecteur de A est [3,06, 500, 6]. Nous pouvons calculer la distance en
cosinus entre deux vecteurs quelconques, mais si nous ne mettons pas les composants à
l'échelle, la taille du disque dominera et rendra les différences entre les autres composants
pratiquement invisibles. Utilisons 1 comme facteur d'échelle pour la vitesse du processeur,
α pour la taille du disque et β pour la taille de la mémoire principale.
Taille de la
Fonctio Vitesse du Taille du mémoire
nnalité processeur disque principale
A 3.06 500α 6β
B 2.68 320α 4β
C 2.92 640α 6β
(a) En termes de α et β, calculez les cosinus des angles entre les vecteurs pour chaque paire des
trois ordinateurs.
= 8.2008 + 160000 + 24
√(9.36 + 250000 + 36) * √(7.18 + 102400 + 16)
= 0.99
= 8.9352 + 320000 + 36
√(9.36 + 250000 + 36) * √(8.53 + 409600 + 36)
= 0.99
= 7.8256 + 204800 + 24
√(7.18 + 102400 + 16) * √(8.53 + 409600 + 36)
= 0.99
(c) Quels sont les angles entre les vecteurs si α = 0,01 et β = 0,5 ?
= 8.2008 + 16 + 6
√(9.36 + 25 + 9) * √(7.18 + 10.24 + 4)
= 0.99
= 8.9352 + 32 + 9
√(9.36 + 25 + 9) * √(8.53 + 40.96 + 9)
= 0.99
L'angle entre les vecteurs A et C est approximativement de 0◦
= 7.8256 + 20.48 + 6
√(7.18 + 10.24 + 4) * √(8.53 + 40.96 + 9)
= 0.97
(d) Une façon équitable de sélectionner les facteurs d'échelle est de rendre chacun d'eux
inversement proportionnel à la valeur moyenne de sa composante. Quelles seraient les
valeurs de α et β, et quels seraient les angles entre les vecteurs ?
La valeur de α = 3 = 0.002
(500+320+640)
La valeur de β = 3 = 0.1875
(6+4+6)
= 0.994
= 0.996
= 0.98
1.1.2. Un utilisateur a évalué les trois ordinateurs de l'exercice 9.2.1 comme suit :
A : 4 étoiles, B : 2 étoiles, C : 5 étoiles.
(b) Calculez un profil d'utilisateur pour l'utilisateur, avec des composants pour la vitesse du
processeur, la taille du disque et la taille de la mémoire principale, sur la base des données
de l'exercice 9.2.1.
1.1.3. La figure 9.8 est une matrice d'utilité représentant les évaluations, sur une échelle de 1 à
5 étoiles, de huit éléments, de a à h, par trois utilisateurs A, B et C. Calculez les éléments
suivants à partir des données de cette matrice.
(a) En traitant la matrice d'utilité comme une matrice booléenne, calculer la distance de Jaccard
entre chaque paire d'utilisateurs.
Jaccard(A, B) = 4 = 1 = 0,5
8 2
Jaccard(B, C) = 4 = 1 = 0,5
8 2
Jaccard(A, C) = 4 = 1 = 0,5
8 2
A=[4,5,0,5,1,0,3,2]
B=[0,3,4,3,1,2,1,0]
B=[0,3,4,3,1,2,1,0]
C=[2,0,1,3,0,4,5,3]
A=[4,5,0,5,1,0,3,2]
C=[2,0,1,3,0,4,5,3]
(c) Traiter les notes 3, 4 et 5 comme 1 et les notes 1, 2 et blanc comme 0. Calculer la distance
de Jaccard entre chaque paire d'utilisateurs.
A B c D e f g h
A 1 1 0 1 0 0 1 0
B 0 1 1 1 0 0 0 0
C 0 0 0 1 0 1 1 1
Jaccard(B, C) = 1 = 0,167
6
Jaccard(A, C) = 2 = 1 = 0,333
6 3
(d) Répétez la partie (c), mais utilisez la distance en cosinus.
A=[1,1,0,1,0,0,1,0]
B=[0,1,1,1,0,0,0,0]
B=[0,1,1,1,0,0,0,0]
C=[0,0,0,1,0,1,1,1]
A=[1,1,0,1,0,0,1,0]
C=[0,0,0,1,0,1,1,1]
(e) Normaliser la matrice en soustrayant de chaque entrée non vide la valeur moyenne pour
son utilisateur.
Matrice normalisée
a B c d e F G h
A 0.67 1.67 1.67 -2.34 -0.34 -1.34
B 0.67 1.67 0.67 -1.34 -0.34 -1.34
C -1 -2 0 1 2 0
(f) En utilisant la matrice normalisée de la partie (e), calculez la distance en cosinus entre
chaque paire d'utilisateurs.
A=[0.67,1.67,0,1.67,-2.34,0,-0.34,-1.34]
B=[0,0.67,1.67,0.67,-1.34,-0.34,-1.34,0]
B=[0,0.67,1.67,0.67,-1.34,-0.34,-1.34,0]
C=[-1,0,-2,0,0,1,2,0]
1.1.4. En commençant par la décomposition de la figure 9.10, nous pouvons choisir n'importe
laquelle des 20 entrées de U ou V à optimiser en premier. Effectuer cette première étape
d'optimisation en supposant que nous choisissons :
(a) u32
1 1 2 2 2 2 2
1 1 1 1 1 1 1 2 2 2 2 2
1 x X = 1+x 1+x 1+x 1+x 1+x
1 1 1 1 1 1 1 2 2 2 2 2
1 1 2 2 2 2 2
La contribution à la somme des carrés de la troisième ligne est la suivante
(x - 1)2 + (𝑥 - 2)2 + 𝑥2 + (𝑥 - 3)2
1 1 2 2 2 2 2
1 1 1 1 1 1 1 2 2 2 2 2
1 1.5 X = 2.5 2.5 2.5 2.5 2.5
1 1 1 1 1 1 1 2 2 2 2 2
1 1 2 2 2 2 2
(b) v14
1 1 2 2 2 y+1 2
1 1 1 1 1 y 1 2 2 2 y+1 2
1 1 X = 2 2 2 y+1 2
1 1 1 1 1 1 1 2 2 2 y+1 2
1 1 2 2 2 y+1 2
1 1 2 2 2 3.2 2
1 1 1 1 1 2.2 1 2 2 2 3.2 2
1 1 X = 2 2 2 3.2 2
1 1 1 1 1 1 1 2 2 2 3.2 2
1 1 2 2 2 3.2 2
2. Problèmes de stage
2.1. Problème 1
Chargez l'ensemble de données Movielens 100k (ml-100k.zip) dans Python à l'aide de Pandas
dataframes. Construire un profil d'utilisateur sur des données non calibrées pour les deux
utilisateurs 200 et 15, et calculer la similarité en cosinus et la distance entre les préférences de
l'utilisateur et l'article/le film 95. À quel utilisateur un système de recommandation suggérerait-
il ce film ?
Article/film 95 [Profil de l'article] :
2.2. Problème 2
Chargez l'ensemble de données Movielens 100k (ml-100k.zip) dans Python à l'aide de Pandas
dataframes. Convertir les données d'évaluation en une représentation matricielle de l'utilité et
trouver les 10 utilisateurs les plus similaires à l'utilisateur 1 sur la base de la similarité
cosinusoïdale des données d'évaluation des utilisateurs. Sur la base de la moyenne des notes
attribuées à l'article 508 par les utilisateurs similaires, quelle est la note attendue pour cet
article par l'utilisateur 1 ?
Trouver les 10 utilisateurs les plus similaires à l'utilisateur 1 sur la base de la similarité en
cosinus des données d'évaluation des utilisateurs :
Sur la base de la moyenne des notes attribuées à l'article 508 par les utilisateurs similaires,
quelle est la note attendue pour cet article par l'utilisateur 1 ?