403 lines
11 KiB
TeX
403 lines
11 KiB
TeX
\documentclass[a4paper,11pt]{article}
|
|
|
|
% Packages
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[francais]{babel}
|
|
\usepackage{geometry}
|
|
\usepackage{tikz}
|
|
\usepackage{amsmath}
|
|
\usepackage{amssymb}
|
|
\usepackage{enumitem}
|
|
\usepackage{xcolor}
|
|
\usepackage{tcolorbox}
|
|
\usepackage{fancyhdr}
|
|
\usepackage{multicol}
|
|
|
|
% Configuration de la page
|
|
\geometry{margin=2cm}
|
|
\pagestyle{fancy}
|
|
\fancyhf{}
|
|
\fancyfoot[C]{Page \thepage/4 -- Activité k-NN : Micro-régions}
|
|
\renewcommand{\headrulewidth}{0pt}
|
|
|
|
% Couleurs pour les micro-régions
|
|
\definecolor{region1}{RGB}{231,76,60} % Rouge
|
|
\definecolor{region2}{RGB}{52,152,219} % Bleu
|
|
\definecolor{region3}{RGB}{46,204,113} % Vert
|
|
\definecolor{region4}{RGB}{241,196,15} % Jaune
|
|
\definecolor{region5}{RGB}{155,89,182} % Violet
|
|
\definecolor{lightblue}{RGB}{227,242,253}
|
|
\definecolor{lightyellow}{RGB}{255,243,205}
|
|
|
|
% Configuration TikZ
|
|
\usetikzlibrary{shapes.geometric,calc}
|
|
|
|
\begin{document}
|
|
|
|
% ============= PAGE 1 =============
|
|
\begin{center}
|
|
{\Huge \textbf{Activité débranchée : k-NN}}\\[0.3cm]
|
|
{\Large \textbf{Classification par micro-régions}}
|
|
\end{center}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\textbf{Objectif :} Utiliser l'algorithme k-NN pour déterminer à quelle micro-région appartient un nouveau point, en se basant sur ses plus proches voisins.
|
|
|
|
\vspace{0.3cm}
|
|
|
|
\begin{tcolorbox}[colback=lightblue,colframe=blue!75!black,title=\textbf{Principe}]
|
|
\begin{itemize}[leftmargin=*]
|
|
\item On dispose de points classifiés en plusieurs \textit{zones} (micro-régions)
|
|
\item Pour classifier un nouveau point, on identifie ses \textit{k} plus proches voisins
|
|
\item La zone majoritaire parmi ces \textit{k} voisins devient la classification du point
|
|
\item \textbf{Différence avec 2 classes :} Avec plusieurs zones, les votes sont plus complexes !
|
|
\end{itemize}
|
|
\end{tcolorbox}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\section*{Exercice 1 : Classification avec 5 zones}
|
|
|
|
Voici des points répartis en 5 zones de couleurs différentes. Le point noir ($\star$) est à classifier.
|
|
|
|
\vspace{0.3cm}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[scale=1.1]
|
|
% Grille
|
|
\draw[gray!30, step=1] (0,0) grid (10,10);
|
|
|
|
% Cadre
|
|
\draw[thick] (0,0) rectangle (10,10);
|
|
|
|
% Zone 1 (Rouge) - En haut à gauche
|
|
\foreach \point in {(1,9), (1.5,8.5), (2,9.5), (1,8), (2.5,8.5), (1.5,7.5)} {
|
|
\fill[region1] \point circle (0.15);
|
|
}
|
|
|
|
% Zone 2 (Bleu) - En haut à droite
|
|
\foreach \point in {(8,9), (8.5,8.5), (9,9.5), (8,8), (9.5,8.5), (8.5,7.5)} {
|
|
\fill[region2] \point circle (0.15);
|
|
}
|
|
|
|
% Zone 3 (Vert) - En bas à gauche
|
|
\foreach \point in {(1,2), (1.5,1.5), (2,2.5), (1,1), (2.5,1.5), (1.5,2.5)} {
|
|
\fill[region3] \point circle (0.15);
|
|
}
|
|
|
|
% Zone 4 (Jaune) - En bas à droite
|
|
\foreach \point in {(8,2), (8.5,1.5), (9,2.5), (8,1), (9.5,1.5), (8.5,2.5)} {
|
|
\fill[region4] \point circle (0.15);
|
|
}
|
|
|
|
% Zone 5 (Violet) - Au centre
|
|
\foreach \point in {(5,5), (5.5,5.5), (4.5,5.5), (5.5,4.5), (4.5,4.5), (5,6)} {
|
|
\fill[region5] \point circle (0.15);
|
|
}
|
|
|
|
% Point à classifier (étoile noire)
|
|
\node[star,star points=5,star point ratio=2.5,fill=black,draw=black,thick,minimum size=0.6cm] at (6.5,6) {};
|
|
|
|
\end{tikzpicture}
|
|
|
|
\vspace{0.3cm}
|
|
|
|
% Légende
|
|
\begin{tabular}{ccccccccc}
|
|
\textcolor{region1}{$\bullet$} Zone 1 & \quad &
|
|
\textcolor{region2}{$\bullet$} Zone 2 & \quad &
|
|
\textcolor{region3}{$\bullet$} Zone 3 & \quad &
|
|
\textcolor{region4}{$\bullet$} Zone 4 & \quad &
|
|
\textcolor{region5}{$\bullet$} Zone 5
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\subsection*{Questions avec k = 3 :}
|
|
|
|
\begin{enumerate}
|
|
\item Identifiez les 3 points les plus proches du point noir $\star$. Tracez les distances.
|
|
|
|
\vspace{0.3cm}
|
|
Les 3 plus proches : Zone \underline{\hspace{1cm}}, Zone \underline{\hspace{1cm}}, Zone \underline{\hspace{1cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Comptez les votes pour chaque zone parmi ces 3 voisins :
|
|
|
|
\vspace{0.2cm}
|
|
Zone 1 : \underline{\hspace{1cm}} \quad Zone 2 : \underline{\hspace{1cm}} \quad Zone 3 : \underline{\hspace{1cm}}
|
|
|
|
Zone 4 : \underline{\hspace{1cm}} \quad Zone 5 : \underline{\hspace{1cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Quelle est la zone majoritaire ? \underline{\hspace{4cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Y a-t-il égalité entre plusieurs zones ? \underline{\hspace{4cm}}
|
|
\end{enumerate}
|
|
|
|
% ============= PAGE 2 =============
|
|
%\newpage
|
|
|
|
\section*{Exercice 2 : Influence de k avec plusieurs classes}
|
|
|
|
Reprenez le même graphique que l'exercice 1.
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\subsection*{a) Avec k = 5 (5 voisins)}
|
|
|
|
\begin{itemize}
|
|
\item Listez les 5 points les plus proches :
|
|
|
|
\vspace{0.2cm}
|
|
Zone \underline{\hspace{1.5cm}}, Zone \underline{\hspace{1.5cm}}, Zone \underline{\hspace{1.5cm}},
|
|
|
|
Zone \underline{\hspace{1.5cm}}, Zone \underline{\hspace{1.5cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Votes par zone :
|
|
|
|
\vspace{0.2cm}
|
|
Zone 1 : \underline{\hspace{1cm}} \quad Zone 2 : \underline{\hspace{1cm}} \quad Zone 3 : \underline{\hspace{1cm}}
|
|
|
|
Zone 4 : \underline{\hspace{1cm}} \quad Zone 5 : \underline{\hspace{1cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Classification du point noir : Zone \underline{\hspace{3cm}}
|
|
\end{itemize}
|
|
|
|
\vspace{0.8cm}
|
|
|
|
\subsection*{b) Avec k = 7 (7 voisins)}
|
|
|
|
\begin{itemize}
|
|
\item Votes par zone :
|
|
|
|
\vspace{0.2cm}
|
|
Zone 1 : \underline{\hspace{1cm}} \quad Zone 2 : \underline{\hspace{1cm}} \quad Zone 3 : \underline{\hspace{1cm}}
|
|
|
|
Zone 4 : \underline{\hspace{1cm}} \quad Zone 5 : \underline{\hspace{1cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Classification du point noir : Zone \underline{\hspace{3cm}}
|
|
\end{itemize}
|
|
|
|
\vspace{1cm}
|
|
|
|
\begin{tcolorbox}[colback=lightyellow,colframe=orange!75!black,title=\textbf{Réflexion : Plusieurs classes}]
|
|
|
|
\textbf{1. Qu'est-ce qui change par rapport à 2 classes seulement ?}
|
|
|
|
\vspace{0.8cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.4cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\textbf{2. Peut-il y avoir des égalités entre zones ? Donnez un exemple.}
|
|
|
|
\vspace{0.8cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.4cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\textbf{3. Comment résoudre une égalité ?}
|
|
|
|
\vspace{0.8cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.4cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\end{tcolorbox}
|
|
|
|
% ============= PAGE 3 =============
|
|
%\newpage
|
|
|
|
\section*{Exercice 3 : Cas complexe avec 4 zones}
|
|
|
|
Voici une nouvelle situation avec 4 zones différentes. Classifiez le point $\star$ avec k = 5.
|
|
|
|
\vspace{0.3cm}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[scale=1.2]
|
|
% Grille
|
|
\draw[gray!30, step=1] (0,0) grid (10,10);
|
|
|
|
% Cadre
|
|
\draw[thick] (0,0) rectangle (10,10);
|
|
|
|
% Zone A (Rouge) - Dispersée
|
|
\foreach \point in {(1,8), (2,7), (1,6), (3,8.5), (2.5,6.5), (1.5,9)} {
|
|
\fill[region1] \point circle (0.15);
|
|
}
|
|
|
|
% Zone B (Bleu) - Coin supérieur droit
|
|
\foreach \point in {(8,8), (9,8.5), (8.5,7.5), (9,9), (8,9.5), (7.5,8)} {
|
|
\fill[region2] \point circle (0.15);
|
|
}
|
|
|
|
% Zone C (Vert) - En bas
|
|
\foreach \point in {(3,2), (4,1.5), (5,2), (6,1.5), (4,2.5), (5,1)} {
|
|
\fill[region3] \point circle (0.15);
|
|
}
|
|
|
|
% Zone D (Violet) - Centre-droit
|
|
\foreach \point in {(6,5), (7,5.5), (6.5,4.5), (7.5,5), (6,6), (7,6.5)} {
|
|
\fill[region5] \point circle (0.15);
|
|
}
|
|
|
|
% Point à classifier
|
|
\node[star,star points=5,star point ratio=2.5,fill=black,draw=black,thick,minimum size=0.6cm] at (5.5,5.5) {};
|
|
|
|
\end{tikzpicture}
|
|
|
|
\vspace{0.3cm}
|
|
|
|
% Légende
|
|
\begin{tabular}{ccccccc}
|
|
\textcolor{region1}{$\bullet$} Zone A & \quad &
|
|
\textcolor{region2}{$\bullet$} Zone B & \quad &
|
|
\textcolor{region3}{$\bullet$} Zone C & \quad &
|
|
\textcolor{region5}{$\bullet$} Zone D
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\subsection*{Travail à faire :}
|
|
|
|
\begin{enumerate}
|
|
\item Identifiez les 5 plus proches voisins et tracez les distances sur le graphique
|
|
|
|
\vspace{0.3cm}
|
|
\item Complétez le tableau de votes :
|
|
|
|
\vspace{0.3cm}
|
|
\begin{center}
|
|
\begin{tabular}{|c|c|c|c|}
|
|
\hline
|
|
Zone A & Zone B & Zone C & Zone D \\
|
|
\hline
|
|
\hspace{1.5cm} & \hspace{1.5cm} & \hspace{1.5cm} & \hspace{1.5cm} \\[0.5cm]
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\vspace{0.3cm}
|
|
\item Classification finale : Zone \underline{\hspace{4cm}}
|
|
|
|
\vspace{0.3cm}
|
|
\item Cette classification vous semble-t-elle cohérente visuellement ? Pourquoi ?
|
|
|
|
\vspace{0.8cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.4cm}
|
|
\underline{\hspace{14cm}}
|
|
\end{enumerate}
|
|
|
|
% ============= PAGE 4 =============
|
|
%\newpage
|
|
|
|
\section*{Exercice 4 : Création libre}
|
|
|
|
Créez votre propre situation avec au moins 3 zones différentes.
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[scale=1.3]
|
|
% Grille
|
|
\draw[gray!20, step=1] (0,0) grid (12,12);
|
|
|
|
% Cadre
|
|
\draw[very thick] (0,0) rectangle (12,12);
|
|
|
|
% Graduations
|
|
\foreach \x in {0,2,4,6,8,10,12} {
|
|
\node[below] at (\x,-0.2) {\small \x};
|
|
}
|
|
\foreach \y in {0,2,4,6,8,10,12} {
|
|
\node[left] at (-0.2,\y) {\small \y};
|
|
}
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\begin{tcolorbox}[colback=lightblue,colframe=blue!75!black,title=\textbf{Instructions}]
|
|
\begin{itemize}
|
|
\item Choisissez 3 à 5 zones (utilisez des couleurs différentes)
|
|
\item Placez au moins 5 points par zone
|
|
\item Placez une étoile noire (point à classifier)
|
|
\item Utilisez k = 5 et déterminez la zone du point noir
|
|
\end{itemize}
|
|
\end{tcolorbox}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\textbf{Vos zones :}
|
|
|
|
Zone 1 : \underline{\hspace{3cm}} (couleur : \underline{\hspace{2cm}})
|
|
|
|
Zone 2 : \underline{\hspace{3cm}} (couleur : \underline{\hspace{2cm}})
|
|
|
|
Zone 3 : \underline{\hspace{3cm}} (couleur : \underline{\hspace{2cm}})
|
|
|
|
\vspace{0.3cm}
|
|
|
|
\textbf{Classification avec k = 5 :} Zone \underline{\hspace{4cm}}
|
|
|
|
\vspace{1cm}
|
|
|
|
\section*{Pour aller plus loin}
|
|
|
|
\subsection*{Applications avec plusieurs classes}
|
|
|
|
L'algorithme k-NN avec plusieurs classes est utilisé pour :
|
|
\begin{itemize}
|
|
\item \textbf{Reconnaissance de chiffres} : Classifier 0, 1, 2, ..., 9 (10 classes)
|
|
\item \textbf{Classification de fleurs} : Différentes espèces (iris, rose, tulipe...)
|
|
\item \textbf{Zonage géographique} : Micro-régions, quartiers, zones climatiques
|
|
\item \textbf{Diagnostic médical} : Plusieurs types de maladies possibles
|
|
\item \textbf{Reconnaissance vocale} : Identifier différents phonèmes ou mots
|
|
\end{itemize}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\subsection*{Défis avec plusieurs classes}
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Égalités plus fréquentes} : Avec 2 classes, égalité rare. Avec 5 classes, beaucoup plus probable !
|
|
|
|
\item \textbf{Choix de k important} : Si k est trop petit, risque de ne pas capturer la diversité. Si trop grand, perd la précision locale.
|
|
|
|
\item \textbf{Classes déséquilibrées} : Si une zone a beaucoup plus de points qu'une autre, elle sera sur-représentée.
|
|
|
|
\item \textbf{Frontières complexes} : Avec plusieurs zones, les frontières peuvent être très irrégulières.
|
|
\end{enumerate}
|
|
|
|
\vspace{0.5cm}
|
|
|
|
\begin{tcolorbox}[colback=lightyellow,colframe=orange!75!black,title=\textbf{Question finale}]
|
|
Pourquoi est-il préférable d'utiliser un \textit{k} impair lorsqu'on a un nombre pair de classes ?
|
|
|
|
\vspace{1cm}
|
|
\underline{\hspace{14cm}}
|
|
|
|
\vspace{0.4cm}
|
|
\underline{\hspace{14cm}}
|
|
\end{tcolorbox}
|
|
|
|
\end{document}
|