Commit 92d26bd0848ea030c215377af784f9c2d4bb581c

Authored by dsotofor
1 parent 055e2d73ed
Exists in main

duplicated...

Showing 1 changed file with 0 additions and 341 deletions Side-by-side Diff

chapters/contexte.tex View file @ 92d26bd
1   -\chapter{Contexte}
2   -
3   -\section{Notions et Algorithmes}
4   -
5   -Dans ce chapitre sont décrits plus en détails les concepts et algorithmes utilisés dans le développement des modules. CEs modules font partie des contributions de cette thèse à l'environnement informatique pour l'apprentissage humain (EIAH) appelé AI-VT (\textit{Artificial Intelligence - Artificial Trainer}).
6   -
7   -\subsection{Environnements Informatiques pour l'Apprentissage Humain (EIAH)}
8   -
9   -Les EIAH sont des outils pour aider les apprenants dans le processus d'apprentissage et d'acquisition de la connaissance. Ces outils sont conçus pour fonctionner avec des stratégies d'apprentissage online et mixtes. Fondamentalement, l'architecture de ces systèmes est divisé en quatre composants comme le montre la figure \figref{figEIAH} :\\
10   -\begin{itemize}
11   -\item Le domaine, qui contient les concepts, les règles et les stratégies pour résoudre des problèmes dans un domaine spécifique. Ce module peut détecter et corriger les erreurs des apprenants. L'information, généralement, est organisée selon des séquences pédagogiques.
12   -\item L'apprenant, ce module est le noyau du système car il contient toute l'information cognitive possible de l'apprenant ainsi que son évolution. Ce module doit avoir les informations implicites et explicites pour pouvoir créer une représentation de la connaissance et le processus d'apprentissage. C'est également important parce que cette information doit permettre de générer un diagnostic de l'état de la connaissance de l'apprenant, à partir duquel le système peut prédire les résultats dans certains domaines et choisir la stratégie optimale pour présenter les nouveaux contenus.
13   -\item L'enseignant, reçoit l'information des modules précédents grâce à laquelle il peut prendre des décisions sur le changement de parcours ou sur la stratégie d'apprentissage. Il peut également interagir avec l'apprenant.
14   -\item L'interface, est le module qui gère les configurations et les interactions entre les modules par différents moyens interactifs.\\
15   -\end{itemize}
16   -
17   -\mfigure[!ht]{scale=0.5}{./Figures/EIAH.png}{L'architecture générale des EIAH, les composantes et leurs interactions (\cite{Nkambou})}{figEIAH}
18   -
19   -Le développement et la configuration de ce type de systèmes sont multidisciplinaires et impliquent plusieurs domaines de recherche comme: l'intelligence artificielle, la pédagogie, la psychologie, les sciences cognitives et l'éducation.
20   -
21   -\subsection{Stratégies d'Apprentissage}
22   -
23   -Dans \cite{LALITHA2020583}, l'apprentissage est défini comme une fonction du cerveau humain acquise grâce au changement permanent dans l'obtention de connaissances et de compétences par le biais d'un processus de transformation du comportement lié à l'expérience ou à la pratique. L'apprentissage implique réflexion, compréhension, raisonnement et mise en oeuvre. Un individu peut utiliser différentes stratégies pour acquérir la connaissance. Comme le montre la figure \figref{figStra}, les stratégies peuvent être classées entre mode traditionnel et mode online.
24   -
25   -\mfigure[!ht]{scale=0.4}{./Figures/TLearning.png}{Stratégies d'apprentissage (\cite{LALITHA2020583})}{figStra}
26   -
27   -%\begin{figure}[!ht]
28   -%\centering
29   -%\includegraphics[scale=0.4]{./Figures/TLearning.png}
30   -%\caption{Stratégies d'apprentissage (\cite{LALITHA2020583})}
31   -%\label{figStra}
32   -%\end{figure}
33   -
34   -L'apprentissage traditionnel se réfère au type d'apprentissage en classe, centré sur l'enseignant où la présence physique dans le temps et l'espace est fondamentale. Ici, l'enseignement est direct de l'enseignant à l'élève, et les ressources sont généralement des documents imprimés. L'apprentissage et la participation doivent être actifs, la rétroaction est instantanée et des interactions sociales sont présentes. Par contre, il y a un manque de flexibilité en fonction du temps \colorbox{yellow}{MLB:à revoir}.\\
35   -
36   -L'autre stratégie globale est l'apprentissage online, qui est basé sur les ressources et l'information disponible sur le web. Cette stratégie incite activement les apprenants à acquérir de nouvelles connaissances indépendamment \colorbox{yellow}{MLB:indépendantes ou indépendemment à qq chose} grâce aux vastes ressources disponibles en ligne. Les points positifs de cette stratégie sont par exemple: la rentabilité, la mise à niveau continue des compétences et des connaissances ou une plus grande opportunité d'accéder au contenu du monde entier. Pour l'apprenant, l'auto-motivation et l'interaction peuvent être des défis à surmonter. Pour l'enseignant, il est parfois difficile d'évaluer l'évolution du processus d'apprentissage de l'individu. L'apprentissage online fait aussi référence à l'utilisation de dispositifs électroniques pour apprendre (e-learning) où les apprenants peuvent être guidés par l'enseignant à travers des liens, du matériel spécifique d'apprentissage, des activités ou exercices.\\
37   -
38   -Il existe aussi certaines stratégies mixtes qui combinent des caractéristiques des deux stratégies fondamentales, comme un cours online mais avec quelques séances en présentiel pour des activités spécifiques ou des cours traditionnels avec du matériel d'apprentissage complémentaire online.
39   -
40   -%\subsection{Traitement du langage naturel (NLP)}
41   -%
42   -%Le traitement du langage naturel est un domaine de recherche interdisciplinaire qui essaie à travers de multiples méthodes analyser et faire comprendre aux machines le langage et la communication humaine. Ce domaine est catégorisé comme une branche de l'intelligence artificielle \cite{kedia2020hands}.\\
43   -%
44   -%Comme on peut lire dans \cite{ghosh2019natural}, le NLP est constitué de plusieurs tâches standardisées, entre elles, la tokenisation qui est la procédure qui consiste à diviser une phrase en ses mots constitutifs, par exemple le résultat de tokeniser la phrase "Je lis un livre", est "Je", "lis", "un", "livre"; avec cet exemple on a tokenisée la phrase en utilisant uni-grams, c'est-à-dire des tokens de taille un, mais on peut extraire des ensembles de tokens, si on divise la phrase en paires de tokens alors on parle de bi-grams: "Je lis", "un livre"; en général on parle de n-grams où "n" est le nombre de tokens.\\
45   -%
46   -%Une autre tâche fondamentale du NLP est le "PoS Tagging" qui ajoute des identificateurs à chacun des tokens d'une phrase avec le propos de faciliter l'analyse et le filtrage du contenu des phrases. Ainsi "Le ciel est bleu", est [("Le", "AR"), ("ciel", "NN"), ("est", "VBZ"), ("bleu", "JJ")], où AR: article, NN: nom, VBZ: verbe troisième personne, JJ: adjectif. Ainsi, il est possible de connaître et de filtrer les phrases par la catégorisation de leur contenu.\\
47   -%
48   -%La tokenisation et le "PoS Tagging" fonctionnent avec les caractères qui font partie de l'alphabet, mais les phrases communément écrites contient aussi des caractères symboliques qui représentent des aspects complémentaires du langage et qui ne sont pas considérés dans les analyses, car ils n'apportent pas d'information significative. La tâche d'effacer les symboles jugés inutiles s'appelle "cleaning text", usuellement ces symboles sont les signes de ponctuation et parfois les articles définis / indéfinis et les mots qui servent de lien comme par exemple en français: "le", "la", "les", "est", "et", etc. Il y a d'autres tâches qui sont utilisées aussi dans NLP, mais elles sont plus spécifiques comme: normalisation, correction, "stemming", "lemmatization", "NER", etc. Elles peuvent être consultées plus en détail et avec exemples de code dans \cite{ghosh2019natural}.\\
49   -%
50   -%L'exécution des tâches précitées est appelée prétraitement du texte, l'idée est de donner au texte un format pour l'envoyer comme donnée d'entré à un modèle chargé de l'analyser selon un certain objectif prédétermine. Les modèles de NLP se basent en algorithmes d'apprentissage automatique qui fonctionnent avec données numériques, alors les modèles doivent convertir le texte vers une représentation numérique, cette transformation s'appelle "vectorization" ou "vector embeddings". L'une des méthodes les plus simples et les plus élémentaires est le "BoW (Bag of Words) Model" qui génère un vecteur avec les fréquences de chaque mot d'un alphabet dans une phrase, comme le montre la figure \figref{figBOW}, les limitations principales du "BoW Model" sont d'abord que les vecteurs de représentation générés sont creuses, et aussi il n'y a pas de préservation de l'ordre des mots, alors on perdre contexte et signification des phrases et du texte. Une autre modèle est TF-IDF qui normalise les fréquences d'apparition et essaie d'associer une importance aux mots, ce qui évite d'analyser la pertinence de chaque mot seulement par sa fréquence d'apparition dans le texte. Autres modèles de vectorisation plus sophistiqués comme les réseaux de neurones (Word2vec, Doc2Vec, fastText) peuvent être consultés dans \cite{kedia2020hands}.\\
51   -%
52   -%\mfigure[!ht]{scale=0.7}{./Figures/BoW.png}{Bag of words pour une phrase}{figBOW}
53   -%
54   -%%\begin{figure}
55   -%%\centering
56   -%%\includegraphics[scale=0.7]{./Figures/BoW.png}
57   -%%\caption{Bag of words pour une phrase.}
58   -%%\label{figBOW}
59   -%%\end{figure}
60   -
61   -\subsection{Raisonnement à partir de cas (RàPC)}
62   -
63   -Le raisonnement à partir de cas est un type de modèle de raisonnement qui essaie d'imiter le comportement humain pour résoudre de nouveaux problèmes, en se souvenant des expériences passées. Le principe de base est que les problèmes similaires ont des solutions similaires. Si un nouveau problème arrive et que le modèle connait déjà la solution d'un problème similaire, alors la solution au nouveau problème peut être inférée des solutions déjà trouvées \colorbox{yellow}{MLB: suppr la fin de la phrase, redondant ?ou connues pour les problèmes similaires} \cite{ROLDANREYES20151}.\\
64   -
65   -Un cas est défini comme la représentation de la description d'un problème et la description de sa solution. Dans le raisonnement à partir de cas il existe une base de cas qui permet la création de nouvelles solutions en cherchant les problèmes similaires, en utilisant les données de la description du problème et leurs solutions associées.\\
66   -
67   -Formellement, le modèle nécessite les ensembles $P$ qui correspond à l'espace des problèmes et $S$ l'espace des solutions, alors un problème $x$ et sa solution $y$ appartiennent à ces espaces $x \in P$ et $y \in S$. Si $y$ est solution de $x$ alors, un cas dans le modèle est représenté par le couple $(x,y) \in P \times S$. Le RàPC a besoin d'une base de $n$ problèmes et de leurs solutions associées $(x^n, y^n)$, cette base est appelée base de cas. L'objectif du RàPC est, étant donné un nouveau problème $x^z$ de trouver sa solution $y^z$ en utilisant la base de cas \cite{10.1007/978-3-030-58342-2_20}.\\
68   -
69   -\mfigure[!ht]{scale=30}{./Figures/cycle.png}{Cycle fondamental du raisonnement à partir de cas (\cite{min8100434})}{figCycle}
70   -
71   -%\begin{figure}
72   -%\centering
73   -%\includegraphics[scale=30]{./Figures/cycle.png}
74   -%\caption{Cycle fondamental du raisonnement à partir de cas %(\cite{min8100434})}
75   -%\label{figCycle}
76   -%\end{figure}
77   -
78   -Le processus du RàPC est divisé en quatre étapes qui forment un cycle, la figure \figref{figCycle} montre le cycle et le flux d'informations ainsi que les associations de chacune des étapes \cite{min8100434}: rechercher, adapter, réviser et stocker. Chacune des étapes est décrite dans \cite{Richter2013}.
79   -
80   -\subsubsection{Rechercher}
81   -L'objectif de cette étape est de rechercher dans la base de cas, les cas similaires à un nouveau cas donné. Cette similarité n'est pas un concept général, mais dépend du contexte, de l'objectif et du type de données. La question fondamentale qui se pose dans cette étape est: quel est le cas le plus approprié dans la base de cas qui me permet de réutiliser sa solution pour résoudre le nouveau problème donné?\\
82   -
83   -Pour évaluer le nouveau cas avec les cas de la base de données, il est nécessaire de les comparer et ainsi trouver la similitude entre eux. La comparaison entre les cas est différente selon la représentation du cas, c'est-à-dire la structure qui contient la description du problème. Généralement, il est \colorbox{yellow}{MLB:Je ne comprends pas} employé la représentation par attributs, qui décrit le cas (problème) comme un ensemble d'attributs avec des valeurs spécifiques, cette représentation est connue comme la représentation attribut-valeur. La similitude entre deux cas attribut-valeur $c_1={a_{1,1}, a_{1,1}, ..., a_{1,n}}$ et $c_2={a_{2,1}, a_{2,1}, ..., a_{2,n}}$ mesure la somme de la distance entre les attributs individuellement avec une valeur de pondération qui détermine l'importance de chaque attribut dans le mesure global comme le montre l'équation\colorbox{yellow}{MLB:A revoir} \ref{eqSim}. Dans cette étape, il est possible aussi de sélectionner $k$ différents cas similaires au nouveau cas donné.
84   -\
85   -
86   -\begin{equation}
87   -\sum_{i=1}^n \omega_i \; sim (a_{1,i}, a_{2,i})
88   -\label{eqSim}
89   -\end{equation}
90   -
91   -\subsubsection{Adapter (Réutiliser)}
92   -L'idée du RàPC est d'utiliser l'expérience pour essayer de résoudre de nouveaux cas (problèmes). La figure \figref{figReut} montre le principe de réutilisation où est utilisée la solution d'un cas (problème) ancien pour l'adapter et servir comme solution d'un nouveau cas.\\
93   -
94   -Il existe des situations pour lesquelles le nouveau cas et un ancien cas sont très similaires alors la solution au cas ancien est aussi valide pour le nouveau cas. Cependant, le plus souvent il est nécessaire d'adapter l'ancienne solution pour arriver à une solution satisfaisante du nouveau cas. De la même manière que pour la phase 'rechercher', il existe beaucoup de stratégies d'adaptation qui dépendent de la représentation, du contexte et des algorithmes utilisés. Une des stratégies les plus utilisées est la définition d'un ensemble de règles qui permettent la transformation de la solution \colorbox{yellow}{MLB:ne comprends pas}
95   - ou les solutions trouvées. L'objectif ici est d'inférer une nouvelle solution $y_z$ du cas $x_z$ à partir des $k$ cas retrouvés dans la première étape.\\
96   -
97   -\mfigure[!ht]{scale=20}{./Figures/Reuse.png}{Principe de réutilisation dans le RàPC (\cite{Richter2013})}{figReut}
98   -
99   -%\begin{figure}
100   -%\centering
101   -%\includegraphics[scale=20]{./Figures/Reuse.png}
102   -%\caption{Principe de réutilisation dans le RàPC (\cite{Richter2013})}
103   -%\label{figReut}
104   -%\end{figure}
105   -
106   -\subsubsection{Réviser et Réparer}
107   -
108   -Une fois que le système propose une solution au nouveau cas, cette solution doit être évaluée et révisée qu'elle soit correcte selon certains critères de validation. L'étape de révision est chargée d'évaluer l'applicabilité de la solution obtenue dans l'étape 'adaptation', cette évaluation peut être réalisée dans le monde réel ou dans une simulation.\\
109   -
110   -Alors dans cette phase, la tâche est de valider si le couple $(x_z, y_z)$ est correct, c'est-à-dire si la solution trouvée $y_z$ résout le problème $x_z$ et satisfait les règles de validité et d'applicabilité. Si la solution n'est pas bonne en termes de qualité de la réponse, alors une nouvelle solution doit être générée en revenant à l'étape précédente. Si la solution est bonne, mais qu'elle ne satisfait pas les critères d'acceptation alors la solution doit être réparée pour corriger ses failles.\\
111   -
112   -Le processus d'évaluation, de révision et de réparation entraine parfois un processus d'apprentissage qui permet d'améliorer la détection et la correction des failles des futures solutions générées. L'apprentissage est possible, car les modèles d'évaluation/réparation utilisent souvent des paramètres pour donner des résultats et sur ces paramètres il est possible d'appliquer des algorithmes qui vont aider à mesurer et changer les solutions selon les cas particuliers.\\
113   -
114   -L'évaluation peut se faire soit par un expert humain qui a la capacité d'évaluer la solution selon le contexte et la pertinence, soit par un système qui fonctionne dans le monde réel renvoyant le résultat de l'application de la solution ou soit par un modèle qui utilise des simulations numériques ou données et des tests statistiques. La correction des solutions peut être automatique, mais dépend du domaine et de l'information disponible pour le faire, usuellement le conteneur du vocabulaire a un ensemble de règles qui sont appliquées aux solutions qui ont été identifiées comme non valides.
115   -
116   -\subsubsection{Stocker (Retenir)}
117   -
118   -Si un nouveau cas résolu est jugé pertinent, alors celui-ci peut être stocké dans la base de cas pour qu'il aide dans la résolution de futures nouveaux cas. Dans le RàPC c'est considéré comme un processus d'apprentissage, car tous les cas résolus ne sont pas retenus, seulement certains d'entre eux, ceux qui remplissent des critères prédéfinis. Cette étape a deux rôles différents, le premier est d'aider le système à améliorer sa capacité à sélectionner des cas, évaluer et corriger les solutions générées; et le second est d'optimiser la taille de la base de cas pour éviter de gaspiller l'espace de stockage et ralentir le système au moment de trouver les cas similaires.
119   -
120   -\subsubsection{Conteneurs de Connaissance}
121   -
122   -Pour pouvoir exécuter le cycle complet, le RàPC dépend de quatre sources différentes d'information, ces sources sont appelées les conteneurs. Les conteneurs sont: le conteneur de cas, le conteneur d'adaptation, le conteneur du vocabulaire et le conteneur de similarité \cite{RICHTER20093}:
123   -
124   -\begin{itemize}
125   -\item Conteneur de cas: il contient les expériences passées que le système peut utiliser pour résoudre les nouveaux problèmes. L'information est structurée comme un couple $(p, s)$, où $p$ est la description d'un problème et $s$ est la description de sa solution.
126   -\item Conteneur d'adaptation: il stocke le ou les stratégies d'adaptation ainsi que les règles et paramètres nécessaires pour les exécuter.
127   -\item Conteneur du vocabulaire: il contient l'information de la représentation.\colorbox{yellow}{MLB:c'est-à-dire ?les éléments... les fonctions?} Les éléments comme les entités, les attributs, les fonctionnes ou les relations entre les entités. Généralement dans le RàPC est utilisée la représentation des cas avec la structure clé-valeur.
128   -\item Conteneur de similarité: il stoke les paramètres et la mesure de similarité $sim(p_1, p_2)$ entre les cas $p_1$ et $p_2$. \colorbox{yellow}{MLB:ne comprends pas la phrase} De plus, il est nécessaire de définir la fonction comme si le résultat est grande, alors la similitude entre $p_1$ et $p_2$ est importante ou au contraire.\\
129   -\end{itemize}
130   -
131   -La figure \figref{figCycle} montre les liens entre les étapes du RàPC et les conteneurs, les flèches montrent le flux de l'information, les lignes continues suivent le parcours du cycle du RàPC, les lignes discontinues sont les liens entre les étapes et les conteneurs. L'étape "Retain" peut elle interagir avec les conteneurs 2, 3 et 4 comme dans le travail de Marie \cite{Marie}.\\
132   -
133   -\mfigure[!ht]{scale=2.5}{./Figures/CycleCBR.png}{Cycle du RàPC, les étapes, les conteneurs et leurs liens}{figCycle}
134   -
135   -%\begin{figure}
136   -%\centering
137   -%\includegraphics[scale=2.5]{./Figures/CycleCBR.png}
138   -%\caption{Cycle du RàPC, les étapes, les conteneurs et leurs liens}
139   -%\label{figCycle}
140   -%\end{figure}
141   -
142   -\subsection{Systèmes Multi-Agents}
143   -
144   -Les systèmes multi-agents sont des systèmes conçus pour résoudre des problèmes en combinant l'intelligence artificielle et le calcul distribué. Ces systèmes sont composés de multiples entités autonomes appelées agents, qui ont la capacité de communiquer entre elles et également de coordonner leurs comportements \cite{hajduk2019cognitive}.\\
145   -
146   -Les agents ont comme propriétés:
147   -\begin{itemize}
148   -\item Autonomie: les agents fonctionnent sans intervention externe des êtres humains ou d'autres entités, ils ont un mécanisme interne qui leur permet de contrôler leurs états.
149   -\item Réactivité: les agents ont la capacité de percevoir l'environnement dans lequel ils sont et peuvent réagir aux changements qui se produisent.
150   -\item Pro-activité: les changements et réactions peuvent se produire aussi comme l'effet du processus cognitif interne, non seulement à cause des changements dans l'environnement \colorbox{yellow}{MLB:phrase à revoir}.
151   -\item Coopération: étant donné que les agents peuvent communiquer les uns avec les autres, ils échangent de l'information qui les aide à se coordonner et à résoudre un même problème.
152   -\item Apprentissage: il est nécessaire qu'un agent soit capable de réagir dans un environnement dynamique et inconnu, il doit donc avoir la capacité d'apprendre de ses interactions et ainsi améliorer la qualité de ses réactions et comportements.\\
153   -\end{itemize}
154   -
155   -Il existe quatre types d'agent en fonction des capacités et des approches:
156   -\begin{itemize}
157   -\item Réactif: c'est l'agent qui perçoit constamment l'environnement et agit en fonction de ses objectifs.
158   -\item Basé sur les réflexes: c'est l'agent qui considère les options pour atteindre ses objectifs et développe un plan à suivre.
159   -\item Hybride agent: il combine les deux modèles antérieurs en utilisant chacun d'eux en fonction de la situation et de l'objectif.
160   -\item Basé sur le comportement: l'agent contient un ensemble de modèles de comportement pour réaliser certaines tâches spécifiques, chaque comportement se déclenche selon des règles prédéfinies ou des conditions d'activation. Le comportement de l'agent peut être modélisé avec différentes stratégies cognitives de pensée ou de raisonnement.
161   -\end{itemize}
162   -
163   -\subsection{Pensée Bayesienne}
164   -
165   -D'après les travaux de certains mathématiciens et neuroscientifiques, toute forme de cognition peut être modélisée dans le cadre de la formule de Bayes (equation \ref{eqBayes}), car elle permet de tester différentes hypothèses et donner plus de crédibilité à celle qui est confirmée par les observations. Étant donné que ce type de modèle cognitif permet l'apprentissage optimal, la prédiction sur les événements passés, l'échantillonnage représentatif et l'inférence d'information manquante; il est appliqué dans quelques algorithmes de machine learning et d'intelligence artificielle \cite{Hoang}.
166   -
167   -\begin{equation}
168   -P(A|B)=\frac{P(B|A)P(A)}{P(B)}
169   -\label{eqBayes}
170   -\end{equation}
171   -
172   -La formule de Bayes calcule la probabilité a posteriori $P(A|B)$ de la plausibilité de la théorie $A$ compte tenu des données $B$, et requiert trois termes: (1) une probabilité a priori $P(A)$ de la plausibilité de l'hypothèse $A$, (2) le terme $P(B|A)$ qui mesure la capacité de l'hypothèse $A$ à expliquer les données observées $B$ et (3) la fonction de partition $P(B)$ qui met en compétition toutes les hypothèses qui ont pu générer les données observées $B$. À chaque nouvelle évaluation de la formule, la valeur du terme a priori $P(A)$ est actualisée par la valeur du terme a posteriori $P(A|B)$. Ainsi, à chaque évaluation, le degré de plausibilité de chaque hypothèse est ajusté \cite{Hoang}.\\
173   -
174   -Par la suite, nous explicitons quelques algorithmes, intègrés généralement dans l'étape "Rechercher" du RàPC, pour la recherche des cas les plus proches d'un nouveau cas.
175   -
176   -\subsection{Méthode des k plus proches voisins (K-Nearest Neighborhood - KNN)}
177   -
178   -Comme est défini dans \cite{10.1145/3459665}, la méthode des 'k' plus proches voisins est une méthode pour classifier des données dans des classes spécifiques. Pour faire cela, il est nécessaire de disposer d'une base de données avec des exemples déjà identifiés. Pour classer de nouveaux exemples, la méthode attribue la même classe que celle de leurs voisins les plus proches. Généralement, l'algorithme compare les caractéristiques d'une entité avec plusieurs possibles voisins pour essayer d'btenir des résultats plus précis. 'k' représente le nombre de voisins, puisque l'algorithme peut être exécuté à chaque fois avec un nombre différent de voisins.\\
179   -
180   -Étant donné un jeu de données $D$ constitue de $(x_i)_{i \in [1,n]}$ données (où $n = |D|$). Chacune des données est décrite par $F$ caractéristiques qui sont des valeurs numériques normalisées $[0,1]$, et par une classe de labellisation $y_j \in Y$. Le but est de classifier une donnée inconnue $q$. Pour chaque $x_i \in D$, il est possible de calculer la distance entre $q$ et $x_i$ comme l'équation \ref{eqDist}.
181   -
182   -\begin{equation}
183   -d(q,x_i)=\sum_{f \in F} w_f \delta(q_f, x_{if})
184   -\label{eqDist}
185   -\end{equation}
186   -
187   -C'est une somme de \colorbox{yellow}{MLB:à vérifier de} toutes les caractéristiques $F$ avec $w_f$ le poids pour chaque caractéristique. \colorbox{yellow}{MLB:vérifier la suite}La fonction de distance $\delta$ peut être une métrique générique. Pour des valeurs numériques discrètes il est possible d'utiliser la définition \ref{eqMet1},
188   -
189   -\begin{equation}
190   -\delta(q_f, x_{if})=
191   -\begin{cases}
192   -0&q_f=x_{if}\\
193   -1&q_f \neq x_{if}
194   -\end{cases}
195   -\label{eqMet1}
196   -\end{equation}
197   -
198   -et si les valeurs sont continues l'équation \ref{eqMet2}.
199   -
200   -\begin{equation}
201   -\delta(q_f, x_{if})= \lvert q_f-x_{if} \rvert
202   -\label{eqMet2}
203   -\end{equation}
204   -
205   -\colorbox{yellow}{MLB:paragraphe A vérifier, dernière phrase incomprise}Souvent, pour décider de la classe d'une donnée inconnue, on attribue un poids plus important aux voisins les plus proches. Une technique assez générale pour y parvenir est le vote pondéré en fonction de la distance. Les voisins peuvent voter sur une certaine classe pour attribuer à la donnée inconnue avec des votes pondérés par l'inverse de leur distance (équation \ref{eqV1}).
206   -
207   -\begin{equation}
208   -N(a,b)= \begin{cases} 1 & a=b \\ 0 & a \neq b \end{cases}
209   -\label{eqV1}
210   -\end{equation}
211   -
212   -L'équation de vote peut être comme l'équation \ref{eqV2}.
213   -
214   -\begin{equation}
215   -vote(y_i)=\sum_{c=1}^{k} \frac{1}{d(q, x_c)^p}N(y_j, y_c)
216   -\label{eqV2}
217   -\end{equation}
218   -
219   -une autre alternative est basée sur le travail de Shepard, équation \ref{eqV3}.
220   -
221   -\begin{equation}
222   -vote(y_i)=\sum_{c=1}^{k} e^{d(q, x_c)}N(y_j, y_c)
223   -\label{eqV3}
224   -\end{equation}
225   -
226   -La fonction de distance peut être n'importe quelle mesure d'affinité entre deux objets, mais cette fonction doit répondre à quatre critères (équations \ref{eqCond}).
227   -
228   -\begin{equation}
229   -\begin{array}{l}
230   - d(x,y) \ge 0\\
231   - d(x,y) = 0, \; seulement \; si \; x=y\\
232   - d(x,y)=d(y,x)\\
233   - d(x,z) \ge d(x,y) + d(y,z)\\
234   -\end{array}
235   -\label{eqCond}
236   -\end{equation}
237   -
238   -\subsection{K-Moyennes}
239   -
240   -Selon \cite{9072123}, K-Moyennes est un algorithme d'apprentissage utilisé pour partitionner et grouper des données. \colorbox{yellow}{MLB:il faur un verbe dans la phrase}Étant donné $X = \{x_1, . . . , x_n\}$ un ensemble dans un espace Euclidien $\mathbb{R}^d$. Et $A = \{a_1, . . . , a_c\}$ avec $c$ comme nombre de groupes. Ainsi que $z = [z_{ik} ]_{n \times c}$, où $z_{ik}$ est une variable binaire (i.e. $z_{ik} \in \{0, 1\}$) qui indique si une donnée $x_i$ appartient au k-ème groupe, $k = 1, · · · , c$. L'équation \ref{eqKM} montre la fonction objective k-moyenne.
241   -
242   -\begin{equation}
243   -J (z, A) = \sum_{i=1}^n \sum_{k=1}^c z_{ik} \parallel x_i - a_k \parallel ^2
244   -\label{eqKM}
245   -\end{equation}
246   -
247   -\colorbox{yellow}{MLB:a discuter}L'algorithme des k moyennes est itéré à travers les conditions nécessaires pour minimiser la fonction objectif des k moyennes $J (z, A)$ avec la mise à jour des équations pour les centres du groupe (équation \ref{eqCentres}) et les appartenances (\ref{eqApp}), respectivement.
248   -
249   -\begin{equation}
250   -a_k=\frac{\sum_{i=1}^n z_{ik}x_{ij}}{\sum_{i=1}^n z_{ik}}
251   -\label{eqCentres}
252   -\end{equation}
253   -
254   -\begin{equation}
255   -z_{ik}=\begin{cases}1 & if \parallel x_i - a_k \parallel ^2=min_{1 \le k \le c} \parallel x_i - a_k \parallel ^2\\ 0,&otherwise\end{cases}
256   -\label{eqApp}
257   -\end{equation}
258   -
259   -\subsection{Modèle de Mélange Gaussien GMM (\textit{Gaussian Mixture Model})}
260   -
261   -Comme décrit dans \cite{WANG2021331}, le modèle de mélange gaussien (GMM) est un modèle probabiliste composé de plusieurs modèles gaussiens simples. Considérant une variable multidimensionnelle $x=\{x_1, x_2, ..., x_d\}$ en tant qu'entrée, GMM multivarié est défini comme dans l'équation \ref{eqGMM}.
262   -
263   -\begin{equation}
264   -p(x \lvert \theta)=\sum_{k=1}^K \alpha_k g(x \lvert \theta_k)
265   -\label{eqGMM}
266   -\end{equation}
267   -
268   -Dans cette équation, $K$ est le nombre de modèles gaussiens uniques dans GMM, également appelés composants; \colorbox{yellow}{MLB:pas compris}$\alpha_k$ est la probabilité de mélange de la k-ème composante du modèle de mélange sujette à la condition que montre l'équation \ref{eqK}.
269   -
270   -\begin{equation}
271   -\sum_{k=1}^K \alpha_k=1
272   -\label{eqK}
273   -\end{equation}
274   -
275   -$\theta_k$ représente la valeur moyenne et la matrice de covariance de chaque modèle gaussien unique: $\theta_k=\lbrace \mu_k, \Sigma_k \rbrace$. Pour un seul modèle gaussien multivarié, nous avons la fonction de densité de probabilité $g(x)$ (équation \ref{eqdProb}).
276   -
277   -\begin{equation}
278   -g(x; \mu, \Sigma)=\frac{1}{(2\pi)^{n/2} \lvert \Sigma \rvert ^{1/2}} exp \left( - \frac{1}{2} (x-\mu)^T \Sigma ^{-1} (x-\mu) \right )
279   -\label{eqdProb}
280   -\end{equation}
281   -
282   -La tâche principale est d'obtenir les paramètres $\alpha_k, \theta_k$ pour tout $k$ défini dans GMM en utilisant un ensemble de données avec $N$ échantillons d'entrainement. Une solution classique et disponible pour l'estimation des paramètres requis utilise l'algorithme de maximisation des attentes (Expectation-Maximization EM), qui vise à maximiser la vraisemblance de l'ensemble de données. Il s'agit d'une approche itérative, et les paramètres sont continuellement mis à jour jusqu'à ce qu'ils répondent au critère terminal: \colorbox{yellow}{MLB:la suite est bien l'expression du critère?}lorsque la valeur delta log-vraisemblance entre deux itérations est inférieure à un seuil donné. Les paramètres du modèle de mélange peuvent enfin être obtenus après des itérations répétées, qui présentent une estimation de la distribution de l'ensemble des données et qui \colorbox{yellow}{MLB:ok qui?}sont utilisés pour une opération de génération ultérieure.
283   -
284   -\subsection{Fuzzy-C}
285   -Fuzzy C-Means Clustering (FCM) est un algorithme de clustering flou non supervisé largement utilisé \cite{9627973}. Le FCM utilise comme mesure de distance la mesure euclidienne. Supposons d'abord que l'ensemble d'échantillons à regrouper est $X=\{x_1,x_2,...,x_n\}$, où $x_j \in R^d(1 \le j \le n)$ dans le d-dimensionnel espace Euclidien, et $c$ est le nombre de clusters. L'équation \ref{eqFuzzy} montre la fonction objectif de FCM.
286   -
287   -\begin{equation}
288   -J(U,V)=\sum_{i=1}^c \sum_{j=1}^n u_{ij}^m (x_j - v_i)^T A(x_j-v_i)
289   -\label{eqFuzzy}
290   -\end{equation}
291   -
292   -où $A$ est la matrice métrique, $m$ est un nombre quelconque ($m > 1$) qui dénote le degré de flou, $u_{ij}$ est le degré d'appartenance du j-ème échantillon $x_j$ qui appartient au i-ème cluster, dont le centre est $v_i$. $U=(u_{ij})$, $V=[v_1,v_2,...,v_c], 1 \le i \le c, 1 \le j \le n, 2 \le c < n$, et $u_{ij}$ satisfait les conditions de l'équation \ref{eqFCond}.
293   -
294   -\begin{equation}
295   -\sum_{i=1}^c u_{ij} = 1, u_{ij} \ge 0
296   -\label{eqFCond}
297   -\end{equation}
298   -
299   -Pour compléter le modèle, les équations de mise à jour pour le centre du cluster $v_i$ (équation \ref{eqFV}) et des degrés d'appartenance $u_{ij}$ (équation \ref{eqFU}) sont définies.
300   -
301   -\begin{equation}
302   -v_i=\frac{\sum_{j=1}^n u_{ij}^m x_j}{\sum_{j=1}^n u_{ij}^m}
303   -\label{eqFV}
304   -\end{equation}
305   -
306   -\begin{equation}
307   -u_{ij}=\frac{((x_j-v_i)^TA(x_j-v_i))^{\frac{2}{m-1}}}{\left( \sum_{h=1}^c (x_j-v_h)^TA(x_j-v_h) \right)^{\frac{2}{m-1}}}
308   -\label{eqFU}
309   -\end{equation}
310   -
311   -Les algorithmes qui se trouvent dans la suite de cette section sont des algorithmes qui font partie de l'intelligence artificielle et sont utilisés dans certains EIAH pour améliorer les recommandations, essayer de corriger et de détecter les faiblesses des apprenants de façon automatique.
312   -
313   -\subsection{Bandit Manchot MAB (\textit{Multi-Armed Bandits})}
314   -
315   -Dans \cite{9434422} MAB est décrit comme un problème qui appartient au domaine de l'apprentissage par renforcement, celui-ci représente un processus de prise de décision séquentielle dans des instants $t$ de temps, où un utilisateur doit sélectionner une action $k_t \in K$ à réaliser dans un ensemble $K$ fini de possibles actions et chacune d'elles donne une récompense qui est inconnue pour l'utilisateur. L'objectif est de maximiser la récompense cumulée globale dans le temps. La clé pour trouver une solution au problème est de trouver l'équilibre optimal entre l'exploration (exécuter des actions inconnues pour collecter de l'information complémentaire) et l'exploitation (continuer à exécuter les actions déjà connues pour cumuler plus de gains). L'un des algorithmes utilisés pour résoudre ce problème c'est l'échantillonnage de Thompson.
316   -
317   -\subsection{Échantillonnage de Thompson TS (\textit{Thompson Sampling})}
318   -
319   -Comme indiqué dans \cite{9870279}, l'algorithme d'échantillonnage de Thompson est un algorithme de type probabiliste utilisé généralement pour résoudre le problème MAB.\colorbox{yellow}{MLB:ne comprends pas la suite} Il est basé sur le principe Bayesien où il y a une distribution de probabilité a priori et avec les données obtenues est génèrée une distribution de probabilité a posteriori utilisée pour essayer de maximiser l'estimation de la valeur espérée, la distribution de base utilisée est la distribution Beta qui est définie sur $[0, 1]$ et paramétrée par deux valeurs $\alpha$ et $\beta$, c'est un cas particulier de la loi de Dirichlet comme le montre la figure \figref{figBeta}. L'équation \ref{eqBeta} décrit formellement la famille des courbes générées par la distribution Beta.\\
320   -
321   -Chaque action de MAB a une distribution Beta dont les paramètres sont initialisés en 1. Ces valeurs changent et sont calculées à partir des récompenses obtenues : si au moment d'exécuter une action spécifique le résultat est un succès, alors la valeur du paramètre $\alpha$ de sa distribution Beta doit augmenter mais si le résultat est un échec alors la valeur du paramètre $\beta$ de sa distribution Beta doit augmenter. De ce façon, la distribution pour chacune des possibles actions est ajustée en privilégiant les actions qui génèrent le plus de récompenses sur les autres actions. A chaque nouvelle itération, toutes les distributions sont plus précises sur la valeur espérée des actions.\\
322   -
323   -\mfigure[!ht]{scale=0.5}{./Figures/beta-distribution.png}{Comportement de la distribution Beta avec différents valeurs dans ses paramètres}{figBeta}
324   -
325   -%\begin{figure}
326   -%\centering
327   -%\includegraphics[scale=0.5]{./Figures/beta-distribution.png}
328   -%\caption{Comportement de la distribution Beta avec différentes valeurs dans ses paramètres}
329   -%\label{figBeta}
330   -%\end{figure}
331   -
332   -\begin{equation}
333   -B(x, \alpha, \beta) =
334   -\begin{cases}
335   -\frac{x^{\alpha-1}(1-x)^{\beta - 1}}{\int_0^1 u^{\alpha - 1}(1-u)^{\beta - 1}du} & pour x \in [0, 1] \\
336   -0&sinon
337   -\end{cases}
338   -\label{eqBeta}
339   -\end{equation}
340   -
341   -Dans les deux chapitres suivants nous présentons les travaux récents, en rapport avec le sujet de thèse, qui utilisent les concepts et algorithmes explicités dans ce chapitre.\\