🎯 Objectifs
- Savoir représenter des objets réels (fruits, images) sous forme de vecteurs.
- Maîtriser le calcul de distances (Euclidienne, Manhattan, Cosinus).
- Comprendre l’importance de la normalisation.
- Appréhender la “Malédiction de la Dimension”.
Exercice 1 : Vectorisation du Monde
On souhaite créer une IA capable de distinguer des fruits. Pour cela, on doit transformer chaque fruit en un vecteur de nombres. On choisit 3 caractéristiques (features) :
- Poids (en grammes)
- Rougeur (note de 0 à 10)
- Rugosité (note de 0 à 10)
Voici notre dataset :
- Pomme A : 150g, Rougeur 8, Rugosité 2
- Orange B : 160g, Rougeur 2, Rugosité 8
- Citron C : 100g, Rougeur 1, Rugosité 6
Questions :
- Écrivez les vecteurs , et correspondant à ces fruits.
- Quelle est la dimension de l’espace vectoriel dans lequel nous travaillons ?
- Imaginez une 4ème caractéristique pertinente pour distinguer ces fruits.
Exercice 2 : Calcul de Distances
On veut savoir quel fruit ressemble le plus à la Pomme A.
Questions :
- Rappelez la formule de la Distance Euclidienne () entre deux vecteurs et de dimension 3.
- Calculez la distance entre la Pomme A et l’Orange B : .
- Calculez la distance entre la Pomme A et le Citron C : .
- Selon ce calcul, quel fruit est le plus proche de la Pomme A ? Ce résultat vous semble-t-il logique ? Pourquoi ?
Exercice 3 : Le Problème des Échelles (Normalisation)
Dans l’exercice précédent, le poids (autour de 150) est beaucoup plus grand que la rougeur (autour de 5). Cela signifie que le poids “écrase” les autres variables dans le calcul de distance. Une différence de 10g compte autant qu’une différence de 10 points de rougeur (ce qui est énorme sur une échelle de 10).
On va utiliser la Normalisation Min-Max pour ramener toutes les valeurs entre 0 et 1. La formule pour une valeur est :
On vous donne les min et max observés sur tout le verger :
- Poids : Min = 50g, Max = 250g
- Rougeur : Min = 0, Max = 10
- Rugosité : Min = 0, Max = 10
Questions :
- Normalisez le vecteur de la Pomme A.
- Aide : Pour le poids, .
- Normalisez le vecteur de l’Orange B.
- Normalisez le vecteur du Citron C.
- Recalculez les distances et avec ces nouvelles valeurs.
- La conclusion a-t-elle changé ? L’Orange est-elle toujours plus proche de la Pomme que le Citron ?
Exercice 4 : Distance de Manhattan
Parfois, la ligne droite n’est pas le meilleur chemin (ex: dans une ville avec des rues quadrillées). La Distance de Manhattan () est la somme des valeurs absolues des différences.
Questions :
- Calculez la distance de Manhattan entre la Pomme A et l’Orange B (sur les données brutes).
- Comparez avec la distance Euclidienne calculée à l’exercice 2. Laquelle est plus grande ? Est-ce toujours le cas ? (Inégalité triangulaire).
Exercice 5 : Similarité Cosinus (Analyse de Texte)
On analyse deux phrases courtes. On utilise un vocabulaire de 3 mots : [Chat, Mange, Dort].
- Phrase 1 : “Le chat mange”
- Phrase 2 : “Le chat mange le chat mange”
- Phrase 3 : “Le chat dort”
Questions :
- Calculez la distance Euclidienne entre et . Est-elle nulle ? Pourtant les phrases ont le même sens.
- Calculez la Similarité Cosinus entre et .
- Rappel :
- Produit scalaire .
- Norme .
- Calculez la Similarité Cosinus entre et .
- Concluez : Pourquoi le Cosinus est-il souvent préféré pour le texte ?
Exercice 6 : La Malédiction de la Dimension (Curse of Dimensionality)
C’est une expérience de pensée pour comprendre pourquoi l’intuition géométrique 3D ne marche plus en 1000D.
Imaginez un hypercube de côté . Son volume est . À l’intérieur, on met une hypersphère de rayon (qui touche les bords).
- En 2D (Carré) : Aire Carré = 1. Aire Cercle = .
- Le cercle occupe 78% du carré.
- En 3D (Cube) : Volume Cube = 1. Volume Sphère = .
- La sphère occupe 52% du cube.
Question : En dimension très grande, le volume de l’hypersphère tend vers 0. Cela signifie que presque tout le volume de l’hypercube se trouve dans les coins. Si vos données sont réparties uniformément, où se trouvent la majorité d’entre elles ? Au centre ou sur les bords ? Quel impact cela a-t-il sur la notion de “voisin proche” ?