📋 Plan du Cours
- Méthodes d'apprentissage supervisé
- Algorithmes de classification
- Algorithmes de régression
- Séparation linéaire
- Modèles ensemblistes
- Choix de méthode
- Validation et évaluation
- Utilisation de Scikit-learn
📖 1. Méthodes d'apprentissage supervisé
🔑 Notions clés & Définitions
- Apprentissage supervisé : Méthode d'apprentissage automatique où le modèle est entraîné à partir de données étiquetées, c’est-à-dire avec des entrées associées à des sorties connues. AUTEUR (date) : "apprentissage à partir de données étiquetées" (source).
- Classification : Tâche consistant à prédire une catégorie ou une classe parmi un ensemble fini, en utilisant des données d’entrée. AUTEUR (date) : "prédiction de catégories" (source).
- Régression : Tâche de prédiction de valeurs continues à partir de données d’entrée, comme une température ou un prix. AUTEUR (date) : "prédiction de valeurs continues" (source).
- Différence entre classification et régression : La classification vise à assigner une étiquette discrète, tandis que la régression prédit une valeur numérique continue. Ces deux tâches utilisent souvent des méthodes similaires mais adaptées à leur type de sortie.
- Exemples de méthodes classiques d’apprentissage supervisé : Incluent la régression linéaire, la régression polynomiale, les arbres de décision, les forêts aléatoires, SVM, réseaux de neurones, et la régression logistique (voir section 2 et 3 pour détails).
📝 Points essentiels
- L’apprentissage supervisé nécessite des données étiquetées pour entraîner le modèle, ce qui permet une généralisation à de nouvelles données.
- La classification utilise des algorithmes comme les arbres de décision, SVM, ou réseaux de neurones pour prédire des catégories, tandis que la régression emploie des méthodes telles que la régression linéaire ou polynomiale pour estimer des valeurs continues.
- La différence fondamentale réside dans la nature de la sortie : discrète pour la classification, continue pour la régression.
- La sélection de la méthode dépend du problème, de la nature et du volume des données, ainsi que des propriétés spécifiques du problème à résoudre. Il n’existe pas de méthode universelle ("pas de méthode miracle").
- Les modèles classiques incluent notamment la régression linéaire, la régression polynomiale, la régression logistique, les arbres de décision, les forêts aléatoires, SVM, et réseaux de neurones, souvent implémentés via des bibliothèques comme Scikit-learn.
💡 À retenir
L’apprentissage supervisé consiste à entraîner des modèles à partir de données étiquetées, en distinguant principalement la classification, qui prédit des catégories, de la régression, qui prédit des valeurs continues. La méthode choisie dépend du problème, des données et de leurs propriétés.
📖 2. Algorithmes de classification
🔑 Notions clés & Définitions
- K plus proches voisins (KNN) : Méthode de classification basée sur la proximité des données. Elle attribue une classe à un nouvel exemple en fonction de la majorité des classes de ses K voisins les plus proches (voir aussi "classification : vote majoritaire"). AUTEUR (date) : principe fondamental de la méthode.
- Classifieurs bayésiens : Approche probabiliste utilisant le théorème de Bayes pour prédire la classe la plus probable d’un exemple, en supposant souvent l’indépendance conditionnelle entre les variables (voir aussi "classification" en général). AUTEUR (date) : fondement théorique de la méthode.
- Arbres de décision : Modèles qui segmentent les données en fonction de tests sur les variables, formant une structure arborescente. La prise de décision s’effectue en suivant les branches selon les critères appris (exemple : Titanic, variables de test, valeurs limites). AUTEUR (date) : principe de segmentation hiérarchique.
- Support Vector Machines (SVM) : Classifieurs qui cherchent à maximiser la marge entre deux classes en utilisant un hyperplan linéaire ou non linéaire via des plongements en dimension supérieure. AUTEUR (date) : "Support Vector Machines" (Vapnik, 1995).
- Réseaux de neurones : Modèles inspirés du cerveau humain, composés de couches de neurones artificiels, capables d’apprendre des représentations complexes pour la classification (ex : MLPClassifier dans Scikit-learn).
📝 Points essentiels
- La classification par KNN repose sur la majorité des K voisins pour déterminer la classe d’un nouvel exemple, avec une simplicité et une efficacité appréciées pour des données peu bruitées. La valeur de K influence la sensibilité au bruit et la généralisation.
- Les classifieurs bayésiens, notamment le naïf, sont appréciés pour leur rapidité et leur capacité à gérer des données avec des probabilités conditionnelles. Leur performance dépend de l’indépendance supposée entre variables.
- Les arbres de décision permettent une interprétation claire des règles de classification, mais peuvent surajuster si non régularisés. Leur construction s’appuie sur des critères comme l’indice de Gini ou l’entropie.
- Les SVM, en maximisant la marge, offrent une bonne généralisation, notamment avec des noyaux pour gérer la non-linéarité. Leur complexité augmente avec la dimension et la taille des données.
- Les réseaux de neurones, notamment avec la classe MLPClassifier, sont capables de modéliser des relations non linéaires complexes, mais nécessitent souvent un réglage précis des hyperparamètres et une grande quantité de données.
- La sélection de la méthode dépend du problème, de la nature des données, de leur nombre, et des ressources disponibles. Il n’existe pas de méthode universelle ("il n’y pas de méthode miracle", TM).
💡 À retenir
Les algorithmes de classification varient entre méthodes simples comme KNN et plus complexes comme SVM ou réseaux de neurones, leur choix dépendant du contexte, des données, et des contraintes, sans solution unique optimale.
📖 3. Algorithmes de régression
🔑 Notions clés & Définitions
- Régression linéaire : Modélisation par hyperplan, permettant de prédire une variable continue en établissant une relation linéaire entre les variables indépendantes et la variable dépendante. AUTEUR (date) : "Analyse préalable des données pour régression" souligne l'importance de cette étape pour une modélisation efficace.
- Régression polynomiale : Extension de la régression linéaire pour modéliser des relations non linéaires en utilisant des fonctions polynomiales. Elle est généralisable à la dimension n, mais peut entraîner une explosion du nombre de variables. AUTEUR (date) : "Régression polynomiale".
- Régression par KNN : Méthode non paramétrique où la valeur prédite est la moyenne des valeurs des k voisins les plus proches dans l’espace des caractéristiques. En régression, elle utilise la moyenne des voisins, contrairement à la majorité en classification.
- Coefficient de corrélation de Pearson : Mesure statistique de la force et de la direction de la relation linéaire entre deux variables continues. Utilisé dans l’analyse préalable pour évaluer la pertinence d’un modèle de régression linéaire. AUTEUR (date) : "Coefficient de corrélation (Pearson)".
- Régression logistique : Technique utilisant la fonction logistique pour la classification binaire, transformant une variable continue en probabilité de classe. Elle peut aussi être vue comme une extension de la régression pour la classification. AUTEUR (date) : "Régression logistique".
📝 Points essentiels
- La régression linéaire repose sur l’hypothèse d’une relation linéaire entre variables, modélisée par un hyperplan dans un espace à n dimensions. La modélisation nécessite une analyse préalable des données, notamment l’évaluation du coefficient de corrélation de Pearson pour vérifier la force de la relation linéaire.
- La régression polynomiale permet de modéliser des relations non linéaires en introduisant des termes polynomiaux. Elle est adaptée lorsque la dépendance entre variables est non linéaire, mais attention à l’explosion du nombre de variables, ce qui peut compliquer l’interprétation et augmenter le risque de surapprentissage.
- La régression par KNN est simple et efficace pour des données avec une structure locale, en utilisant la moyenne des k voisins pour prédire la valeur continue. Elle ne nécessite pas de modélisation explicite mais peut être coûteuse en calcul pour de grands jeux de données.
- La corrélation de Pearson est un outil clé pour analyser la relation entre deux variables continues, permettant d’évaluer si une relation linéaire existe avant de choisir un modèle de régression.
- La régression logistique transforme la sortie en probabilités via la fonction logistique, permettant la classification binaire. Elle est souvent préférée pour sa simplicité et son interprétabilité dans les problèmes de classification.
💡 À retenir
Les algorithmes de régression varient entre modèles linéaires, non linéaires et basés sur la proximité, leur choix dépendant de la nature des données et du problème à résoudre, avec une étape d’analyse préalable essentielle pour orienter la sélection.
📖 4. Séparation linéaire
🔑 Notions clés & Définitions
- Séparation linéaire : Technique consistant à diviser deux classes de données par un hyperplan dans un espace n-dimensionnel, permettant une classification simple lorsque les données sont linéairement séparables.
- Support Vector Machines (SVM) : Classifieur qui cherche le séparateur à marges maximales, c’est-à-dire l’hyperplan qui maximise la distance entre lui et les points les plus proches de chaque classe (les vecteurs de support). (Intro à l’IA)
- Plongements en dimension supérieure : Technique utilisée par les SVM pour traiter des données non linéairement séparables en projetant ces données dans un espace de dimension plus élevée où une séparation linéaire devient possible.
- Analyse préalable des données : Étape essentielle pour déterminer si une séparation linéaire est envisageable, en utilisant notamment le coefficient de corrélation (Pearson) pour évaluer la relation linéaire entre variables.
- Perceptron : Modèle de classification linéaire simple, basé sur un algorithme d’apprentissage supervisé qui ajuste un hyperplan pour séparer deux classes, considéré comme un cas particulier de la séparation linéaire.
📝 Points essentiels
- La séparation linéaire est efficace lorsque les données sont linéairement séparables ou presque, mais nécessite une analyse préalable pour confirmer cette hypothèse.
- Le coefficient de corrélation de Pearson permet d’évaluer la force de la relation linéaire entre deux variables, facilitant la sélection des caractéristiques pour une séparation linéaire.
- Les SVM, introduits par Vladimir Vapnik (1995), cherchent le séparateur à marges maximales, ce qui confère une meilleure généralisation. La technique de plongement en dimension supérieure permet de traiter des données non linéairement séparables en utilisant un noyau (kernel).
- Le perceptron, développé par Rosenblatt (1958), est un modèle simple de séparation linéaire, capable d’apprendre à partir de données étiquetées.
- La séparation linéaire peut être visualisée comme un hyperplan dans l’espace de données, dont la position est optimisée pour minimiser la classification erronée.
💡 À retenir
La séparation linéaire, appuyée par des méthodes comme le perceptron et les SVM, constitue une approche fondamentale pour la classification lorsque les données sont linéairement séparables ou peuvent l’être via des plongements en dimension supérieure.
📖 5. Modèles ensemblistes
🔑 Notions clés & Définitions
- Modèles ensemblistes : Techniques combinant plusieurs modèles pour améliorer la performance globale, en s'appuyant sur le principe de coopération entre modèles (source : intro à l’IA).
- Bagging (Bootstrap Aggregating) : Méthode d'apprentissage parallèle où plusieurs modèles sont entraînés sur des sous-ensembles aléatoires de données, puis leurs résultats sont agrégés par vote (classification) ou moyenne (régression).
- Random Forest : Forêt d’arbres de décision construits via bagging, où chaque arbre est entraîné sur un échantillon aléatoire et utilise une sélection aléatoire de variables à chaque split, permettant une réduction de la variance (source : intro à l’IA).
- Boosting : Technique d'apprentissage séquentiel où chaque modèle se concentre sur les erreurs du modèle précédent, afin d'améliorer la performance globale en focalisant sur les données mal classifiées (source : intro à l’IA).
- Stacking : Approche où plusieurs modèles de base sont combinés par un méta-classifieur, qui décide comment agréger leurs résultats en fonction de leur performance (source : intro à l’IA).
- Principe de la sagesse des foules : Idée selon laquelle la combinaison de plusieurs opinions ou modèles peut produire une décision plus précise et robuste que celle d’un seul modèle (source : intro à l’IA).
📝 Points essentiels
- Les modèles ensemblistes exploitent la diversité des modèles pour réduire le surapprentissage et améliorer la généralisation, notamment par la coopération entre modèles (principe fondamental).
- Le Bagging est un apprentissage en parallèle qui repose sur la majorité ou la moyenne pour agréger les résultats, illustré par la méthode Random Forest qui construit une multitude d’arbres de décision en utilisant des échantillons bootstrap et une sélection aléatoire de variables.
- Le Boosting est un apprentissage séquentiel où chaque modèle corrige les erreurs du précédent, comme dans AdaBoost ou Gradient Boosting, permettant une focalisation progressive sur les données difficiles.
- Le Stacking combine plusieurs modèles hétérogènes via un méta-classifieur, optimisant ainsi la décision finale en tenant compte des performances individuelles.
- La méthode Random Forest s’appuie sur le principe de la sagesse des foules et du Bagging, en utilisant la diversité des arbres pour améliorer la stabilité et la précision.
- La sélection d’une méthode ensembliste dépend du problème, de la nature et du volume des données, ainsi que des ressources disponibles (voir section 6).
- La coopération entre modèles via Bagging, Boosting ou Stacking permet d’obtenir des performances supérieures à celles de modèles individuels, en exploitant leur complémentarité.
💡 À retenir
Les modèles ensemblistes, par la coopération entre plusieurs modèles, permettent d’accroître la robustesse et la précision des prédictions, notamment grâce au Bagging, Boosting, et Stacking, en s’appuyant sur le principe de la sagesse des foules.
📖 6. Choix de méthode
🔑 Notions clés & Définitions
- Critères de choix d’une méthode : Ensemble de facteurs déterminant la sélection d’un algorithme ou d’une technique, incluant la nature et le nombre de données, la dépendance au problème à résoudre, et les propriétés spécifiques des données (voir section 8).
- Nature et nombre de données : La qualité, la quantité et la structure des données disponibles influencent le choix de la méthode, notamment si elles sont étiquetées ou non, volumineuses ou limitées.
- Dépendance au problème : La méthode doit être adaptée à la tâche spécifique (classification, régression, séparation non linéaire, etc.), comme le souligne AUTEUR (date).
- Propriétés des données influençant le choix : La distribution, la linéarité ou non, la présence de dépendances non linéaires, et la dimensionnalité impactent la sélection, par exemple la nécessité de plongements pour SVM ou la régression polynomiale pour dépendances non linéaires.
- Ressources externes et transfert learning : Utilisation de modèles pré-entraînés ou ressources externes pour améliorer la performance ou réduire la nécessité de données, comme indiqué dans la section sur le transfert learning.
- Absence de méthode miracle : Il n’existe pas de solution universelle ; chaque contexte requiert une adaptation spécifique, soulignant l’importance de l’expérimentation et de la validation.
📝 Points essentiels
- La sélection d’une méthode dépend fortement du contexte, notamment de la nature et de la quantité des données, ainsi que du problème à traiter (classification, régression, séparation non linéaire).
- La compréhension des propriétés des données (linéarité, dimension, distribution) guide le choix, par exemple la régression linéaire pour des relations linéaires, ou la régression polynomiale pour des dépendances non linéaires.
- Les méthodes classiques telles que KNN, SVM, arbres de décision, forêts aléatoires, réseaux de neurones, et régressions (linéaire, logistique, polynomiale) sont intégrées dans des outils comme Scikit-learn, facilitant leur mise en œuvre.
- La coopération entre modèles via l’ensemblisme (bagging, boosting, stacking) permet d’améliorer la robustesse et la performance, en combinant plusieurs algorithmes ou modèles.
- La dépendance au problème et aux données implique que l’on doit souvent expérimenter plusieurs méthodes, en tenant compte des ressources disponibles et des contraintes spécifiques.
💡 À retenir
Le choix d’une méthode en apprentissage automatique doit être guidé par la nature, la quantité et les propriétés des données, ainsi que par la spécificité du problème, car il n’existe pas de solution universelle.
📖 7. Validation et évaluation
🔑 Notions clés & Définitions
- Validation croisée (voir référence) : méthode d’évaluation de la performance d’un modèle en partitionnant les données en plusieurs sous-ensembles, permettant de tester le modèle sur des données non utilisées lors de l’apprentissage, afin de prévenir le surapprentissage.
- Mesures de performance (voir référence) : indicateurs quantitatifs utilisés pour évaluer la qualité d’un modèle, tels que la précision, le rappel, la F-mesure pour la classification, ou l’erreur quadratique moyenne pour la régression.
- Surapprentissage (voir référence) : situation où un modèle s’ajuste trop précisément aux données d’entraînement, capturant le bruit et perdant sa capacité de généralisation, ce qui nuit à ses performances sur de nouvelles données.
- Sous-apprentissage (voir référence) : phénomène où un modèle est trop simple pour capturer la structure sous-jacente des données, conduisant à une faible performance à la fois sur l’entraînement et sur de nouvelles données.
- Séparation train/test (voir référence) : processus consistant à diviser le jeu de données en deux parties distinctes : une pour entraîner le modèle (train) et une autre pour l’évaluer (test), garantissant une évaluation impartiale de la performance.
📝 Points essentiels
- La validation croisée est cruciale pour une évaluation fiable, notamment la validation croisée k-fold, qui répartit les données en k sous-ensembles pour une évaluation répétée (voir référence).
- La sélection des mesures de performance dépend du type de problème : pour la classification, on privilégie la précision, le rappel, la F-mesure ; pour la régression, l’erreur quadratique moyenne ou la corrélation de Pearson (voir référence).
- La distinction entre surapprentissage et sous-apprentissage est essentielle pour ajuster la complexité du modèle : un modèle trop complexe risque le surapprentissage, un modèle trop simple le sous-apprentissage (voir référence).
- La séparation des données en train/test doit respecter la représentativité des classes ou des valeurs continues pour éviter le biais dans l’évaluation (voir référence).
- La validation croisée permet aussi d’optimiser les hyperparamètres en évitant le surajustement aux données d’entraînement (voir référence).
💡 À retenir
La validation et l’évaluation rigoureuses, notamment via la validation croisée, sont indispensables pour garantir la généralisation d’un modèle, en évitant à la fois le surapprentissage et le sous-apprentissage.
📖 8. Utilisation de Scikit-learn
🔑 Notions clés & Définitions
- LinearRegression (scikit-learn) : Classe permettant de réaliser une régression linéaire, modélisant la relation entre variables par un hyperplan en dimension n, avec analyse préalable des données et calcul du coefficient de corrélation de Pearson (voir section 3).
- LogisticRegression (scikit-learn) : Classifieur utilisant la fonction logistique pour transformer une régression en problème de classification, notamment pour la séparation linéaire (voir section 4).
- SVC et SVR (scikit-learn) : Classes pour Support Vector Machines, SVC pour la classification et SVR pour la régression, utilisant des séparateurs à marges maximales et pouvant recourir à des plongements en dimension supérieure pour la séparation non linéaire (voir section 4).
- DecisionTreeClassifier (scikit-learn) : Classe pour construire un arbre de décision, permettant une séparation non linéaire des données en utilisant des variables de test et des valeurs limites apprises à partir des données (voir section 4).
- RandomForestClassifier (scikit-learn) : Classe pour une forêt d’arbres de décision, principe basé sur la sagesse des foules, avec apprentissage par bagging, où plusieurs arbres sont entraînés sur des échantillons aléatoires et leur vote ou moyenne est combiné (voir section 5).
- MLPClassifier (scikit-learn) : Classe pour réseaux de neurones multilayers perceptron, permettant de modéliser des relations complexes et non linéaires dans les données (voir section 2).
📝 Points essentiels
- Choix de la méthode : Il n’existe pas de méthode miracle ; le choix dépend du problème, de la nature et du nombre de données, ainsi que de leurs propriétés. La sélection peut s’appuyer sur des sites spécialisés ou du transfert learning (voir section 6).
- Régression linéaire : Nécessite une analyse préalable des données, notamment le calcul du coefficient de corrélation de Pearson, et peut être généralisée à la dimension n via un hyperplan (voir section 3).
- Régression polynomiale : Utile pour modéliser une dépendance non linéaire, mais attention à l’explosion du nombre de variables en dimension n (voir section 3).
- SVM : Utilise des séparateurs à marges maximales, avec possibilité de plongements en dimension supérieure pour la séparation non linéaire, ce qui permet une grande flexibilité dans la classification et la régression (voir section 4).
- Ensembles de modèles : La forêt aléatoire (Random Forest) repose sur le principe de la sagesse des foules, combinant plusieurs arbres via vote ou moyenne, et utilisant le bagging. Le boosting, quant à lui, affine la classification de façon séquentielle en se concentrant sur les erreurs précédentes (voir section 5).
- Classes Scikit-learn : Les classes mentionnées permettent de réaliser des modèles variés, allant de la régression linéaire à la classification bayésienne, en passant par les arbres, forêts, SVM et réseaux de neurones, offrant une palette complète pour l’apprentissage supervisé (voir section 7).
💡 À retenir
Scikit-learn propose une large gamme de classes pour implémenter rapidement des modèles variés, dont la sélection doit s’appuyer sur la nature des données et le problème à résoudre, en utilisant notamment des méthodes d’ensemble comme la forêt aléatoire ou le boosting pour améliorer la performance.
📊 Tableaux de Synthèse
| Critère / Algorithme | Type d'apprentissage | Fonction principale | Avantages | Inconvénients | Auteur / Référence |
|---|
| Régression linéaire | Supervisé | Modéliser une relation linéaire entre variables | Simple, interprétable, efficace pour relations linéaires | Limité aux relations linéaires, sensible aux outliers | Analyse préalable (date, source) |
| Régression polynomiale | Supervisé | Modéliser relations non linéaires avec des polynômes | Capte relations non linéaires | Peut conduire à du surapprentissage, explosion de variables | (date, source) |
| KNN (classification & régression) | Supervisé | Prédire par proximité des K voisins | Simple, efficace pour petits jeux de données | Sensible au bruit, choix de K critique | (date, principe) |
| Arbres de décision | Supervisé | Segmenter les données par tests successifs | Interprétable, flexible | Surajustement, instabilité sans régularisation | (date, critère Gini/entropie) |
| SVM (Support Vector Machine) | Supervisé | Maximiser la marge entre classes | Bonne généralisation, efficace avec noyaux | Complexité croissante, nécessite réglage hyperparamètres | Vapnik (1995) |
| Réseaux de neurones (MLP) | Supervisé | Modéliser relations complexes non linéaires | Très flexible, puissant pour données volumineuses | Nécessite beaucoup de données, réglages précis | (date, source) |
⚠️ Pièges & Confusions Fréquentes
- Confondre classification et régression : la classification prédit des catégories, la régression des valeurs continues.
- Utiliser KNN avec un K trop faible ou trop élevé : K faible sensible au bruit, K élevé peut lisser excessivement.
- Croire qu’un algorithme est universel : chaque méthode a ses limites selon la nature des données.
- Négliger la régularisation des arbres de décision : risque de surajustement si non contrôlé.
- Confondre SVM linéaire et non linéaire : le choix du noyau est crucial.
- Sous-estimer l’importance du pré-traitement des données : normalisation, gestion des outliers.
- Ignorer la nécessité de validation croisée pour évaluer la performance réelle.
✅ Checklist Examen
- Connaître la définition de l'apprentissage supervisé selon l'auteur (ex: "apprentissage à partir de données étiquetées").
- Savoir distinguer classification et régression, leurs objectifs et méthodes principales.
- Maîtriser les algorithmes classiques : KNN, arbres de décision, SVM, réseaux de neurones, régression linéaire, polynomiale, logistique.
- Comprendre le principe de la séparation linéaire et ses limites.
- Identifier les modèles ensemblistes (forêts aléatoires, boosting) et leur avantage pour la réduction du surapprentissage.
- Savoir choisir la méthode adaptée selon la nature des données, la taille du jeu, et la complexité du problème.
- Connaître les techniques de validation et d’évaluation : validation croisée, métriques (accuracy, RMSE, précision, rappel).
- Maîtriser l’utilisation de Scikit-learn pour implémenter et évaluer ces modèles.
- Connaître la différence entre modèles paramétriques et non paramétriques.
- Savoir interpréter une courbe ROC, une matrice de confusion, ou un graphique de validation.
- Savoir que la régularisation (L1, L2) est essentielle pour éviter le surapprentissage.
- Vérifier la maîtrise du vocabulaire spécifique : "hyperplan", "marge", "overfitting", "underfitting".
Crée tes propres fiches de révision
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches