Ce document constitue un examen de rattrapage en Data Mining, spécifiquement destiné aux étudiants du cycle Master 2 pour l'année universitaire 2023/2024. Il a pour objectif d'évaluer leur maîtrise des concepts fondamentaux et des techniques clés dans le domaine de l'exploration de données.
Ce fascicule aborde une série de questions et un exercice pratique, couvrant notamment les notions et applications suivantes :
- La recherche de règles d'association et les ensembles fréquents ;
- La régression linéaire et la corrélation ;
- L'optimisation par descente de gradient ;
- Les algorithmes de classification (ex: Naive Bayes) ;
- Les concepts de biais et de variance dans l'apprentissage automatique.
Examen Analyse de Données Data mining
Télécharger PDFConcepts Fondamentaux en Data Mining et Apprentissage Automatique
Ce document explore des questions clés en Data Mining et apprentissage automatique, couvrant l'analyse d'association, la régression, la corrélation, la descente de gradient, Naive Bayes, le biais et la variance. Il inclut également un exercice pratique sur l'extraction de règles d'association fortes.
Questions Théoriques et Conceptuelles
1. Les Étapes de la Recherche de Règles d'Association
La recherche de règles d'association, une tâche fondamentale en Data Mining, s'effectue généralement en deux étapes distinctes :
- Étape 1 : Génération des ensembles d'items fréquents. Cette étape consiste à identifier tous les ensembles d'items (ou "itemsets") qui apparaissent ensemble dans un nombre de transactions supérieur ou égal à un seuil de support minimum prédéfini. Des algorithmes comme Apriori sont couramment utilisés pour cela, en explorant systématiquement les combinaisons d'items.
- Étape 2 : Génération des règles d'association à partir des ensembles fréquents. Une fois les ensembles d'items fréquents identifiés, cette étape consiste à dériver des règles d'association "fortes" (par exemple : {Lait, Pain} => {Bière}) qui respectent non seulement le seuil de support minimum, mais aussi un seuil de confiance minimum. La confiance mesure la probabilité que l'item de conséquence soit acheté lorsque l'item d'antécédent l'est déjà.
2. Régression et Corrélation : Comprendre la Relation
La différence clé entre la régression et la corrélation réside dans la nature de la relation qu'elles étudient :
- La corrélation mesure la force et la direction de la relation linéaire entre deux variables. Elle est symétrique, ce qui signifie que la corrélation entre x et y est la même que celle entre y et x. Elle n'implique pas de causalité, seulement une association.
- La régression modélise la relation entre une variable dépendante (y) et une ou plusieurs variables indépendantes (x). Elle vise à prédire la valeur de y en fonction de x. Cette relation est asymétrique, car on essaie de prédire y à partir de x, et non l'inverse. Par exemple, prédire le salaire (y) en fonction des années d'expérience (x) est différent de prédire les années d'expérience en fonction du salaire.
Par conséquent, l'option correcte est : D. La relation est symétrique entre x et y en cas de corrélation mais en cas de régression elle n'est pas symétrique.
3. Choisir le Meilleur Modèle de Régression
Pour choisir entre deux modèles de régression (Modèle 1: y = 2x + 1 ou Modèle 2: y = 3x - 2) pour un ensemble de données donné, on évalue généralement lequel des deux minimise l'erreur entre les valeurs prédites par le modèle et les valeurs réelles observées. Une méthode courante est de calculer la Somme des Carrés des Résidus (SCR) ou l'Erreur Quadratique Moyenne (RMSE).
Données fournies :
| x | y réel |
|---|---|
| 2 | 3 |
| 3 | 5 |
| 4 | 5 |
| 5 | 7 |
| 6 | 8 |
Évaluation du Modèle 1: y = 2x + 1
| x | y réel | y prédit (2x+1) | Résidu (réel - prédit) | Résidu² |
|---|---|---|---|---|
| 2 | 3 | 2*2+1 = 5 | 3-5 = -2 | 4 |
| 3 | 5 | 2*3+1 = 7 | 5-7 = -2 | 4 |
| 4 | 5 | 2*4+1 = 9 | 5-9 = -4 | 16 |
| 5 | 7 | 2*5+1 = 11 | 7-11 = -4 | 16 |
| 6 | 8 | 2*6+1 = 13 | 8-13 = -5 | 25 |
Somme des Carrés des Résidus pour Modèle 1 = 4 + 4 + 16 + 16 + 25 = 65
Évaluation du Modèle 2: y = 3x - 2
| x | y réel | y prédit (3x-2) | Résidu (réel - prédit) | Résidu² |
|---|---|---|---|---|
| 2 | 3 | 3*2-2 = 4 | 3-4 = -1 | 1 |
| 3 | 5 | 3*3-2 = 7 | 5-7 = -2 | 4 |
| 4 | 5 | 3*4-2 = 10 | 5-10 = -5 | 25 |
| 5 | 7 | 3*5-2 = 13 | 7-13 = -6 | 36 |
| 6 | 8 | 3*6-2 = 16 | 8-16 = -8 | 64 |
Somme des Carrés des Résidus pour Modèle 2 = 1 + 4 + 25 + 36 + 64 = 130
En comparant les Sommes des Carrés des Résidus, le Modèle 1 (y = 2x + 1) est préférable car il présente une SCR de 65, ce qui est significativement inférieur à la SCR de 130 du Modèle 2. Un modèle avec une somme des carrés des résidus plus faible indique un meilleur ajustement aux données observées.
4. La Formule de Mise à Jour des Paramètres dans la Descente de Gradient
La descente de gradient est un algorithme d'optimisation itératif utilisé pour trouver les paramètres d'un modèle qui minimisent une fonction de coût. Pour la régression linéaire, la formule de mise à jour des paramètres (θj) est :
θj := θj - α * (1/m) * Σmi=1 (hθ(x(i)) - y(i)) * x(i)j
Où :
θjest le paramètre à mettre à jour.α(alpha) est le taux d'apprentissage (learning rate), qui contrôle la taille du pas à chaque itération.mest le nombre d'exemples d'apprentissage.hθ(x(i))est la prédiction du modèle pour le i-ème exemple.y(i)est la valeur réelle du i-ème exemple.x(i)jest la j-ième caractéristique (feature) du i-ème exemple. Pourθ0(l'ordonnée à l'origine ou biais),x(i)0est généralement considéré comme 1.Σreprésente la somme sur tous les exemples d'apprentissage.
En nettoyant les caractères invalides de la proposition A et la reformulant correctement, on obtient une structure similaire à la formule standard de la descente de gradient.
5. Calcul des Paramètres après une Itération de Descente de Gradient
Pour un modèle de régression linéaire simple h(x) = θ0 + θ1x, et les données x = (1, 2, 3), y = (1.5, 2, 2.5) avec m = 3 exemples, un taux d'apprentissage α = 1, et des paramètres initiaux θ0 = 0, θ1 = 0 :
Étape 1 : Calcul des erreurs initiales (h(x(i)) - y(i))
Puisque θ0 = 0 et θ1 = 0, h(x(i)) = 0 pour tous les exemples.
- Pour x=1, y=1.5 :
h(x) - y = 0 - 1.5 = -1.5 - Pour x=2, y=2 :
h(x) - y = 0 - 2 = -2 - Pour x=3, y=2.5 :
h(x) - y = 0 - 2.5 = -2.5
Étape 2 : Calcul du gradient pour θ0
∂J/∂θ0 = (1/m) * Σ(h(x(i)) - y(i)) * x(i)0 (où x(i)0 = 1)
∂J/∂θ0 = (1/3) * ((-1.5 * 1) + (-2 * 1) + (-2.5 * 1)) = (1/3) * (-1.5 - 2 - 2.5) = (1/3) * (-6) = -2
Mise à jour de θ0 : θ0 = θ0 - α * ∂J/∂θ0 = 0 - 1 * (-2) = 2
Étape 3 : Calcul du gradient pour θ1
∂J/∂θ1 = (1/m) * Σ(h(x(i)) - y(i)) * x(i)1 (où x(i)1 est la valeur de x)
∂J/∂θ1 = (1/3) * ((-1.5 * 1) + (-2 * 2) + (-2.5 * 3)) = (1/3) * (-1.5 - 4 - 7.5) = (1/3) * (-13) ≈ -4.333
Mise à jour de θ1 : θ1 = θ1 - α * ∂J/∂θ1 = 0 - 1 * (-4.333) ≈ 4.333
Après une itération de la descente de gradient, les valeurs estimées des paramètres sont : θ0 ≈ 2 et θ1 ≈ 4.333.
6. Pourquoi l'algorithme Naive Bayes est "Naïf" ?
La "naïveté" de l'algorithme Naive Bayes provient de son hypothèse fondamentale : il suppose que les caractéristiques (ou prédicteurs) sont conditionnellement indépendantes les unes des autres, étant donné la classe. Cela signifie que la présence ou l'absence d'une caractéristique n'affecte pas la probabilité d'une autre caractéristique, une fois que l'on connaît la classe de l'observation. Cette hypothèse est rarement vraie dans la réalité (les caractéristiques sont souvent dépendantes), mais elle simplifie considérablement les calculs et rend l'algorithme très efficace.
Parmi les options proposées, aucune ne formule directement cette raison. Si l'on interprète l'option B ("Les caractéristiques (features) prédictives utilisées pour la prédiction sont dépendantes.") comme décrivant la réalité que l'algorithme ignore par son hypothèse d'indépendance, elle pourrait indirectement être liée. Cependant, la raison directe de l'appellation "Naïf" est l'hypothèse d'indépendance. Ainsi, la réponse la plus précise, compte tenu des options, est D. Aucune de ces trois réponses, car aucune ne décrit précisément l'hypothèse d'indépendance conditionnelle comme cause directe de la "naïveté".
7. Biais et Variance en Apprentissage Automatique
Le biais et la variance sont deux sources d'erreur importantes dans l'apprentissage automatique, qui influencent la performance d'un modèle :
- Biais élevé (High Bias) : Cela se produit lorsque le modèle est trop simple et ne parvient pas à capturer la complexité sous-jacente des données d'entraînement. Le modèle fait alors des suppositions trop fortes sur les données. Un biais élevé est souvent associé à un sous-ajustement (underfitting), où le modèle ne fonctionne pas bien ni sur les données d'entraînement, ni sur les nouvelles données.
- Variance élevée (High Variance) : Cela se produit lorsque le modèle est trop complexe et capture non seulement les motifs réels des données d'entraînement, mais aussi le bruit et les fluctuations aléatoires. Le modèle s'adapte alors trop spécifiquement aux données d'entraînement. Une variance élevée est souvent associée à un sur-ajustement (overfitting), où le modèle fonctionne très bien sur les données d'entraînement mais très mal sur les nouvelles données non vues.
- Le biais et la variance sont souvent en compromis (trade-off) : réduire l'un a tendance à augmenter l'autre. Bien qu'ils ne soient pas strictement "inversement proportionnels", il existe une relation de compromis fondamentale.
Les propositions A et B sont correctes et décrivent bien les concepts de sous-ajustement et de sur-ajustement. La proposition C est une simplification du concept de compromis entre biais et variance. Dans un contexte de QCM où A et B sont clairement vraies, C est souvent acceptée comme une description du compromis.
Par conséquent, l'option la plus complète est : D. Les 3 propositions ci-dessus sont vraies.
Exercice Pratique : Règles d'Association pour un Site de Vente en Ligne
Cet exercice explore l'application des règles d'association dans le contexte d'un site de vente en ligne pour recommander des produits.
1. Tâche de Data Mining Appropriée
Pour afficher les DVDs fréquemment achetés ensemble avec un DVD recherché, la tâche de Data Mining la plus appropriée est l'analyse des règles d'association (ou "Association Rule Mining"). Cette tâche permet de découvrir des relations ou des dépendances intéressantes entre de grands ensembles de données, souvent utilisées dans les systèmes de recommandation de produits ("les clients qui ont acheté X ont aussi acheté Y").
2. Extraction des Ensembles Fréquemment Achetés Ensemble (min_sup = 2 ou 2/9)
Le seuil de support minimum (min_sup) est fixé à 2, ce qui signifie qu'un ensemble d'items doit apparaître dans au moins 2 transactions pour être considéré comme fréquent. Le nombre total de transactions (m) est 9. Donc, min_sup = 2/9 ≈ 22.2%.
Données des transactions :
| Trans. | DVDs |
|---|---|
| T1 | D1, D2, D3, D5 |
| T2 | D1, D3 |
| T3 | D1, D2, D5 |
| T4 | D2, D4 |
| T5 | D2, D3 |
| T6 | D1, D2, D4 |
| T7 | D1, D3 |
| T8 | D2, D3 |
| T9 | D1, D2, D3 |
Étape 1 : Fréquence des items individuels (Itemsets de taille 1)
- D1 : 6 (T1, T2, T3, T6, T7, T9)
- D2 : 7 (T1, T3, T4, T5, T6, T8, T9)
- D3 : 6 (T1, T2, T5, T7, T8, T9)
- D4 : 2 (T4, T6)
- D5 : 2 (T1, T3)
Tous les items (D1, D2, D3, D4, D5) ont un support >= 2, ils sont donc tous fréquents.
Étape 2 : Fréquence des paires d'items (Itemsets de taille 2)
- {D1, D2} : 4 (T1, T3, T6, T9)
- {D1, D3} : 4 (T1, T2, T7, T9)
- {D1, D4} : 1 (T6) - Non fréquent
- {D1, D5} : 2 (T1, T3)
- {D2, D3} : 4 (T1, T5, T8, T9)
- {D2, D4} : 2 (T4, T6)
- {D2, D5} : 2 (T1, T3)
- {D3, D4} : 0 - Non fréquent
- {D3, D5} : 1 (T1) - Non fréquent
- {D4, D5} : 0 - Non fréquent
Itemsets de taille 2 fréquents : {D1, D2} (4), {D1, D3} (4), {D1, D5} (2), {D2, D3} (4), {D2, D4} (2), {D2, D5} (2)
Étape 3 : Fréquence des triplets d'items (Itemsets de taille 3)
Candidats formés à partir des paires fréquentes :
- {D1, D2, D3} : 2 (T1, T9)
- {D1, D2, D5} : 2 (T1, T3)
- {D1, D3, D5} : 1 (T1) - Non fréquent
- {D2, D3, D5} : 1 (T1) - Non fréquent
Itemsets de taille 3 fréquents : {D1, D2, D3} (2), {D1, D2, D5} (2)
Étape 4 : Fréquence des quadruplets d'items (Itemsets de taille 4)
Candidats formés à partir des triplets fréquents :
- {D1, D2, D3, D5} : 1 (T1) - Non fréquent
Les ensembles de DVDs fréquemment achetés ensemble sont :
- Taille 1 : {D1}, {D2}, {D3}, {D4}, {D5}
- Taille 2 : {D1, D2}, {D1, D3}, {D1, D5}, {D2, D3}, {D2, D4}, {D2, D5}
- Taille 3 : {D1, D2, D3}, {D1, D2, D5}
3. Déduction des Règles d'Association Fortes (min_conf = 70%)
Nous cherchons des règles de la forme {Item_A, Item_B} => {Item_C}. Le support des itemsets de taille 3 fréquents est utilisé.
Rappel : Confiance (A => B) = Support(A U B) / Support(A)
Pour l'itemset fréquent {D1, D2, D3} (Support = 2)
- {D1, D2} => {D3} : Confiance = Support({D1, D2, D3}) / Support({D1, D2}) = 2 / 4 = 0.5 (50%) - Non forte
- {D1, D3} => {D2} : Confiance = Support({D1, D2, D3}) / Support({D1, D3}) = 2 / 4 = 0.5 (50%) - Non forte
- {D2, D3} => {D1} : Confiance = Support({D1, D2, D3}) / Support({D2, D3}) = 2 / 4 = 0.5 (50%) - Non forte
Pour l'itemset fréquent {D1, D2, D5} (Support = 2)
- {D1, D2} => {D5} : Confiance = Support({D1, D2, D5}) / Support({D1, D2}) = 2 / 4 = 0.5 (50%) - Non forte
- {D1, D5} => {D2} : Confiance = Support({D1, D2, D5}) / Support({D1, D5}) = 2 / 2 = 1.0 (100%) - Forte !
- {D2, D5} => {D1} : Confiance = Support({D1, D2, D5}) / Support({D2, D5}) = 2 / 2 = 1.0 (100%) - Forte !
Les règles d'association fortes composées de deux items comme antécédent et un item comme conséquence sont :
- {D1, D5} => {D2} (Support = 2, Confiance = 100%)
- {D2, D5} => {D1} (Support = 2, Confiance = 100%)
Interprétation d'une règle : {D1, D5} => {D2}
Cette règle signifie que dans 100% des cas où les DVDs D1 et D5 sont achetés ensemble, le DVD D2 est également acheté. C'est une information très forte pour un site de vente en ligne, qui pourrait utiliser cette règle pour recommander D2 aux clients qui ont D1 et D5 dans leur panier, ou l'afficher comme "produit fréquemment acheté ensemble" sur les pages de D1 ou D5.
Foire Aux Questions (FAQ) sur le Data Mining
Qu'est-ce que l'analyse des règles d'association et à quoi sert-elle ?
L'analyse des règles d'association est une technique de Data Mining visant à découvrir des relations ou des "règles" entre des variables dans de grandes bases de données. Elle est couramment utilisée dans l'analyse de panier d'achat pour identifier les produits fréquemment achetés ensemble, ce qui aide les entreprises à optimiser l'agencement des magasins, à faire des ventes croisées ou à créer des systèmes de recommandation.
Quelle est la différence fondamentale entre le biais et la variance dans les modèles d'apprentissage automatique ?
Le biais représente l'erreur due à des hypothèses trop simplistes dans l'algorithme d'apprentissage, conduisant à un "sous-ajustement" (underfitting) du modèle. La variance, quant à elle, représente l'erreur due à la sensibilité du modèle aux petites fluctuations des données d'entraînement, entraînant un "sur-ajustement" (overfitting) et une mauvaise généralisation sur de nouvelles données. Il existe un compromis entre ces deux sources d'erreur.
Comment la descente de gradient aide-t-elle à entraîner un modèle de régression linéaire ?
La descente de gradient est un algorithme d'optimisation qui minimise itérativement la fonction de coût d'un modèle (comme l'erreur quadratique moyenne pour la régression linéaire). Elle ajuste les paramètres du modèle (coefficients) dans la direction opposée au gradient de la fonction de coût, c'est-à-dire dans la direction où la fonction de coût diminue le plus rapidement, jusqu'à atteindre un minimum local ou global.