INF8111 - Exercices
INF8111 - Exercices
INF8111 - Exercices
3. a) Découvrez ce qui est étrange à propos du mois de septembre 1752. Quelles mesures prendriez-vous
pour normaliser des statistiques concernant ce mois-ci ?
b) Dans le cas où aucune mesure spéciale n’est prise, seriez-vous devant une erreur ou un artefact ?
Justifiez votre réponse.
4. Considérez la pluviométrie et la température journalière des villes de Montréal et de Québec. Laquelle
de ces deux quantités, pluviométrie ou température, devrait être la plus corrélée dans le temps entre ces
deux villes ? Pourquoi ?
1
X1 X2 y
2 1 1
4 3 1
4 2 1
6 5 1
3 5 1
1 3 2
3 6 2
2 5 2
Regression linéaire
6. Les coefficients d’une régression linéaire reflètent-ils à l’importance des attributs qu’ils multiplient ?
7. Soit un jeu de données contenant 100 individus (points) ayant un seul attribut (axe des abscisses x)
et une seule valeur de sortie numérique (axe des ordonnées y). Une régression linéaire sans biais a été
appliquée sur les données, cependant les résultats ne sont pas bons (voir figure). Comment améliorer ce
modèle ?
Classification
10. Pourquoi la régression logistique est un classificateur linéaire ?
11. En quoi consiste le kernel trick ? Quel est son principal avantage ?
12. On doit construire un arbre de décision afin de déterminer si on entre dans un restaurant, selon le type
de cuisine et le prix. Voici les données :
Page 2
Cuisine Prix Entrer
chinoise $ oui
française $$$ non
brésilienne $ non
italienne $$$$ oui
portugaise $$ non
chinoise $$ oui
française $$$ non
brésilienne $$ oui
italienne $ non
portugaise $$$$ non
Dans un arbre de décision par entropie, quel sera le premier attribut testé ?
13. Nous souhaitons déterminer à l’aide d’un arbre de décision si l’on va à la plage en fonction de la météo
(soleil et vent). Considérer les données suivantes :
Par exemple, la première ligne du tableau signifie qu’il y a 5 enregistrements du jeu de données pour
lesquels (A, B, C) = (T, T, T ), et qui appartiennent à la classe +. De même, la quatrième ligne signifie
qu’il existe 5 enregistrements de la classe − pour lesquels (A, B, C) = (F, F, T ).
Page 3
a) Construisez un arbre de décision de deux niveaux avec la méthode de maximisation du gain d’en-
tropie vue en cours. Appuyez votre réponse avec vos calculs.
b) Combien d’enregistrements sont mal classés par l’arbre de décision obtenu en (a) ?
c) Êtes-vous capable de présenter un meilleur arbre que celui obtenu en (a) en termes du nombre
d’enregistrements mal classés ?
15. Soit un jeu de données linéairement séparables. Donnez deux avantages et un inconvénient des ma-
chines à support de vecteurs (SVM) linéaires simples par rapport à la régression logistique. Justifiez vos
choix en une ligne.
16. Quels sont les principaux avantages de l’apprentissage profond par rapport aux autres méthodes de
l’apprentissage automatique ?
Évaluation de modèles
17. Expliquer avec vos propres mots :
a) Qu’est-ce que le surapprentissage (overfitting) ?
b) Comment le détecter ?
c) Comment le limiter ?
18. Expliquez pourquoi il y a un compromis entre la précision (precision) et le rappel (recall). Comment
peut-on augmenter la précision ?
19. Soit un échantillon de N objets, dont p appartiennent à la classe positive. Soit un classifieur "gourmand"
qui classifie tous les objets comme appartenant à la classe majoritaire. Quelle est la précision (accuracy),
la précision de la classe positive (precision), et le rappel (recall) de ce modèle ? Donnez explicitement les
calculs ou justifiez vos réponses.
20. Vous êtes invité à évaluer les performances de deux modèles de classification, M1 et M2 . L’ensemble de
test que vous avez choisis contient 10 individus avec 26 attributs binaires nommés de A à Z . Le tableau
ci-dessous montre les probabilités postérieures obtenues en appliquant les modèles à l’ensemble de test.
Seules les probabilités postérieures pour la classe positive sont reportées, parce que pour un problème à
deux classes, P (−) = 1 − P (+) et P (−|A, ..., Z) = 1 − P (+|A, ..., Z).
a) Tracez sur le même graphique les courbes ROC pour les deux modèles M1 et M2 . À votre avis, quel
est le meilleur modèle ? Justifiez.
b) Pour le modèle M1 , supposons que le seuil choisi soit t = 0.5. En d’autres termes, toute instance
de test dont la probabilité postérieure est supérieure à t sera classée comme un exemple positif.
Calculez la précision, le rappel et le F-score pour le modèle M1 à cette valeur de seuil.
c) Pour le modèle M2 , supposons que le seuil choisi soit aussi t = 0.5. Calculez la précision, le rappel
et le F-score pour le modèle M2 à cette valeur de seuil. Comparez le F-score obtenu pour M2 avec
celui obtenu en (b) pour M1 . Lequel des deux modèles est supposé d’être le meilleur en fonction des
F-scores calculés ? Les résultats sont-ils cohérents avec les courbes ROC tracée en (a) ?
Page 4
21. Considérez un modèle de régression logistique qui classifie des courriels en deux classes : spam (classe
positive) et non-spam (classe négative).Un courriel est classé comme spam lorsque la valeur retournée
par la fonction sigmoïde est supérieure à une valeur de seuil (τ ) fixée à 0.5. Dénotez z le rappel (recall)
de ce modèle. Supposez maintenant que vous utilisez une autre valeur de seuil (τ 0 > τ ) pour le même
modèle. Est-ce que le rappel z augmente, diminue ou demeure constant ? Justifiez votre réponse.
Clustering
22. Utilisez k-means et la distance euclidienne pour regrouper en 2 clusters les 7 points : x1 = (2, 5), x2 =
(5, 5), x3 = (6, 1), x4 = (7, 2), x5 = (8, 1), x6 = (4, 4), et x7 = (3, 6). Vous utiliserez les centroïdes initiaux
c1 = (2, 4) et c2 = (5, 2). Détaillez les calculs intermédiaires.
23. Utilisez dbscan et la distance euclidienne pour regrouper les 7 points : x1 = (2, 4), x2 = (5, 4), x3 = (6, 1),
x4 = (7, 2), x5 = (4, 4), x6 = (2, 6), et x7 = (1, 1). Vous utiliserez m = 2 (le nombre minimum de points
pour créer un cluster) et = 2 (la distance minimum pour considérer deux points voisins). Détaillez les
calculs intermédiaires.
24. Appliquez l’approche agglomérative single-linkage avec la distance de Manhattan aussi appelé L1 . Les
points de cet exercice sont les mêmes que pour le précédent : x1 = (2, 4), x2 = (5, 4), x3 = (6, 1),
x4 = (7, 2), x5 = (4, 4), x6 = (2, 6), et x7 = (1, 1). Tracez le dendrogramme sans vous soucier de
l’échelle. Détaillez les calculs intermédiaires.
Page 5
Quel point de A ou B a le plus grand outlier score :
a) Selon un modèle de clustering. Considérez que tous les points appartiennent au même cluster et que
la méthode utilise la distance euclidienne.
b) Selon un modèle basé sur les distances. Considérez k=2 et que la méthode utilise la distance eucli-
dienne.
29. Considérez le jeu de données suivant par ordre alphabétique et utilisez la distance euclidienne. Nous
souhaitons détecter le point avec le plus grand outlier score tel que mesuré par la distance à son plus
proche voisin. Autrement dit, k = 1 et r = 1. Appliquez la méthode du Sampling avec l’échantillon
S = {a, b}. Quelles distances n’ont pas été calculées ?
30. Considérez les données présentées dans la figure ci-dessous où on note clairement deux clusters distincts.
Dans la figure, c’est aussi possible d’observer deux outliers A et B.
Page 6
b) Est-ce que l’outlier indiqué en (a) peut être identifié par son outlier score obtenu en utilisant un
modèle de k plus proches voisins basé sur des distances euclidiennes ? Justifiez.
Fouille de graphe
31. Quelle est la distance d’édition entre G1 et G2 ? Donnez les opérations.
a b a b
b d c a
34. Quel est le maximum commun sous-graphe (MCS) à G1 et G2 ? Quelle est la distance normalisée selon
le MCS ?
Page 7
Figure 5 – Graphe G1 = (N1 , A1 ) Figure 6 – Graphe G2 = (N2 , A2 )
35. Quel est le maximum commun sous-graphe (MCS) à G1 et G2 ? Quelle est la distance normalisée selon
le MCS ?
Big Data
36. Quels sont les trois Vs qui définissent le big data ? Donnez un exemple de données pour chaque caracté-
ristique.
37. Expliquez deux biais ou limitations du big data ?
38. Qu’est-ce que MapReduce ? Donnez un schéma de son fonctionnement.
39. Soient deux matrices M ∈ Rp×q et N ∈ Rq×r ,P et P = M N leur produit matriciel. Comment utiliser
Map et Reduce pour calculer P . Rappel : pi,k = j mi,j × nj,k .
40. Soit un ensemble de documents D où le i-ième document est identifié par un nom unique namei et
(i) (i) (i)
contient une liste de mots di = [w1 , w2 , w2 , . . . ]. Implémentez en pseudo-code une seule fonction Map
et une seule fonction Reduce afin de calculer la term frequency (nombre d’occurrences du mot) et la
document frequency (nombre de documents qui contiennent le mot) où la document frequency dfi du
i-ème mot ti est dfi = |{dj : ti ∈ dj }|. Utilisez des noms de variables explicites et/ou commentez votre
code.
41. Concevez un algorithme MapReduce qui prend en entrée de gros fichiers contenant des nombres entiers
et qui produit comme sortie les entiers plus petits que 50 sans répétition. Utilisez des noms de variables
explicites ou commentez votre code.
Exemple d’entrée : (10, 102, 100, 12, 200, 2, 10)
Exemple de sortie : (10, 12, 2)
Page 8
Fouille de flot de données
42. Donnez trois contraintes de la fouille de flots de données. À quelle caractéristique du big data les flots de
données correspondent-ils ?
43. Soit le flot de données suivant. Considérez une sous-fenêtre de taille 8, une de taille 4, une de taille 2 et
deux de taille 1. Estimez le nombre de 1 pour k = 11 avec DGIM, et calculez l’erreur relative.
Fouille du web
46. Donnez l’équation algébrique de PageRank. Expliquez chacun des termes c.-à-d. ce qu’ils contiennent et
à quoi ils servent.
47. Considérez le graphe ci-dessous. Calculez 4 itérations de PageRank avec une probabilité de téléportation
de 0.1.
1 2
3 4
48. Considérez le graphe ci-dessous. Calculez 4 itérations de PageRank avec une probabilité de téléportation
de (1 − β) = 0.2.
Page 9
1 2
49. Obtenez la plus grande valeur de rang(v) pour le graphe ci-dessous après trois itérations de PageRank.
Utilisez d = 0.8. Initialisez rang(v) = 0.25 pour tous les sommets.
50. Plutôt que d’utiliser la téléportation, le problème des dead-ends est résolu en les supprimant. Pour
supprimer une dead-end, le sommet et toutes ses arrêtes entrantes sont retirés du graphe. En se faisant,
d’autres dead-ends sont créées et doivent être aussi supprimées récursivement.
Quel va être l’impact sur la structure du web considérée dans le calcul de PageRank ? Autrement dit,
quelle(s) partie(s) du web va (vont) être retirée(s) avant le calcul de PageRank ?
2 4
1 3 5
7 8 9 10
Page 10
c) Quelle est la centralité de proximité du sommet 6 ?
d) Quelle est la centralité d’intermédiarité du sommet 6 ?
Considérez le graphe ci-dessous. Pour chacune des questions, donnez la formule/équation utilisée.
2 4
1 3 5
7 8 9 10
1 2
A
B
3 4
Page 11
a) La valeur de son coefficient de regroupement.
b) La plus grande valeur de la centralité de proximité trouvée parmi ses sommets.
Page 12