Data Mining

John Samuel
CPE Lyon

Année: 2025-2026
Courriel: john.samuel@cpe.fr

Creative Commons License

Data Mining

Objectifs

  1. Apprentissage machine
  2. Apprentissage profond
  3. Apprentissage par renforcement
  4. Licences de données, éthique et vie privée

3.1. Apprentissage machine

Neurones biologiques

  1. https://en.wikipedia.org/wiki/File:Neuron3.png
Biological neuron structure
Neurone biologique1

3.1. Apprentissage machine

Introduction

Colored artificial neural network diagram
Réseaux de neurones artificiels

3.1. Apprentissage machine

Réseau de neurones

Les réseaux de neurones sont couramment utilisés dans le domaine de l'apprentissage machine, en particulier dans des tâches telles que la classification, la régression, la reconnaissance d'images, le traitement du langage naturel, et bien d'autres. Un réseau de neurones artificiels est une collection d'unités interconnectées appelées neurones artificiels. Ces réseaux sont inspirés de la structure du cerveau biologique

3.1. Apprentissage machine

Réseau de neurones

3.1. Apprentissage machine

Les couches

Les neurones sont organisés en couches. Il existe généralement trois types de couches dans un réseau de neurones :

3.1. Apprentissage machine

Les couches

3.1. Apprentissage machine

L'entraînement

L'objectif global de l'entraînement est d'ajuster les poids du réseau de manière à ce qu'il puisse généraliser à de nouvelles données, produisant des résultats précis pour des exemples qu'il n'a pas vu pendant l'entraînement.

3.1. Apprentissage machine

L'entraînement

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

Neurones

Chaque neurone artificiel a des entrées, qui peuvent être les valeurs caractéristiques d'un échantillon de données externe, et produit une seule sortie. Cette sortie peut être envoyée à plusieurs autres neurones, formant ainsi la structure interconnectée du réseau neuronal. La fonction d'activation joue un rôle crucial dans le calcul de la sortie d'un neurone. Le processus comprend les étapes suivantes :

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

Neurones

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

Connexions et poids: Le réseau de neurones est constitué de connexions, où chaque connexion transmet la sortie d'un neurone comme entrée à un autre neurone. Chaque connexion possède un poids qui représente son importance relative dans la transmission du signal.

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

Fonction de propagation

Calcul de l'entrée d'un neurone : La fonction de propagation calcule l'entrée d'un neurone en prenant la somme pondérée des sorties de ses prédécesseurs, où chaque sortie est multipliée par le poids de la connexion correspondante. Cela peut être représenté mathématiquement comme suit :

\[ \text{Entrée du Neurone} = \sum_{i=1}^{n} (\text{Sortie du Prédécesseur}_i \times \text{Poids}_i) \] où \(n\) est le nombre de connexions d'entrée.

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

Fonction de propagation

Ajout d'un terme de biais : Un terme de biais peut être ajouté au résultat de la propagation. Le terme de biais est un paramètre supplémentaire, souvent représenté par \(b\) dans les équations, qui permet au modèle d'apprendre un décalage ou une translation. Cela donne la forme finale de l'entrée du neurone :

\[ \text{Entrée du Neurone} = \sum_{i=1}^{n} (\text{Sortie du Prédécesseur}_i \times \text{Poids}_i) + \text{Biais} \]

3.1. Apprentissage machine

Composants des réseaux de neurones artificiels

Fonction de propagation

Fonction d'Activation : Après avoir calculé l'entrée du neurone, celle-ci est passée à travers une fonction d'activation. Cette fonction introduit une non-linéarité dans le modèle, permettant au réseau de neurones de capturer des relations complexes et d'apprendre des modèles non linéaires. Certaines des fonctions d'activation couramment utilisées comprennent :

3.1. Apprentissage machine

Perceptron

Le perceptron est un algorithme d'apprentissage supervisé utilisé pour la classification binaire. Il est conçu pour résoudre des problèmes où l'objectif est de déterminer si une entrée donnée appartient ou non à une classe particulière.

3.1. Apprentissage machine

Perceptron

3.1. Apprentissage machine

Perceptron

Perceptron example with linear boundary
Mise à jour de la frontière linéaire d'un perceptron.
  1. Source: https://en.wikipedia.org/wiki/File:Perceptron_example.svg

3.1. Apprentissage machine

Perceptron

Perceptron neural network diagram
Perceptron

3.1. Apprentissage machine

Perceptron: Définition formelle

3.1. Apprentissage machine

Perceptron: Définition formelle

3.1. Apprentissage machine

Perceptron : Étapes

  1. Initialiser les poids et les seuils
  2. Pour chaque exemple, \((x_j, d_j)\) dans l'ensemble d'entraînement
    • Calculer la sortie actuelle : \[y_j(t)= f[w(t).x_j]\] \[= f[w_0(t)x_{j,0} + w_1(t)x_{j,1} + w_2(t)x_{j,2} + \dotsb + w_n(t)x_{j,n}]\]
    • Calculer le poids: \[w_i(t + 1) = w_i(t) + r. (d_j-y_j(t))x_{j,i}\]
    \(r\) est le taux d'apprentissage.

3.1. Apprentissage machine

Perceptron : Étapes

  1. Répétez l'étape 2 jusqu'à l'erreur d'itération \[\frac{1}{s} (Σ |d_j - y_j(t)|)\] est inférieur au seuil spécifié par l'utilisateur \(\gamma\), ou un nombre prédéterminé d'itérations ont été effectuées, où \(s\) est à nouveau la taille de l'ensemble de l'échantillon.

3.1. Apprentissage machine

Fonction d'Échelon (Step Function)

Le perceptron utilise généralement une fonction d'activation simple, et la fonction d'échelon (step function) est fréquemment choisie pour cette tâche.

Définition

La fonction d'échelon attribue une sortie de 1 si la somme pondérée des entrées dépasse un certain seuil, et 0 sinon.

\( f(x) = \begin{cases} 1 & \text{si } x \geq \text{seuil} \\ 0 & \text{sinon} \end{cases} \)

Points clés

  • Perceptron : décision binaire nette (step) pour séparer des classes linéaires.
  • Limite : la fonction n'est pas dérivable → pas de rétropropagation classique.
  • Réseaux profonds : préfèrent des activations dérivables (sigmoïde, tanh, ReLU).

3.1. Apprentissage machine

Fonction d'activation: fonction d'identité

Équation

\[f(x)=x\]

Dérivée

\[f'(x)=1\]

Points clés

  • Sortie : conserve la valeur réelle (pas de non-linéarité).
  • Usage : sortie de régression (prédire une valeur continue).
Identity activation function
Fonction d'identité

3.1. Apprentissage machine

Fonction d'activation: pas binaire

Équation

\[f(x) = \begin{cases} 0 & \text{for } x < 0\\ 1 & \text{for } x \ge 0 \end{cases} \]

Dérivée

\[f'(x) = \begin{cases} 0 & \text{for } x \ne 0\\ ? & \text{for } x = 0\end{cases}\]

Points clés

  • Décision : classe 0/1 nette (seuil).
  • Limite : non dérivable → difficile à entraîner par gradient.
Binary step activation function
Pas binaire

3.1. Apprentissage machine

Fonction d'activation: fonction sigmoïde

Équation

\[f(x)=\sigma(x)=\frac{1}{1+e^{-x}}\]

Dérivée

\[f'(x)=f(x)(1-f(x))\]

Points clés

  • Sortie : entre 0 et 1 → interprétable comme probabilité.
  • Usage : sortie binaire, mais saturations possibles aux extrêmes.
Sigmoid logistic curve
La fonction sigmoïde

3.1. Apprentissage machine

Fonction d'activation: TanH

Équation

\[f(x)=\tanh(x)=\frac{(e^{x} - e^{-x})}{(e^{x} + e^{-x})}\]

Dérivée

\[f'(x)=1-f(x)^2\]

Points clés

  • Sortie : entre -1 et 1 → centrée, utile en couches cachées.
  • Limite : saturation possible pour |x| grand.
Tanh activation function
TanH

3.1. Apprentissage machine

Fonction d'activation: Rectified linear unit: ReLU

Équation

\[f(x) = \begin{cases} 0 & \text{for } x \le 0\\ x & \text{for } x > 0\end{cases} = \max\{0,x\}= x \textbf{1}_{x>0}\]

Dérivée

\[f'(x) = \begin{cases} 0 & \text{for } x \le 0\\ 1 & \text{for } x > 0\end{cases}\]

Points clés

  • Avantage : gradients simples, apprentissage rapide.
  • Risque : neurones morts si x ≤ 0 trop souvent.
ReLU activation function
Unité linéaire rectifiée (ReLU)

3.1. Apprentissage machine

Fonction d'activation: Gaussien

Équation

\[f(x)=e^{-x^2}\]

Dérivée

\[f'(x)=-2xe^{-x^2}\]

Points clés

  • Sortie : centrée sur 0, décroît vite → réponse locale.
  • Usage : réseaux à fonctions de base radiale (RBF).
Gaussian activation function
Gaussien

3.1. Apprentissage machine

Perceptron multiclasse

3.2. Apprentissage profond

Un réseau de neurones profond, également connu sous le nom de réseau de neurones profondément hiérarchisé ou réseau neuronal profond (DNN pour Deep Neural Network en anglais), est un type de réseau de neurones artificiels qui comprend plusieurs couches de traitement, généralement plus de deux. Ces réseaux sont appelés "profonds" en raison de leur architecture empilée de couches, permettant la création de représentations hiérarchiques complexes des données.

Architecture en couches : Les réseaux de neurones profonds sont composés de multiples couches, généralement divisées en trois types principaux :

3.2. Apprentissage profond

3.2. Apprentissage profond

Apprentissage profond

3.2. Apprentissage profond

Exemple: Tensorflow

# Importation des bibliothèques nécessaires de TensorFlow
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import SGD

# Étape 1: Création d'un modèle séquentiel
model = Sequential()

# Étape 2: Ajout d'une couche dense avec une fonction d'activation ReLU
# La couche a 4 neurones, une fonction d'activation 'relu', et prend une entrée de forme (3,)
model.add(Dense(4, activation='relu', input_shape=(3,)))

3.2. Apprentissage profond

Exemple: Tensorflow

# Étape 3: Ajout d'une couche dense de sortie avec une fonction d'activation softmax
# La couche a 2 neurones pour une tâche de classification binaire, et softmax est utilisé
# pour obtenir des probabilités
model.add(Dense(units=2, activation='softmax'))

# Étape 4: Compilation du modèle
# Utilisation de la descente de gradient stochastique (SGD) comme optimiseur avec un taux d'apprentissage de 0.01
# La fonction de perte est 'mean_squared_error' pour un problème de régression
# Les performances du modèle seront mesurées en termes de 'accuracy' (précision)
sgd = SGD(lr=0.01)
model.compile(loss='mean_squared_error', optimizer=sgd, metrics=['accuracy'])

3.2. Apprentissage profond

3.2. Apprentissage profond

Tensorflow Neural Network Playground
Source: https://playground.tensorflow.org/

3.2. Apprentissage profond

Tensorflow Neural Network Playground example 2
Source: https://playground.tensorflow.org/

3.2. Apprentissage profond

Composants des réseaux de neurones artificiels

Organisation

Principe : l'information circule de l'entrée vers la sortie via des couches cachées, avec des poids ajustés pendant l'apprentissage.

3.2. Apprentissage profond

Composants des réseaux de neurones artificiels

Organisation

3.2. Apprentissage profond

Composants des réseaux de neurones artificiels

Organisation et connectivité

3.2. Apprentissage profond

Réseaux de neurones convolutionnels

Deep learning convolutional neural network
Réseaux de neurones convolutionnels

    Source: https://en.wikipedia.org/wiki/File:Deep_Learning.jpg

3.2. Apprentissage profond

Réseaux de neurones convolutionnels

Typical convolutional neural network architecture

3.2. Apprentissage profond

Réseaux de neurones convolutionnels

  • Définition : réseau spécialisé pour données structurées en grille.
  • Partage de poids : mêmes filtres appliqués partout dans l'image.
  • Récepteurs locaux : chaque neurone voit une petite zone.
  • Avantage : moins de paramètres, meilleure généralisation.
  • Conséquence : invariance partielle aux translations.
  • Exemple : un filtre détecte un bord vertical.
  • Application : reconnaissance de chiffres manuscrits.

Exemple math.

\(y_{i,j}=\sum_{u,v}x_{i+u,j+v}\,w_{u,v}\)

Exemple commun : image 5×5, noyau 3×3.

3.2. Apprentissage profond

Réseaux de neurones convolutionnels

  • Convolution : filtres linéaires pour extraire des motifs locaux.
  • Stride / padding : contrôlent la taille des cartes de caractéristiques.
  • Cartes de traits : plusieurs filtres → plusieurs canaux.
  • Intuition : chaque filtre détecte un motif spécifique.
  • Calcul : coût proportionnel au nombre de filtres et à la taille des cartes.
  • Exemple : padding=1 conserve la taille de l'image.
  • Application : détection de bords en vision.

Stride : \(H_{out}=\left\lfloor\frac{H+2P-K}{S}\right\rfloor+1\)

Exemple commun : H=5, K=3, P=1, S=1 ⇒ \(H_{out}=5\).

3.2. Apprentissage profond

Réseaux de neurones convolutionnels

  • Couches convolutives : extraire des caractéristiques via plusieurs filtres.
  • Pooling : réduction spatiale (max/avg) et invariance locale.
  • Effet : moins de paramètres, moins de surapprentissage.
  • Variante : global average pooling.
  • Exemple : max‑pooling 2×2 → 1 valeur.

Max-pooling

\(y_{i,j}=\max\limits_{(u,v)\in\Omega}x_{i+u,j+v}\)

Exemple : fenêtre 2×2 → 1 valeur.

3.2. Apprentissage profond

Réseaux de neurones convolutionnels: architecture

  • Hiérarchie : motifs simples → motifs complexes.
  • Structure : entrée → conv → pooling → couches denses → sortie.
  • Normalisation : stabilise l'entraînement.
  • Lecture finale : softmax / régression selon la tâche.
  • Profondeur : plus de couches = plus d'abstraction.
  • Exemple : conv(3×3) → pool → dense → softmax.
  • Application : tri automatique de photos.

Softmax

\(p_k=\frac{e^{z_k}}{\sum_j e^{z_j}}\)

Exemple commun : 3 classes → \(\sum p_k=1\).

3.2. Apprentissage profond

Réseaux de neurones convolutionnels: architecture

  • Activation (ReLU) : non-linéarité essentielle à l'apprentissage.
  • Régularisation : dropout, data augmentation.
  • Normalisation : batch norm pour stabilité.
  • Convergence : taux d’apprentissage + init.
  • Exemple : dropout=0.5.

ReLU

\(f(x)=\max(0,x)\)

Exemple : x=-2 ⇒ 0, x=3 ⇒ 3.

Résumé : caractéristiques locales → représentations globales via couches successives.

3.2. Apprentissage profond

Noyau (traitement d'image)

  • Noyau / filtre : petite matrice appliquée par convolution.
  • Taille : ex. 3×3, 5×5, 7×7 selon le contexte.
  • Canaux : un filtre par canal d'entrée (RGB, etc.).
  • Effets : contours, détails, mise en évidence de motifs.
  • Paramètres : poids du noyau appris pendant l'entraînement.
  • Exemple : noyau de Sobel pour les contours.
  • Application : rehaussement de détails en imagerie.

Sobel

\(\begin{bmatrix}-1&0&1\\-2&0&2\\-1&0&1\end{bmatrix}\)

Exemple commun : applique un gradient horizontal.

3.2. Apprentissage profond

Noyau (traitement d'image)

  • Apprentissage automatique : les filtres sont appris, pas fixés à la main.
  • Optimisation : gradient + rétropropagation.
  • Visualisation : inspection des filtres pour interpréter le modèle.
  • Stabilité : régularisation pour éviter des filtres bruités.
  • Exemple : afficher les filtres de la 1ʳᵉ couche.
  • Application : interprétabilité en vision médicale.

Update

\(w \leftarrow w-\eta \nabla_w L\)

Exemple commun : \(\eta=0{,}01\).

3.2. Apprentissage profond

Noyau (traitement d'image)

  • Hiérarchie : filtres simples → filtres complexes.
  • Pooling : réduction de dimension sans perdre l'essentiel.
  • Invariance : robustesse aux petites translations.
  • Résultat : représentations abstraites de l'image.
  • Généralisation : meilleure tolérance au bruit visuel.
  • Exemple : même objet détecté après un léger décalage.
  • Application : surveillance vidéo avec variations de caméra.

Invariance

\(x' = x+\epsilon \Rightarrow f(x')\approx f(x)\)

Exemple commun : \(\epsilon\) petit décalage.

3.3. Apprentissage par renforcement

Apprentissage par renforcement

  • Définition : apprentissage par interaction avec l'environnement.
  • Éléments : état, action, récompense, politique.
  • Exploration / exploitation : équilibre entre essayer et optimiser.
  • Signal : récompenses positives ou négatives.
  • Objectif : maximiser la récompense cumulée.
  • Exemples : jeux, robotique, optimisation de trafic.
Reinforcement learning diagram

3.4. Licences, Ethiques et la vie privé

Licences, Éthique et la vie privé

Open Definition logo Privacy written in tiles

3.4. Licences, Ethiques et la vie privé

Licences ouvertes

Creative Commons BY-NC-ND license Creative Commons BY-NC-SA license Creative Commons BY-NC license Creative Commons BY-ND license Creative Commons BY-SA license Creative Commons BY license Creative Commons Zero license Public Domain Mark
Exemples : Creative Commons (CC)

3.4. Licences, Ethiques et la vie privé

Spectre des licences CC

Creative Commons license spectrum
Exemples : Creative Commons (CC)

3.4. Licences, Ethiques et la vie privé

Données ouvertes

Wikimedia logo family
Données ouvertes

3.4. Licences, Ethiques et la vie privé

Linked Open Data (LOD)

LOD Cloud diagram 2014
Données ouvertes liées (Linked Open Data)

3.4. Licences, Ethiques et la vie privé

Internet Archive logo
Données archivées
  • Bibliothèque numérique : Une organisation à but non lucratif qui vise à fournir un accès universel à toutes les connaissances.
  • Wayback Machine : Archive une grande partie du World Wide Web, permettant de consulter des versions historiques de sites web.
  • Collections numériques : Héberge une vaste collection de médias numériques, y compris des livres, des films, de la musique et des logiciels.

Références

Ressources en ligne

Références

Couleurs

Images