Commit d76da60d54f8d8b5b1f640e6c5719da40e5e4a7a
1 parent
5d456b4cf3
Exists in
main
version correct to chapter 7, terms unification...
Showing 2 changed files with 31 additions and 31 deletions Inline Diff
chapters/ESCBR.tex
View file @
d76da60
\chapter{Le raisonnement à partir de cas (RàPC) pour la régression} | 1 | 1 | \chapter{Le raisonnement à partir de cas (RàPC) pour la régression} | |
\chaptermark{RàPC POUR RÉGRESSION} | 2 | 2 | \chaptermark{RàPC POUR RÉGRESSION} | |
3 | 3 | |||
\section{Introduction} | 4 | 4 | \section{Introduction} | |
5 | 5 | |||
Ce chapitre est divisé en deux parties. La première partie présente un algorithme fondé sur le raisonnement à partir de cas et les méthodes d'ensemble avec un double empilement itératif. Nous l'avons baptisé \textit{ESCBR} (\textit{Ensemble Stacking Case Based Reasoning}). Ce processus se fait en deux étapes pour trouver des solutions approximatives à des problèmes de régression unidimensionnels et multidimensionnels. Une partie de cette proposition est publiée dans \cite{10.1007/978-3-031-63646-2_11}. La seconde partie montre la conception et l'implémentation d'un SMA intégré à l'ESCBR présenté dans la première partie. Nous considérons dans ce chapitre que le choix des exercices les plus adaptés revient à résoudre un problème de régression. C'est la raison pour laquelle nous testons notre approche sur des jeux de données classiques de régression. | 6 | 6 | Ce chapitre est divisé en deux parties. La première partie présente un algorithme fondé sur le raisonnement à partir de cas et les méthodes d'ensemble avec un double empilement itératif. Nous l'avons baptisé \textit{ESCBR} (\textit{Ensemble Stacking Case Based Reasoning}). Ce processus se fait en deux étapes pour trouver des solutions approximatives à des problèmes de régression unidimensionnels et multidimensionnels. Une partie de cette proposition est publiée dans \cite{10.1007/978-3-031-63646-2_11}. La seconde partie montre la conception et l'implémentation d'un SMA intégré à l'ESCBR présenté dans la première partie. Nous considérons dans ce chapitre que le choix des exercices les plus adaptés revient à résoudre un problème de régression. C'est la raison pour laquelle nous testons notre approche sur des jeux de données classiques de régression. | |
L'algorithme présenté dans cette seconde partie associe un raisonnement à partir de cas à des systèmes multi-agents cognitifs implémentant un raisonnement Bayésien. Cette association, combinant échange d'informations entre agents et apprentissage par renforcement, permet l'émergence de prédictions plus précises et améliore ainsi les performances d'ESCBR \cite{10.1007/978-3-031-63646-2_11}.\\ | 7 | 7 | L'algorithme présenté dans cette seconde partie associe un raisonnement à partir de cas à des systèmes multi-agents cognitifs implémentant un raisonnement Bayésien. Cette association, combinant échange d'informations entre agents et apprentissage par renforcement, permet l'émergence de prédictions plus précises et améliore ainsi les performances d'ESCBR \cite{10.1007/978-3-031-63646-2_11}.\\ | |
8 | 8 | |||
Avant de présenter nos propositions, rappelons quelques caractéristiques importantes des outils combinés dans notre approche. | 9 | 9 | Avant de présenter nos propositions, rappelons quelques caractéristiques importantes des outils combinés dans notre approche. | |
10 | 10 | |||
Le système de raisonnement à partir de cas ne nécessite pas d'entrainement, et peut fonctionner avec des données dynamiques au moment de l'exécution. Les solutions proposées par notre système de RàPC sont générées à l'aide d'algorithmes stochastiques guidant l'exploration de l'espace des solutions. L'évaluation des solutions possibles est effectuée en transformant le problème de régression en un problème d'optimisation avec une fonction objectif associée. La fonction objectif calcule un rapport de la distance entre la solution générée et les solutions connues avec les problèmes à résoudre et les problèmes connus. La définition formelle se trouve dans la section 6.2.1.3. | 11 | 11 | Le système de raisonnement à partir de cas ne nécessite pas d'entrainement, et peut fonctionner avec des données dynamiques au moment de l'exécution. Les solutions proposées par notre système de RàPC sont générées à l'aide d'algorithmes stochastiques guidant l'exploration de l'espace des solutions. L'évaluation des solutions possibles est effectuée en transformant le problème de régression en un problème d'optimisation avec une fonction objectif associée. La fonction objectif calcule un rapport de la distance entre la solution générée et les solutions connues avec les problèmes à résoudre et les problèmes connus. La définition formelle se trouve dans la section 6.2.1.3. | |
%\colorbox{yellow}{Il faut expliquer en quelques mots ce que fait cette fonction objectif}\\ | 12 | 12 | %\colorbox{yellow}{Il faut expliquer en quelques mots ce que fait cette fonction objectif}\\ | |
Les prédictions de ce nouvel algorithme ont été comparées à celles de neuf algorithmes de régression classiques sur dix jeux de données pour la régression extraits du site de l'UCI \cite{UCI}. En évaluant les résultats obtenus selon la métrique RMSE (Erreur quadratique moyenne - \textit{Root Mean Squared Error}), ce nouvel algorithme se classe parmi les six meilleurs. Selon la métrique MAE (Erreur moyenne absolue - \textit{Mean Absolute Error}) il est le troisième meilleur algorithme des dix évalués, ce qui suggère que les résultats produits par ESCBR sont raisonnablement satisfaisants. | 13 | 13 | Les prédictions de ce nouvel algorithme ont été comparées à celles de neuf algorithmes de régression classiques sur dix jeux de données pour la régression extraits du site de l'UCI \cite{UCI}. En évaluant les résultats obtenus selon la métrique RMSE (Erreur quadratique moyenne - \textit{Root Mean Squared Error}), ce nouvel algorithme se classe parmi les six meilleurs. Selon la métrique MAE (Erreur moyenne absolue - \textit{Mean Absolute Error}) il est le troisième meilleur algorithme des dix évalués, ce qui suggère que les résultats produits par ESCBR sont raisonnablement satisfaisants. | |
14 | 14 | |||
La technique d'ensemble permet de résoudre des problèmes de classification et de régression en combinant les résultats de plusieurs algorithmes exécutés indépendamment. Certaines de ces méthodes utilisent des algorithmes différents et des ensembles de données différents tandis que d'autres utilisent les mêmes algorithmes avec des paramètres différents. La combinaison des résultats provenant de multiples algorithmes peut être réalisée selon différentes stratégies comme l'application de règles simples ou des approches plus complexes \cite{BAKUROV2021100913}. Plusieurs travaux de recherche explorent la possibilité d'utiliser cette technique d'ensemble en la combinant à des outils d'apprentissage automatique. | 15 | 15 | La technique d'ensemble permet de résoudre des problèmes de classification et de régression en combinant les résultats de plusieurs algorithmes exécutés indépendamment. Certaines de ces méthodes utilisent des algorithmes différents et des ensembles de données différents tandis que d'autres utilisent les mêmes algorithmes avec des paramètres différents. La combinaison des résultats provenant de multiples algorithmes peut être réalisée selon différentes stratégies comme l'application de règles simples ou des approches plus complexes \cite{BAKUROV2021100913}. Plusieurs travaux de recherche explorent la possibilité d'utiliser cette technique d'ensemble en la combinant à des outils d'apprentissage automatique. | |
16 | 16 | |||
Les méthodes d'apprentissage automatique appliquées à la régression permettent quant à elles de prédire des valeurs pour différents types de problèmes en construisant, évaluant et formant des algorithmes linéaires et non linéaires complexes. Mais il est possible d'en améliorer la précision en les associant. Les stratégies d'intégration les plus courantes utilisées pour l'apprentissage d'ensemble sont le \textit{Stacking} (empilement), le \textit{Boosting} (stimulation) et le \textit{Bagging} (ensachage) \cite{Liang}. Le \textit{Stacking} est une technique d'apprentissage profond d'ensemble dont l'objectif est d'utiliser diverses algorithmes d'apprentissage automatique pour surmonter les limites des algorithmes individuels. Plusieurs études démontrent que l'association de ces algorithmes permet d'améliorer la précision des résultats \cite{cmc.2023.033417}. Dans ces méthodes d'empilement, les algorithmes de base sont appelés \textit{niveau-0}. Il s'agit généralement d'algorithmes d'apprentissage automatique hétérogènes qui travaillent tous avec les mêmes données. Le méta-algorithme (appelé \textit{niveau-1}) qui unifie les résultats peut être une autre technique d'apprentissage automatique ou un ensemble de règles qui reçoit en entrée les résultats des algorithmes de \textit{niveau-0} \cite{10.3389/fgene.2021.600040}. | 17 | 17 | Les méthodes d'apprentissage automatique appliquées à la régression permettent quant à elles de prédire des valeurs pour différents types de problèmes en construisant, évaluant et formant des algorithmes linéaires et non linéaires complexes. Mais il est possible d'en améliorer la précision en les associant. Les stratégies d'intégration les plus courantes utilisées pour l'apprentissage d'ensemble sont le \textit{Stacking} (empilement), le \textit{Boosting} (stimulation) et le \textit{Bagging} (ensachage) \cite{Liang}. Le \textit{Stacking} est une technique d'apprentissage profond d'ensemble dont l'objectif est d'utiliser diverses algorithmes d'apprentissage automatique pour surmonter les limites des algorithmes individuels. Plusieurs études démontrent que l'association de ces algorithmes permet d'améliorer la précision des résultats \cite{cmc.2023.033417}. Dans ces méthodes d'empilement, les algorithmes de base sont appelés \textit{niveau-0}. Il s'agit généralement d'algorithmes d'apprentissage automatique hétérogènes qui travaillent tous avec les mêmes données. Le méta-algorithme (appelé \textit{niveau-1}) qui unifie les résultats peut être une autre technique d'apprentissage automatique ou un ensemble de règles qui reçoit en entrée les résultats des algorithmes de \textit{niveau-0} \cite{10.3389/fgene.2021.600040}. | |
18 | 18 | |||
La modélisation de systèmes implémentant différentes techniques d'apprentissage nous amène tout naturellement à considérer les avantages et inconvénients proposés par un système multi-agents. Un SMA est un système décentralisé composé de plusieurs entités appelées agents qui ont la capacité d'effectuer des actions spécifiques et de réagir à l'environnement en fonction des informations partielles à leur disposition. Ils peuvent également collaborer les uns avec les autres et coopérer pour atteindre un objectif spécifique. À partir des informations qu'ils perçoivent et échangent, les agents peuvent apprendre de manière autonome et atteindre leurs objectifs efficacement \cite{KAMALI2023110242}. Les actions d'un système multi-agents peuvent être exécutées en parallèle grâce à l'indépendance des agents. Ils sont également robustes aux problèmes présentant une incertitude \cite{DIDDEN2023338}. | 19 | 19 | La modélisation de systèmes implémentant différentes techniques d'apprentissage nous amène tout naturellement à considérer les avantages et inconvénients proposés par un système multi-agents. Un SMA est un système décentralisé composé de plusieurs entités appelées agents qui ont la capacité d'effectuer des actions spécifiques et de réagir à l'environnement en fonction des informations partielles à leur disposition. Ils peuvent également collaborer les uns avec les autres et coopérer pour atteindre un objectif spécifique. À partir des informations qu'ils perçoivent et échangent, les agents peuvent apprendre de manière autonome et atteindre leurs objectifs efficacement \cite{KAMALI2023110242}. Les actions d'un système multi-agents peuvent être exécutées en parallèle grâce à l'indépendance des agents. Ils sont également robustes aux problèmes présentant une incertitude \cite{DIDDEN2023338}. | |
20 | 20 | |||
Le raisonnement Bayésien clos ce premier tour d'horizon des techniques implémentées dans l'approche présentée dans ce chapitre. Celui-ci est fondé sur l'observation du raisonnement humain et la relation de l'humain avec l'environnement. Son principe repose sur le postulat que les expériences passées permettent de déduire les états futurs, guidant ainsi ses actions et ses décisions \cite{HIPOLITO2023103510}. Avec le raisonnement Bayésien certaines informations peuvent également être déduites à partir d'informations incomplètes \cite{ZHANG2023110564}. | 21 | 21 | Le raisonnement Bayésien clos ce premier tour d'horizon des techniques implémentées dans l'approche présentée dans ce chapitre. Celui-ci est fondé sur l'observation du raisonnement humain et la relation de l'humain avec l'environnement. Son principe repose sur le postulat que les expériences passées permettent de déduire les états futurs, guidant ainsi ses actions et ses décisions \cite{HIPOLITO2023103510}. Avec le raisonnement Bayésien certaines informations peuvent également être déduites à partir d'informations incomplètes \cite{ZHANG2023110564}. | |
22 | 22 | |||
\section{Apprentissage par empilement et raisonnement à partir de cas} | 23 | 23 | \section{Apprentissage par empilement et raisonnement à partir de cas} | |
24 | 24 | |||
Cette section présente la première version de l'algorithme que nous avons conçu pour résoudre des problèmes de régression. Celui-ci est fondé sur le raisonnement à partir de cas et l'empilement. | 25 | 25 | Cette section présente la première version de l'algorithme que nous avons conçu pour résoudre des problèmes de régression. Celui-ci est fondé sur le raisonnement à partir de cas et l'empilement. | |
26 | 26 | |||
\subsection{Algorithme Proposé} | 27 | 27 | \subsection{Algorithme Proposé} | |
28 | 28 | |||
L'algorithme proposé, ESCBR (\textit{Ensemble Stacking Case-Based Reasoning}), est fondé sur le paradigme générique du RàPC combiné à plusieurs algorithmes de recherche de voisins et de génération de solutions. Ces algorithmes ont été intégrés selon une variation de l'empilement en deux étapes itératives. Cette intégration donne à l'algorithme la capacité de s'adapter à différents types de problèmes, d'éviter les biais et le surentraînement. Les résultats de l'exécution des niveaux d'empilement stockent dans la mémoire des conteneurs de connaissances du système de RàPC des informations qui aident non seulement à l'apprentissage de l'algorithme au fil des itérations, mais facilitent également la génération de solutions à divers problèmes sur différents ensembles de données sans nécessité d'entraînement préalable. La conception itérative en deux cycles améliore la capacité du système de RàPC à travailler et à s'adapter à des problèmes dynamiques en cours d'exécution, comme le montre la figure \ref{figNCBR1}. | 29 | 29 | L'algorithme proposé, ESCBR (\textit{Ensemble Stacking Case-Based Reasoning}), est fondé sur le paradigme générique du RàPC combiné à plusieurs algorithmes de recherche de voisins et de génération de solutions. Ces algorithmes ont été intégrés selon une variation de l'empilement en deux étapes itératives. Cette intégration donne à l'algorithme la capacité de s'adapter à différents types de problèmes, d'éviter les biais et le surentraînement. Les résultats de l'exécution des niveaux d'empilement stockent dans la mémoire des conteneurs de connaissances du système de RàPC des informations qui aident non seulement à l'apprentissage de l'algorithme au fil des itérations, mais facilitent également la génération de solutions à divers problèmes sur différents ensembles de données sans nécessité d'entraînement préalable. La conception itérative en deux cycles améliore la capacité du système de RàPC à travailler et à s'adapter à des problèmes dynamiques en cours d'exécution, comme le montre la figure \ref{figNCBR1}. | |
30 | 30 | |||
\begin{figure}[!ht] | 31 | 31 | \begin{figure}[!ht] | |
\centering | 32 | 32 | \centering | |
\includegraphics[width=\textwidth]{./Figures/NCBR0.png} | 33 | 33 | \includegraphics[width=\textwidth]{./Figures/NCBR0.png} | |
\caption{Les deux cycles proposés pour le RàPC} | 34 | 34 | \caption{Les deux cycles proposés pour le RàPC} | |
\label{figNCBR1} | 35 | 35 | \label{figNCBR1} | |
\end{figure} | 36 | 36 | \end{figure} | |
%\colorbox{yellow}{Attention, cette figure apparaît deux fois dans ce chapitre.}\\ | 37 | 37 | %\colorbox{yellow}{Attention, cette figure apparaît deux fois dans ce chapitre.}\\ | |
%\colorbox{yellow}{J'ai l'impression que ce n'est pas la seule.} | 38 | 38 | %\colorbox{yellow}{J'ai l'impression que ce n'est pas la seule.} | |
39 | 39 | |||
L'étape de récupération utilise les algorithmes de recherche et la base de données de cas (conteneurs $C1$ et $C3$ de la figure \ref{figNCBR1}) pour trouver les voisins les plus proches d'un problème cible. Puis l'étape de réutilisation utilise les algorithmes de génération de solutions (conteneur $C2$). L'étape de révision évalue ensuite les solutions générées et permet d'en générer de nouvelles itérativement en fonction des paramètres stockés dans le conteneur $C4$. Vient ensuite l'étape de révision prenant en considération la solution sélectionnée. Faisant suite à cette révision, l'étape de renouvellement met à jour les paramètres et les données du conteneur. Enfin, dans l'étape de capitalisation, la base de cas est mise à jour avec l'intégration du nouveau cas. Les flux d'information de l'algorithme proposé sont présentés sur la figure~\ref{figFlowCBR0}, tandis que le tableau~\ref{tabVarPar} présente l'ensemble des variables et paramètres de l'algorithme proposé. | 40 | 40 | L'étape de récupération utilise les algorithmes de recherche et la base de données de cas (conteneurs $C1$ et $C3$ de la figure \ref{figNCBR1}) pour trouver les voisins les plus proches d'un problème cible. Puis l'étape de réutilisation utilise les algorithmes de génération de solutions (conteneur $C2$). L'étape de révision évalue ensuite les solutions générées et permet d'en générer de nouvelles itérativement en fonction des paramètres stockés dans le conteneur $C4$. Vient ensuite l'étape de révision prenant en considération la solution sélectionnée. Faisant suite à cette révision, l'étape de renouvellement met à jour les paramètres et les données du conteneur. Enfin, dans l'étape de capitalisation, la base de cas est mise à jour avec l'intégration du nouveau cas. Les flux d'information de l'algorithme proposé sont présentés sur la figure~\ref{figFlowCBR0}, tandis que le tableau~\ref{tabVarPar} présente l'ensemble des variables et paramètres de l'algorithme proposé. | |
41 | 41 | |||
\begin{figure}[!ht] | 42 | 42 | \begin{figure}[!ht] | |
\centering | 43 | 43 | \centering | |
\includegraphics[scale=0.6]{./Figures/FlowCBR0.png} | 44 | 44 | \includegraphics[scale=0.6]{./Figures/FlowCBR0.png} | |
\caption{Flux du \textit{Stacking} RàPC} | 45 | 45 | \caption{Flux du \textit{Stacking} RàPC} | |
\label{figFlowCBR0} | 46 | 46 | \label{figFlowCBR0} | |
\end{figure} | 47 | 47 | \end{figure} | |
48 | 48 | |||
\begin{table}[!ht] | 49 | 49 | \begin{table}[!ht] | |
\centering | 50 | 50 | \centering | |
\begin{tabular}{cccc} | 51 | 51 | \begin{tabular}{cccc} | |
ID&Type&Description&Domain\\ | 52 | 52 | ID&Type&Description&Domain\\ | |
\hline | 53 | 53 | \hline | |
$it$&p&Nombre d'itérations&$\mathbb{N}, it>0$\\ | 54 | 54 | $it$&p&Nombre d'itérations&$\mathbb{N}, it>0$\\ | |
$np$&p&Nombre de processus&$\mathbb{N}, np>2$\\ | 55 | 55 | $np$&p&Nombre de processus&$\mathbb{N}, np>2$\\ | |
$nl$&p&Nombre maximal de voisins locaux&$\mathbb{N}, nl>0$\\ | 56 | 56 | $nl$&p&Nombre maximal de voisins locaux&$\mathbb{N}, nl>0$\\ | |
$ng$&p&Nombre de voisins globaux&$\mathbb{N}, ng>2$\\ | 57 | 57 | $ng$&p&Nombre de voisins globaux&$\mathbb{N}, ng>2$\\ | |
$n$&v&Dimension de l'espace du problème&$\mathbb{N}, n>0$\\ | 58 | 58 | $n$&v&Dimension de l'espace du problème&$\mathbb{N}, n>0$\\ | |
$m$&v&Dimension de l'espace de solution&$\mathbb{N}, m>0$\\ | 59 | 59 | $m$&v&Dimension de l'espace de solution&$\mathbb{N}, m>0$\\ | |
$z$&v&Taille de la base de données&$\mathbb{N}, z>0$\\ | 60 | 60 | $z$&v&Taille de la base de données&$\mathbb{N}, z>0$\\ | |
$p$&v&Description du problème&$\mathbb{R} ^ n$\\ | 61 | 61 | $p$&v&Description du problème&$\mathbb{R} ^ n$\\ | |
$s$&v&Description de la solution&$\mathbb{R} ^ m$\\ | 62 | 62 | $s$&v&Description de la solution&$\mathbb{R} ^ m$\\ | |
$r_a$&v&Nombre d'algorithmes pour l'étape retrouver&$\mathbb{N}, r_a>2$\\ | 63 | 63 | $r_a$&v&Nombre d'algorithmes pour l'étape retrouver&$\mathbb{N}, r_a>2$\\ | |
$r_b$&v&Nombre d'algorithmes pour l'étape de réutilisation&$\mathbb{N}, r_b>2$\\ | 64 | 64 | $r_b$&v&Nombre d'algorithmes pour l'étape de réutilisation&$\mathbb{N}, r_b>2$\\ | |
$at$&v&Identificateur des actions&$[0,2] \in \mathbb{N}$\\ | 65 | 65 | $at$&v&Identificateur des actions&$[0,2] \in \mathbb{N}$\\ | |
$nl_i$&v&Nombre de voisins locaux pour l'algorithme $i$&$\mathbb{N}, nl_i \le nl$\\ | 66 | 66 | $nl_i$&v&Nombre de voisins locaux pour l'algorithme $i$&$\mathbb{N}, nl_i \le nl$\\ | |
$g$&v&Description de la meilleure solution globale&$\mathbb{R} ^ m$\\ | 67 | 67 | $g$&v&Description de la meilleure solution globale&$\mathbb{R} ^ m$\\ | |
$v$&v&Évaluation de la meilleure solution globale&$\mathbb{R}$\\ | 68 | 68 | $v$&v&Évaluation de la meilleure solution globale&$\mathbb{R}$\\ | |
$d(x_1,x_2)$&f&Fonction de distance entre $x_1$ et $x_2$ &$\mathbb{R}$\\ | 69 | 69 | $d(x_1,x_2)$&f&Fonction de distance entre $x_1$ et $x_2$ &$\mathbb{R}$\\ | |
$MP(x_1^z,x_2,a)$&f&Fonction pour retrouver entre $x_1$ et $x_2$&$\mathbb{R}^{a \times z}$\\ | 70 | 70 | $MP(x_1^z,x_2,a)$&f&Fonction pour retrouver entre $x_1$ et $x_2$&$\mathbb{R}^{a \times z}$\\ | |
$MS(x_1^m)$&f&Fonction pour réutiliser avec $x_1$ &$\mathbb{R}^m$\\ | 71 | 71 | $MS(x_1^m)$&f&Fonction pour réutiliser avec $x_1$ &$\mathbb{R}^m$\\ | |
$f_s(p^n,s^m)$&f&Évaluation des solutions&$\mathbb{R}$\\ | 72 | 72 | $f_s(p^n,s^m)$&f&Évaluation des solutions&$\mathbb{R}$\\ | |
\end{tabular} | 73 | 73 | \end{tabular} | |
\caption{Variables et paramètres de l'algorithme proposé (Type: p - paramètre, v - variable, f - fonction)} | 74 | 74 | \caption{Variables et paramètres de l'algorithme proposé (Type: p - paramètre, v - variable, f - fonction)} | |
\label{tabVarPar} | 75 | 75 | \label{tabVarPar} | |
\end{table} | 76 | 76 | \end{table} | |
77 | 77 | |||
\subsubsection{Rechercher} | 78 | 78 | \subsubsection{Rechercher} | |
La première étape de l'algorithme consiste à trouver les cas les plus similaires à un nouveau cas (appelé \textit{cas cible}). Pour ce faire, l'empilement de différents processus présenté sur la figure \ref{figSta1} est utilisé. Au niveau-0, chaque processus sélectionne et exécute un algorithme de recherche de voisins différents choisi parmi $r_a$ algorithmes dans le conteneur $C3$, avec un nombre de voisins $nl_i$ choisi aléatoirement dans l'intervalle $[0,nl]$. Puis au niveau-1, les résultats sont unifiés en construisant un ensemble global de cas similaires. Cinq algorithmes pour le niveau-0 ont été mis en œuvre pour l'étape de récupération : KNN (\textit{K Nearest Neighbors} - K plus proches voisins), KMeans, GMM (\textit{Gaussian Mixture Model}), FuzzyC et KNN Ponderation. | 79 | 79 | La première étape de l'algorithme consiste à trouver les cas les plus similaires à un nouveau cas (appelé \textit{cas cible}). Pour ce faire, l'empilement de différents processus présenté sur la figure \ref{figSta1} est utilisé. Au niveau-0, chaque processus sélectionne et exécute un algorithme de recherche de voisins différents choisi parmi $r_a$ algorithmes dans le conteneur $C3$, avec un nombre de voisins $nl_i$ choisi aléatoirement dans l'intervalle $[0,nl]$. Puis au niveau-1, les résultats sont unifiés en construisant un ensemble global de cas similaires. Cinq algorithmes pour le niveau-0 ont été mis en œuvre pour l'étape de récupération : KNN (\textit{K Nearest Neighbors} - K plus proches voisins), KMeans, GMM (\textit{Gaussian Mixture Model}), FuzzyC et KNN Ponderation. | |
80 | 80 | |||
\begin{figure} | 81 | 81 | \begin{figure} | |
\centering | 82 | 82 | \centering | |
\includegraphics[width=\textwidth]{./Figures/Stacking1.png} | 83 | 83 | \includegraphics[width=\textwidth]{./Figures/Stacking1.png} | |
\caption{\textit{Stacking} pour chercher les plus proches voisins} | 84 | 84 | \caption{\textit{Stacking} pour chercher les plus proches voisins} | |
\label{figSta1} | 85 | 85 | \label{figSta1} | |
\end{figure} | 86 | 86 | \end{figure} | |
87 | 87 | |||
Formellement, le premier empilement proposé fonctionne avec deux paramètres : %\textcolor{red}{quels sont les 2 paramètres?} | 88 | 88 | Formellement, le premier empilement proposé fonctionne avec deux paramètres : %\textcolor{red}{quels sont les 2 paramètres?} | |
une base de données de $z$ cas où un cas est composé de la description du problème et de la description de la solution ${(p^n,s^m)}^{z}$ et un nouveau cas sans solution $p_w^n$. Le but de tous les algorithmes de niveau-0 est de générer une liste locale de cas similaires au cas cible. Ainsi, pour chaque algorithme $j$ exécuté, l'ensemble $X_j=\{x_1,x_2,. ..,x_z \; | \; x_i=MP_i((p^n)^z, p_w^n,nl_i) \}$ est généré. Au niveau-1, un ensemble global est créé à l'aide de tous les ensembles locaux $j$ $X_g=\cup_{n=1}^{ng} min \ ; ((\cup_{j=1}^{np} X_j)-X_g)$. Le résultat du premier empilement est l'ensemble $X_g$ avec les $ng$ voisins les plus proches. | 89 | 89 | une base de données de $z$ cas où un cas est composé de la description du problème et de la description de la solution ${(p^n,s^m)}^{z}$ et un nouveau cas sans solution $p_w^n$. Le but de tous les algorithmes de niveau-0 est de générer une liste locale de cas similaires au cas cible. Ainsi, pour chaque algorithme $j$ exécuté, l'ensemble $X_j=\{x_1,x_2,. ..,x_z \; | \; x_i=MP_i((p^n)^z, p_w^n,nl_i) \}$ est généré. Au niveau-1, un ensemble global est créé à l'aide de tous les ensembles locaux $j$ $X_g=\cup_{n=1}^{ng} min \ ; ((\cup_{j=1}^{np} X_j)-X_g)$. Le résultat du premier empilement est l'ensemble $X_g$ avec les $ng$ voisins les plus proches. | |
90 | 90 | |||
\subsubsection{Réutiliser} | 91 | 91 | \subsubsection{Réutiliser} | |
92 | 92 | |||
Une fois la liste globale des cas similaires établie, les informations correspondant aux solutions de chacun de ces cas sont extraites et utilisées pour générer une nouvelle solution qui s'adapte au cas cible, en suivant le processus et les flux d'informations représentés sur la figure \ref{figAuto}. La génération est effectuée avec un deuxième empilement de différents processus. Cet empilement est représenté sur la figure \ref{figSta2}. Au niveau-0, chaque processus sélectionne et exécute un algorithme de génération différent à partir des algorithmes $r_b$ dans le conteneur $C2$. Au niveau-1, toutes les solutions générées sont stockées dans une mémoire globale. Toutes les solutions connues et générées sont représentées avec la même structure comme le montre la figure \ref{figSolRep}. | 93 | 93 | Une fois la liste globale des cas similaires établie, les informations correspondant aux solutions de chacun de ces cas sont extraites et utilisées pour générer une nouvelle solution qui s'adapte au cas cible, en suivant le processus et les flux d'informations représentés sur la figure \ref{figAuto}. La génération est effectuée avec un deuxième empilement de différents processus. Cet empilement est représenté sur la figure \ref{figSta2}. Au niveau-0, chaque processus sélectionne et exécute un algorithme de génération différent à partir des algorithmes $r_b$ dans le conteneur $C2$. Au niveau-1, toutes les solutions générées sont stockées dans une mémoire globale. Toutes les solutions connues et générées sont représentées avec la même structure comme le montre la figure \ref{figSolRep}. | |
94 | 94 | |||
\begin{figure}[!ht] | 95 | 95 | \begin{figure}[!ht] | |
\centering | 96 | 96 | \centering | |
\includegraphics[scale=1]{./Figures/SolRep.png} | 97 | 97 | \includegraphics[scale=1]{./Figures/SolRep.png} | |
\caption{Représentation des solutions connues et générées} | 98 | 98 | \caption{Représentation des solutions connues et générées} | |
\label{figSolRep} | 99 | 99 | \label{figSolRep} | |
\end{figure} | 100 | 100 | \end{figure} | |
101 | 101 | |||
Neuf algorithmes ont été mis en œuvre pour l'étape de réutilisation au niveau-0 : moyenne avec probabilité, moyenne sans probabilité, valeurs médianes, sélection aléatoire avec probabilité, copie et changement, vote, interpolation, PCA (analyse en composantes principales) et marche aléatoire. Tous les algorithmes proposés pour générer une nouvelle solution combinent et modifient l'ensemble de solutions construit dans l'étape de récupération. | 102 | 102 | Neuf algorithmes ont été mis en œuvre pour l'étape de réutilisation au niveau-0 : moyenne avec probabilité, moyenne sans probabilité, valeurs médianes, sélection aléatoire avec probabilité, copie et changement, vote, interpolation, PCA (analyse en composantes principales) et marche aléatoire. Tous les algorithmes proposés pour générer une nouvelle solution combinent et modifient l'ensemble de solutions construit dans l'étape de récupération. | |
103 | 103 | |||
\begin{figure}[!ht] | 104 | 104 | \begin{figure}[!ht] | |
\centering | 105 | 105 | \centering | |
\includegraphics[width=\textwidth]{./Figures/AutomaticS.png} | 106 | 106 | \includegraphics[width=\textwidth]{./Figures/AutomaticS.png} | |
\caption{Génération et vérification automatique des solutions} | 107 | 107 | \caption{Génération et vérification automatique des solutions} | |
\label{figAuto} | 108 | 108 | \label{figAuto} | |
\end{figure} | 109 | 109 | \end{figure} | |
110 | 110 | |||
La moyenne pondérée avec probabilité est construite en considérant les $nl$ cas les plus proches du cas cible. Ces $nl$ cas sont les cas sélectionnés par le premier empilement. Pour chacun de ces $nl$ cas, un ratio $\alpha_j$ est calculé en considérant la distance entre celui-ci et le cas cible, selon l'équation \ref{gen00}. | 111 | 111 | La moyenne pondérée avec probabilité est construite en considérant les $nl$ cas les plus proches du cas cible. Ces $nl$ cas sont les cas sélectionnés par le premier empilement. Pour chacun de ces $nl$ cas, un ratio $\alpha_j$ est calculé en considérant la distance entre celui-ci et le cas cible, selon l'équation \ref{gen00}. | |
Nous considérons alors l'ensemble de ces ratios comme une distribution de probabilité discrète. Chacune des composantes du vecteur solution est ensuite calculée selon l'équation \ref{gen01}. Cet algorithme permet de donner plus de poids aux solutions des cas les plus proches du cas cible. | 112 | 112 | Nous considérons alors l'ensemble de ces ratios comme une distribution de probabilité discrète. Chacune des composantes du vecteur solution est ensuite calculée selon l'équation \ref{gen01}. Cet algorithme permet de donner plus de poids aux solutions des cas les plus proches du cas cible. | |
113 | 113 | |||
\begin{equation} | 114 | 114 | \begin{equation} | |
\alpha_j=1-\left(\frac{d(p_j^n,p_w^n)}{\sum_{i=0}^{nl} d(p_i^n,p_w^n)}\right) | 115 | 115 | \alpha_j=1-\left(\frac{d(p_j^n,p_w^n)}{\sum_{i=0}^{nl} d(p_i^n,p_w^n)}\right) | |
\label{gen00} | 116 | 116 | \label{gen00} | |
\end{equation} | 117 | 117 | \end{equation} | |
118 | 118 | |||
\begin{equation} | 119 | 119 | \begin{equation} | |
s^m_{j,w}=\sum_{i=0}^{nl-1} \alpha_j s_{i,j} | 120 | 120 | s^m_{j,w}=\sum_{i=0}^{nl-1} \alpha_j s_{i,j} | |
\label{gen01} | 121 | 121 | \label{gen01} | |
\end{equation} | 122 | 122 | \end{equation} | |
123 | 123 | |||
La moyenne sans probabilité génère la nouvelle solution où la valeur de chaque composante est la moyenne calculée avec une distribution de probabilité uniforme (attribuant la même probabilité à toutes les composantes de toutes les solutions associées aux cas les plus proches du cas cible). Formellement la génération de la solution est calculée selon l'équation \ref{gen2}. | 124 | 124 | La moyenne sans probabilité génère la nouvelle solution où la valeur de chaque composante est la moyenne calculée avec une distribution de probabilité uniforme (attribuant la même probabilité à toutes les composantes de toutes les solutions associées aux cas les plus proches du cas cible). Formellement la génération de la solution est calculée selon l'équation \ref{gen2}. | |
125 | 125 | |||
\begin{equation} | 126 | 126 | \begin{equation} | |
s^m_{w,j}= \frac{1}{nl} \sum_{i=0}^{nl-1} s_{i,j} | 127 | 127 | s^m_{w,j}= \frac{1}{nl} \sum_{i=0}^{nl-1} s_{i,j} | |
\label{gen2} | 128 | 128 | \label{gen2} | |
\end{equation} | 129 | 129 | \end{equation} | |
130 | 130 | |||
La génération par valeurs médianes (équation \ref{eqgen3}) construit la solution en utilisant la valeur médiane de toutes les solutions pour chaque composante $j$. $X_j$ représente l'ensemble des valeurs ordonnées des $j$-ièmes composantes de toutes solutions $S$. | 131 | 131 | La génération par valeurs médianes (équation \ref{eqgen3}) construit la solution en utilisant la valeur médiane de toutes les solutions pour chaque composante $j$. $X_j$ représente l'ensemble des valeurs ordonnées des $j$-ièmes composantes de toutes solutions $S$. | |
132 | 132 | |||
\begin{equation} | 133 | 133 | \begin{equation} | |
s_{j,w}^m= | 134 | 134 | s_{j,w}^m= | |
\begin{cases} | 135 | 135 | \begin{cases} | |
x_{j,\frac{m+1}{2}}, \; si \; m \in \{{2k+1 : k \in \mathbb{Z}}\}\\ | 136 | 136 | x_{j,\frac{m+1}{2}}, \; si \; m \in \{{2k+1 : k \in \mathbb{Z}}\}\\ | |
\frac{x_{j,\frac{m}{2}}+x_{j,\frac{m}{2}+1}}{2}, \; sinon\\ | 137 | 137 | \frac{x_{j,\frac{m}{2}}+x_{j,\frac{m}{2}+1}}{2}, \; sinon\\ | |
\end{cases} | 138 | 138 | \end{cases} | |
\label{eqgen3} | 139 | 139 | \label{eqgen3} | |
\end{equation} | 140 | 140 | \end{equation} | |
141 | 141 | |||
La sélection aléatoire avec probabilité (équation \ref{eqgen4}) génère une solution en copiant la $j$-ième composante de l'une des solutions tirée au sort. Le tirage au sort suit une loi donnée par une distribution de probabilité discrète. Cette distribution de probabilité est identique à celle de la moyenne pondérée avec probabilité. | 142 | 142 | La sélection aléatoire avec probabilité (équation \ref{eqgen4}) génère une solution en copiant la $j$-ième composante de l'une des solutions tirée au sort. Le tirage au sort suit une loi donnée par une distribution de probabilité discrète. Cette distribution de probabilité est identique à celle de la moyenne pondérée avec probabilité. | |
143 | 143 | |||
\begin{equation} | 144 | 144 | \begin{equation} | |
s_{j,w}^m=s_{j,k}^m; k \sim \left(1-\left(\frac{d(p_k,p_w)}{\sum_{i=1}^nl(p_k,p_i)} \right)\right) | 145 | 145 | s_{j,w}^m=s_{j,k}^m; k \sim \left(1-\left(\frac{d(p_k,p_w)}{\sum_{i=1}^nl(p_k,p_i)} \right)\right) | |
\label{eqgen4} | 146 | 146 | \label{eqgen4} | |
\end{equation} | 147 | 147 | \end{equation} | |
148 | 148 | |||
"Copie/changement" copie les informations d'une solution aléatoire et en remplace une partie par celles d'une autre solution sélectionnée aléatoirement selon l'équation \ref{eqgen5}. | 149 | 149 | "Copie/changement" copie les informations d'une solution aléatoire et en remplace une partie par celles d'une autre solution sélectionnée aléatoirement selon l'équation \ref{eqgen5}. | |
150 | 150 | |||
\begin{equation} | 151 | 151 | \begin{equation} | |
s_{j,w}^m=s_{j,k}^m; k \sim \left(\frac{1}{nl} \right) | 152 | 152 | s_{j,w}^m=s_{j,k}^m; k \sim \left(\frac{1}{nl} \right) | |
\label{eqgen5} | 153 | 153 | \label{eqgen5} | |
\end{equation} | 154 | 154 | \end{equation} | |
155 | 155 | |||
Le vote permet de copier l'information la plus fréquente de toutes \ref{eqgen6}. | 156 | 156 | Le vote permet de copier l'information la plus fréquente de toutes \ref{eqgen6}. | |
157 | 157 | |||
\begin{equation} | 158 | 158 | \begin{equation} | |
s_{j,w}^m=s_{j,k}^m; k=argmax_i \; \mathbb{P}(X=s_{j,i}^m), 1\le i \le nl | 159 | 159 | s_{j,w}^m=s_{j,k}^m; k=argmax_i \; \mathbb{P}(X=s_{j,i}^m), 1\le i \le nl | |
\label{eqgen6} | 160 | 160 | \label{eqgen6} | |
\end{equation} | 161 | 161 | \end{equation} | |
162 | 162 | |||
L'interpolation construit une distribution de probabilité continue pour chaque composante $j$. Chaque probabilité de ces distributions est le résultat d'une fonction d'interpolation linéaire à une composante. La valeur de la $j$-ième composante de la solution est calculée selon l'équation \ref{eqgen7}. | 163 | 163 | L'interpolation construit une distribution de probabilité continue pour chaque composante $j$. Chaque probabilité de ces distributions est le résultat d'une fonction d'interpolation linéaire à une composante. La valeur de la $j$-ième composante de la solution est calculée selon l'équation \ref{eqgen7}. | |
164 | 164 | |||
\begin{equation} | 165 | 165 | \begin{equation} | |
s_{w,j}^m \sim \left( \left( \frac{y_i-y_{i+1}}{x_i-x_{i+1}} \right) (x-x_i)+y_i \right), \forall i \; 0 \le i < nl | 166 | 166 | s_{w,j}^m \sim \left( \left( \frac{y_i-y_{i+1}}{x_i-x_{i+1}} \right) (x-x_i)+y_i \right), \forall i \; 0 \le i < nl | |
\label{eqgen7} | 167 | 167 | \label{eqgen7} | |
\end{equation} | 168 | 168 | \end{equation} | |
169 | 169 | |||
L'analyse en composantes principales (PCA) consiste à établir une transformation de la description du problème en description de la solution associée. La moyenne de la distance entre toutes les paires problème-solution est calculée et permet de générer une solution par transposition. | 170 | 170 | L'analyse en composantes principales (PCA) consiste à établir une transformation de la description du problème en description de la solution associée. La moyenne de la distance entre toutes les paires problème-solution est calculée et permet de générer une solution par transposition. | |
171 | 171 | |||
La PCA permet donc de générer une matrice de transformation $\mathcal{M}$ d'un vecteur de l'espace des problèmes en vecteur de l'espace des solutions. Pour chaque cas source, la distance entre le vecteur solution obtenu et le vecteur solution stocké est calculée. Une moyenne de ces distances $md$ est ensuite considérée. | 172 | 172 | La PCA permet donc de générer une matrice de transformation $\mathcal{M}$ d'un vecteur de l'espace des problèmes en vecteur de l'espace des solutions. Pour chaque cas source, la distance entre le vecteur solution obtenu et le vecteur solution stocké est calculée. Une moyenne de ces distances $md$ est ensuite considérée. | |
173 | 173 | |||
L'application de $\mathcal{M}$ au vecteur problème du cas cible donne donc dans un premier temps un vecteur solution. La solution cible est alors le vecteur $md \times \mathcal{M}$. | 174 | 174 | L'application de $\mathcal{M}$ au vecteur problème du cas cible donne donc dans un premier temps un vecteur solution. La solution cible est alors le vecteur $md \times \mathcal{M}$. | |
175 | 175 | |||
La marche aléatoire consiste à choisir une solution et à changer la valeur de l'une de ses composantes. Cette composante est tirée au sort et un pas $\Delta$ est ajouté à sa valeur. La valeur de $\Delta$ est générée en suivant une distribution de probabilité normale de moyenne $0$ et de variance $1$. | 176 | 176 | La marche aléatoire consiste à choisir une solution et à changer la valeur de l'une de ses composantes. Cette composante est tirée au sort et un pas $\Delta$ est ajouté à sa valeur. La valeur de $\Delta$ est générée en suivant une distribution de probabilité normale de moyenne $0$ et de variance $1$. | |
177 | 177 | |||
\begin{equation} | 178 | 178 | \begin{equation} | |
k \sim \left(\frac{1}{nl}\right) | 179 | 179 | k \sim \left(\frac{1}{nl}\right) | |
\end{equation} | 180 | 180 | \end{equation} | |
181 | 181 | |||
\begin{equation} | 182 | 182 | \begin{equation} | |
s_{w,j}^m=\begin{cases} | 183 | 183 | s_{w,j}^m=\begin{cases} | |
s_{j,k}^m+\mathcal{N}(0,1)& si \; (\mathcal{U}_{int}(0,10))\%2=0\\ | 184 | 184 | s_{j,k}^m+\mathcal{N}(0,1)& si \; (\mathcal{U}_{int}(0,10))\%2=0\\ | |
s_{j,k}^m-\mathcal{N}(0,1)&sinon | 185 | 185 | s_{j,k}^m-\mathcal{N}(0,1)&sinon | |
\end{cases} | 186 | 186 | \end{cases} | |
\end{equation} | 187 | 187 | \end{equation} | |
188 | 188 | |||
\begin{figure} | 189 | 189 | \begin{figure} | |
\centering | 190 | 190 | \centering | |
\includegraphics[width=\textwidth]{./Figures/Stacking2.png} | 191 | 191 | \includegraphics[width=\textwidth]{./Figures/Stacking2.png} | |
\caption{\textit{Stacking} pour la génération de solutions} | 192 | 192 | \caption{\textit{Stacking} pour la génération de solutions} | |
\label{figSta2} | 193 | 193 | \label{figSta2} | |
\end{figure} | 194 | 194 | \end{figure} | |
195 | 195 | |||
La description des solutions $s$ et l'ensemble $(s^m)^{ng}$ sont les paramètres du deuxième empilement. Chaque algorithme décrit ci-dessus génère une solution candidate $s_{i,c}=MS_i((s^m)^{ng})$. Vient ensuite la construction de l'ensemble d'unification de toutes les solutions candidates $Y_g= \cup_{i=1}^{np} s_{i,c}$ (niveau-1). Cet ensemble est évalué à l'aide d'une fonction permettant de déterminer la qualité de la solution. | 196 | 196 | La description des solutions $s$ et l'ensemble $(s^m)^{ng}$ sont les paramètres du deuxième empilement. Chaque algorithme décrit ci-dessus génère une solution candidate $s_{i,c}=MS_i((s^m)^{ng})$. Vient ensuite la construction de l'ensemble d'unification de toutes les solutions candidates $Y_g= \cup_{i=1}^{np} s_{i,c}$ (niveau-1). Cet ensemble est évalué à l'aide d'une fonction permettant de déterminer la qualité de la solution. | |
197 | 197 | |||
\subsubsection{Révision} | 198 | 198 | \subsubsection{Révision} | |
199 | 199 | |||
Dans cette phase, le problème de l'évaluation automatique d'une solution candidate est transformé en un problème d'optimisation, où la fonction objectif est \ref{eqOpt}. Ce problème revient à calculer la moyenne géométrique ou encore à résoudre le problème de "Fermat-Weber". Dans le cas d'un espace multidimensionnel, résoudre ce problème revient à calculer la moyenne spatiale \cite{doi:10.1137/23M1592420}. La figure \ref{fig:FW} montre un exemple de la formulation du problème en deux dimensions. Sur cette figure, le point rouge représente une solution possible minimisant la somme des distances entre ce point et tous les autres points définis dans l'espace. | 200 | 200 | Dans cette phase, le problème de l'évaluation automatique d'une solution candidate est transformé en un problème d'optimisation, où la fonction objectif est \ref{eqOpt}. Ce problème revient à calculer la moyenne géométrique ou encore à résoudre le problème de "Fermat-Weber". Dans le cas d'un espace multidimensionnel, résoudre ce problème revient à calculer la moyenne spatiale \cite{doi:10.1137/23M1592420}. La figure \ref{fig:FW} montre un exemple de la formulation du problème en deux dimensions. Sur cette figure, le point rouge représente une solution possible minimisant la somme des distances entre ce point et tous les autres points définis dans l'espace. | |
201 | 201 | |||
La fonction objectif \ref{eqOpt} établit un rapport entre la distance de la solution générée $s^m_w$ et les $x$ solutions connues $s^m_x$ avec un facteur aléatoire de \textit{drift} d'une part, et la distance entre le problème cible $p^n_w$ et les $x$ problèmes connus $p^n_x$ d'autre part. Ici, la difficulté à trouver le point optimal réside dans le fait que les points de l'espace ne peuvent pas tous convenir en tant que solution cible. La solution cible finale dépend donc des informations des solutions connues. L'objectif est d'utiliser les informations disponibles de chaque cas (problème et solution) pour valider et générer l'ensemble de solutions proposées.\\ | 202 | 202 | La fonction objectif \ref{eqOpt} établit un rapport entre la distance de la solution générée $s^m_w$ et les $x$ solutions connues $s^m_x$ avec un facteur aléatoire de \textit{drift} d'une part, et la distance entre le problème cible $p^n_w$ et les $x$ problèmes connus $p^n_x$ d'autre part. Ici, la difficulté à trouver le point optimal réside dans le fait que les points de l'espace ne peuvent pas tous convenir en tant que solution cible. La solution cible finale dépend donc des informations des solutions connues. L'objectif est d'utiliser les informations disponibles de chaque cas (problème et solution) pour valider et générer l'ensemble de solutions proposées.\\ | |
%\colorbox{yellow}{J'ai beaucoup modifié le paragraphe ci-dessus. Il faudrait vérifier.} | 203 | 203 | %\colorbox{yellow}{J'ai beaucoup modifié le paragraphe ci-dessus. Il faudrait vérifier.} | |
204 | 204 | |||
\begin{equation} | 205 | 205 | \begin{equation} | |
\lambda_x(p_w, s_w) = \left( \frac{d(s_w^m,(s_x^m+rn(0,d(p_w^n, p_i^n))))}{d(p_w^n,p_x^n)^2} \right) | 206 | 206 | \lambda_x(p_w, s_w) = \left( \frac{d(s_w^m,(s_x^m+rn(0,d(p_w^n, p_i^n))))}{d(p_w^n,p_x^n)^2} \right) | |
\label{eqOpt0} | 207 | 207 | \label{eqOpt0} | |
\end{equation} | 208 | 208 | \end{equation} | |
209 | 209 | |||
\begin{equation} | 210 | 210 | \begin{equation} | |
min \; \left( f_s(p_w^n, s_w^m) \right) = min \left( \sum_{i=1}^{ng} \lambda_i (p_w, s_w) \right) | 211 | 211 | min \; \left( f_s(p_w^n, s_w^m) \right) = min \left( \sum_{i=1}^{ng} \lambda_i (p_w, s_w) \right) | |
\label{eqOpt} | 212 | 212 | \label{eqOpt} | |
\end{equation} | 213 | 213 | \end{equation} | |
214 | 214 | |||
\begin{figure}[!ht] | 215 | 215 | \begin{figure}[!ht] | |
\centering | 216 | 216 | \centering | |
\includegraphics[width=\textwidth]{Figures/FW.png} | 217 | 217 | \includegraphics[width=\textwidth]{Figures/FW.png} | |
\caption{Représentation graphique en deux dimensions du problème de moyenne géométrique. (Points associés au problème ($\lambda_1,..,\lambda_7$) et point rouge solution au problème)} | 218 | 218 | \caption{Représentation graphique en deux dimensions du problème de moyenne géométrique. (Points associés au problème ($\lambda_1,..,\lambda_7$) et point rouge solution au problème)} | |
\label{fig:FW} | 219 | 219 | \label{fig:FW} | |
\end{figure} | 220 | 220 | \end{figure} | |
221 | 221 | |||
Le cycle d'optimisation permet d'exécuter les phases de récupération et de réutilisation en fonction de l'action sélectionnée selon une distribution de probabilité parmi $[0,at]$ à chaque itération $it$. À chaque itération, la valeur minimale évaluée par la fonction objectif est sauvegardée. | 222 | 222 | Le cycle d'optimisation permet d'exécuter les phases de récupération et de réutilisation en fonction de l'action sélectionnée selon une distribution de probabilité parmi $[0,at]$ à chaque itération $it$. À chaque itération, la valeur minimale évaluée par la fonction objectif est sauvegardée. | |
223 | 223 | |||
\subsubsection{Mémorisation} | 224 | 224 | \subsubsection{Mémorisation} | |
225 | 225 | |||
L'étape de mémorisation consiste simplement à prendre la meilleure solution proposée et à déterminer s'il s'agit d'une solution nouvelle ou existante. S'il s'agit d'une nouvelle solution, elle est enregistrée dans la base de connaissances. | 226 | 226 | L'étape de mémorisation consiste simplement à prendre la meilleure solution proposée et à déterminer s'il s'agit d'une solution nouvelle ou existante. S'il s'agit d'une nouvelle solution, elle est enregistrée dans la base de connaissances. | |
227 | 227 | |||
\subsection{Résultats} | 228 | 228 | \subsection{Résultats} | |
229 | 229 | |||
Les performances de prédiction de l'algorithme proposé ont été comparées à celles de neuf autres algorithmes sur dix jeux de données classiquement utilisés pour évaluer des méthodes de régression. Ces jeux de données présentent des caractéristiques différentes. Les jeux de données et leurs caractéristiques sont consignées dans le tableau \ref{tabBases2}. Les valeurs des paramètres de l'algorithme sont les suivantes : $it=100$, $np=50$, $nl=10$ et $ng=10$. | 230 | 230 | Les performances de prédiction de l'algorithme proposé ont été comparées à celles de neuf autres algorithmes sur dix jeux de données classiquement utilisés pour évaluer des méthodes de régression. Ces jeux de données présentent des caractéristiques différentes. Les jeux de données et leurs caractéristiques sont consignées dans le tableau \ref{tabBases2}. Les valeurs des paramètres de l'algorithme sont les suivantes : $it=100$, $np=50$, $nl=10$ et $ng=10$. | |
%\colorbox{yellow}{À quoi correspondent ces valeurs ? Unités ?} | 231 | 231 | %\colorbox{yellow}{À quoi correspondent ces valeurs ? Unités ?} | |
232 | 232 | |||
\begin{table}[!ht] | 233 | 233 | \begin{table}[!ht] | |
\tiny | 234 | 234 | \tiny | |
\centering | 235 | 235 | \centering | |
\begin{tabular}{llccccc} | 236 | 236 | \begin{tabular}{llccccc} | |
ID&DataSet&Features&Instances&Output Dimension&Input Domain&Output Domain\\ | 237 | 237 | ID&DataSet&Features&Instances&Output Dimension&Input Domain&Output Domain\\ | |
\hline | 238 | 238 | \hline | |
DS1&Yatch Hydrodynamics&6&308&1&$\mathbb{R}$&$\mathbb{R}$\\ | 239 | 239 | DS1&Yatch Hydrodynamics&6&308&1&$\mathbb{R}$&$\mathbb{R}$\\ | |
DS2&Electrical Grid Stability&12&10000&1&$\mathbb{R}$&$\mathbb{R}$\\ | 240 | 240 | DS2&Electrical Grid Stability&12&10000&1&$\mathbb{R}$&$\mathbb{R}$\\ | |
DS3&Real State Valuation&6&414&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 241 | 241 | DS3&Real State Valuation&6&414&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS4&Wine Quality (Red)&11&1598&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | 242 | 242 | DS4&Wine Quality (Red)&11&1598&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | |
DS5&Wine Quality (White)&11&4897&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | 243 | 243 | DS5&Wine Quality (White)&11&4897&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | |
DS6&Concrete Compressive Strength&8&1030&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 244 | 244 | DS6&Concrete Compressive Strength&8&1030&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS7&Energy Efficiency&8&768&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 245 | 245 | DS7&Energy Efficiency&8&768&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS8&Gas Turbine CO, NOx Emission (2015)&9&7384&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 246 | 246 | DS8&Gas Turbine CO, NOx Emission (2015)&9&7384&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS9&Student Performace Portuguese&30&649&3&$\mathbb{N}$&$\mathbb{N}$\\ | 247 | 247 | DS9&Student Performace Portuguese&30&649&3&$\mathbb{N}$&$\mathbb{N}$\\ | |
DS10&Student Performance Math&30&395&3&$\mathbb{N}$&$\mathbb{N}$\\ | 248 | 248 | DS10&Student Performance Math&30&395&3&$\mathbb{N}$&$\mathbb{N}$\\ | |
\end{tabular} | 249 | 249 | \end{tabular} | |
\caption{Description des jeux de données évaluées.} | 250 | 250 | \caption{Description des jeux de données évaluées.} | |
\label{tabBases2} | 251 | 251 | \label{tabBases2} | |
\end{table} | 252 | 252 | \end{table} | |
253 | 253 | |||
L'algorithme proposé est comparé à neuf algorithmes de régression largement utilisés dans divers travaux de recherche et problèmes appliqués. La liste des algorithmes est présentée dans le tableau \ref{tabAlgs2}. Tous les algorithmes ont été exécutés cent fois, et les algorithmes qui nécessitent un entraînement et des validations croisées sont exécutés avec $k=10$ blocs. | 254 | 254 | L'algorithme proposé est comparé à neuf algorithmes de régression largement utilisés dans divers travaux de recherche et problèmes appliqués. La liste des algorithmes est présentée dans le tableau \ref{tabAlgs2}. Tous les algorithmes ont été exécutés cent fois, et les algorithmes qui nécessitent un entraînement et des validations croisées sont exécutés avec $k=10$ blocs. | |
255 | 255 | |||
\begin{table}[!ht] | 256 | 256 | \begin{table}[!ht] | |
\centering | 257 | 257 | \centering | |
\footnotesize | 258 | 258 | \footnotesize | |
\begin{tabular}{ll|ll} | 259 | 259 | \begin{tabular}{ll|ll} | |
ID&Algorithme&ID&Algorithme\\ | 260 | 260 | ID&Algorithme&ID&Algorithme\\ | |
\hline | 261 | 261 | \hline | |
A1&Linear Regression&A6&Polinomial Regression\\ | 262 | 262 | A1&Linear Regression&A6&Polinomial Regression\\ | |
A2&K-Nearest Neighbor&A7&Ridge Regression\\ | 263 | 263 | A2&K-Nearest Neighbor&A7&Ridge Regression\\ | |
A3&Decision Tree&A8&Lasso Regression\\ | 264 | 264 | A3&Decision Tree&A8&Lasso Regression\\ | |
A4&Random Forest (Ensemble)&A9&Gradient Boosting (Ensemble)\\ | 265 | 265 | A4&Random Forest (Ensemble)&A9&Gradient Boosting (Ensemble)\\ | |
A5&Multi Layer Perceptron&A10&Proposed Case Based Reasoning\\ | 266 | 266 | A5&Multi Layer Perceptron&A10&Proposed Case Based Reasoning\\ | |
\end{tabular} | 267 | 267 | \end{tabular} | |
\caption{Liste des algorithmes évalués} | 268 | 268 | \caption{Liste des algorithmes évalués} | |
\label{tabAlgs2} | 269 | 269 | \label{tabAlgs2} | |
\end{table} | 270 | 270 | \end{table} | |
271 | 271 | |||
Le tableau \ref{tabRes1_2} présente l'erreur quadratique moyenne (RMSE) obtenue par chaque algorithme pour chaque jeu de données. Le tableau \ref{tabRes2_2} présente l'erreur absolue médiane (MAE) obtenue par chaque algorithme pour chaque jeu de données. | 272 | 272 | Le tableau \ref{tabRes1_2} présente l'erreur quadratique moyenne (RMSE) obtenue par chaque algorithme pour chaque jeu de données. Le tableau \ref{tabRes2_2} présente l'erreur absolue médiane (MAE) obtenue par chaque algorithme pour chaque jeu de données. | |
273 | 273 | |||
\begin{table}[!ht] | 274 | 274 | \begin{table}[!ht] | |
\footnotesize | 275 | 275 | \footnotesize | |
\centering | 276 | 276 | \centering | |
\begin{tabular}{c|ccccccccccc} | 277 | 277 | \begin{tabular}{c|ccccccccccc} | |
Dataset&A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\ | 278 | 278 | Dataset&A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\ | |
\hline | 279 | 279 | \hline | |
DS1&9.010&10.780&1.224&0.982&3.369&9.009&8.985&9.629&\textbf{0.668}&5.871\\ | 280 | 280 | DS1&9.010&10.780&1.224&0.982&3.369&9.009&8.985&9.629&\textbf{0.668}&5.871\\ | |
DS2&0.022&0.025&0.020&0.012&0.017&0.022&0.022&0.037&\textbf{0.011}&0.015\\ | 281 | 281 | DS2&0.022&0.025&0.020&0.012&0.017&0.022&0.022&0.037&\textbf{0.011}&0.015\\ | |
DS3&8.633&8.033&9.334&\textbf{7.203}&8.470&8.705&8.842&9.009&7.324&8.491\\ | 282 | 282 | DS3&8.633&8.033&9.334&\textbf{7.203}&8.470&8.705&8.842&9.009&7.324&8.491\\ | |
DS4&0.651&0.746&0.782&\textbf{0.571}&0.694&0.651&0.651&0.792&0.617&0.762\\ | 283 | 283 | DS4&0.651&0.746&0.782&\textbf{0.571}&0.694&0.651&0.651&0.792&0.617&0.762\\ | |
DS5&0.753&0.806&0.820&\textbf{0.599}&0.853&0.754&0.757&0.863&0.688&0.748\\ | 284 | 284 | DS5&0.753&0.806&0.820&\textbf{0.599}&0.853&0.754&0.757&0.863&0.688&0.748\\ | |
DS6&10.439&8.871&6.144&\textbf{4.738}&6.553&10.423&10.422&10.428&5.053&8.766\\ | 285 | 285 | DS6&10.439&8.871&6.144&\textbf{4.738}&6.553&10.423&10.422&10.428&5.053&8.766\\ | |
DS7&2.948&2.116&0.541&\textbf{0.465}&3.726&2.949&2.979&4.094&0.467&1.973\\ | 286 | 286 | DS7&2.948&2.116&0.541&\textbf{0.465}&3.726&2.949&2.979&4.094&0.467&1.973\\ | |
DS8&1.315&1.161&1.513&\textbf{1.109}&1.566&1.303&1.308&1.318&1.125&2.157\\ | 287 | 287 | DS8&1.315&1.161&1.513&\textbf{1.109}&1.566&1.303&1.308&1.318&1.125&2.157\\ | |
DS9&\textbf{2.304}&2.624&3.217&2.315&2.898&\textbf{2.304}&\textbf{2.304}&2.551&2.342&2.802\\ | 288 | 288 | DS9&\textbf{2.304}&2.624&3.217&2.315&2.898&\textbf{2.304}&\textbf{2.304}&2.551&2.342&2.802\\ | |
DS10&3.052&3.404&4.158&\textbf{3.014}&3.607&3.061&3.061&3.150&3.020&3.874\\ | 289 | 289 | DS10&3.052&3.404&4.158&\textbf{3.014}&3.607&3.061&3.061&3.150&3.020&3.874\\ | |
\hline | 290 | 290 | \hline | |
Avg. Rank&5.7&6.3&7.2&2.1&6.6&5.6&5.5&8.6&1.8&5.6\\ | 291 | 291 | Avg. Rank&5.7&6.3&7.2&2.1&6.6&5.6&5.5&8.6&1.8&5.6\\ | |
\end{tabular} | 292 | 292 | \end{tabular} | |
\caption{RMSE calculée sur les dix jeux de données sélectionnés obtenue après exécution des dix algorithmes de régression considérés} | 293 | 293 | \caption{RMSE calculée sur les dix jeux de données sélectionnés obtenue après exécution des dix algorithmes de régression considérés} | |
\label{tabRes1_2} | 294 | 294 | \label{tabRes1_2} | |
\end{table} | 295 | 295 | \end{table} | |
296 | 296 | |||
\begin{table}[!ht] | 297 | 297 | \begin{table}[!ht] | |
\footnotesize | 298 | 298 | \footnotesize | |
\centering | 299 | 299 | \centering | |
\begin{tabular}{c|ccccccccccc} | 300 | 300 | \begin{tabular}{c|ccccccccccc} | |
Dataset&A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\ | 301 | 301 | Dataset&A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\ | |
\hline | 302 | 302 | \hline | |
DS1&6.776&2.385&0.231&0.207&3.632&6.778&6.307&5.186&\textbf{0.162}&1.193\\ | 303 | 303 | DS1&6.776&2.385&0.231&0.207&3.632&6.778&6.307&5.186&\textbf{0.162}&1.193\\ | |
DS2&0.015&0.017&0.012&0.008&0.012&0.015&0.015&0.030&\textbf{0.007}&0.011\\ | 304 | 304 | DS2&0.015&0.017&0.012&0.008&0.012&0.015&0.015&0.030&\textbf{0.007}&0.011\\ | |
DS3&5.092&4.320&4.1&3.632&4.435&5.092&5.20&5.132&\textbf{3.504}&3.90\\ | 305 | 305 | DS3&5.092&4.320&4.1&3.632&4.435&5.092&5.20&5.132&\textbf{3.504}&3.90\\ | |
DS4&0.413&0.495&0.18&0.325&0.451&0.413&0.412&0.544&0.387&\textbf{0.154}\\ | 306 | 306 | DS4&0.413&0.495&0.18&0.325&0.451&0.413&0.412&0.544&0.387&\textbf{0.154}\\ | |
DS5&0.509&0.548&0.285&0.374&0.550&0.509&0.509&0.633&0.456&\textbf{0.113}\\ | 307 | 307 | DS5&0.509&0.548&0.285&0.374&0.550&0.509&0.509&0.633&0.456&\textbf{0.113}\\ | |
DS6&6.989&5.709&3.134&\textbf{2.839}&4.306&6.989&6.989&6.986&3.084&5.439\\ | 308 | 308 | DS6&6.989&5.709&3.134&\textbf{2.839}&4.306&6.989&6.989&6.986&3.084&5.439\\ | |
DS7&1.393&1.372&\textbf{0.217}&0.218&2.523&1.393&1.529&2.346&0.243&1.008\\ | 309 | 309 | DS7&1.393&1.372&\textbf{0.217}&0.218&2.523&1.393&1.529&2.346&0.243&1.008\\ | |
DS8&0.549&0.297&0.365&\textbf{0.289}&0.742&0.549&0.549&0.540&0.309&0.861\\ | 310 | 310 | DS8&0.549&0.297&0.365&\textbf{0.289}&0.742&0.549&0.549&0.540&0.309&0.861\\ | |
DS9&\textbf{1.496}&1.788&2.080&1.612&2.005&\textbf{1.496}&\textbf{1.496}&1.714&1.538&1.721\\ | 311 | 311 | DS9&\textbf{1.496}&1.788&2.080&1.612&2.005&\textbf{1.496}&\textbf{1.496}&1.714&1.538&1.721\\ | |
DS10&2.344&2.534&2.910&2.331&2.543&2.344&2.344&2.481&\textbf{2.258}&2.602\\ | 312 | 312 | DS10&2.344&2.534&2.910&2.331&2.543&2.344&2.344&2.481&\textbf{2.258}&2.602\\ | |
\hline | 313 | 313 | \hline | |
Avg. Rank&6.45&6.4&4.35&2.3&7.35&6.55&6.6&7.9&2.4&4.7\\ | 314 | 314 | Avg. Rank&6.45&6.4&4.35&2.3&7.35&6.55&6.6&7.9&2.4&4.7\\ | |
\end{tabular} | 315 | 315 | \end{tabular} | |
\caption{MAE calculée sur les dix jeux de données sélectionnés obtenue après exécution des dix algorithmes de régression considérés} | 316 | 316 | \caption{MAE calculée sur les dix jeux de données sélectionnés obtenue après exécution des dix algorithmes de régression considérés} | |
\label{tabRes2_2} | 317 | 317 | \label{tabRes2_2} | |
\end{table} | 318 | 318 | \end{table} | |
319 | 319 | |||
La dispersion globale, la médiane et les valeurs aberrantes pour quatre jeux de données représentatifs sont présentées sur la figure \ref{figBox2}. Nous pouvons voir que l'algorithme ESCBR proposé génère plus de valeurs aberrantes que les autres algorithmes. Ceci peut être expliqué par le fait que les algorithmes de niveau-0 de ESCBR tendent à privilégier l'exploration de l'espace des solutions. Toutefois, nous pouvons observer que ESCBR est plus stable (la variance est plus faible) et converge mieux que la plupart des autres algorithmes testés. | 320 | 320 | La dispersion globale, la médiane et les valeurs aberrantes pour quatre jeux de données représentatifs sont présentées sur la figure \ref{figBox2}. Nous pouvons voir que l'algorithme ESCBR proposé génère plus de valeurs aberrantes que les autres algorithmes. Ceci peut être expliqué par le fait que les algorithmes de niveau-0 de ESCBR tendent à privilégier l'exploration de l'espace des solutions. Toutefois, nous pouvons observer que ESCBR est plus stable (la variance est plus faible) et converge mieux que la plupart des autres algorithmes testés. | |
321 | 321 | |||
\begin{figure} | 322 | 322 | \begin{figure} | |
\includegraphics[width=\textwidth]{./Figures/boxplot.png} | 323 | 323 | \includegraphics[width=\textwidth]{./Figures/boxplot.png} | |
\caption{Résultats de la métrique MAE (\textit{Median Absolute Error}) pour les dix algorithmes et quatre bases de données représentatives} | 324 | 324 | \caption{Résultats de la métrique MAE (\textit{Median Absolute Error}) pour les dix algorithmes et quatre bases de données représentatives} | |
\label{figBox2} | 325 | 325 | \label{figBox2} | |
\end{figure} | 326 | 326 | \end{figure} | |
327 | 327 | |||
\subsection{Discussion} | 328 | 328 | \subsection{Discussion} | |
329 | 329 | |||
De par ses performances, ESCBR se révèle compétitif par rapport à certains des neuf autres algorithmes testés pour la prédiction dans les problèmes de régression. En particulier, dans ce travail, nous avons effectué les tests sur dix jeux de données aux caractéristiques variées, telles que le nombre d'instances, le nombre de caractéristiques, le domaine des variables d'entrée, les dimensions de la variable de sortie et le domaine d'application. Cela démontre la polyvalence de l'algorithme proposé et son applicabilité à différentes configurations. Étant donné la nature exploratoire et stochastique d'ESCBR, il présente une grande diversité de solutions générant plusieurs valeurs aberrantes. Malgré cela, dans la plupart des cas, il est possible d'atteindre une solution approximative convergeant vers la solution optimale. Pour cette raison, les valeurs de la moyenne sont parfois élevées, mais celles de la médiane restent faibles, la médiane atténuant les disparités. | 330 | 330 | De par ses performances, ESCBR se révèle compétitif par rapport à certains des neuf autres algorithmes testés pour la prédiction dans les problèmes de régression. En particulier, dans ce travail, nous avons effectué les tests sur dix jeux de données aux caractéristiques variées, telles que le nombre d'instances, le nombre de caractéristiques, le domaine des variables d'entrée, les dimensions de la variable de sortie et le domaine d'application. Cela démontre la polyvalence de l'algorithme proposé et son applicabilité à différentes configurations. Étant donné la nature exploratoire et stochastique d'ESCBR, il présente une grande diversité de solutions générant plusieurs valeurs aberrantes. Malgré cela, dans la plupart des cas, il est possible d'atteindre une solution approximative convergeant vers la solution optimale. Pour cette raison, les valeurs de la moyenne sont parfois élevées, mais celles de la médiane restent faibles, la médiane atténuant les disparités. | |
331 | 331 | |||
On constate également que l'intégration des algorithmes de recherche produit de meilleurs résultats que les algorithmes simples (tels que le KNN ou la régression linéaire). | 332 | 332 | On constate également que l'intégration des algorithmes de recherche produit de meilleurs résultats que les algorithmes simples (tels que le KNN ou la régression linéaire). | |
333 | 333 | |||
Globalement, si l'on observe les RMSE obtenues, les algorithmes d'ensemble (\textit{Random forest} et \textit{Gradient Boosting}) sont globalement plus performants que les algorithmes classiques, même si les performances sont variables. Les performances calculées selon la RMSE classent notre algorithme ESCBR à la sixième place. En revanche, en considérant les performances mesurées selon la MAE, ESCBR est classé en première place pour trois des dix jeux de données et il se classe globalement à la troisième place. | 334 | 334 | Globalement, si l'on observe les RMSE obtenues, les algorithmes d'ensemble (\textit{Random forest} et \textit{Gradient Boosting}) sont globalement plus performants que les algorithmes classiques, même si les performances sont variables. Les performances calculées selon la RMSE classent notre algorithme ESCBR à la sixième place. En revanche, en considérant les performances mesurées selon la MAE, ESCBR est classé en première place pour trois des dix jeux de données et il se classe globalement à la troisième place. | |
335 | 335 | |||
Un aspect important de l'algorithme proposé est la fonction objectif, qui peut être modifiée dynamiquement en fonction des caractéristiques du problème évalué. L'une des perspectives envisagées serait de modifier le fonctionnement du paramètre de \textit{drift} dans la fonction objectif en rendant sa valeur dynamique. | 336 | 336 | Un aspect important de l'algorithme proposé est la fonction objectif, qui peut être modifiée dynamiquement en fonction des caractéristiques du problème évalué. L'une des perspectives envisagées serait de modifier le fonctionnement du paramètre de \textit{drift} dans la fonction objectif en rendant sa valeur dynamique. | |
337 | 337 | |||
De plus, ESCBR peut intégrer des algorithmes différents et des règles spécifiques à certaines problèmes dans chaque empilement et, grâce à la conception en deux cycles, il peut travailler avec des problèmes dynamiques en cours d'exécution. Par ailleurs, la variance faible obtenue lors des tests sur les dix jeux de données montrent qu'ESCBR fournit des résultats stables. | 338 | 338 | De plus, ESCBR peut intégrer des algorithmes différents et des règles spécifiques à certaines problèmes dans chaque empilement et, grâce à la conception en deux cycles, il peut travailler avec des problèmes dynamiques en cours d'exécution. Par ailleurs, la variance faible obtenue lors des tests sur les dix jeux de données montrent qu'ESCBR fournit des résultats stables. | |
339 | 339 | |||
\subsection{Conclusion} | 340 | 340 | \subsection{Conclusion} | |
341 | 341 | |||
Ce chapitre propose une technique de régression générique utilisant le raisonnement à partir de cas et une technique d'empilement que nous avons baptisé ESCBR. Cet algorithme ne nécessite pas d'entrainement préalable et grâce au cycle itératif interne, il peut s'adapter à des problèmes dynamiques en temps réel. Les résultats numériques obtenus lors des tests effectués montrent le potentiel de l'algorithme avec des données variées et des jeux de données de différentes tailles. Les tests effectués dans cette première partie de chapitre montrent ainsi la compétitivité d'ESCBR par rapport à d'autres algorithmes standards et robustes couramment utilisés pour résoudre des problèmes de régression.\\\\ | 342 | 342 | Ce chapitre propose une technique de régression générique utilisant le raisonnement à partir de cas et une technique d'empilement que nous avons baptisé ESCBR. Cet algorithme ne nécessite pas d'entrainement préalable et grâce au cycle itératif interne, il peut s'adapter à des problèmes dynamiques en temps réel. Les résultats numériques obtenus lors des tests effectués montrent le potentiel de l'algorithme avec des données variées et des jeux de données de différentes tailles. Les tests effectués dans cette première partie de chapitre montrent ainsi la compétitivité d'ESCBR par rapport à d'autres algorithmes standards et robustes couramment utilisés pour résoudre des problèmes de régression.\\\\ | |
343 | 343 | |||
\section{ESCBR-SMA : Introduction des systèmes multi-agents dans ESCBR} | 344 | 344 | \section{ESCBR-SMA : Introduction des systèmes multi-agents dans ESCBR} | |
345 | 345 | |||
La méthode ESCBR que nous avons proposée dans la section précédente est fondée sur une technique d'apprentissage d'ensemble par empilement. Cette technique mettant en oeuvre plusieurs solutions proposées par des processus intelligents et concurrents pour en générer une, nous nous sommes tout naturellement tournés vers la possibilité d'inclure des agents dans le processus de décision. L'une des ambitions des systèmes multi-agents consiste en effet à faire émerger une intelligence collective capable de fournir une solution. Cette section présente donc l'évolution d'ESCBR en ESCBR-SMA. | 346 | 346 | La méthode ESCBR que nous avons proposée dans la section précédente est fondée sur une technique d'apprentissage d'ensemble par empilement. Cette technique mettant en oeuvre plusieurs solutions proposées par des processus intelligents et concurrents pour en générer une, nous nous sommes tout naturellement tournés vers la possibilité d'inclure des agents dans le processus de décision. L'une des ambitions des systèmes multi-agents consiste en effet à faire émerger une intelligence collective capable de fournir une solution. Cette section présente donc l'évolution d'ESCBR en ESCBR-SMA. | |
347 | 347 | |||
\subsection{Algorithme Proposé} | 348 | 348 | \subsection{Algorithme Proposé} | |
349 | 349 | |||
L'algorithme ESCBR-SMA est fondé sur le paradigme du RàPC et incorpore divers algorithmes de recherche de voisins et de génération de solutions. Ceux-ci sont intégrés à l'aide d'une variante de la technique d'empilement en deux étapes itératives, exécutées par des agents qui exploitent indépendamment les algorithmes définis dans les conteneurs de connaissances de la révision et de la réutilisation du cycle classique du RàPC. Les agents possèdent une mémoire locale qui leur permet d'ajuster et de développer leur recherche de voisins, en générant des solutions à chaque itération. Chaque agent a un comportement individuel autorisant l'échange d'informations avec les autres agents. La figure \ref{figNCBR} décrit le processus de décision et les comportements des agents au sein du système élargi. | 350 | 350 | L'algorithme ESCBR-SMA est fondé sur le paradigme du RàPC et incorpore divers algorithmes de recherche de voisins et de génération de solutions. Ceux-ci sont intégrés à l'aide d'une variante de la technique d'empilement en deux étapes itératives, exécutées par des agents qui exploitent indépendamment les algorithmes définis dans les conteneurs de connaissances de la révision et de la réutilisation du cycle classique du RàPC. Les agents possèdent une mémoire locale qui leur permet d'ajuster et de développer leur recherche de voisins, en générant des solutions à chaque itération. Chaque agent a un comportement individuel autorisant l'échange d'informations avec les autres agents. La figure \ref{figNCBR} décrit le processus de décision et les comportements des agents au sein du système élargi. | |
351 | 351 | |||
\begin{figure}[!ht] | 352 | 352 | \begin{figure}[!ht] | |
\centering | 353 | 353 | \centering | |
\includegraphics[width=\textwidth]{Figures/NCBR.png} | 354 | 354 | \includegraphics[width=\textwidth]{Figures/NCBR.png} | |
\caption{Deux cycles du système ESCBR-SMA proposé} | 355 | 355 | \caption{Deux cycles du système ESCBR-SMA proposé} | |
\label{figNCBR} | 356 | 356 | \label{figNCBR} | |
\end{figure} | 357 | 357 | \end{figure} | |
358 | 358 | |||
Dans ESCBR-SMA, chaque agent effectue un algorithme de recherche des voisins du problème au cours de la première étape puis, au cours de la seconde, génère une solution en se référant à la liste des solutions obtenues au cours de la première étape. À chaque itération, les agents peuvent choisir parmi trois comportements programmés : la recherche de problèmes voisins, la génération de solutions ou l'échange d'informations avec un autre agent. L'exécution de ces trois comportements programmés est asynchrone. En revanche, la création et la sélection de la liste des voisins se font de manière synchronisée. | 359 | 359 | Dans ESCBR-SMA, chaque agent effectue un algorithme de recherche des voisins du problème au cours de la première étape puis, au cours de la seconde, génère une solution en se référant à la liste des solutions obtenues au cours de la première étape. À chaque itération, les agents peuvent choisir parmi trois comportements programmés : la recherche de problèmes voisins, la génération de solutions ou l'échange d'informations avec un autre agent. L'exécution de ces trois comportements programmés est asynchrone. En revanche, la création et la sélection de la liste des voisins se font de manière synchronisée. | |
360 | 360 | |||
Les étapes d'extraction, de réutilisation, de révision et de conservation restent conformes au modèle RàPC conventionnel. En revanche, ESCBR-SMA comprend trois nouvelles étapes : | 361 | 361 | Les étapes d'extraction, de réutilisation, de révision et de conservation restent conformes au RàPC conventionnel. En revanche, ESCBR-SMA comprend trois nouvelles étapes : | |
\begin{itemize} | 362 | 362 | \begin{itemize} | |
\item durant la phase de reconfiguration, les agents mettent à jour les valeurs de leurs paramètres locaux afin d'améliorer la qualité de la solution proposée lors de l'itération suivante, | 363 | 363 | \item durant la phase de reconfiguration, les agents mettent à jour les valeurs de leurs paramètres locaux afin d'améliorer la qualité de la solution proposée lors de l'itération suivante, | |
\item durant la phase d'échange, les agents échangent des informations pour améliorer leurs processus internes de recherche et de génération, | 364 | 364 | \item durant la phase d'échange, les agents échangent des informations pour améliorer leurs processus internes de recherche et de génération, | |
\item enfin, l'étape de révision met à jour les valeurs des paramètres globaux de l'algorithme. | 365 | 365 | \item enfin, l'étape de révision met à jour les valeurs des paramètres globaux de l'algorithme. | |
\end{itemize} | 366 | 366 | \end{itemize} | |
367 | 367 | |||
Le flux complet de l'algorithme proposé est décrit sur la figure \ref{figFlowCBR}. | 368 | 368 | Le flux complet de l'algorithme proposé est décrit sur la figure \ref{figFlowCBR}. | |
369 | 369 | |||
En premier lieu, ESCBR-SMA crée $n$ agents. Lors de l'initialisation, les agents sélectionnent au hasard un algorithme de récupération et un algorithme de réutilisation, et initialisent également les vecteurs bayésiens correspondants. Tous les agents travaillent avec le même ensemble de données. | 370 | 370 | En premier lieu, ESCBR-SMA crée $n$ agents. Lors de l'initialisation, les agents sélectionnent au hasard un algorithme de récupération et un algorithme de réutilisation, et initialisent également les vecteurs bayésiens correspondants. Tous les agents travaillent avec le même ensemble de données. | |
371 | 371 | |||
Les agents exécutent en parallèle l'algorithme de récupération sélectionné, à partir des problèmes similaires trouvés ; chaque agent extrait les solutions et exécute l'algorithme spécifique de génération d'une nouvelle solution. | 372 | 372 | Les agents exécutent en parallèle l'algorithme de récupération sélectionné, à partir des problèmes similaires trouvés ; chaque agent extrait les solutions et exécute l'algorithme spécifique de génération d'une nouvelle solution. | |
Toutes les solutions proposées par les agents sont évaluées à l'aide d'une fonction objectif : la solution qui minimise la fonction objectif est la meilleure solution trouvée à ce stade. | 373 | 373 | Toutes les solutions proposées par les agents sont évaluées à l'aide d'une fonction objectif : la solution qui minimise la fonction objectif est la meilleure solution trouvée à ce stade. | |
374 | 374 | |||
Au cours de l'étape suivante, les agents sélectionnent au hasard un algorithme de récupération et un algorithme de réutilisation, puis ils mettent à jour les vecteurs bayésiens en fonction des résultats obtenus avec la fonction objectif. | 375 | 375 | Au cours de l'étape suivante, les agents sélectionnent au hasard un algorithme de récupération et un algorithme de réutilisation, puis ils mettent à jour les vecteurs bayésiens en fonction des résultats obtenus avec la fonction objectif. | |
376 | 376 | |||
Lors de l'itération suivante, chaque agent peut choisir l'une des trois actions possibles : changer les algorithmes de récupération et de réutilisation, ne changer que l'algorithme de réutilisation ou échanger des informations avec un autre agent choisi au hasard. De plus, l'agent choisit aléatoirement une action pour tenter d'améliorer la solution candidate. | 377 | 377 | Lors de l'itération suivante, chaque agent peut choisir l'une des trois actions possibles : changer les algorithmes de récupération et de réutilisation, ne changer que l'algorithme de réutilisation ou échanger des informations avec un autre agent choisi au hasard. De plus, l'agent choisit aléatoirement une action pour tenter d'améliorer la solution candidate. | |
378 | 378 | |||
ESCBR-SMA utilise l'ensemble des variables et paramètres du tableau \ref{tabVarPar} ainsi que ceux consignés dans le tableau \ref{tabVarPar2}. Le système multi-agents est composé d'un nombre variable d'agents, tous homogènes mais dotés de processus cognitifs internes indépendants et stochastiques. | 379 | 379 | ESCBR-SMA utilise l'ensemble des variables et paramètres du tableau \ref{tabVarPar} ainsi que ceux consignés dans le tableau \ref{tabVarPar2}. Le système multi-agents est composé d'un nombre variable d'agents, tous homogènes mais dotés de processus cognitifs internes indépendants et stochastiques. | |
380 | 380 | |||
\begin{figure}[!ht] | 381 | 381 | \begin{figure}[!ht] | |
\centering | 382 | 382 | \centering | |
\includegraphics[scale=0.6]{Figures/FlowCBR.png} | 383 | 383 | \includegraphics[scale=0.6]{Figures/FlowCBR.png} | |
\caption{Flux du \textit{Stacking} du RàPC (* : tâche effectuée par chaque agent)} | 384 | 384 | \caption{Flux du \textit{Stacking} du RàPC (* : tâche effectuée par chaque agent)} | |
\label{figFlowCBR} | 385 | 385 | \label{figFlowCBR} | |
\end{figure} | 386 | 386 | \end{figure} | |
387 | 387 | |||
\begin{table}[!ht] | 388 | 388 | \begin{table}[!ht] | |
\footnotesize | 389 | 389 | \footnotesize | |
\centering | 390 | 390 | \centering | |
\begin{tabular}{cccc} | 391 | 391 | \begin{tabular}{cccc} | |
ID&Type&Description&Domain\\ | 392 | 392 | ID&Type&Description&Domain\\ | |
\hline | 393 | 393 | \hline | |
$p_w$&v&Description du nouveau problème&$\mathbb{R} ^ n$\\ | 394 | 394 | $p_w$&v&Description du nouveau problème&$\mathbb{R} ^ n$\\ | |
$s_w$&v&Description de la nouvelle solution&$\mathbb{R} ^ m$\\ | 395 | 395 | $s_w$&v&Description de la nouvelle solution&$\mathbb{R} ^ m$\\ | |
$n_{rt}$&v&Nombre d'algorithmes pour l'étape de rétrouver&$\mathbb{Z}$\\ | 396 | 396 | $n_{rt}$&v&Nombre d'algorithmes pour l'étape de rétrouver&$\mathbb{Z}$\\ | |
$n_{rs}$&v&Nombre d'algorithmes de réutilisation&$\mathbb{Z}$\\ | 397 | 397 | $n_{rs}$&v&Nombre d'algorithmes de réutilisation&$\mathbb{Z}$\\ | |
$rn(x,y)$&f& | 398 | 398 | $rn(x,y)$&f& | |
399 | 399 | |||
\begin{tabular}{@{}c@{}}Valeur aléatoire avec distribution normale\\ $x$ moyenne, $y$ écart-type | 400 | 400 | \begin{tabular}{@{}c@{}}Valeur aléatoire avec distribution normale\\ $x$ moyenne, $y$ écart-type | |
\end{tabular} | 401 | 401 | \end{tabular} | |
402 | 402 | |||
&$\mathbb{R}_+$\\ | 403 | 403 | &$\mathbb{R}_+$\\ | |
$rnp(x,y)$&f& | 404 | 404 | $rnp(x,y)$&f& | |
405 | 405 | |||
\begin{tabular}{@{}c@{}}Valeur aléatoire discrète, $x$ nombre d'options \\ $y$ vecteur discret de probabilités | 406 | 406 | \begin{tabular}{@{}c@{}}Valeur aléatoire discrète, $x$ nombre d'options \\ $y$ vecteur discret de probabilités | |
\end{tabular} | 407 | 407 | \end{tabular} | |
&$\mathbb{Z}$\\ | 408 | 408 | &$\mathbb{Z}$\\ | |
\end{tabular} | 409 | 409 | \end{tabular} | |
\caption{Variables et paramètres supplémentaires du modèle ESCBR-SMA (Type: p - paramètre, v - variable, f - fonction)} | 410 | 410 | \caption{Variables et paramètres supplémentaires du ESCBR-SMA (Type: p - paramètre, v - variable, f - fonction)} | |
\label{tabVarPar2} | 411 | 411 | \label{tabVarPar2} | |
\end{table} | 412 | 412 | \end{table} | |
413 | 413 | |||
\subsubsection{Algorithmes} | 414 | 414 | \subsubsection{Algorithmes} | |
415 | 415 | |||
Cette section présente de manière plus détaillée les comportements des agents d'ESCBR-SMA. | 416 | 416 | Cette section présente de manière plus détaillée les comportements des agents d'ESCBR-SMA. | |
417 | 417 | |||
Lors de la première étape de l'empilement, chaque agent peut sélectionner l'un des algorithmes suivants pour rechercher des problèmes similaires au problème cible : KNN (\textit{K-Nearest Neighbor}), \textit{KMeans}, GMM (\textit{Gaussian Mixture Model}), \textit{FuzzyC} et KNN pondéré. | 418 | 418 | Lors de la première étape de l'empilement, chaque agent peut sélectionner l'un des algorithmes suivants pour rechercher des problèmes similaires au problème cible : KNN (\textit{K-Nearest Neighbor}), \textit{KMeans}, GMM (\textit{Gaussian Mixture Model}), \textit{FuzzyC} et KNN pondéré. | |
419 | 419 | |||
Lors de la deuxième étape de l'empilement, les agents peuvent choisir un algorithme parmi les algorithmes explicités dans la section 6.2.1.2. | 420 | 420 | Lors de la deuxième étape de l'empilement, les agents peuvent choisir un algorithme parmi les algorithmes explicités dans la section 6.2.1.2. | |
421 | 421 | |||
\subsubsection{Structure des agents} | 422 | 422 | \subsubsection{Structure des agents} | |
423 | 423 | |||
Tous les agents ont une structure similaire, mais chaque agent suit un processus cognitif individuel qui lui permet d'adopter un comportement indépendant et différent de tous les autres. La figure \ref{figAgent} montre les actions et les variables nécessaires à l'exécution de l'ensemble du processus. | 424 | 424 | Tous les agents ont une structure similaire, mais chaque agent suit un processus cognitif individuel qui lui permet d'adopter un comportement indépendant et différent de tous les autres. La figure \ref{figAgent} montre les actions et les variables nécessaires à l'exécution de l'ensemble du processus. | |
425 | 425 | |||
Chaque agent peut exécuter trois actions différentes : | 426 | 426 | Chaque agent peut exécuter trois actions différentes : | |
\begin{itemize} | 427 | 427 | \begin{itemize} | |
\item « Récupérer et réutiliser », | 428 | 428 | \item « Récupérer et réutiliser », | |
\item « Réutiliser » et | 429 | 429 | \item « Réutiliser » et | |
\item « Échanger ». | 430 | 430 | \item « Échanger ». | |
\end{itemize} | 431 | 431 | \end{itemize} | |
432 | 432 | |||
Chaque agent accède aux valeurs de huit variables qui lui sont propres : | 433 | 433 | Chaque agent accède aux valeurs de huit variables qui lui sont propres : | |
\begin{itemize} | 434 | 434 | \begin{itemize} | |
\item le nombre de voisins définissant le nombre de problèmes similaires au nouveau problème posé que l'agent doit rechercher dans la base de connaissances, | 435 | 435 | \item le nombre de voisins définissant le nombre de problèmes similaires au nouveau problème posé que l'agent doit rechercher dans la base de connaissances, | |
\item la liste des voisins les plus proches consigne les agents avec lesquels des informations peuvent être échangées, | 436 | 436 | \item la liste des voisins les plus proches consigne les agents avec lesquels des informations peuvent être échangées, | |
\item l'identifiant de l'algorithme de récupération que l'agent exécutera pour trouver les problèmes similaires au problème cible, | 437 | 437 | \item l'identifiant de l'algorithme de récupération que l'agent exécutera pour trouver les problèmes similaires au problème cible, | |
\item l'identifiant de l'algorithme de réutilisation que l'agent exécutera pour générer une solution candidate au cas cible, | 438 | 438 | \item l'identifiant de l'algorithme de réutilisation que l'agent exécutera pour générer une solution candidate au cas cible, | |
\item la description de la solution générée, | 439 | 439 | \item la description de la solution générée, | |
\item l'évaluation de la solution renseignant sur la qualité de la solution générée et calculée selon une fonction d'optimisation (équations \ref{eqOpt1} et \ref{eqOpt2}), | 440 | 440 | \item l'évaluation de la solution renseignant sur la qualité de la solution générée et calculée selon une fonction d'optimisation (équations \ref{eqOpt1} et \ref{eqOpt2}), | |
\item le vecteur bayésien nécessaire aux algorithmes de récupération contenant les valeurs de probabilité, et | 441 | 441 | \item le vecteur bayésien nécessaire aux algorithmes de récupération contenant les valeurs de probabilité, et | |
\item le vecteur bayésien nécessaire aux algorithmes de réutilisation contenant les valeurs de probabilité. | 442 | 442 | \item le vecteur bayésien nécessaire aux algorithmes de réutilisation contenant les valeurs de probabilité. | |
\end{itemize} | 443 | 443 | \end{itemize} | |
444 | 444 | |||
\begin{equation} | 445 | 445 | \begin{equation} | |
min \; \left( f_s(p_w^n, s_w^m) \right) = min \left( \sum_{i=1}^{ng} \frac{d(s_w^m,s_i^t)}{d(p_w^n,p_i^n)^2} \right) | 446 | 446 | min \; \left( f_s(p_w^n, s_w^m) \right) = min \left( \sum_{i=1}^{ng} \frac{d(s_w^m,s_i^t)}{d(p_w^n,p_i^n)^2} \right) | |
\label{eqOpt1} | 447 | 447 | \label{eqOpt1} | |
\end{equation} | 448 | 448 | \end{equation} | |
449 | 449 | |||
\begin{equation} | 450 | 450 | \begin{equation} | |
s_i^t=s_i^m+rn(0,d(p_w^n,p_i^n)) | 451 | 451 | s_i^t=s_i^m+rn(0,d(p_w^n,p_i^n)) | |
\label{eqOpt2} | 452 | 452 | \label{eqOpt2} | |
\end{equation} | 453 | 453 | \end{equation} | |
454 | 454 | |||
\begin{figure}[!ht] | 455 | 455 | \begin{figure}[!ht] | |
\centering | 456 | 456 | \centering | |
\includegraphics[scale=0.7]{Figures/agent.png} | 457 | 457 | \includegraphics[scale=0.7]{Figures/agent.png} | |
\caption{Structure interne des agents} | 458 | 458 | \caption{Structure interne des agents} | |
\label{figAgent} | 459 | 459 | \label{figAgent} | |
\end{figure} | 460 | 460 | \end{figure} | |
461 | 461 | |||
\subsubsection{Apprentissage des agents} | 462 | 462 | \subsubsection{Apprentissage des agents} | |
463 | 463 | |||
Tous les agents considèrent un vecteur bayésien de probabilité pour la phase de récupération (conteneur $C3$ de la figure \ref{figNCBR}) et un vecteur bayésien de probabilité pour la phase de réutilisation (conteneur $C2$). Initialement, ces vecteurs sont configurés avec une probabilité uniforme pour tous les algorithmes de récupération et de réutilisation (probabilité \textit{a priori}). À chaque itération, les vecteurs sont mis à jour selon l'équation bayésienne \ref{eqBay} en utilisant les meilleurs résultats du même agent comme paramètre de vraisemblance. L'agent apprend ainsi de son expérience et sélectionne les algorithmes les plus aptes à fournir les meilleures réponses au regard de l'objectif défini. | 464 | 464 | Tous les agents considèrent un vecteur bayésien de probabilité pour la phase de récupération (conteneur $C3$ de la figure \ref{figNCBR}) et un vecteur bayésien de probabilité pour la phase de réutilisation (conteneur $C2$). Initialement, ces vecteurs sont configurés avec une probabilité uniforme pour tous les algorithmes de récupération et de réutilisation (probabilité \textit{a priori}). À chaque itération, les vecteurs sont mis à jour selon l'équation bayésienne \ref{eqBay} en utilisant les meilleurs résultats du même agent comme paramètre de vraisemblance. L'agent apprend ainsi de son expérience et sélectionne les algorithmes les plus aptes à fournir les meilleures réponses au regard de l'objectif défini. | |
465 | 465 | |||
Par conséquent, d'un point de vue plus global au niveau du SMA, l'apprentissage est fondé sur un raisonnement bayésien où les vecteurs de récupération et de réutilisation évoluent. Un exemple d'évolution est présenté sur la figure \ref{fig:bayev}. Au cours d'une itération, si un algorithme a contribué à la construction de la meilleure solution, il reçoit un point pour chaque agent qui l'a utilisé. Ces informations sont stockées dans un vecteur normalisé qui est ensuite utilisé comme vecteur de vraisemblance $P(A)$ pour calculer les nouvelles probabilités dans l'équation bayésienne \ref{eqBay} (dans cette équation, $P(B)$ est le terme de normalisation global). | 466 | 466 | Par conséquent, d'un point de vue plus global au niveau du SMA, l'apprentissage est fondé sur un raisonnement bayésien où les vecteurs de récupération et de réutilisation évoluent. Un exemple d'évolution est présenté sur la figure \ref{fig:bayev}. Au cours d'une itération, si un algorithme a contribué à la construction de la meilleure solution, il reçoit un point pour chaque agent qui l'a utilisé. Ces informations sont stockées dans un vecteur normalisé qui est ensuite utilisé comme vecteur de vraisemblance $P(A)$ pour calculer les nouvelles probabilités dans l'équation bayésienne \ref{eqBay} (dans cette équation, $P(B)$ est le terme de normalisation global). | |
467 | 467 | |||
\begin{figure} | 468 | 468 | \begin{figure} | |
\centering | 469 | 469 | \centering | |
\includegraphics[scale=0.5]{Figures/BayesianEvolution.png} | 470 | 470 | \includegraphics[scale=0.5]{Figures/BayesianEvolution.png} | |
\caption{Exemple d'évolution Bayésienne des vecteurs pour un agent. a) Initialisation des probabilités $P(B|A)$ vecteurs pour Retrieve et Reuse, b) Probabilités après quelques itérations $P(A|B)$ vecteurs pour Retrieve et Reuse} | 471 | 471 | \caption{Exemple d'évolution Bayésienne des vecteurs pour un agent. a) Initialisation des probabilités $P(B|A)$ vecteurs pour Retrieve et Reuse, b) Probabilités après quelques itérations $P(A|B)$ vecteurs pour Retrieve et Reuse} | |
\label{fig:bayev} | 472 | 472 | \label{fig:bayev} | |
\end{figure} | 473 | 473 | \end{figure} | |
474 | 474 | |||
\begin{equation} | 475 | 475 | \begin{equation} | |
P(A|B)=\frac{P(B|A)P(A)}{P(B)} | 476 | 476 | P(A|B)=\frac{P(B|A)P(A)}{P(B)} | |
\label{eqBay} | 477 | 477 | \label{eqBay} | |
\end{equation} | 478 | 478 | \end{equation} | |
479 | 479 | |||
La fonction $rnp$ de l'équation \ref{eqRta} choisit l'algorithme de recherche $a_{rt}$ de l'étape $rt$. | 480 | 480 | La fonction $rnp$ de l'équation \ref{eqRta} choisit l'algorithme de recherche $a_{rt}$ de l'étape $rt$. | |
Cette fonction prend en paramètres l'ensemble des algorithmes possibles $n_{rt}$ et une probabilité associée $P(A|B)_{rt}$. $P(A|B)_{rt}$ représente la probabilité que l'algorithme de recherche associé fournisse la solution optimale à l'étape $rt$. | 481 | 481 | Cette fonction prend en paramètres l'ensemble des algorithmes possibles $n_{rt}$ et une probabilité associée $P(A|B)_{rt}$. $P(A|B)_{rt}$ représente la probabilité que l'algorithme de recherche associé fournisse la solution optimale à l'étape $rt$. | |
482 | 482 | |||
\begin{equation} | 483 | 483 | \begin{equation} | |
a_{rt}=rnp(n_{rt},P(A|B)_{rt}) | 484 | 484 | a_{rt}=rnp(n_{rt},P(A|B)_{rt}) | |
\label{eqRta} | 485 | 485 | \label{eqRta} | |
\end{equation} | 486 | 486 | \end{equation} | |
487 | 487 | |||
La fonction $rnp$ est de nouveau utilisée pour choisir l'algorithme de réutilisation $a_{rs}$ (équation \ref{eqRsa}). | 488 | 488 | La fonction $rnp$ est de nouveau utilisée pour choisir l'algorithme de réutilisation $a_{rs}$ (équation \ref{eqRsa}). | |
489 | 489 | |||
\begin{equation} | 490 | 490 | \begin{equation} | |
a_{rs}=rnp(n_{rs},P(A|B)_{rs}) | 491 | 491 | a_{rs}=rnp(n_{rs},P(A|B)_{rs}) | |
\label{eqRsa} | 492 | 492 | \label{eqRsa} | |
\end{equation} | 493 | 493 | \end{equation} | |
494 | 494 | |||
Le processus d'apprentissage est réalisé individuellement par chaque agent, mais comporte un aspect collaboratif puisque les agents échangent les informations qu'ils ont calculées, les optimisations locales qu'ils ont réalisées, ainsi que les algorithmes et les paramètres qu'ils ont utilisés. | 495 | 495 | Le processus d'apprentissage est réalisé individuellement par chaque agent, mais comporte un aspect collaboratif puisque les agents échangent les informations qu'ils ont calculées, les optimisations locales qu'ils ont réalisées, ainsi que les algorithmes et les paramètres qu'ils ont utilisés. | |
496 | 496 | |||
\subsubsection{Échanges entre les agents} | 497 | 497 | \subsubsection{Échanges entre les agents} | |
498 | 498 | |||
Un agent peut modifier ses informations et leur affecter les valeurs de celles d'un voisin au cours de chaque itération en choisissant au hasard un voisin dans sa liste de voisins les plus proches. L'ensemble de ces changements permet de propager les paramètres menant aux meilleurs résultats et d'effectuer des actions rétrospectivement. Les informations modifables sont choisies aléatoirement : il peut s'agir du nombre de voisins, de la liste des voisins les plus proches, de l'algorithme de récupération, de l'algorithme de réutilisation ou même des vecteurs bayésiens. | 499 | 499 | Un agent peut modifier ses informations et leur affecter les valeurs de celles d'un voisin au cours de chaque itération en choisissant au hasard un voisin dans sa liste de voisins les plus proches. L'ensemble de ces changements permet de propager les paramètres menant aux meilleurs résultats et d'effectuer des actions rétrospectivement. Les informations modifables sont choisies aléatoirement : il peut s'agir du nombre de voisins, de la liste des voisins les plus proches, de l'algorithme de récupération, de l'algorithme de réutilisation ou même des vecteurs bayésiens. | |
500 | 500 | |||
\subsection{Résultats} | 501 | 501 | \subsection{Résultats} | |
502 | 502 | |||
Des expérimentations sur onze jeux de données relatifs à des problèmes de régression et présentant des caractéristiques différentes ont été réalisées. Les jeux de données et leurs caractéristiques sont consignés dans le tableau \ref{tabBases}. Les valeurs des paramètres d'ESCBR-SMA sont les suivantes : $it=100$ itérations, $np=50$ agents, $nl=10$ voisins par agent au maximum lors de l'étape de \textit{niveau-0} et $ng=10$ voisins par agent au maximum lors de l'étape de \textit{niveau-1}. | 503 | 503 | Des expérimentations sur onze jeux de données relatifs à des problèmes de régression et présentant des caractéristiques différentes ont été réalisées. Les jeux de données et leurs caractéristiques sont consignés dans le tableau \ref{tabBases}. Les valeurs des paramètres d'ESCBR-SMA sont les suivantes : $it=100$ itérations, $np=50$ agents, $nl=10$ voisins par agent au maximum lors de l'étape de \textit{niveau-0} et $ng=10$ voisins par agent au maximum lors de l'étape de \textit{niveau-1}. | |
504 | 504 | |||
Le tableau \ref{AlgsPar} présente les valeurs des paramètres de tous les autres algorithmes. | 505 | 505 | Le tableau \ref{AlgsPar} présente les valeurs des paramètres de tous les autres algorithmes. | |
506 | 506 | |||
\begin{table}[!ht] | 507 | 507 | \begin{table}[!ht] | |
\scriptsize | 508 | 508 | \scriptsize | |
\centering | 509 | 509 | \centering | |
\begin{tabular}{llccp{1.4cm}p{1.2cm}p{1.2cm}} | 510 | 510 | \begin{tabular}{llccp{1.4cm}p{1.2cm}p{1.2cm}} | |
ID&DataSet&Features&Instances&Output. Dimension&Input. Domain&Output Domain\\ | 511 | 511 | ID&DataSet&Features&Instances&Output. Dimension&Input. Domain&Output Domain\\ | |
\hline | 512 | 512 | \hline | |
DS1&Yatch Hydrodynamics&6&308&1&$\mathbb{R}$&$\mathbb{R}$\\ | 513 | 513 | DS1&Yatch Hydrodynamics&6&308&1&$\mathbb{R}$&$\mathbb{R}$\\ | |
DS2&Electrical Grid Stability&12&10000&1&$\mathbb{R}$&$\mathbb{R}$\\ | 514 | 514 | DS2&Electrical Grid Stability&12&10000&1&$\mathbb{R}$&$\mathbb{R}$\\ | |
DS3&Real State Valuation&6&414&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 515 | 515 | DS3&Real State Valuation&6&414&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS4&Wine Quality (Red)&11&1598&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | 516 | 516 | DS4&Wine Quality (Red)&11&1598&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | |
DS5&Wine Quality (White)&11&4897&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | 517 | 517 | DS5&Wine Quality (White)&11&4897&1&$\mathbb{R_+}$&$\mathbb{N}$\\ | |
DS6&Concrete Compressive Strength&8&1030&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 518 | 518 | DS6&Concrete Compressive Strength&8&1030&1&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS7&Energy Efficiency&8&768&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 519 | 519 | DS7&Energy Efficiency&8&768&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS8&Gas Turbine CO, NOx Emission (2015)&9&7384&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | 520 | 520 | DS8&Gas Turbine CO, NOx Emission (2015)&9&7384&2&$\mathbb{R_+}$&$\mathbb{R_+}$\\ | |
DS9&Student Performace Portuguese&30&649&3&$\mathbb{N*}$&$\mathbb{N}$\\ | 521 | 521 | DS9&Student Performace Portuguese&30&649&3&$\mathbb{N*}$&$\mathbb{N}$\\ | |
DS10&Student Performance Math&30&395&3&$\mathbb{N*}$&$\mathbb{N}$\\ | 522 | 522 | DS10&Student Performance Math&30&395&3&$\mathbb{N*}$&$\mathbb{N}$\\ | |
DS11&Generated Student Performance&5&1000&1&$\mathbb{R}_+$&$\mathbb{R}_+$\\ | 523 | 523 | DS11&Generated Student Performance&5&1000&1&$\mathbb{R}_+$&$\mathbb{R}_+$\\ | |
\end{tabular} | 524 | 524 | \end{tabular} | |
\caption{Description des jeux de données évalués.} | 525 | 525 | \caption{Description des jeux de données évalués.} | |
\label{tabBases} | 526 | 526 | \label{tabBases} | |
\end{table} | 527 | 527 | \end{table} | |
528 | 528 |
chapters/TS.tex
View file @
d76da60
\chapter{Système de Recommandation dans AI-VT} | 1 | 1 | \chapter{Système de Recommandation dans AI-VT} | |
2 | 2 | |||
\section{Introduction} | 3 | 3 | \section{Introduction} | |
4 | 4 | |||
5 | 5 | |||
\colorbox{yellow}{Il y a des différences sémantiques à bien différencier pour éviter les confusions : }\\ | 6 | 6 | \colorbox{yellow}{Il y a des différences sémantiques à bien différencier pour éviter les confusions : }\\ | |
\colorbox{yellow}{Il faut harmoniser : à certains moment, on parle de 3 tests, à d'autres de 3 scénarios.}\\ | 7 | 7 | \colorbox{yellow}{Il faut harmoniser : à certains moment, on parle de 3 tests, à d'autres de 3 scénarios.}\\ | |
\colorbox{yellow}{J'ai tout transformé en séances d'entrainement 1, 2, 3, mais je me suis peut-être trompé}\\ | 8 | 8 | \colorbox{yellow}{J'ai tout transformé en séances d'entrainement 1, 2, 3, mais je me suis peut-être trompé}\\ | |
\colorbox{yellow}{S'il s'agit de scénarios, il faut les décrire.}\\ | 9 | 9 | \colorbox{yellow}{S'il s'agit de scénarios, il faut les décrire.}\\ | |
\\ | 10 | 10 | \\ | |
11 | 11 | |||
\colorbox{yellow}{Idem pour "modèle", "algorithme", "système", "module", "programme"}\\ | 12 | 12 | \colorbox{yellow}{Idem pour "modèle", "algorithme", "système", "module", "programme"}\\ | |
\colorbox{yellow}{Un système est constitué de modules,}\\ | 13 | 13 | \colorbox{yellow}{Un système est constitué de modules,}\\ | |
\colorbox{yellow}{Un module est constitué de programmes, }\\ | 14 | 14 | \colorbox{yellow}{Un module est constitué de programmes, }\\ | |
\colorbox{yellow}{Un programme suit un algorithme,}\\ | 15 | 15 | \colorbox{yellow}{Un programme suit un algorithme,}\\ | |
\colorbox{yellow}{Un algorithme fonctionne selon un modèle}\\ | 16 | 16 | \colorbox{yellow}{Un algorithme fonctionne selon un modèle}\\ | |
\colorbox{yellow}{Il faudrait revoir cette sémantique en particulier dans le chapitre précédent.} | 17 | 17 | \colorbox{yellow}{Il faudrait revoir cette sémantique en particulier dans le chapitre précédent.} | |
\\ | 18 | 18 | \\ | |
19 | 19 | |||
\colorbox{yellow}{Idem pour "métrique", "équation", "mesure", "résultat"}\\ | 20 | 20 | \colorbox{yellow}{Idem pour "métrique", "équation", "mesure", "résultat"}\\ | |
\colorbox{yellow}{Une métrique permet de définir une graduation (comme le mètre ou le litre),}\\ | 21 | 21 | \colorbox{yellow}{Une métrique permet de définir une graduation (comme le mètre ou le litre),}\\ | |
\colorbox{yellow}{Une équation donne la formule mathématique ou la fonction}\\ | 22 | 22 | \colorbox{yellow}{Une équation donne la formule mathématique ou la fonction}\\ | |
\colorbox{yellow}{permettant de calculer un résultat selon une métrique}\\ | 23 | 23 | \colorbox{yellow}{permettant de calculer un résultat selon une métrique}\\ | |
\colorbox{yellow}{Une mesure est la valeur numérique obtenue, résultant de l'application de l'équation}\\ | 24 | 24 | \colorbox{yellow}{Une mesure est la valeur numérique obtenue, résultant de l'application de l'équation}\\ | |
\colorbox{yellow}{Ainsi, on compare les valeurs dans une métrique, valeurs obtenues en appliquant une équation.}\\ | 25 | 25 | \colorbox{yellow}{Ainsi, on compare les valeurs dans une métrique, valeurs obtenues en appliquant une équation.}\\ | |
26 | 26 | |||
L'un des principaux modules d'un EIAH est le système de recommandation visant à trouver les faiblesses et à réviser la séance d'entraînement proposée initialement par celui-ci. Ce type de module permet donc au système de personnaliser les contenus et les exercices en fonction des besoins et des résultats de chacun des apprenants. Certains auteurs n'hésitent pas à considérer que l'efficacité d'un EIAH dans l'acquisition des connaissances et l'adaptation aux différents types d'apprentissage dépend de ce type de module fondé sur la recommandation \cite{Liu2023}. | 27 | 27 | L'un des principaux modules d'un EIAH est le système de recommandation visant à trouver les faiblesses et à réviser la séance d'entraînement proposée initialement par celui-ci. Ce type de module permet donc au système de personnaliser les contenus et les exercices en fonction des besoins et des résultats de chacun des apprenants. Certains auteurs n'hésitent pas à considérer que l'efficacité d'un EIAH dans l'acquisition des connaissances et l'adaptation aux différents types d'apprentissage dépend de ce type de module fondé sur la recommandation \cite{Liu2023}. | |
28 | 28 | |||
Les systèmes de recommandation dans les environnements d'apprentissage prennent en compte les exigences, les besoins, le profil, les talents \colorbox{yellow}{?}, les intérêts et l'évolution de l'apprenant pour adapter et recommander des ressources ou des exercices dans le but d'améliorer l'acquisition et la maîtrise des concepts et des connaissances en général. Dans ces systèmes, l'adaptation peut être de deux types : l'adaptation de la présentation qui montre aux apprenants des ressources d'étude en fonction de leurs faiblesses et/ou l'adaptation de la navigation \colorbox{yellow}{l'adaptation du parcours?} qui change la structure du cours en fonction du niveau et du style d'apprentissage de chaque apprenant \cite{MUANGPRATHUB2020e05227}. | 29 | 29 | Les systèmes de recommandation dans les environnements d'apprentissage prennent en compte les exigences, les besoins, le profil, les talents \colorbox{yellow}{?}, les intérêts et l'évolution de l'apprenant pour adapter et recommander des ressources ou des exercices dans le but d'améliorer l'acquisition et la maîtrise des concepts et des connaissances en général. Dans ces systèmes, l'adaptation peut être de deux types : l'adaptation de la présentation qui montre aux apprenants des ressources d'étude en fonction de leurs faiblesses et/ou l'adaptation de la navigation \colorbox{yellow}{l'adaptation du parcours?} qui change la structure du cours en fonction du niveau et du style d'apprentissage de chaque apprenant \cite{MUANGPRATHUB2020e05227}. | |
30 | 30 | |||
Parmi les algorithmes les plus prometteurs pouvant aider à proposer des recommandations, nous avons identifié l'algorithme d'échantillonnage de Thompson (TS). Il s'agit d'un algorithme probabiliste appartenant à la catégorie des algorithmes d'apprentissage par renforcement. À l'instant $t$, TS choisit l'action $a_t$ d'un ensemble $A$ d'actions possibles, et obtient une récompense pour celle-ci. À $t+1$, une action $a_{t+1}$ est sélectionnée en tenant compte de la récompense précédente. L'objectif consiste à maximiser la récompense. Selon le principe bayésien, cette maximisation itérative est opérée en suivant une distribution de probabilité évoluant à chaque itération. Cette évolution peut être calculée selon la variante de Bernoulli \colorbox{yellow}{de la loi de bernoulli ?} où la récompense n'a que deux valeurs possibles 0 ou 1 (échec ou succès), ou selon une distribution \textit{Beta} définie sur l'intervalle $[0, 1]$ et calculée en fonction de deux valeurs $\alpha$ et $\beta$ \cite{9870279}. | 31 | 31 | Parmi les algorithmes les plus prometteurs pouvant aider à proposer des recommandations, nous avons identifié l'algorithme d'échantillonnage de Thompson (TS). Il s'agit d'un algorithme probabiliste appartenant à la catégorie des algorithmes d'apprentissage par renforcement. À l'instant $t$, TS choisit l'action $a_t$ d'un ensemble $A$ d'actions possibles, et obtient une récompense pour celle-ci. À $t+1$, une action $a_{t+1}$ est sélectionnée en tenant compte de la récompense précédente. L'objectif consiste à maximiser la récompense. Selon le principe bayésien, cette maximisation itérative est opérée en suivant une distribution de probabilité évoluant à chaque itération. Cette évolution peut être calculée selon la variante de Bernoulli \colorbox{yellow}{de la loi de bernoulli ?} où la récompense n'a que deux valeurs possibles 0 ou 1 (échec ou succès), ou selon une distribution \textit{Beta} définie sur l'intervalle $[0, 1]$ et calculée en fonction de deux valeurs $\alpha$ et $\beta$ \cite{9870279}. | |
32 | 32 | |||
Ce chapitre est divisé en trois parties, la première partie présente un algorithme délivrant des recommandations en fonction des résultats produits par l'apprenant en temps réel. Une partie de cette proposition est publiée dans \cite{Soto2}. Cet algorithme permet l'adaptation automatique en temps réel d'une séance prédéterminée dans l'EIAH AI-VT. Nous considérons qu'elle intervient durant la phase de révision du cycle classique du raisonnement à partir de cas (RàPC). Le modèle proposé est stochastique et il a été testé selon trois scénarios différents. Les résultats montrent de quelle manière AI-VT peut proposer des recommandations pertinentes selon les faiblesses identifiées de l'apprenant. | 33 | 33 | Ce chapitre est divisé en trois parties, la première partie présente un algorithme délivrant des recommandations en fonction des résultats produits par l'apprenant en temps réel. Une partie de cette proposition est publiée dans \cite{Soto2}. Cet algorithme permet l'adaptation automatique en temps réel d'une séance prédéterminée dans l'EIAH AI-VT. Nous considérons qu'elle intervient durant la phase de révision du cycle classique du raisonnement à partir de cas (RàPC). L'algorithme proposé est stochastique et il a été testé selon trois scénarios différents. Les résultats montrent de quelle manière AI-VT peut proposer des recommandations pertinentes selon les faiblesses identifiées de l'apprenant. | |
34 | 34 | |||
La deuxième partie de ce chapitre montre l'intégration de tous les algorithmes présentés dans les chapitres précédents à AI-VT. Le modèle intégré est appliqué au système AI-VT sur des données générées et des données réelles. Plusieurs types de test sont exécutés pour montrer que le modèle final permet en effet d'améliorer les capacités d'identification et d'adaptation. Les performances de ce nouveau modèle sont comparées à celles d'autres algorithmes. Enfin, l'évolution de l'acquisition des connaissances induites par ces nouveaux modèles de recommandation stochastiques est analysée dans cette deuxième partie du présent chapitre. | 35 | 35 | La deuxième partie de ce chapitre montre l'intégration de tous les algorithmes présentés dans les chapitres précédents à AI-VT. L'algorithme intégré est appliqué au système AI-VT sur des données générées et des données réelles. Plusieurs types de test sont exécutés pour montrer que l'algorithme final permet en effet d'améliorer les capacités d'identification et d'adaptation. Les performances de ce nouveau algorithme sont comparées à celles d'autres algorithmes. Enfin, l'évolution de l'acquisition des connaissances induites par ces nouveaux algorithmes de recommandation stochastiques est analysée dans cette deuxième partie du présent chapitre. | |
36 | 36 | |||
Pour terminer, dans la troisième partie de ce chapitre, nous présentons une évolution de ce système de recommandation intégrant le processus de Hawkes. L'intérêt de ce dernier réside dans le fait qu'il utilise une courbe d'oubli, nous permettant ainsi de tenir compte du fait que certaines connaissances et certains mécanismes doivent être rappelés aux apprenants. Cette troisième partie intègre une étude des performances du système de recommandation incluant ce processus stochastique de Hawkes. | 37 | 37 | Pour terminer, dans la troisième partie de ce chapitre, nous présentons une évolution de ce système de recommandation intégrant le processus de Hawkes. L'intérêt de ce dernier réside dans le fait qu'il utilise une courbe d'oubli, nous permettant ainsi de tenir compte du fait que certaines connaissances et certains mécanismes doivent être rappelés aux apprenants. Cette troisième partie intègre une étude des performances du système de recommandation incluant ce processus stochastique de Hawkes. | |
38 | 38 | |||
\section{Système de recommandation stochastique fondé sur l'échantillonnage de Thompson} | 39 | 39 | \section{Système de recommandation stochastique fondé sur l'échantillonnage de Thompson} | |
\sectionmark{Système de recommandation fondé sur TS} | 40 | 40 | \sectionmark{Système de recommandation fondé sur TS} | |
41 | 41 | |||
\subsection{Modèle Proposé} | 42 | 42 | \subsection{Algorithme Proposé} | |
43 | 43 | |||
Le modèle proposé, en tant que système de recommandation, prend en compte les notes antérieures des apprenants pour estimer leurs connaissances et leur maîtrise des différentes compétences, sous-compétences et niveaux de complexité au sein du système AI-VT. Puis il adapte les séances pour maximiser l'acquisition des connaissances et la maîtrise des différents domaines contenus dans la même compétence définie. | 44 | 44 | L'algorithme proposé, en tant que système de recommandation, prend en compte les notes antérieures des apprenants pour estimer leurs connaissances et leur maîtrise des différentes compétences, sous-compétences et niveaux de complexité au sein du système AI-VT. Puis il adapte les séances pour maximiser l'acquisition des connaissances et la maîtrise des différents domaines contenus dans la même compétence définie. | |
45 | 45 | |||
La famille de distributions de probabilité Beta est utilisée pour définir dynamiquement le niveau de complexité (équation \ref{eqBeta}) à proposer à l'apprenant. Cet algorithme permet de recommander des niveaux de complexité non contigus et dans lesquels des lacunes ont été détectés. Les paramètres initiaux des distributions de probabilité peuvent forcer le système à recommander des niveaux de complexité contigus plus ou moins importants \colorbox{yellow}{je ne comprends pas le importants, relatif à quoi ?}. | 46 | 46 | La famille de distributions de probabilité Beta est utilisée pour définir dynamiquement le niveau de complexité (équation \ref{eqBeta}) à proposer à l'apprenant. Cet algorithme permet de recommander des niveaux de complexité non contigus et dans lesquels des lacunes ont été détectés. Les paramètres initiaux des distributions de probabilité peuvent forcer le système à recommander des niveaux de complexité contigus plus ou moins importants \colorbox{yellow}{je ne comprends pas le importants, relatif à quoi ?}. | |
47 | 47 | |||
\begin{equation} | 48 | 48 | \begin{equation} | |
B(x, \alpha, \beta) = | 49 | 49 | B(x, \alpha, \beta) = | |
\begin{cases} | 50 | 50 | \begin{cases} | |
\frac{x^{\alpha-1}(1-x)^{\beta - 1}}{\int_0^1 u^{\alpha - 1}(1-u)^{\beta - 1}du} & si \; x \in [0, 1] \\ | 51 | 51 | \frac{x^{\alpha-1}(1-x)^{\beta - 1}}{\int_0^1 u^{\alpha - 1}(1-u)^{\beta - 1}du} & si \; x \in [0, 1] \\ | |
0&sinon | 52 | 52 | 0&sinon | |
\end{cases} | 53 | 53 | \end{cases} | |
\label{eqBeta} | 54 | 54 | \label{eqBeta} | |
\end{equation} | 55 | 55 | \end{equation} | |
56 | 56 | |||
\begin{table}[!ht] | 57 | 57 | \begin{table}[!ht] | |
\centering | 58 | 58 | \centering | |
\begin{tabular}{ccc} | 59 | 59 | \begin{tabular}{ccc} | |
ID&Description&Domaine\\ | 60 | 60 | ID&Description&Domaine\\ | |
\hline | 61 | 61 | \hline | |
$c_n$&Niveaux de complexité&$\mathbb{N} \; | \; c_n>0$\\ | 62 | 62 | $c_n$&Niveaux de complexité&$\mathbb{N} \; | \; c_n>0$\\ | |
$g_m$&Valeur maximale dans l'échelle des notes& $\mathbb{N} \;|\; g_m>0$ \\ | 63 | 63 | $g_m$&Valeur maximale dans l'échelle des notes& $\mathbb{N} \;|\; g_m>0$ \\ | |
$g_t$&Seuil de notation &$(0, g_m) \in \mathbb{R}$\\ | 64 | 64 | $g_t$&Seuil de notation &$(0, g_m) \in \mathbb{R}$\\ | |
$s$&Nombre de parcours définis&$\mathbb{N} \; | \; s>0$\\ | 65 | 65 | $s$&Nombre de parcours définis&$\mathbb{N} \; | \; s>0$\\ | |
$s_c$&Parcours courant fixe défini&$[1, s] \in \mathbb{N}$\\ | 66 | 66 | $s_c$&Parcours courant fixe défini&$[1, s] \in \mathbb{N}$\\ | |
$\Delta s$&Pas pour les paramètres de la distribution bêta dans le parcours $s$ &$(0,1) \in \mathbb{R}$\\ | 67 | 67 | $\Delta s$&Pas pour les paramètres de la distribution bêta dans le parcours $s$ &$(0,1) \in \mathbb{R}$\\ | |
$t_m$&Valeur maximale du temps de réponse&$\mathbb{R} \; | \; t_m>0$\\ | 68 | 68 | $t_m$&Valeur maximale du temps de réponse&$\mathbb{R} \; | \; t_m>0$\\ | |
$g_{c}$&Note de l'apprenant à une question de complexité $c$&$[0, g_m] \in \mathbb{R}$\\ | 69 | 69 | $g_{c}$&Note de l'apprenant à une question de complexité $c$&$[0, g_m] \in \mathbb{R}$\\ | |
$ng_c$&Grade de l'apprenant avec pénalisation du temps &$[0, g_m] \in \mathbb{R}$\\ | 70 | 70 | $ng_c$&Grade de l'apprenant avec pénalisation du temps &$[0, g_m] \in \mathbb{R}$\\ | |
$t_{c}$&Le temps de réponse à une question de complexité $c$&$[0, t_m] \in \mathbb{R}$\\ | 71 | 71 | $t_{c}$&Le temps de réponse à une question de complexité $c$&$[0, t_m] \in \mathbb{R}$\\ | |
$ncl$&Nouveau niveau de complexité calculé&$\mathbb{N}$\\ | 72 | 72 | $ncl$&Nouveau niveau de complexité calculé&$\mathbb{N}$\\ | |
$\alpha_{c}$&Valeur de $\alpha$ dans la complexité $c$&$\mathbb{R} \; | \; \alpha_{c}>0$\\ | 73 | 73 | $\alpha_{c}$&Valeur de $\alpha$ dans la complexité $c$&$\mathbb{R} \; | \; \alpha_{c}>0$\\ | |
$\beta_{c}$&Valeur de $\beta$ dans la complexité $c$&$\mathbb{R} \; | \; \beta_{c}>0$\\ | 74 | 74 | $\beta_{c}$&Valeur de $\beta$ dans la complexité $c$&$\mathbb{R} \; | \; \beta_{c}>0$\\ | |
$\Delta \beta$&Pas initial du paramètre bêta&$\mathbb{N} \; | \; \Delta \beta >0$\\ | 75 | 75 | $\Delta \beta$&Pas initial du paramètre bêta&$\mathbb{N} \; | \; \Delta \beta >0$\\ | |
$\lambda$&Poids de la pénalisation temporelle&$(0,1) \in \mathbb{R}$\\ | 76 | 76 | $\lambda$&Poids de la pénalisation temporelle&$(0,1) \in \mathbb{R}$\\ | |
$G_c$&Ensemble de $d$ notes dans le niveau de complexité $c$&$\mathbb{R}^d \;, d\in \mathbb{N} \; | \; d>0$\\ | 77 | 77 | $G_c$&Ensemble de $d$ notes dans le niveau de complexité $c$&$\mathbb{R}^d \;, d\in \mathbb{N} \; | \; d>0$\\ | |
$x_c$&Notes moyennes normalisées&$[0, 1] \in \mathbb{R}$\\ | 78 | 78 | $x_c$&Notes moyennes normalisées&$[0, 1] \in \mathbb{R}$\\ | |
$n_c$&Nombre total de questions dans une séance&$\mathbb{N} \; | \; n_c>0$\\ | 79 | 79 | $n_c$&Nombre total de questions dans une séance&$\mathbb{N} \; | \; n_c>0$\\ | |
$ny_c$&Nombre de questions dans le niveau de complexité $c$&$\mathbb{N} \; | \; 0<ny_c \le n_c$\\ | 80 | 80 | $ny_c$&Nombre de questions dans le niveau de complexité $c$&$\mathbb{N} \; | \; 0<ny_c \le n_c$\\ | |
$y_c$&Proportion de questions dans le niveau de complexité $c$&$[0, 1] \in \mathbb{R}$\\ | 81 | 81 | $y_c$&Proportion de questions dans le niveau de complexité $c$&$[0, 1] \in \mathbb{R}$\\ | |
$r$&Valeur totale de la métrique définie pour l'adaptabilité&$[0, c_n] \in \mathbb{R}$\\ | 82 | 82 | $r$&Valeur totale de la métrique définie pour l'adaptabilité&$[0, c_n] \in \mathbb{R}$\\ | |
$sc$&Valeur totale de la métrique de similarité cosinus&$[-1, 1] \in \mathbb{R}$\\ | 83 | 83 | $sc$&Valeur totale de la métrique de similarité cosinus&$[-1, 1] \in \mathbb{R}$\\ | |
\end{tabular} | 84 | 84 | \end{tabular} | |
\caption{Variables et paramètres du système de recommandation proposé} | 85 | 85 | \caption{Variables et paramètres du système de recommandation proposé} | |
\label{tabPar} | 86 | 86 | \label{tabPar} | |
\end{table} | 87 | 87 | \end{table} | |
88 | 88 | |||
Le tableau \ref{tabPar} présente les variables de l'algorithme de recommandation. Nous avons considéré que les notes $g_c$ obtenues au niveau de complexité $c$ tiennent compte du temps de réponse. C'est la raison pour laquelle, nous avons défini le grade de l'apprenant $ng_c$ au niveau de complexité $c$. Ce grade calculé selon l'équation \ref{eqsGT}, tient compte d'un poids de pénalisation temporelle $\lambda$. | 89 | 89 | Le tableau \ref{tabPar} présente les variables de l'algorithme de recommandation. Nous avons considéré que les notes $g_c$ obtenues au niveau de complexité $c$ tiennent compte du temps de réponse. C'est la raison pour laquelle, nous avons défini le grade de l'apprenant $ng_c$ au niveau de complexité $c$. Ce grade calculé selon l'équation \ref{eqsGT}, tient compte d'un poids de pénalisation temporelle $\lambda$. | |
90 | 90 | |||
\begin{equation} | 91 | 91 | \begin{equation} | |
ng_c=g_c- \left(g_c * \lambda * \frac{t_c}{t_m} \right) | 92 | 92 | ng_c=g_c- \left(g_c * \lambda * \frac{t_c}{t_m} \right) | |
\label{eqsGT} | 93 | 93 | \label{eqsGT} | |
\end{equation} | 94 | 94 | \end{equation} | |
95 | 95 | |||
Dans cet algorithme, la variable de seuil de grade $g_t$ détermine la variabilité de la distribution de probabilité pour chaque niveau de complexité. Les niveaux de complexité des exercices proposés à l'apprenant sont calculés par récompense inverse selon les équations \ref{eqgtc} et \ref{eqltc}. Chaque niveau de complexité est associé à une distribution de probabilité Beta avec des valeurs initiales $\alpha$ et $\beta$ prédéfinies. | 96 | 96 | Dans cet algorithme, la variable de seuil de grade $g_t$ détermine la variabilité de la distribution de probabilité pour chaque niveau de complexité. Les niveaux de complexité des exercices proposés à l'apprenant sont calculés par récompense inverse selon les équations \ref{eqgtc} et \ref{eqltc}. Chaque niveau de complexité est associé à une distribution de probabilité Beta avec des valeurs initiales $\alpha$ et $\beta$ prédéfinies. | |
97 | 97 | |||
\begin{equation} | 98 | 98 | \begin{equation} | |
ng_c \ge g_t \rightarrow | 99 | 99 | ng_c \ge g_t \rightarrow | |
\begin{cases} | 100 | 100 | \begin{cases} | |
\beta_c=\beta_c+\Delta_s\\ | 101 | 101 | \beta_c=\beta_c+\Delta_s\\ | |
\beta_{c-1}=\beta_{c-1} + \frac{\Delta_s}{2}\\ | 102 | 102 | \beta_{c-1}=\beta_{c-1} + \frac{\Delta_s}{2}\\ | |
\alpha_{c+1}=\alpha_{c+1} + \frac{\Delta_s}{2} | 103 | 103 | \alpha_{c+1}=\alpha_{c+1} + \frac{\Delta_s}{2} | |
\end{cases} | 104 | 104 | \end{cases} | |
\label{eqgtc} | 105 | 105 | \label{eqgtc} | |
\end{equation} | 106 | 106 | \end{equation} | |
107 | 107 | |||
\begin{equation} | 108 | 108 | \begin{equation} | |
ng_c < g_t \rightarrow | 109 | 109 | ng_c < g_t \rightarrow | |
\begin{cases} | 110 | 110 | \begin{cases} | |
\alpha_c=\alpha_c+\Delta_s\\ | 111 | 111 | \alpha_c=\alpha_c+\Delta_s\\ | |
\alpha_{c-1}=\alpha_{c-1} + \frac{\Delta_s}{2}\\ | 112 | 112 | \alpha_{c-1}=\alpha_{c-1} + \frac{\Delta_s}{2}\\ | |
\beta_{c+1}=\beta_{c+1} + \frac{\Delta_s}{2} | 113 | 113 | \beta_{c+1}=\beta_{c+1} + \frac{\Delta_s}{2} | |
\end{cases} | 114 | 114 | \end{cases} | |
\label{eqltc} | 115 | 115 | \label{eqltc} | |
\end{equation} | 116 | 116 | \end{equation} | |
117 | 117 | |||
Pour chaque niveau de complexité $c$, $Beta(\alpha_c, \beta_c)$ fournit une distribution de probabilité $\theta_c$ dont nous calculons l'espérance $\mathbb{E}[\theta_c]$. Le nouveau niveau de complexité $ncl$ correspond à l'espérance maximale obtenue. | 118 | 118 | Pour chaque niveau de complexité $c$, $Beta(\alpha_c, \beta_c)$ fournit une distribution de probabilité $\theta_c$ dont nous calculons l'espérance $\mathbb{E}[\theta_c]$. Le nouveau niveau de complexité $ncl$ correspond à l'espérance maximale obtenue. | |
119 | 119 | |||
Le détail des pas d'exécution du modèle proposé sont dans l'algorithme \ref{alg2}. | 120 | 120 | Le détail des pas d'exécution de l'algorithme proposé sont dans l'algorithme \ref{alg2}. | |
121 | 121 | |||
\begin{algorithm} | 122 | 122 | \begin{algorithm} | |
\caption{Algorithme de recommandation stochastique} | 123 | 123 | \caption{Algorithme de recommandation stochastique} | |
\begin{algorithmic} | 124 | 124 | \begin{algorithmic} | |
\State Initialisation de la distribution de probabilité | 125 | 125 | \State Initialisation de la distribution de probabilité | |
\For {\textbf{each} question $q$} | 126 | 126 | \For {\textbf{each} question $q$} | |
\State Soit le niveau de complexité $i$ | 127 | 127 | \State Soit le niveau de complexité $i$ | |
\State $ng_i=g_i- \left(g_i * \lambda * \frac{t_i}{t_m} \right)$ \Comment{eq \ref{eqsGT}} | 128 | 128 | \State $ng_i=g_i- \left(g_i * \lambda * \frac{t_i}{t_m} \right)$ \Comment{eq \ref{eqsGT}} | |
\State Calculs des paramètres $\alpha_i$ et $\beta_i$ \Comment{eq \ref{eqgtc} et eq \ref{eqltc}} | 129 | 129 | \State Calculs des paramètres $\alpha_i$ et $\beta_i$ \Comment{eq \ref{eqgtc} et eq \ref{eqltc}} | |
\State Choisir $\theta_c$ selon la distribution de probabilité Beta \Comment{$\forall c, \theta_c = Beta(\alpha_c, \beta_c)$} | 130 | 130 | \State Choisir $\theta_c$ selon la distribution de probabilité Beta \Comment{$\forall c, \theta_c = Beta(\alpha_c, \beta_c)$} | |
\State $ncl = max(\mathbb{E}[\theta_c]), \forall c$ | 131 | 131 | \State $ncl = max(\mathbb{E}[\theta_c]), \forall c$ | |
\EndFor | 132 | 132 | \EndFor | |
\end{algorithmic} | 133 | 133 | \end{algorithmic} | |
\label{alg2} | 134 | 134 | \label{alg2} | |
\end{algorithm} | 135 | 135 | \end{algorithm} | |
136 | 136 | |||
\subsection{Résultats} | 137 | 137 | \subsection{Résultats} | |
138 | 138 | |||
Le comportement du module de recommandation a été testé avec des données générées contenant les notes et les temps de réponse de mille apprenants pour cinq niveaux de complexité différents. Ces données sont décrites dans le tableau \ref{tabDataSet}. Les notes des apprenants sont générées selon la loi de probabilité logit-normale considérée comme la plus fidèle dans ce contexte par \cite{Arthurs}. \colorbox{yellow}{<== OK pour toi, Daniel ?} | 139 | 139 | Le comportement du module de recommandation a été testé avec des données générées contenant les notes et les temps de réponse de mille apprenants pour cinq niveaux de complexité différents. Ces données sont décrites dans le tableau \ref{tabDataSet}. Les notes des apprenants sont générées selon la loi de probabilité logit-normale considérée comme la plus fidèle dans ce contexte par \cite{Arthurs}. \colorbox{yellow}{<== OK pour toi, Daniel ?} | |
140 | 140 | |||
L'ensemble de données générées résulte d'une simulation des notes obtenues par des apprenants virtuels ayant répondu à quinze questions réparties sur cinq niveaux de complexité. L'ensemble de données simule, via la distribution de probabilité logit-normale, une faiblesse dans chaque niveau de complexité pour 70\% des apprenants sur les dix premières questions. La difficulté de la complexité est quant à elle simulée en réduisant le score moyen et en augmentant la variance. La figure \ref{figData} montre la manière dont sont réparties les notes selon le niveau de complexité. | 141 | 141 | L'ensemble de données générées résulte d'une simulation des notes obtenues par des apprenants virtuels ayant répondu à quinze questions réparties sur cinq niveaux de complexité. L'ensemble de données simule, via la distribution de probabilité logit-normale, une faiblesse dans chaque niveau de complexité pour 70\% des apprenants sur les dix premières questions. La difficulté de la complexité est quant à elle simulée en réduisant le score moyen et en augmentant la variance. La figure \ref{figData} montre la manière dont sont réparties les notes selon le niveau de complexité. | |
142 | 142 | |||
\begin{figure} | 143 | 143 | \begin{figure} | |
\includegraphics[width=\textwidth]{./Figures/dataset.png} | 144 | 144 | \includegraphics[width=\textwidth]{./Figures/dataset.png} | |
\caption{Répartition des notes générées selon le niveau de complexité.} | 145 | 145 | \caption{Répartition des notes générées selon le niveau de complexité.} | |
\label{figData} | 146 | 146 | \label{figData} | |
\end{figure} | 147 | 147 | \end{figure} | |
\colorbox{yellow}{ niveau de complexité d'une question Q?} | 148 | 148 | \colorbox{yellow}{ niveau de complexité d'une question Q?} | |
149 | 149 | |||
\begin{table}[!ht] | 150 | 150 | \begin{table}[!ht] | |
\centering | 151 | 151 | \centering | |
\begin{tabular}{ccc} | 152 | 152 | \begin{tabular}{ccc} | |
ID&Description&Domaine\\ | 153 | 153 | ID&Description&Domaine\\ | |
\hline | 154 | 154 | \hline | |
$q_{c}$&Niveau de complexité de une question $q$&$[0, c_n] \in \mathbb{N}$\\ | 155 | 155 | $q_{c}$&Niveau de complexité de une question $q$&$[0, c_n] \in \mathbb{N}$\\ | |
$q_{g,c}$&Note obtenue $g$ pour la question $q$ avec complexité $c$ &$[0,g_m] \in \mathbb{R}$\\ | 156 | 156 | $q_{g,c}$&Note obtenue $g$ pour la question $q$ avec complexité $c$ &$[0,g_m] \in \mathbb{R}$\\ | |
$q_{t,c}$&Temps employé $t$ pour une question $q$ avec complexité $c$&$[0, t_m] \in \mathbb{R}$\\ | 157 | 157 | $q_{t,c}$&Temps employé $t$ pour une question $q$ avec complexité $c$&$[0, t_m] \in \mathbb{R}$\\ | |
\end{tabular} | 158 | 158 | \end{tabular} | |
\caption{Description des variables utilisées dans la base de données évaluée} | 159 | 159 | \caption{Description des variables utilisées dans la base de données évaluée} | |
\label{tabDataSet} | 160 | 160 | \label{tabDataSet} | |
\end{table} | 161 | 161 | \end{table} | |
162 | 162 | |||
Toutes les valeurs des paramètres pour tester le modèle sont dans le tableau \ref{tabgm1}. | 163 | 163 | Toutes les valeurs des paramètres pour tester l'algorithme sont dans le tableau \ref{tabgm1}. | |
164 | 164 | |||
\begin{table}[!ht] | 165 | 165 | \begin{table}[!ht] | |
\centering | 166 | 166 | \centering | |
\begin{tabular}{c|cccccccccccccc} | 167 | 167 | \begin{tabular}{c|cccccccccccccc} | |
ID&$c_n$&$g_m$&$t_m$&$s$&$s_c$&$\lambda$&$g_t$&$\alpha_{x,1}$&$\alpha_{x,y}$&$\beta_{x,1}$&$\Delta \beta_{x,y}$&$\Delta_1$&$\Delta_2$&$\Delta_3$\\ | 168 | 168 | ID&$c_n$&$g_m$&$t_m$&$s$&$s_c$&$\lambda$&$g_t$&$\alpha_{x,1}$&$\alpha_{x,y}$&$\beta_{x,1}$&$\Delta \beta_{x,y}$&$\Delta_1$&$\Delta_2$&$\Delta_3$\\ | |
\hline | 169 | 169 | \hline | |
Valeur&5&10&120&3&2&0.25&6 & 2 & 1 & 1 & 1 & 0.3 & 0.5 & 0.7\\ | 170 | 170 | Valeur&5&10&120&3&2&0.25&6 & 2 & 1 & 1 & 1 & 0.3 & 0.5 & 0.7\\ | |
\end{tabular} | 171 | 171 | \end{tabular} | |
\caption{Valeurs des paramètres pour les scénarios évalués} | 172 | 172 | \caption{Valeurs des paramètres pour les scénarios évalués} | |
\label{tabgm1} | 173 | 173 | \label{tabgm1} | |
\end{table} | 174 | 174 | \end{table} | |
175 | 175 | |||
La figure \ref{figCmp2} permet de comparer les résultats obtenus par le module proposé, un système de recommandation déterministe et le système AI-VT initial lors d'un \textit{démarrage à froid} (c'est-à-dire sans données historiques ni informations préalables sur le profil de l'apprenant). Sur les graphiques de cette figure, les numéros des questions posées sont reportées en abscisse selon l'ordre chronologique d'apparition durant la séance d’entraînement, le niveau de complexité de chaque question posée est représenté par une couleur différente, et le nombre d'apprenants ayant eu des questions de ce niveau de complexité sont reportés en ordonnées. Ainsi, le système AI-VT initial (premier graphique de la figure) et le système de recommandation déterministe (deuxième graphique) ont tous deux proposé trois questions de niveau de complexité 0 (le plus faible) à tous les apprenants au démarrage de la séance d'entrainement. Nous pouvons remarquer que le système initial est resté sur ce niveau de complexité durant toute la séance (pour les 15 questions du test), tandis que le système de recommandation déterministe a progressivement mixé les complexités des questions posées. Le système de recommandation stochastique décrit dans ce chapitre a quant à lui mixé ces niveaux de complexité dès la première question. | 176 | 176 | La figure \ref{figCmp2} permet de comparer les résultats obtenus par le module proposé, un système de recommandation déterministe et le système AI-VT initial lors d'un \textit{démarrage à froid} (c'est-à-dire sans données historiques ni informations préalables sur le profil de l'apprenant). Sur les graphiques de cette figure, les numéros des questions posées sont reportées en abscisse selon l'ordre chronologique d'apparition durant la séance d’entraînement, le niveau de complexité de chaque question posée est représenté par une couleur différente, et le nombre d'apprenants ayant eu des questions de ce niveau de complexité sont reportés en ordonnées. Ainsi, le système AI-VT initial (premier graphique de la figure) et le système de recommandation déterministe (deuxième graphique) ont tous deux proposé trois questions de niveau de complexité 0 (le plus faible) à tous les apprenants au démarrage de la séance d'entrainement. Nous pouvons remarquer que le système initial est resté sur ce niveau de complexité durant toute la séance (pour les 15 questions du test), tandis que le système de recommandation déterministe a progressivement mixé les complexités des questions posées. Le système de recommandation stochastique décrit dans ce chapitre a quant à lui mixé ces niveaux de complexité dès la première question. | |
177 | 177 | |||
Ainsi, les systèmes de recommandation permettent de proposer une adaptation progressive du niveau de complexité en fonction des notes obtenues. Le modèle déterministe génère quatre grandes transitions avec un grand nombre d'apprenants dans les questions 5, 6, 8 et 12, toutes entre des niveaux de complexité contigus. La tendance est à la baisse pour les niveaux 0, 1 et 2 après la huitième question et à la hausse pour les niveaux 1 et 3. Le modèle stochastique commence par proposer tous les niveaux de complexité possibles tout en privilégiant le niveau 0. Avec ce système, les transitions sont constantes mais pour un petit nombre d'apprenants. La tendance après la dixième question est à la baisse pour les niveaux 0 et 4 et à la hausse pour les niveaux 1, 2 et 3. | 178 | 178 | Ainsi, les systèmes de recommandation permettent de proposer une adaptation progressive du niveau de complexité en fonction des notes obtenues. L'algorithme déterministe génère quatre grandes transitions avec un grand nombre d'apprenants dans les questions 5, 6, 8 et 12, toutes entre des niveaux de complexité contigus. La tendance est à la baisse pour les niveaux 0, 1 et 2 après la huitième question et à la hausse pour les niveaux 1 et 3. L'algorithme stochastique commence par proposer tous les niveaux de complexité possibles tout en privilégiant le niveau 0. Avec ce système, les transitions sont constantes mais pour un petit nombre d'apprenants. La tendance après la dixième question est à la baisse pour les niveaux 0 et 4 et à la hausse pour les niveaux 1, 2 et 3. | |
179 | 179 | |||
\colorbox{yellow}{Figure figCmp2 à corriger : ce n'est pas un nombre de question, }\\ | 180 | 180 | \colorbox{yellow}{Figure figCmp2 à corriger : ce n'est pas un nombre de question, }\\ | |
\colorbox{yellow}{mais un numéro de question.}\\ | 181 | 181 | \colorbox{yellow}{mais un numéro de question.}\\ | |
\colorbox{yellow}{Idem pour les figures Cmp3 et CMP4} | 182 | 182 | \colorbox{yellow}{Idem pour les figures Cmp3 et CMP4} | |
183 | 183 | |||
\begin{figure} | 184 | 184 | \begin{figure} | |
\includegraphics[width=\textwidth]{./Figures/comp2.png} | 185 | 185 | \includegraphics[width=\textwidth]{./Figures/comp2.png} | |
\caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la première séance avec un démarrage à froid (sans données initiales sur les apprentants).} | 186 | 186 | \caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la première séance avec un démarrage à froid (sans données initiales sur les apprentants).} | |
\label{figCmp2} | 187 | 187 | \label{figCmp2} | |
\end{figure} | 188 | 188 | \end{figure} | |
189 | 189 | |||
Après la génération de la première séance, le système peut continuer avec une deuxième liste d'exercices. Pour cette partie des tests, les trois modèles ont été initialisés avec les mêmes données, et des valeurs égales pour tous les apprenants. La figure \ref{figCmp3} permet de voir la première transition du système original ne réagissant qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours. \colorbox{yellow}{La figure X permet de voir la première transition du système original qui ne réagit qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours?} Les transitions sont très lentes, et tous les apprenants doivent suivre un chemin identique même s'ils obtiennent des notes différentes au cours de la séance. | 190 | 190 | Après la génération de la première séance, le système peut continuer avec une deuxième liste d'exercices. Pour cette partie des tests, les trois algorithmes ont été initialisés avec les mêmes données, et des valeurs égales pour tous les apprenants. La figure \ref{figCmp3} permet de voir la première transition du système original ne réagissant qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours. \colorbox{yellow}{La figure X permet de voir la première transition du système original qui ne réagit qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours?} Les transitions sont très lentes, et tous les apprenants doivent suivre un chemin identique même s'ils obtiennent des notes différentes au cours de la séance. | |
191 | 191 | |||
Pour leur part, les deux autres systèmes de recommandation testés proposent un fonctionnement différent. Le modèle déterministe présente trois transitions aux questions 3, 5 et 12. Les tendances sont y relativement homogènes et progressives pour le niveau 3, très variables pour le niveau 2 et fortement décroissantes pour le niveau 0. Le modèle stochastique quant à lui, propose des transitions douces mais il a tendance à toujours privilégier le niveau le plus faible. Nous pouvons observer une prépondérance du niveau 1 avec ce système. Ici, les niveaux 0 et 1 sont décroissants, le niveau 2 est statique et les niveaux 3 et 4 sont ascendants. | 192 | 192 | Pour leur part, les deux autres systèmes de recommandation testés proposent un fonctionnement différent. L'algorithme déterministe présente trois transitions aux questions 3, 5 et 12. Les tendances sont y relativement homogènes et progressives pour le niveau 3, très variables pour le niveau 2 et fortement décroissantes pour le niveau 0. L'algorithme stochastique quant à lui, propose des transitions douces mais il a tendance à toujours privilégier le niveau le plus faible. Nous pouvons observer une prépondérance du niveau 1 avec ce système. Ici, les niveaux 0 et 1 sont décroissants, le niveau 2 est statique et les niveaux 3 et 4 sont ascendants. | |
193 | 193 | |||
\begin{figure} | 194 | 194 | \begin{figure} | |
\includegraphics[width=\textwidth]{./Figures/comp3.png} | 195 | 195 | \includegraphics[width=\textwidth]{./Figures/comp3.png} | |
\caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la deuxième séance.} | 196 | 196 | \caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la deuxième séance.} | |
\label{figCmp3} | 197 | 197 | \label{figCmp3} | |
\end{figure} | 198 | 198 | \end{figure} | |
199 | 199 | |||
Les questions de la première et la deuxième séance étant de niveaux 0 et 1, le système a proposé des niveaux de complexité 1 ou 2 pour la troisième séance. La figure \ref{figCmp4} montre que le système original est très lent à passer d'un niveau à l'autre et les changements sont abrupts pour tous. \colorbox{yellow}{tjs parce que pas d'adaptation en cours de séance - et abruptes?}La figure \ref{figCmp3} permet de voir la première transition du système original ne réagissant qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours. Dans ce cas, le modèle de recommandation déterministe adopte la même stratégie et propose un changement brutal à tous les apprenants autour de la cinquième question. Le modèle stochastique continue avec des changements progressifs tout en privilégiant le niveau 2. | 200 | 200 | Les questions de la première et la deuxième séance étant de niveaux 0 et 1, le système a proposé des niveaux de complexité 1 ou 2 pour la troisième séance. La figure \ref{figCmp4} montre que le système original est très lent à passer d'un niveau à l'autre et les changements sont abrupts pour tous. \colorbox{yellow}{tjs parce que pas d'adaptation en cours de séance - et abruptes?}La figure \ref{figCmp3} permet de voir la première transition du système original ne réagissant qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours. Dans ce cas, l'algorithme de recommandation déterministe adopte la même stratégie et propose un changement brutal à tous les apprenants autour de la cinquième question. L'algorithme stochastique continue avec des changements progressifs tout en privilégiant le niveau 2. | |
201 | 201 | |||
\begin{figure} | 202 | 202 | \begin{figure} | |
\includegraphics[width=\textwidth]{./Figures/comp4.png} | 203 | 203 | \includegraphics[width=\textwidth]{./Figures/comp4.png} | |
\caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la troisième séance.} | 204 | 204 | \caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la troisième séance.} | |
\label{figCmp4} | 205 | 205 | \label{figCmp4} | |
\end{figure} | 206 | 206 | \end{figure} | |
207 | 207 | |||
Pour comparer numériquement le système original, le modèle déterministe et le modèle de recommandation proposé, un ensemble d'équations a été défini (équation \ref{eqMetric1} et équation \ref{eqMetric2}). Celles-ci permettent de décrire le système de recommandation idéal si l'objectif de l'apprenant est de suivre un apprentissage standard. Une valeur est calculée pour chaque niveau de complexité en fonction de la moyenne des notes et du nombre de questions recommandées dans ce niveau de complexité. L'objectif de cette mesure est d'attribuer un score élevé aux systèmes de recommandation qui proposent plus d'exercices au niveau de complexité où l'apprenant a obtenu une note moyenne plus basse, lui permettant ainsi de renforcer ses connaissances pour ce niveau de complexité. De la même manière, il est attendu que le système de recommandation propose moins d'exercices aux niveaux de complexité pour lesquels les notes moyennes sont élevées, l'étudiant ayant acquis des connaissances suffisantes à ces niveaux de complexité. Les scores faibles sont attribués aux systèmes qui recommandent peu d'exercices à des niveaux de complexité dont les notes moyennes sont faibles et, inversement, s'ils proposent beaucoup d'exercices à des niveaux de complexité dont les notes moyennes sont élevées. | 208 | 208 | Pour comparer numériquement le système original, l'algorithme déterministe et l'algorithme de recommandation proposé, un ensemble d'équations a été défini (équation \ref{eqMetric1} et équation \ref{eqMetric2}). Celles-ci permettent de décrire le système de recommandation idéal si l'objectif de l'apprenant est de suivre un apprentissage standard. Une valeur est calculée pour chaque niveau de complexité en fonction de la moyenne des notes et du nombre de questions recommandées dans ce niveau de complexité. L'objectif de cette mesure est d'attribuer un score élevé aux systèmes de recommandation qui proposent plus d'exercices au niveau de complexité où l'apprenant a obtenu une note moyenne plus basse, lui permettant ainsi de renforcer ses connaissances pour ce niveau de complexité. De la même manière, il est attendu que le système de recommandation propose moins d'exercices aux niveaux de complexité pour lesquels les notes moyennes sont élevées, l'étudiant ayant acquis des connaissances suffisantes à ces niveaux de complexité. Les scores faibles sont attribués aux systèmes qui recommandent peu d'exercices à des niveaux de complexité dont les notes moyennes sont faibles et, inversement, s'ils proposent beaucoup d'exercices à des niveaux de complexité dont les notes moyennes sont élevées. | |
209 | 209 | |||
\begin{equation} | 210 | 210 | \begin{equation} | |
%r_c=x+y-2xy | 211 | 211 | %r_c=x+y-2xy | |
%r_c=x^2+y^2-2x^2y^2 | 212 | 212 | %r_c=x^2+y^2-2x^2y^2 | |
rp_c(x)=e^{-2(x_{0,c}+x_{1,c}-1)^2} ; \{x \in \mathbb{R}^2 | 0<=x<=1\} | 213 | 213 | rp_c(x)=e^{-2(x_{0,c}+x_{1,c}-1)^2} ; \{x \in \mathbb{R}^2 | 0<=x<=1\} | |
\label{eqMetric1} | 214 | 214 | \label{eqMetric1} | |
\end{equation} | 215 | 215 | \end{equation} | |
216 | 216 | |||
\begin{equation} | 217 | 217 | \begin{equation} | |
r=\sum_{c=0}^{c_n-1} rp_c | 218 | 218 | r=\sum_{c=0}^{c_n-1} rp_c | |
\label{eqMetric2} | 219 | 219 | \label{eqMetric2} | |
\end{equation} | 220 | 220 | \end{equation} | |
221 | 221 | |||
Les propriétés de la métrique sont : | 222 | 222 | Les propriétés de la métrique sont : | |
\begin{itemize} | 223 | 223 | \begin{itemize} | |
\item $\{\forall x \in \mathbb{R}^2 | 0<=x<=1\}, rp_c(x)>0$ | 224 | 224 | \item $\{\forall x \in \mathbb{R}^2 | 0<=x<=1\}, rp_c(x)>0$ | |
\item $max(rp_c(x))=1; \; if \; x_{0,c}+x_{1,c}=1$ | 225 | 225 | \item $max(rp_c(x))=1; \; if \; x_{0,c}+x_{1,c}=1$ | |
\item $min(rp_c(x))=0.1353; \; if \; \left ( \sum_{i=1}^2 x_{i,c}=0 \; \lor \; \sum_{i=1}^2 x_{i,c} = 2 \right )$\\ | 226 | 226 | \item $min(rp_c(x))=0.1353; \; if \; \left ( \sum_{i=1}^2 x_{i,c}=0 \; \lor \; \sum_{i=1}^2 x_{i,c} = 2 \right )$\\ | |
\end{itemize} | 227 | 227 | \end{itemize} | |
228 | 228 | |||
Dans l'équation \ref{eqMetric1}, $x_{0,c}$ est la moyenne normalisée des notes dans le niveau de complexité $c$ (équation \ref{eqXc}), et $x_{1,c}$ est le nombre normalisé de questions auxquelles des réponses ont été données dans le niveau de complexité $c$ (équation \ref{eqYc}). Ainsi, plus la valeur de $r$ est élevée, meilleure est la recommandation. | 229 | 229 | Dans l'équation \ref{eqMetric1}, $x_{0,c}$ est la moyenne normalisée des notes dans le niveau de complexité $c$ (équation \ref{eqXc}), et $x_{1,c}$ est le nombre normalisé de questions auxquelles des réponses ont été données dans le niveau de complexité $c$ (équation \ref{eqYc}). Ainsi, plus la valeur de $r$ est élevée, meilleure est la recommandation. | |
230 | 230 | |||
\begin{equation} | 231 | 231 | \begin{equation} | |
x_{0,c}=\frac{<g_c>_{G_c}}{g_m} | 232 | 232 | x_{0,c}=\frac{<g_c>_{G_c}}{g_m} | |
\label{eqXc} | 233 | 233 | \label{eqXc} | |
\end{equation} | 234 | 234 | \end{equation} | |
235 | 235 | |||
\begin{equation} | 236 | 236 | \begin{equation} | |
x_{1,c}=\frac{ny_c}{n_c} | 237 | 237 | x_{1,c}=\frac{ny_c}{n_c} | |
\label{eqYc} | 238 | 238 | \label{eqYc} | |
\end{equation} | 239 | 239 | \end{equation} | |
240 | 240 | |||
La figure \ref{figMetric} représente la fonction $rp_c(x)$. La valeur maximale de $r$ dans un niveau de complexité spécifique étant égale à $1$, la valeur maximale globale pour les scénarios testés est égale à 5. | 241 | 241 | La figure \ref{figMetric} représente la fonction $rp_c(x)$. La valeur maximale de $r$ dans un niveau de complexité spécifique étant égale à $1$, la valeur maximale globale pour les scénarios testés est égale à 5. | |
242 | 242 | |||
\begin{figure} | 243 | 243 | \begin{figure} | |
\includegraphics[width=\textwidth]{./Figures/metric.png} | 244 | 244 | \includegraphics[width=\textwidth]{./Figures/metric.png} | |
\caption{Fonction d'évaluation de la qualité de la recommandation pour un parcours standard} | 245 | 245 | \caption{Fonction d'évaluation de la qualité de la recommandation pour un parcours standard} | |
\label{figMetric} | 246 | 246 | \label{figMetric} | |
\end{figure} | 247 | 247 | \end{figure} | |
248 | 248 | |||
Les résultats des calculs de la métrique $rp_c(x)$ établie pour le système original et les deux modèles dans les trois scénarios testés sont présentés dans le tableau \ref{tabRM}. | 249 | 249 | Les résultats des calculs de la métrique $rp_c(x)$ établie pour le système original et les deux algorithmes dans les trois scénarios testés sont présentés dans le tableau \ref{tabRM}. | |
250 | 250 | |||
\begin{table}[!ht] | 251 | 251 | \begin{table}[!ht] | |
\centering | 252 | 252 | \centering | |
\begin{tabular}{cccccccc} | 253 | 253 | \begin{tabular}{cccccccc} | |
&$c_0$&$c_1$&$c_2$&$c_3$&$c_4$&Total ($r$)&Total ($\%$)\\ | 254 | 254 | &$c_0$&$c_1$&$c_2$&$c_3$&$c_4$&Total ($r$)&Total ($\%$)\\ | |
\hline | 255 | 255 | \hline | |
Test 1\\ | 256 | 256 | Test 1\\ | |
\hline | 257 | 257 | \hline | |
RàPC&0.5388&-&-&-&-&0.5388&10.776\\ | 258 | 258 | RàPC&0.5388&-&-&-&-&0.5388&10.776\\ | |
DM&0.8821&0.7282&\textbf{0.9072}&\textbf{0.8759}&-&3.3934&67.868\\ | 259 | 259 | DM&0.8821&0.7282&\textbf{0.9072}&\textbf{0.8759}&-&3.3934&67.868\\ | |
SM&\textbf{0.9463}&\textbf{0.8790}&0.7782&0.7108&0.6482&\textbf{3.9625}&\textbf{79.25}\\ | 260 | 260 | SM&\textbf{0.9463}&\textbf{0.8790}&0.7782&0.7108&0.6482&\textbf{3.9625}&\textbf{79.25}\\ | |
\hline | 261 | 261 | \hline | |
Test 2\\ | 262 | 262 | Test 2\\ | |
\hline | 263 | 263 | \hline | |
RàPC&0.9445&\textbf{0.9991}&-&-&-&1.9436&38.872\\ | 264 | 264 | RàPC&0.9445&\textbf{0.9991}&-&-&-&1.9436&38.872\\ | |
DM&-&0.9443&\textbf{0.8208}&\textbf{0.9623}&-&2.7274&54.548\\ | 265 | 265 | DM&-&0.9443&\textbf{0.8208}&\textbf{0.9623}&-&2.7274&54.548\\ | |
SM&\textbf{0.9688}&0.9861&0.8067&0.7161&0.6214&\textbf{4.0991}&\textbf{81.982}\\ | 266 | 266 | SM&\textbf{0.9688}&0.9861&0.8067&0.7161&0.6214&\textbf{4.0991}&\textbf{81.982}\\ | |
\hline | 267 | 267 | \hline | |
Test3\\ | 268 | 268 | Test3\\ | |
\hline | 269 | 269 | \hline | |
RàPC&-&0.8559&0.7377&-&-&1.5936&31.872 | 270 | 270 | RàPC&-&0.8559&0.7377&-&-&1.5936&31.872 | |
\\ | 271 | 271 | \\ | |
DM&-&-&0.5538&\textbf{0.7980}&-&1.3518&27.036\\ | 272 | 272 | DM&-&-&0.5538&\textbf{0.7980}&-&1.3518&27.036\\ | |
SM&0.9089&\textbf{0.9072}&\textbf{0.9339}&0.7382&0.6544&\textbf{4.1426}&\textbf{82.852}\\ | 273 | 273 | SM&0.9089&\textbf{0.9072}&\textbf{0.9339}&0.7382&0.6544&\textbf{4.1426}&\textbf{82.852}\\ | |
\end{tabular} | 274 | 274 | \end{tabular} | |
\caption{Résultats de la métrique $rp_c(x)$ (RàPC - Système sans module de recommandation, DM - Module de recommandation déterministe, SM - Module de recommandation stochastique)} | 275 | 275 | \caption{Résultats de la métrique $rp_c(x)$ (RàPC - Système sans module de recommandation, DM - Module de recommandation déterministe, SM - Module de recommandation stochastique)} | |
\label{tabRM} | 276 | 276 | \label{tabRM} | |
\end{table} | 277 | 277 | \end{table} | |
278 | 278 | |||
Les équations \ref{eqMetricS1} et \ref{eqMetricS2} permettent de caractériser un apprentissage progressif. Dans ce cas, un score élevé est attribué aux systèmes proposant plus d'exercices dans un niveau de complexité où les notes moyennes sont légèrement insuffisantes (4/10), plus flexibles avec des notes moyennes plus basses, et un petit nombre d'exercices pour des notes moyennes élevées. Les scores faibles sont attribués aux systèmes qui recommandent de nombreuses questions dans un niveau de complexité avec des notes moyennes élevées ou faibles. | 279 | 279 | Les équations \ref{eqMetricS1} et \ref{eqMetricS2} permettent de caractériser un apprentissage progressif. Dans ce cas, un score élevé est attribué aux systèmes proposant plus d'exercices dans un niveau de complexité où les notes moyennes sont légèrement insuffisantes (4/10), plus flexibles avec des notes moyennes plus basses, et un petit nombre d'exercices pour des notes moyennes élevées. Les scores faibles sont attribués aux systèmes qui recommandent de nombreuses questions dans un niveau de complexité avec des notes moyennes élevées ou faibles. | |
280 | 280 | |||
\begin{equation} | 281 | 281 | \begin{equation} | |
rs_c(x)=e^{-\frac{2}{100}(32x_{0,c}^2-28x_{0,c}+10x_{1,c}-4)^2} ; \{x \in \mathbb{R}^2 | 0<=x<=1\} | 282 | 282 | rs_c(x)=e^{-\frac{2}{100}(32x_{0,c}^2-28x_{0,c}+10x_{1,c}-4)^2} ; \{x \in \mathbb{R}^2 | 0<=x<=1\} | |
\label{eqMetricS1} | 283 | 283 | \label{eqMetricS1} | |
\end{equation} | 284 | 284 | \end{equation} | |
285 | 285 | |||
\begin{equation} | 286 | 286 | \begin{equation} | |
r=\sum_{c=0}^{c_n-1} rs_c | 287 | 287 | r=\sum_{c=0}^{c_n-1} rs_c | |
\label{eqMetricS2} | 288 | 288 | \label{eqMetricS2} | |
\end{equation} | 289 | 289 | \end{equation} | |
290 | 290 | |||
Les propriétés de la métrique sont : | 291 | 291 | Les propriétés de la métrique sont : | |
\begin{itemize} | 292 | 292 | \begin{itemize} | |
\item $\{\forall x \in \mathbb{R}^2 | 0<=x<=1\}, rs_c(x)>0$ | 293 | 293 | \item $\{\forall x \in \mathbb{R}^2 | 0<=x<=1\}, rs_c(x)>0$ | |
\item $max(rs_c(x))=1; \; if \; 16x_{0,c}^2-14x_{0,c}+5x_{1,c}-2=0$\\ | 294 | 294 | \item $max(rs_c(x))=1; \; if \; 16x_{0,c}^2-14x_{0,c}+5x_{1,c}-2=0$\\ | |
\end{itemize} | 295 | 295 | \end{itemize} | |
296 | 296 | |||
La figure \ref{figMetric2} représente la fonction $rs_c(x)$. Comme pour $rp_c$, la valeur maximale de $r$ dans un niveau de complexité spécifique étant égale à $1$, la valeur maximale globale pour les scénarios testés est égale à 5. | 297 | 297 | La figure \ref{figMetric2} représente la fonction $rs_c(x)$. Comme pour $rp_c$, la valeur maximale de $r$ dans un niveau de complexité spécifique étant égale à $1$, la valeur maximale globale pour les scénarios testés est égale à 5. | |
298 | 298 | |||
Les résultats du calcul des métriques pour le système original et les deux modèles dans les trois scénarios définis sont présentés dans le tableau \ref{tabRM2}. | 299 | 299 | Les résultats du calcul des métriques pour le système original et les deux algorithmes dans les trois scénarios définis sont présentés dans le tableau \ref{tabRM2}. | |
300 | 300 | |||
\begin{figure}[!ht] | 301 | 301 | \begin{figure}[!ht] | |
\centering | 302 | 302 | \centering | |
\includegraphics[width=\textwidth]{./Figures/metric2.png} | 303 | 303 | \includegraphics[width=\textwidth]{./Figures/metric2.png} | |
\caption{Fonction d'évaluation de la qualité de la recommandation pour un apprentissage progressif.} | 304 | 304 | \caption{Fonction d'évaluation de la qualité de la recommandation pour un apprentissage progressif.} | |
\label{figMetric2} | 305 | 305 | \label{figMetric2} | |
\end{figure} | 306 | 306 | \end{figure} | |
307 | 307 | |||
\begin{table}[!ht] | 308 | 308 | \begin{table}[!ht] | |
\centering | 309 | 309 | \centering | |
\begin{tabular}{cccccccc} | 310 | 310 | \begin{tabular}{cccccccc} | |
&$c_0$&$c_1$&$c_2$&$c_3$&$c_4$&Total ($r$)&Total ($\%$)\\ | 311 | 311 | &$c_0$&$c_1$&$c_2$&$c_3$&$c_4$&Total ($r$)&Total ($\%$)\\ | |
\hline | 312 | 312 | \hline | |
Séance 1\\ | 313 | 313 | Séance 1\\ | |
\hline | 314 | 314 | \hline | |
RàPC&\textbf{0.9979}&-&-&-&-&0.9979&19.96\\ | 315 | 315 | RàPC&\textbf{0.9979}&-&-&-&-&0.9979&19.96\\ | |
DM&0.8994&0.1908&\textbf{0.3773}&\textbf{0.2990}&-&1.7665&35.33\\ | 316 | 316 | DM&0.8994&0.1908&\textbf{0.3773}&\textbf{0.2990}&-&1.7665&35.33\\ | |
SM&0.8447&\textbf{0.3012}&0.2536&0.2030&\textbf{0.1709}&\textbf{1.7734}&\textbf{35.47}\\ | 317 | 317 | SM&0.8447&\textbf{0.3012}&0.2536&0.2030&\textbf{0.1709}&\textbf{1.7734}&\textbf{35.47}\\ | |
\hline | 318 | 318 | \hline | |
Séance 2\\ | 319 | 319 | Séance 2\\ | |
\hline | 320 | 320 | \hline | |
RàPC&\textbf{0.4724}&\textbf{0.7125}&-&-&-&1.1849&23.70\\ | 321 | 321 | RàPC&\textbf{0.4724}&\textbf{0.7125}&-&-&-&1.1849&23.70\\ | |
DM&-&0.6310&\textbf{0.3901}&\textbf{0.4253}&-&1.4464&28.93\\ | 322 | 322 | DM&-&0.6310&\textbf{0.3901}&\textbf{0.4253}&-&1.4464&28.93\\ | |
SM&0.2697&0.7089&0.2634&0.2026&\textbf{0.1683}&\textbf{1.6129}&\textbf{32.26}\\ | 323 | 323 | SM&0.2697&0.7089&0.2634&0.2026&\textbf{0.1683}&\textbf{1.6129}&\textbf{32.26}\\ | |
\hline | 324 | 324 | \hline | |
Séance 3\\ | 325 | 325 | Séance 3\\ | |
\hline | 326 | 326 | \hline | |
RàPC&-&\textbf{0.9179}&0.2692&-&-&1.1871&23.74 | 327 | 327 | RàPC&-&\textbf{0.9179}&0.2692&-&-&1.1871&23.74 | |
\\ | 328 | 328 | \\ | |
DM&-&-&0.2236&\textbf{0.9674}&-&1.191&23.82\\ | 329 | 329 | DM&-&-&0.2236&\textbf{0.9674}&-&1.191&23.82\\ | |
SM&0.1873&0.3038&\textbf{0.6345}&0.2394&\textbf{0.1726}&\textbf{1.5376}&\textbf{30.75}\\ | 330 | 330 | SM&0.1873&0.3038&\textbf{0.6345}&0.2394&\textbf{0.1726}&\textbf{1.5376}&\textbf{30.75}\\ | |
\end{tabular} | 331 | 331 | \end{tabular} | |
\caption{Évaluation des recommandations proposées selon $rs_c(x)$ par les différents systèmes de recommandation testés : RàPC - Système sans module de recommandation, DM - Modèle deterministique, SM - Modèle stochastique} | 332 | 332 | \caption{Évaluation des recommandations proposées selon $rs_c(x)$ par les différents systèmes de recommandation testés : RàPC - Système sans module de recommandation, DM - Algorithme deterministique, SM - Algorithme stochastique} | |
\label{tabRM2} | 333 | 333 | \label{tabRM2} | |
\end{table} | 334 | 334 | \end{table} | |
335 | 335 | |||
En complément, le tableau \ref{tabCS} présente les similarités entre toutes les recommandations faites aux apprenants par les trois systèmes et les trois séances d'entrainement. Pour ce faire, nous avons choisi d'appliquer l'équation \ref{eqCS} permettant de calculer une similarité cosinus entre deux vecteurs $A$ et $B$. | 336 | 336 | En complément, le tableau \ref{tabCS} présente les similarités entre toutes les recommandations faites aux apprenants par les trois systèmes et les trois séances d'entrainement. Pour ce faire, nous avons choisi d'appliquer l'équation \ref{eqCS} permettant de calculer une similarité cosinus entre deux vecteurs $A$ et $B$. | |
337 | 337 | |||
\begin{equation} | 338 | 338 | \begin{equation} | |
sc=\frac{\sum_{i=1}^n A_i B_i}{\sqrt{\sum_{i=1}^n A_i^2} \sqrt{\sum_{i=1}^n B_i^2}} | 339 | 339 | sc=\frac{\sum_{i=1}^n A_i B_i}{\sqrt{\sum_{i=1}^n A_i^2} \sqrt{\sum_{i=1}^n B_i^2}} | |
\label{eqCS} | 340 | 340 | \label{eqCS} | |
\end{equation} | 341 | 341 | \end{equation} | |
342 | 342 | |||
\begin{table}[!ht] | 343 | 343 | \begin{table}[!ht] | |
\centering | 344 | 344 | \centering | |
\begin{tabular}{cccc} | 345 | 345 | \begin{tabular}{cccc} | |
Système de recommandation & Séance 1 & Séance 2 & Séance 3\\ | 346 | 346 | Système de recommandation & Séance 1 & Séance 2 & Séance 3\\ | |
\hline | 347 | 347 | \hline | |
RàPC&1&1&1\\ | 348 | 348 | RàPC&1&1&1\\ | |
DM&0.9540&0.9887&0.9989\\ | 349 | 349 | DM&0.9540&0.9887&0.9989\\ | |
SM&\textbf{0.8124}&\textbf{0.8856}&\textbf{0.9244}\\ | 350 | 350 | SM&\textbf{0.8124}&\textbf{0.8856}&\textbf{0.9244}\\ | |
\end{tabular} | 351 | 351 | \end{tabular} | |
\caption{Moyenne de la diversité des propositions pour tous les apprenants. Une valeur plus faible représente une plus grande diversité. (RàPC - Système sans module de recommandation, DM - Module deterministe, SM - Module stochastique)} | 352 | 352 | \caption{Moyenne de la diversité des propositions pour tous les apprenants. Une valeur plus faible représente une plus grande diversité. (RàPC - Système sans module de recommandation, DM - Module deterministe, SM - Module stochastique)} | |
\label{tabCS} | 353 | 353 | \label{tabCS} | |
\end{table} | 354 | 354 | \end{table} | |
355 | 355 | |||
\subsection{Discussion et Conclusion} | 356 | 356 | \subsection{Discussion et Conclusion} | |
Avec la génération d'exercices par le système de RàPC initial, AI-VT propose les mêmes exercices à tous les apprenants, et l'évolution des niveaux de complexité est très lente, un changement toutes les trois ou quatre séances environ. En effet, le système ne prend pas en compte les notes obtenues pendant la séance. Les systèmes intégrant l'un des modules de recommandation testés sont plus dynamiques et les évolutions sont plus rapides. En considérant les notes des apprenants, le modèle déterministe suggère des changements de niveaux à un grand nombre d'apprenants de manière soudaine, tandis que le modèle stochastique est plus axé sur la personnalisation individuelle et les changements de niveau de complexité sont produits pour un petit nombre d'apprenants. Les deux modules de recommandation proposés ont la capacité de détecter les faiblesses des apprenants et d'adapter la séance à leurs besoins particuliers. | 357 | 357 | Avec la génération d'exercices par le système de RàPC initial, AI-VT propose les mêmes exercices à tous les apprenants, et l'évolution des niveaux de complexité est très lente, un changement toutes les trois ou quatre séances environ. En effet, le système ne prend pas en compte les notes obtenues pendant la séance. Les systèmes intégrant l'un des modules de recommandation testés sont plus dynamiques et les évolutions sont plus rapides. En considérant les notes des apprenants, l'algorithme déterministe suggère des changements de niveaux à un grand nombre d'apprenants de manière soudaine, tandis que l'algorithme stochastique est plus axé sur la personnalisation individuelle et les changements de niveau de complexité sont produits pour un petit nombre d'apprenants. Les deux modules de recommandation proposés ont la capacité de détecter les faiblesses des apprenants et d'adapter la séance à leurs besoins particuliers. | |
\colorbox{yellow}{le texte de la page 83 sous les 2 tables est décalé} | 358 | 358 | \colorbox{yellow}{le texte de la page 83 sous les 2 tables est décalé} | |
359 | 359 | |||
Les données générées ont permis de simuler diverses situations avec les notes de mille apprenants, permettant ainsi d'évaluer le comportement des systèmes de recommandation avec différentes configurations. | 360 | 360 | Les données générées ont permis de simuler diverses situations avec les notes de mille apprenants, permettant ainsi d'évaluer le comportement des systèmes de recommandation avec différentes configurations. | |
361 | 361 | |||
Les résultats numériques montrent que les distributions des questions dans une séance par les deux modules de recommandation sont différentes bien que la tendance générale soit similaire. Les modules de recommandation proposés tentent de répartir les questions dans tous les niveaux de complexité définis. Globalement, le module de recommandation stochastique a obtenu un meilleur score. En comparaison du système original, les modules de recommandation (déterministe et stochastique) proposent 15\% à 68\% d'adaptations pour tous les niveaux de complexité.\colorbox{yellow}{d'adaptation de quoi?} | 362 | 362 | Les résultats numériques montrent que les distributions des questions dans une séance par les deux modules de recommandation sont différentes bien que la tendance générale soit similaire. Les modules de recommandation proposés tentent de répartir les questions dans tous les niveaux de complexité définis. Globalement, le module de recommandation stochastique a obtenu un meilleur score. En comparaison du système original, les modules de recommandation (déterministe et stochastique) proposent 15\% à 68\% d'adaptations pour tous les niveaux de complexité.\colorbox{yellow}{d'adaptation de quoi?} | |
363 | 363 | |||
Selon la métrique de la similarité cosinus, le module de recommandation stochastique augmente la diversité des propositions par rapport au système original dans les trois séances d'entrainement testées, ce qui indique qu'en plus d'atteindre l'adaptabilité, des propositions personnalisées sont générées tout en maintenant l'objectif de progression des niveaux de compétence des apprenants. La diversité des propositions est une caractéristique essentielle du modèle de recommandation dans ses deux versions. | 364 | 364 | Selon la métrique de la similarité cosinus, le module de recommandation stochastique augmente la diversité des propositions par rapport au système original dans les trois séances d'entrainement testées, ce qui indique qu'en plus d'atteindre l'adaptabilité, des propositions personnalisées sont générées tout en maintenant l'objectif de progression des niveaux de compétence des apprenants. La diversité des propositions est une caractéristique essentielle de l'algorithme de recommandation dans ses deux versions. | |
365 | 365 | |||
Les modules de recommandation sont un élément essentiel pour certains EIAH car ils aident à guider le processus d'apprentissage individuel. Ils permettent également d'identifier les faiblesses et de réorienter le processus complet afin d'améliorer les connaissances et les compétences. Les deux modules de recommandation proposés peuvent détecter en temps réel les faiblesses de l'apprenant et tentent de réorienter la séance vers le niveau de complexité le plus adapté. Même si l'ensemble des données générées est une simulation de temps de réponse et de notes fictives d'apprenants fictifs, les tests démontrent la flexibilité et la robustesse des modules de recommandation proposés : les données relatives aux apprenants présentent en effet une grande diversité et obligent le système à s'adapter à différents types de configuration. Par conséquent, il est possible de conclure que les modules de recommandation proposés ont la capacité de fonctionner dans différentes situations et de proposer des chemins alternatifs et personnalisés pour améliorer le processus d'apprentissage global. Leur intégration à l'EIAH AI-VT originel constituent donc une amélioration notable du système. | 366 | 366 | Les modules de recommandation sont un élément essentiel pour certains EIAH car ils aident à guider le processus d'apprentissage individuel. Ils permettent également d'identifier les faiblesses et de réorienter le processus complet afin d'améliorer les connaissances et les compétences. Les deux modules de recommandation proposés peuvent détecter en temps réel les faiblesses de l'apprenant et tentent de réorienter la séance vers le niveau de complexité le plus adapté. Même si l'ensemble des données générées est une simulation de temps de réponse et de notes fictives d'apprenants fictifs, les tests démontrent la flexibilité et la robustesse des modules de recommandation proposés : les données relatives aux apprenants présentent en effet une grande diversité et obligent le système à s'adapter à différents types de configuration. Par conséquent, il est possible de conclure que les modules de recommandation proposés ont la capacité de fonctionner dans différentes situations et de proposer des chemins alternatifs et personnalisés pour améliorer le processus d'apprentissage global. Leur intégration à l'EIAH AI-VT originel constituent donc une amélioration notable du système. | |
\colorbox{yellow}{Est ce qu'il faut redire que dm vient de Simha, mais tu as fait les tests?} | 367 | 367 | \colorbox{yellow}{Est ce qu'il faut redire que dm vient de Simha, mais tu as fait les tests?} | |
368 | 368 | |||
\section{ESCBR-SMA et échantillonnage de Thompson} | 369 | 369 | \section{ESCBR-SMA et échantillonnage de Thompson} | |
\sectionmark{ESCB-SMA et TS} | 370 | 370 | \sectionmark{ESCB-SMA et TS} | |
371 | 371 | |||
La section précédente a démontré l'intérêt de l'intégration d'un module de recommandation afin de proposer des exercices d'un niveau de difficulté adapté aux besoins de l'apprenant en fonction des difficultés décelées au cours de la séance d'entraînement. Le système AI-VT originel fondé sur le cycle du raisonnement à partir de cas et ne proposant que des adaptations entre deux séances d’entraînement consécutives, a été supplanté par l'intégration de modules de recommandation utilisés durant la phase de révision du cycle classique du RàPC. Les deux modules de recommandation testés dans la section précédente étaient l'un déterministe, l'autre stochastique. | 372 | 372 | La section précédente a démontré l'intérêt de l'intégration d'un module de recommandation afin de proposer des exercices d'un niveau de difficulté adapté aux besoins de l'apprenant en fonction des difficultés décelées au cours de la séance d'entraînement. Le système AI-VT originel fondé sur le cycle du raisonnement à partir de cas et ne proposant que des adaptations entre deux séances d’entraînement consécutives, a été supplanté par l'intégration de modules de recommandation utilisés durant la phase de révision du cycle classique du RàPC. Les deux modules de recommandation testés dans la section précédente étaient l'un déterministe, l'autre stochastique. | |
373 | 373 | |||
La section précédente a également démontré qu'il était possible et intéressant que les niveaux de complexité des exercices proposés puissent suivre des fonctions permettant de les faire fluctuer de manière progressive au cours de la séance, et ce afin que les apprenants ne soient pas confrontés à des difficultés changeant de manière trop abrupte durant l'entraînement. Cette étude nous amène donc à considérer la résolution de la génération d'une séance d'exercices sous l'angle de la régression. Nous proposons donc dans cette partie de montrer de quelle manière nous avons intégré et vérifié l'intérêt des outils définis dans le chapitre précédent dans l'EIAH AI-VT. | 374 | 374 | La section précédente a également démontré qu'il était possible et intéressant que les niveaux de complexité des exercices proposés puissent suivre des fonctions permettant de les faire fluctuer de manière progressive au cours de la séance, et ce afin que les apprenants ne soient pas confrontés à des difficultés changeant de manière trop abrupte durant l'entraînement. Cette étude nous amène donc à considérer la résolution de la génération d'une séance d'exercices sous l'angle de la régression. Nous proposons donc dans cette partie de montrer de quelle manière nous avons intégré et vérifié l'intérêt des outils définis dans le chapitre précédent dans l'EIAH AI-VT. | |
375 | 375 | |||
\subsection{Concepts Associés} | 376 | 376 | \subsection{Concepts Associés} | |
377 | 377 | |||
Cette section présente les concepts, les définitions et les algorithmes nécessaires à la compréhension du module proposé. Le paradigme fondamental utilisé dans ce travail est le raisonnement à partir de cas (RàPC), qui permet d'exploiter les connaissances acquises et l'expérience accumulée pour résoudre un problème spécifique. L'idée principale est de rechercher des situations antérieures similaires et d'utiliser l'expérience acquise pour résoudre de nouveaux problèmes. Le RàPC suit classiquement un cycle de quatre étapes pour améliorer la solution d'inférence \cite{jmse11050890}. | 378 | 378 | Cette section présente les concepts, les définitions et les algorithmes nécessaires à la compréhension du module proposé. Le paradigme fondamental utilisé dans ce travail est le raisonnement à partir de cas (RàPC), qui permet d'exploiter les connaissances acquises et l'expérience accumulée pour résoudre un problème spécifique. L'idée principale est de rechercher des situations antérieures similaires et d'utiliser l'expérience acquise pour résoudre de nouveaux problèmes. Le RàPC suit classiquement un cycle de quatre étapes pour améliorer la solution d'inférence \cite{jmse11050890}. | |
379 | 379 | |||
L'un des modèles les plus couramment utilisés dans les EIAH pour adapter le contenu et estimer la progression du niveau de connaissance des apprenants est le BKT (\textit{Bayesian Knowledge Tracing}) \cite{ZHANG2018189}. Ce modèle utilise quatre paramètres pour estimer la progression des connaissances. $P(k)$ estime la probabilité de connaissance dans une compétence spécifique. $P(w)$, est la probabilité que l'apprenant démontre ses connaissances. $P(s)$, est la probabilité que l'apprenant fasse une erreur. $P(g)$, est la probabilité que l'apprenant ait deviné une réponse. La valeur estimée de la connaissance est mise à jour selon les équations \ref{eqbkt1}, \ref{eqbkt2} et \ref{eqbkt3}. Si la réponse de l'apprenant est correcte, l'équation \ref{eqbkt1} est utilisée, mais si la réponse est incorrecte, l'équation \ref{eqbkt2} est utilisée. | 380 | 380 | L'un des algorithmes les plus couramment utilisés dans les EIAH pour adapter le contenu et estimer la progression du niveau de connaissance des apprenants est le BKT (\textit{Bayesian Knowledge Tracing}) \cite{ZHANG2018189}. Cet algorithme utilise quatre paramètres pour estimer la progression des connaissances. $P(k)$ estime la probabilité de connaissance dans une compétence spécifique. $P(w)$, est la probabilité que l'apprenant démontre ses connaissances. $P(s)$, est la probabilité que l'apprenant fasse une erreur. $P(g)$, est la probabilité que l'apprenant ait deviné une réponse. La valeur estimée de la connaissance est mise à jour selon les équations \ref{eqbkt1}, \ref{eqbkt2} et \ref{eqbkt3}. Si la réponse de l'apprenant est correcte, l'équation \ref{eqbkt1} est utilisée, mais si la réponse est incorrecte, l'équation \ref{eqbkt2} est utilisée. | |
381 | 381 | |||
\begin{equation} | 382 | 382 | \begin{equation} | |
P(k_{t-1}|Correct_t)=\frac{P(k_{t-1})(1-P(s))}{P(k_{t-1})(1-P(s))+(1-P(k_{t-1}))P(g)} | 383 | 383 | P(k_{t-1}|Correct_t)=\frac{P(k_{t-1})(1-P(s))}{P(k_{t-1})(1-P(s))+(1-P(k_{t-1}))P(g)} | |
\label{eqbkt1} | 384 | 384 | \label{eqbkt1} | |
\end{equation} | 385 | 385 | \end{equation} | |
386 | 386 | |||
\begin{equation} | 387 | 387 | \begin{equation} | |
P(k_{t-1}|Incorrect_t)=\frac{P(k_{t-1})P(s)}{P(k_{t-1})(P(s))+(1-P(k_{t-1}))(1-P(g))} | 388 | 388 | P(k_{t-1}|Incorrect_t)=\frac{P(k_{t-1})P(s)}{P(k_{t-1})(P(s))+(1-P(k_{t-1}))(1-P(g))} | |
\label{eqbkt2} | 389 | 389 | \label{eqbkt2} | |
\end{equation} | 390 | 390 | \end{equation} | |
391 | 391 | |||
\begin{equation} | 392 | 392 | \begin{equation} | |
P(k_{t})=P(k_{t-1}|evidence_t)+(1-P(k_{t-1}|evidence_t))P(w) | 393 | 393 | P(k_{t})=P(k_{t-1}|evidence_t)+(1-P(k_{t-1}|evidence_t))P(w) | |
\label{eqbkt3} | 394 | 394 | \label{eqbkt3} | |
\end{equation} | 395 | 395 | \end{equation} | |
396 | 396 | |||
Le module de recommandation proposé, associé à AI-VT, est fondé sur le paradigme de l'apprentissage par renforcement. L'apprentissage par renforcement est une technique d'apprentissage automatique qui permet, par le biais d'actions et de récompenses, d'améliorer les connaissances du système sur une tâche spécifique \cite{NEURIPS2023_9d8cf124}. Nous nous intéressons ici plus particulièrement à l'échantillonnage de Thompson, qui, par le biais d'une distribution de probabilité initiale (distribution a priori) et d'un ensemble de règles de mise à jour prédéfinies, peut adapter et améliorer les estimations initiales d'un processus \cite{pmlr-v238-ou24a}. La distribution de probabilité initiale est généralement définie comme une distribution spécifique de la famille des distributions Beta (équation \ref{fbeta}) avec des valeurs initiales prédéterminées pour $\alpha$ et $\beta$ \cite{math12111758}, \cite{NGUYEN2024111566}. | 397 | 397 | Le module de recommandation proposé, associé à AI-VT, est fondé sur le paradigme de l'apprentissage par renforcement. L'apprentissage par renforcement est une technique d'apprentissage automatique qui permet, par le biais d'actions et de récompenses, d'améliorer les connaissances du système sur une tâche spécifique \cite{NEURIPS2023_9d8cf124}. Nous nous intéressons ici plus particulièrement à l'échantillonnage de Thompson, qui, par le biais d'une distribution de probabilité initiale (distribution a priori) et d'un ensemble de règles de mise à jour prédéfinies, peut adapter et améliorer les estimations initiales d'un processus \cite{pmlr-v238-ou24a}. La distribution de probabilité initiale est généralement définie comme une distribution spécifique de la famille des distributions Beta (équation \ref{fbeta}) avec des valeurs initiales prédéterminées pour $\alpha$ et $\beta$ \cite{math12111758}, \cite{NGUYEN2024111566}. | |
398 | 398 | |||
%\begin{equation} | 399 | 399 | %\begin{equation} | |
% Beta(x,\alpha,\beta)=\begin{cases} | 400 | 400 | % Beta(x,\alpha,\beta)=\begin{cases} | |
% \frac{(x^{\alpha -1})(1-x)^{\beta -1}}{\int_0^1(u^{\alpha -1})(1-u)^{\beta -1} du}&x \in [0, 1]\\ | 401 | 401 | % \frac{(x^{\alpha -1})(1-x)^{\beta -1}}{\int_0^1(u^{\alpha -1})(1-u)^{\beta -1} du}&x \in [0, 1]\\ | |
% 0&otherwise | 402 | 402 | % 0&otherwise | |
% \end{cases} | 403 | 403 | % \end{cases} | |
%\end{equation} | 404 | 404 | %\end{equation} | |
405 | 405 | |||
\begin{equation} | 406 | 406 | \begin{equation} | |
Beta(\theta | \alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1} | 407 | 407 | Beta(\theta | \alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1} | |
\label{fbeta} | 408 | 408 | \label{fbeta} | |
\end{equation} | 409 | 409 | \end{equation} | |
410 | 410 | |||
En utilisant la définition formelle de la fonction $\Gamma$ (équation \ref{eqGamma1}) et en remplaçant certaines variables, une nouvelle expression de la fonction Beta est obtenue (équation \ref{f2beta}). | 411 | 411 | En utilisant la définition formelle de la fonction $\Gamma$ (équation \ref{eqGamma1}) et en remplaçant certaines variables, une nouvelle expression de la fonction Beta est obtenue (équation \ref{f2beta}). | |
412 | 412 | |||
\begin{equation} | 413 | 413 | \begin{equation} | |
\Gamma(z)=\int_0^\infty e^{-x} x^{z-1} dx | 414 | 414 | \Gamma(z)=\int_0^\infty e^{-x} x^{z-1} dx | |
\label{eqGamma1} | 415 | 415 | \label{eqGamma1} | |
\end{equation} | 416 | 416 | \end{equation} | |
417 | 417 | |||
\begin{equation} | 418 | 418 | \begin{equation} | |
Beta(\theta | \alpha, \beta) = \frac{\int_0^\infty e^{-s} s^{\alpha+\beta-1}ds}{\int_0^\infty e^{-u} u^{\alpha-1}du\int_0^\infty e^{-v} v^{\beta-1}dv}\theta^{\alpha-1}(1-\theta)^{\beta-1} | 419 | 419 | Beta(\theta | \alpha, \beta) = \frac{\int_0^\infty e^{-s} s^{\alpha+\beta-1}ds}{\int_0^\infty e^{-u} u^{\alpha-1}du\int_0^\infty e^{-v} v^{\beta-1}dv}\theta^{\alpha-1}(1-\theta)^{\beta-1} | |
\label{f2beta} | 420 | 420 | \label{f2beta} | |
\end{equation} | 421 | 421 | \end{equation} | |
422 | 422 | |||
En exprimant les deux intégrales du dénominateur comme une seule intégrale, l'équation \ref{f3Beta} est obtenue. | 423 | 423 | En exprimant les deux intégrales du dénominateur comme une seule intégrale, l'équation \ref{f3Beta} est obtenue. | |
424 | 424 | |||
\begin{equation} | 425 | 425 | \begin{equation} | |
\int_{u=0}^{\infty}\int_{v=0}^\infty e^{-u-v} u^{\alpha-1} v^{\beta-1}du dv | 426 | 426 | \int_{u=0}^{\infty}\int_{v=0}^\infty e^{-u-v} u^{\alpha-1} v^{\beta-1}du dv | |
\label{f3Beta} | 427 | 427 | \label{f3Beta} | |
\end{equation} | 428 | 428 | \end{equation} | |
429 | 429 | |||
$u=st$, $v=s(1-t)$, $s=u+v$ et $t=u/(u+v)$ sont ensuite remplacées par le résultat du Jacobien \ref{eqJac}, menant ainsi à l'expression finale définie par l'équation \ref{f4Beta}. | 430 | 430 | $u=st$, $v=s(1-t)$, $s=u+v$ et $t=u/(u+v)$ sont ensuite remplacées par le résultat du Jacobien \ref{eqJac}, menant ainsi à l'expression finale définie par l'équation \ref{f4Beta}. | |
431 | 431 | |||
\begin{equation} | 432 | 432 | \begin{equation} | |
\left ( | 433 | 433 | \left ( | |
\begin{matrix} | 434 | 434 | \begin{matrix} | |
\frac{\partial u}{\partial t} & \frac{\partial u}{\partial s}\\ | 435 | 435 | \frac{\partial u}{\partial t} & \frac{\partial u}{\partial s}\\ | |
\frac{\partial v}{\partial t} & \frac{\partial v}{\partial s}\\ | 436 | 436 | \frac{\partial v}{\partial t} & \frac{\partial v}{\partial s}\\ | |
\end{matrix} | 437 | 437 | \end{matrix} | |
\right ) = | 438 | 438 | \right ) = | |
\left ( | 439 | 439 | \left ( | |
\begin{matrix} | 440 | 440 | \begin{matrix} | |
sdt & tds \\ | 441 | 441 | sdt & tds \\ | |
-sdt & (1-t)ds\\ | 442 | 442 | -sdt & (1-t)ds\\ | |
\end{matrix} | 443 | 443 | \end{matrix} | |
\right ) = s \; dtds | 444 | 444 | \right ) = s \; dtds | |
\label{eqJac} | 445 | 445 | \label{eqJac} | |
\end{equation} | 446 | 446 | \end{equation} | |
447 | 447 | |||
\begin{equation} | 448 | 448 | \begin{equation} | |
\int_{s=0}^\infty \int_{t=0}^1 e^{-s}(st)^{\alpha-1}(s(1-t))^{\beta-1}s \; dsdt | 449 | 449 | \int_{s=0}^\infty \int_{t=0}^1 e^{-s}(st)^{\alpha-1}(s(1-t))^{\beta-1}s \; dsdt | |
\label{f4Beta} | 450 | 450 | \label{f4Beta} | |
\end{equation} | 451 | 451 | \end{equation} | |
452 | 452 | |||
Viennent ensuite les équations \ref{f5Beta} et \ref{f6Beta} en exprimant les intégrales en fonction des variables de substitution indépendantes $s$ et $t$. | 453 | 453 | Viennent ensuite les équations \ref{f5Beta} et \ref{f6Beta} en exprimant les intégrales en fonction des variables de substitution indépendantes $s$ et $t$. | |
%\colorbox{yellow}{, elles expriment?} | 454 | 454 | %\colorbox{yellow}{, elles expriment?} | |
455 | 455 | |||
\begin{equation} | 456 | 456 | \begin{equation} | |
\int_{s=0}^\infty e^{-s}s^{\alpha+\beta-1}ds \int_{t=0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt | 457 | 457 | \int_{s=0}^\infty e^{-s}s^{\alpha+\beta-1}ds \int_{t=0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt | |
\label{f5Beta} | 458 | 458 | \label{f5Beta} | |
\end{equation} | 459 | 459 | \end{equation} | |
460 | 460 | |||
\begin{equation} | 461 | 461 | \begin{equation} | |
Beta(\theta | \alpha, \beta) = \frac{\int_0^\infty e^{-s} s^{\alpha+\beta-1}ds}{\int_{s=0}^\infty e^{-s}s^{\alpha+\beta-1}ds \int_{t=0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt | 462 | 462 | Beta(\theta | \alpha, \beta) = \frac{\int_0^\infty e^{-s} s^{\alpha+\beta-1}ds}{\int_{s=0}^\infty e^{-s}s^{\alpha+\beta-1}ds \int_{t=0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt | |
}\theta^{\alpha-1}(1-\theta)^{\beta-1} | 463 | 463 | }\theta^{\alpha-1}(1-\theta)^{\beta-1} | |
\label{f6Beta} | 464 | 464 | \label{f6Beta} | |
\end{equation} | 465 | 465 | \end{equation} | |
466 | 466 | |||
Finalement, la famille de fonctions de distribution Beta peut être calculée selon l'équation \ref{f7Beta}. | 467 | 467 | Finalement, la famille de fonctions de distribution Beta peut être calculée selon l'équation \ref{f7Beta}. | |
468 | 468 | |||
\begin{equation} | 469 | 469 | \begin{equation} | |
Beta(\theta | \alpha, \beta) = \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{\int_{0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt | 470 | 470 | Beta(\theta | \alpha, \beta) = \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{\int_{0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt | |
} | 471 | 471 | } | |
\label{f7Beta} | 472 | 472 | \label{f7Beta} | |
\end{equation} | 473 | 473 | \end{equation} | |
474 | 474 | |||
L'évolution de l'algorithme de recommandation TS résulte du changement des distributions de probabilité. Il est à noter qu'au moment de quantifier l'évolution, le changement et la variabilité doivent être calculés en fonction du temps. Les distributions de probabilités peuvent être comparées pour déterminer leur degré de similitude. | 475 | 475 | L'évolution de l'algorithme de recommandation TS résulte du changement des distributions de probabilité. Il est à noter qu'au moment de quantifier l'évolution, le changement et la variabilité doivent être calculés en fonction du temps. Les distributions de probabilités peuvent être comparées pour déterminer leur degré de similitude. | |
476 | 476 | |||
Par ailleurs, l'apprentissage automatique utilise la divergence de Kullback-Liebler, qui décrit l'entropie relative de deux distributions de probabilités. Cette fonction est fondée sur le concept d'entropie et le résultat peut être interprété comme la quantité d'informations nécessaires pour obtenir la distribution de probabilité $q$ à partir de la distribution de probabilité $p$. Bien que largement utilisée, la divergence de Kullback-Liebler (équation \ref{dkl}) présente toutefois l'inconvénient de ne pas être une mesure symétrique car elle ne satisfait pas à l'inégalité triangulaire et n'est pas bornée \cite{Li_2024}. Pour remédier à cette difficulté, il est possible d'utiliser la divergence de Jensen-Shannon. | 477 | 477 | Par ailleurs, l'apprentissage automatique utilise la divergence de Kullback-Liebler, qui décrit l'entropie relative de deux distributions de probabilités. Cette fonction est fondée sur le concept d'entropie et le résultat peut être interprété comme la quantité d'informations nécessaires pour obtenir la distribution de probabilité $q$ à partir de la distribution de probabilité $p$. Bien que largement utilisée, la divergence de Kullback-Liebler (équation \ref{dkl}) présente toutefois l'inconvénient de ne pas être une mesure symétrique car elle ne satisfait pas à l'inégalité triangulaire et n'est pas bornée \cite{Li_2024}. Pour remédier à cette difficulté, il est possible d'utiliser la divergence de Jensen-Shannon. | |
478 | 478 | |||
\begin{equation} | 479 | 479 | \begin{equation} | |
D_{KL}(p(x),q(x))=\int_{-\infty}^{\infty}p(x) log \left(\frac{p(x)}{q(x)} \right)dx | 480 | 480 | D_{KL}(p(x),q(x))=\int_{-\infty}^{\infty}p(x) log \left(\frac{p(x)}{q(x)} \right)dx | |
\label{dkl} | 481 | 481 | \label{dkl} | |
\end{equation} | 482 | 482 | \end{equation} | |
483 | 483 | |||
La divergence de Jenser-Shannon est fondée sur la divergence de Kullback-Liebler. Une distribution de probabilité auxiliaire $m$ est créée dont la définition est fondée sur les distributions initiales $p$ et $q$ \cite{Kim2024}. L'équation \ref{djs} montre la définition formelle de la divergence de Jensen-Shannon, où $m(x)$ est une distribution de mélange de probabilités fondée sur $p(x)$ et $q(x)$. Celle-ci est calculée selon l'équation \ref{djs2}. Les distributions de probabilité à comparer doivent être continues et définies dans le même domaine. | 484 | 484 | La divergence de Jenser-Shannon est fondée sur la divergence de Kullback-Liebler. Une distribution de probabilité auxiliaire $m$ est créée dont la définition est fondée sur les distributions initiales $p$ et $q$ \cite{Kim2024}. L'équation \ref{djs} montre la définition formelle de la divergence de Jensen-Shannon, où $m(x)$ est une distribution de mélange de probabilités fondée sur $p(x)$ et $q(x)$. Celle-ci est calculée selon l'équation \ref{djs2}. Les distributions de probabilité à comparer doivent être continues et définies dans le même domaine. | |
485 | 485 | |||
%Jensen-Shannon Divergence (equations \ref{djs}, \ref{djs2}).\\ | 486 | 486 | %Jensen-Shannon Divergence (equations \ref{djs}, \ref{djs2}).\\ | |
487 | 487 | |||
\begin{equation} | 488 | 488 | \begin{equation} | |
D_{JS}(p(x),q(x))=\frac{1}{2}D_{KL}(p(x), m(x))+\frac{1}{2}D_{KL}(q(x), m(x)) | 489 | 489 | D_{JS}(p(x),q(x))=\frac{1}{2}D_{KL}(p(x), m(x))+\frac{1}{2}D_{KL}(q(x), m(x)) | |
\label{djs} | 490 | 490 | \label{djs} | |
\end{equation} | 491 | 491 | \end{equation} | |
492 | 492 | |||
\begin{equation} | 493 | 493 | \begin{equation} | |
m(x)=\frac{1}{2}p(x)+\frac{1}{2}q(x) | 494 | 494 | m(x)=\frac{1}{2}p(x)+\frac{1}{2}q(x) | |
\label{djs2} | 495 | 495 | \label{djs2} | |
\end{equation} | 496 | 496 | \end{equation} | |
497 | 497 | |||
La prédiction utilisée dans le module proposé est fondée sur les travaux de \cite{10.1007/978-3-031-63646-2_11}. \colorbox{yellow}{peut on dire que la prédiction est fondée sur tes propres travaux?}Il s'agit d'un algorithme d'empilement de raisonnement à partir de cas mettant en œuvre deux niveaux d'intégration. Le module utilise globalement la stratégie d'empilement pour exécuter plusieurs algorithmes afin de rechercher des informations dans un ensemble de données et générer des solutions à différents problèmes génériques. En outre une étape d'évaluation permet de sélectionner la solution la plus optimale pour un problème donné en fonction d'une métrique adaptative définie pour les problèmes de régression. | 498 | 498 | La prédiction utilisée dans le module proposé est fondée sur les travaux de \cite{10.1007/978-3-031-63646-2_11}. \colorbox{yellow}{peut on dire que la prédiction est fondée sur tes propres travaux?}Il s'agit d'un algorithme d'empilement de raisonnement à partir de cas mettant en œuvre deux niveaux d'intégration. Le module utilise globalement la stratégie d'empilement pour exécuter plusieurs algorithmes afin de rechercher des informations dans un ensemble de données et générer des solutions à différents problèmes génériques. En outre une étape d'évaluation permet de sélectionner la solution la plus optimale pour un problème donné en fonction d'une métrique adaptative définie pour les problèmes de régression. | |
499 | 499 | |||
\subsection{Algorithme Proposé} | 500 | 500 | \subsection{Algorithme Proposé} | |
\label{Sec:TS-ESCBR-SMA} | 501 | 501 | \label{Sec:TS-ESCBR-SMA} | |
502 | 502 | |||
Nous proposons ici une intégration de l'algorithme d'adaptation stochastique (fondé sur l'échantillonnage de Thompson) avec le raisonnement à partir de cas d'ensemble (ESCBR-SMA). \colorbox{yellow}{il faut dire pourquoi on ne l'a pas fait sur DM }Dans ce cas, le module de recommandation révise la séance en fonction des notes de l'apprenant et l'ESCBR-SMA effectue une prédiction pour valider l'adaptation générée. | 503 | 503 | Nous proposons ici une intégration de l'algorithme d'adaptation stochastique (fondé sur l'échantillonnage de Thompson) avec le raisonnement à partir de cas d'ensemble (ESCBR-SMA). \colorbox{yellow}{il faut dire pourquoi on ne l'a pas fait sur DM }Dans ce cas, le module de recommandation révise la séance en fonction des notes de l'apprenant et l'ESCBR-SMA effectue une prédiction pour valider l'adaptation générée. | |
504 | 504 | |||
L'idée est d'unifier les deux modules en se fondant à la fois sur des informations locales (recommandation fondée sur l'échantillonnage de Thompson et les informations propres à l'apprenant), et sur des informations globales (cas similaires de la base de connaissances du système de RàPC). | 505 | 505 | L'idée est d'unifier les deux modules en se fondant à la fois sur des informations locales (recommandation fondée sur l'échantillonnage de Thompson et les informations propres à l'apprenant), et sur des informations globales (cas similaires de la base de connaissances du système de RàPC). | |
506 | 506 | |||
L'architecture du modèle est présentée sur la figure \ref{fig:Amodel}, où l'on peut voir que les deux modèles TS et RàPC sont exécutés en parallèle et indépendamment. Des synchronisations sont faites après obtention des résultats de chaque module sont obtenus. \colorbox{yellow}{revoir al phrase, suppr sont obtenus?}Ces résultats sont unifiés via d'une fonction de pondération. La recommandation finale est calculée selon l'équation \ref{eqMixModels_}. La consolidation des résultats permet d'atténuer l'effet \textit{paradoxe de Simpson} \cite{10.1145/3578337.3605122} caractérisant des tendances divergentes lors de l'unification d'ensembles de données différents \cite{lei2024analysis}. \colorbox{yellow}{<== Contresens ?} | 507 | 507 | L'architecture de l'algorithme est présentée sur la figure \ref{fig:Amodel}, où l'on peut voir que les deux algorithmes TS et RàPC sont exécutés en parallèle et indépendamment. Des synchronisations sont faites après obtention des résultats de chaque module sont obtenus. \colorbox{yellow}{revoir al phrase, suppr sont obtenus?}Ces résultats sont unifiés via d'une fonction de pondération. La recommandation finale est calculée selon l'équation \ref{eqMixModels_}. La consolidation des résultats permet d'atténuer l'effet \textit{paradoxe de Simpson} \cite{10.1145/3578337.3605122} caractérisant des tendances divergentes lors de l'unification d'ensembles de données différents \cite{lei2024analysis}. \colorbox{yellow}{<== Contresens ?} | |
508 | 508 | |||
\begin{figure} | 509 | 509 | \begin{figure} | |
\centering | 510 | 510 | \centering | |
\includegraphics[width=0.7\linewidth]{Figures/Model.png} | 511 | 511 | \includegraphics[width=0.7\linewidth]{Figures/Model.png} | |
\caption{Schéma de l'architecture du modèle proposé} | 512 | 512 | \caption{Schéma de l'architecture de l'algorithme proposé} | |
\label{fig:Amodel} | 513 | 513 | \label{fig:Amodel} | |
\end{figure} | 514 | 514 | \end{figure} | |
515 | 515 | |||
La première étape est l'adaptation avec l'échantillonnage de Thompson. Vient ensuite la prédiction via ECBR-SMA. Enfin, le processus se termine par la prise de décision concernant la suite de la séance à délivrer à l'apprenant. Le système de recommandation obtient une valeur de probabilité pour tous les niveaux de complexité et l'ECBR-SMA évalue la proposition avec une prédiction pour chaque niveau de complexité. Le tableau \ref{tabvp} présente les variables et les paramètres du module proposé ainsi que les mesures employées. | 516 | 516 | La première étape est l'adaptation avec l'échantillonnage de Thompson. Vient ensuite la prédiction via ECBR-SMA. Enfin, le processus se termine par la prise de décision concernant la suite de la séance à délivrer à l'apprenant. Le système de recommandation obtient une valeur de probabilité pour tous les niveaux de complexité et l'ECBR-SMA évalue la proposition avec une prédiction pour chaque niveau de complexité. Le tableau \ref{tabvp} présente les variables et les paramètres du module proposé ainsi que les mesures employées. | |
517 | 517 | |||
\begin{table}[!ht] | 518 | 518 | \begin{table}[!ht] | |
\centering | 519 | 519 | \centering | |
\footnotesize | 520 | 520 | \footnotesize | |
\begin{tabular}{c|c|>{\centering\arraybackslash}p{8cm}|c} | 521 | 521 | \begin{tabular}{c|c|>{\centering\arraybackslash}p{8cm}|c} | |
ID&Type&Description&Domain\\ | 522 | 522 | ID&Type&Description&Domain\\ | |
\hline | 523 | 523 | \hline | |
$\alpha$&p&Paramètre de la distribution beta&$[1, \infty] \in \mathbb{R}$\\ | 524 | 524 | $\alpha$&p&Paramètre de la distribution beta&$[1, \infty] \in \mathbb{R}$\\ | |
$\beta$&p&Paramètre de la distribution beta&$[1, \infty] \in \mathbb{R}$\\ | 525 | 525 | $\beta$&p&Paramètre de la distribution beta&$[1, \infty] \in \mathbb{R}$\\ | |
$t$&p&Temps défini comme itérations&$\mathbb{N}$\\ | 526 | 526 | $t$&p&Temps défini comme itérations&$\mathbb{N}$\\ | |
$c$&p&Niveau de complexité&$\mathbb{N}$\\ | 527 | 527 | $c$&p&Niveau de complexité&$\mathbb{N}$\\ | |
$x_c$&p&Notes moyennes par niveau de complexité $c$&$\mathbb{R}$\\ | 528 | 528 | $x_c$&p&Notes moyennes par niveau de complexité $c$&$\mathbb{R}$\\ | |
$y_c$&p&Nombre de questions par niveau de complexité $c$&$\mathbb{N}$\\ | 529 | 529 | $y_c$&p&Nombre de questions par niveau de complexité $c$&$\mathbb{N}$\\ | |
$r$&f&Fonction suivie pour la recommandation&$[0,1] \in \mathbb{R}$\\ | 530 | 530 | $r$&f&Fonction suivie pour la recommandation&$[0,1] \in \mathbb{R}$\\ | |
$k_{t,c}$&v&Évolution de la connaissance dans le temps $t$ pour le niveau de complexité $c$&$[0,1] \in \mathbb{R}$\\ | 531 | 531 | $k_{t,c}$&v&Évolution de la connaissance dans le temps $t$ pour le niveau de complexité $c$&$[0,1] \in \mathbb{R}$\\ | |
$vk_{t,c}$&v&Évolution de la connaissance pour chaque niveau de complexité $c$&$\mathbb{R}$\\ | 532 | 532 | $vk_{t,c}$&v&Évolution de la connaissance pour chaque niveau de complexité $c$&$\mathbb{R}$\\ | |
$TS_c$&v&Récompense d'échantillonnage de Thompson pour un niveau de complexité $c$&$[0,1] \in \mathbb{R}$\\ | 533 | 533 | $TS_c$&v&Récompense d'échantillonnage de Thompson pour un niveau de complexité $c$&$[0,1] \in \mathbb{R}$\\ | |
$TSN_c$&v&Normalisation de $TS_c$ avec d'autres niveaux de complexité&$[0,1] \in \mathbb{R}$\\ | 534 | 534 | $TSN_c$&v&Normalisation de $TS_c$ avec d'autres niveaux de complexité&$[0,1] \in \mathbb{R}$\\ | |
$ESCBR_c$&v&Prédiction de la note pour un niveau de complexité $c$&$\mathbb{R}_+$\\ | 535 | 535 | $ESCBR_c$&v&Prédiction de la note pour un niveau de complexité $c$&$\mathbb{R}_+$\\ | |
$p_c$&f&Fonction de densité de probabilité pour le niveau de complexité $c$&$\mathbb{R}_+$\\ | 536 | 536 | $p_c$&f&Fonction de densité de probabilité pour le niveau de complexité $c$&$\mathbb{R}_+$\\ | |
$D_{JS}$&f&Divergence de Jensen-Shannon&$[0,1] \in \mathbb{R}$\\ | 537 | 537 | $D_{JS}$&f&Divergence de Jensen-Shannon&$[0,1] \in \mathbb{R}$\\ | |
538 | 538 | |||
\end{tabular} | 539 | 539 | \end{tabular} | |
\caption{Paramètres (p), variables (v) et fonctions (f) du modèle proposé et métriques utilisées} | 540 | 540 | \caption{Paramètres (p), variables (v) et fonctions (f) du algorithme proposé et métriques utilisées} | |
\label{tabvp} | 541 | 541 | \label{tabvp} | |
\end{table} | 542 | 542 | \end{table} | |
\colorbox{yellow}{temps défini par itération?} | 543 | 543 | \colorbox{yellow}{temps défini par itération?} | |
\colorbox{yellow}{la figure 7.7 n'est pas jolie/lisible} | 544 | 544 | \colorbox{yellow}{la figure 7.7 n'est pas jolie/lisible} | |
545 | 545 | |||
Comme exprimé précédemment, le processus de recommandation se fait en trois étapes. Tout d'abord, il est nécessaire d'avoir des valeurs aléatoires pour chaque niveau de complexité $c$ en utilisant les distributions de probabilité générées avec le modèle TS (équation \ref{IntEq1_}). Une fois que toutes les valeurs de probabilité correspondant à tous les niveaux de complexité ont été obtenues, la normalisation de toutes ces valeurs est calculée selon l'équation \ref{IntEq2_}. Les valeurs de normalisation servent de paramètres de priorité pour les prédictions effectuées par ESCBR-SMA (équation \ref{eqMixModels_}). La recommandation finalement proposée est celle dont la valeur est la plus élevée. | 546 | 546 | Comme exprimé précédemment, le processus de recommandation se fait en trois étapes. Tout d'abord, il est nécessaire d'avoir des valeurs aléatoires pour chaque niveau de complexité $c$ en utilisant les distributions de probabilité générées avec le algorithme TS (équation \ref{IntEq1_}). Une fois que toutes les valeurs de probabilité correspondant à tous les niveaux de complexité ont été obtenues, la normalisation de toutes ces valeurs est calculée selon l'équation \ref{IntEq2_}. Les valeurs de normalisation servent de paramètres de priorité pour les prédictions effectuées par ESCBR-SMA (équation \ref{eqMixModels_}). La recommandation finalement proposée est celle dont la valeur est la plus élevée. | |
547 | 547 | |||
\begin{equation} | 548 | 548 | \begin{equation} | |
TS_c=rand(Beta(\alpha_c, \beta_c)) | 549 | 549 | TS_c=rand(Beta(\alpha_c, \beta_c)) | |
\label{IntEq1_} | 550 | 550 | \label{IntEq1_} | |
\end{equation} | 551 | 551 | \end{equation} | |
552 | 552 | |||
\begin{equation} | 553 | 553 | \begin{equation} | |
TSN_c=\frac{TS_c}{\sum_{i=0}^4TS_i} | 554 | 554 | TSN_c=\frac{TS_c}{\sum_{i=0}^4TS_i} | |
\label{IntEq2_} | 555 | 555 | \label{IntEq2_} | |
\end{equation} | 556 | 556 | \end{equation} | |
557 | 557 | |||
\begin{equation} | 558 | 558 | \begin{equation} | |
n_c=argmax_c(TSN_c*ESCBR_c) | 559 | 559 | n_c=argmax_c(TSN_c*ESCBR_c) | |
\label{eqMixModels_} | 560 | 560 | \label{eqMixModels_} | |
\end{equation} | 561 | 561 | \end{equation} | |
562 | 562 | |||
\subsection{Résultats et Discussion} | 563 | 563 | \subsection{Résultats et Discussion} | |
564 | 564 | |||
Le principal inconvénient posé par la validation d'un tel système « en situation réelle » est la difficulté à collecter des données et à évaluer des systèmes différents dans des conditions strictement similaires. Cette difficulté est accentuée dans les contextes d'apprentissage autorégulés, puisque les apprenants peuvent quitter la plateforme d'apprentissage à tout moment rendant ainsi les données incomplètes \cite{badier:hal-04092828}. | 565 | 565 | Le principal inconvénient posé par la validation d'un tel système « en situation réelle » est la difficulté à collecter des données et à évaluer des systèmes différents dans des conditions strictement similaires. Cette difficulté est accentuée dans les contextes d'apprentissage autorégulés, puisque les apprenants peuvent quitter la plateforme d'apprentissage à tout moment rendant ainsi les données incomplètes \cite{badier:hal-04092828}. | |
566 | 566 | |||
Pour cette raison, les différentes approches proposées ont été testées sur des données générées : les notes et les temps de réponse de 1000 apprenants fictifs et cinq questions par niveau de complexité. Les notes des apprenants ont été créées en suivant la loi de distribution logit-normale que nous avons jugée proche de la réalité de la progression d'un apprentissage.\colorbox{yellow}{lien vers la base générée?} | 567 | 567 | Pour cette raison, les différentes approches proposées ont été testées sur des données générées : les notes et les temps de réponse de 1000 apprenants fictifs et cinq questions par niveau de complexité. Les notes des apprenants ont été créées en suivant la loi de distribution logit-normale que nous avons jugée proche de la réalité de la progression d'un apprentissage.\colorbox{yellow}{lien vers la base générée?} | |
568 | 568 | |||
Quatre séries de tests ont été effectuées. La première série a été menée sur le système AI-VT intégrant le système de RàPC pour la régression afin de démontrer la capacité du modèle à prédire les notes à différents niveaux de complexité. | 569 | 569 | Quatre séries de tests ont été effectuées. La première série a été menée sur le système AI-VT intégrant le système de RàPC pour la régression afin de démontrer la capacité de l'algorithme à prédire les notes à différents niveaux de complexité. | |
La deuxième série de tests a évalué la progression des connaissances avec TS afin d'analyser la capacité du module à proposer des recommandations personnalisées. Lors de la troisième série de tests, nous avons comparé les modèles de recommandation BKT et TS. Enfin, lors de la quatrième série de tests, nous avons comparé TS seul et TS avec ESCBR-SMA. | 570 | 570 | La deuxième série de tests a évalué la progression des connaissances avec TS afin d'analyser la capacité du module à proposer des recommandations personnalisées. Lors de la troisième série de tests, nous avons comparé les algorithmes de recommandation BKT et TS. Enfin, lors de la quatrième série de tests, nous avons comparé TS seul et TS avec ESCBR-SMA. | |
571 | 571 | |||
\subsubsection{Régression avec ESCBR-SMA pour l'aide à l'apprentissage humain} | 572 | 572 | \subsubsection{Régression avec ESCBR-SMA pour l'aide à l'apprentissage humain} | |
573 | 573 | |||
Le SMA que nous avons implémenté utilise un raisonnement bayésien, ce qui permet aux agents d'apprendre des données et d'intéragir au cours de l'exécution et de l'exploration. | 574 | 574 | Le SMA que nous avons implémenté utilise un raisonnement bayésien, ce qui permet aux agents d'apprendre des données et d'intéragir au cours de l'exécution et de l'exploration. | |
575 | 575 | |||
ESCBR-SMA utilise une fonction noyau pour obtenir la meilleure approximation de la solution du problème cible. Dans notre cas, l'obtention de la meilleure solution est un problème NP-Difficile car la formulation est similaire au problème de Fermat-Weber à $N$ dimensions \cite{doi:10.1137/23M1592420}. | 576 | 576 | ESCBR-SMA utilise une fonction noyau pour obtenir la meilleure approximation de la solution du problème cible. Dans notre cas, l'obtention de la meilleure solution est un problème NP-Difficile car la formulation est similaire au problème de Fermat-Weber à $N$ dimensions \cite{doi:10.1137/23M1592420}. | |
577 | 577 | |||
Les différents scénarios du tableau \ref{tab:scenarios} ont été considérés dans un premier temps. Dans le scénario $E_1$, il s'agit de prédire la note d'un apprenant au premier niveau de complexité, après 3 questions. Le scénario $E_2$ considère les notes de 8 questions et l'objectif est de prédire la note de 9 questions dans le même niveau de complexité. \colorbox{yellow}{les notes des 9 questions?}Le scénario $E_3$ considère les données permettant de prédire le passage à un niveau de complexité supérieur après 4 questions. | 578 | 578 | Les différents scénarios du tableau \ref{tab:scenarios} ont été considérés dans un premier temps. Dans le scénario $E_1$, il s'agit de prédire la note d'un apprenant au premier niveau de complexité, après 3 questions. Le scénario $E_2$ considère les notes de 8 questions et l'objectif est de prédire la note de 9 questions dans le même niveau de complexité. \colorbox{yellow}{les notes des 9 questions?}Le scénario $E_3$ considère les données permettant de prédire le passage à un niveau de complexité supérieur après 4 questions. | |
\colorbox{yellow}{Je ne comprends pas ce scénario E3. La reformulation suivante est-elle correcte ? }\\ | 579 | 579 | \colorbox{yellow}{Je ne comprends pas ce scénario E3. La reformulation suivante est-elle correcte ? }\\ | |
\colorbox{yellow}{Dans $E_3$, l'objectif est d'interpoler le fait qu'il faille passer ou non }\\ | 580 | 580 | \colorbox{yellow}{Dans $E_3$, l'objectif est d'interpoler le fait qu'il faille passer ou non }\\ | |
\colorbox{yellow}{à un niveau de complexité supérieur après 4 questions.}\\ | 581 | 581 | \colorbox{yellow}{à un niveau de complexité supérieur après 4 questions.}\\ | |
Le scénario $E_4$ considère 4 questions et le système doit interpoler 2 notes dans un niveau de complexité supérieur. | 582 | 582 | Le scénario $E_4$ considère 4 questions et le système doit interpoler 2 notes dans un niveau de complexité supérieur. | |
583 | 583 | |||
\begin{table}[!ht] | 584 | 584 | \begin{table}[!ht] | |
\centering | 585 | 585 | \centering | |
\begin{tabular}{ccc} | 586 | 586 | \begin{tabular}{ccc} | |
Scenario&Caractéristiques du problème&Dimension de la solution\\ | 587 | 587 | Scenario&Caractéristiques du problème&Dimension de la solution\\ | |
\hline | 588 | 588 | \hline | |
$E_1$ & 5 & 1\\ | 589 | 589 | $E_1$ & 5 & 1\\ | |
$E_2$ & 15& 1\\ | 590 | 590 | $E_2$ & 15& 1\\ | |
$E_3$ & 9 & 1\\ | 591 | 591 | $E_3$ & 9 & 1\\ | |
$E_4$ & 9 & 2\\ | 592 | 592 | $E_4$ & 9 & 2\\ | |
\end{tabular} | 593 | 593 | \end{tabular} | |
\caption{Description des scénarios} | 594 | 594 | \caption{Description des scénarios} | |
\label{tab:scenarios} | 595 | 595 | \label{tab:scenarios} | |
\end{table} | 596 | 596 | \end{table} | |
597 | 597 | |||
ESCBR-SMA a été comparé aux neuf outils classiquement utilisés pour résoudre la régression consignés dans le tableau \ref{tabAlgs} et selon l'erreur quadratique moyenne (RMSE - \textit{Root Mean Squared Error}), l'erreur médiane absolue (MedAE - \textit{Median Absolute Error}) et l'erreur moyenne absolue (MAE - \textit{Mean Absolute Error}). | 598 | 598 | ESCBR-SMA a été comparé aux neuf outils classiquement utilisés pour résoudre la régression consignés dans le tableau \ref{tabAlgs} et selon l'erreur quadratique moyenne (RMSE - \textit{Root Mean Squared Error}), l'erreur médiane absolue (MedAE - \textit{Median Absolute Error}) et l'erreur moyenne absolue (MAE - \textit{Mean Absolute Error}). | |
599 | 599 | |||
\begin{table}[!ht] | 600 | 600 | \begin{table}[!ht] | |
\centering | 601 | 601 | \centering | |
\footnotesize | 602 | 602 | \footnotesize | |
\begin{tabular}{ll|ll} | 603 | 603 | \begin{tabular}{ll|ll} | |
ID&Algorithm&ID&Algorithm\\ | 604 | 604 | ID&Algorithm&ID&Algorithm\\ | |
\hline | 605 | 605 | \hline | |
A1&Linear Regression&A6&Polinomial Regression\\ | 606 | 606 | A1&Linear Regression&A6&Polinomial Regression\\ | |
A2&K-Nearest Neighbor&A7&Ridge Regression\\ | 607 | 607 | A2&K-Nearest Neighbor&A7&Ridge Regression\\ | |
A3&Decision Tree&A8&Lasso Regression\\ | 608 | 608 | A3&Decision Tree&A8&Lasso Regression\\ | |
A4&Random Forest (Ensemble)&A9&Gradient Boosting (Ensemble)\\ | 609 | 609 | A4&Random Forest (Ensemble)&A9&Gradient Boosting (Ensemble)\\ | |
A5&Multi Layer Perceptron&A10&Proposed Ensemble Stacking RàPC\\ | 610 | 610 | A5&Multi Layer Perceptron&A10&Proposed Ensemble Stacking RàPC\\ | |
\end{tabular} | 611 | 611 | \end{tabular} | |
\caption{Liste des algorithmes évalués } | 612 | 612 | \caption{Liste des algorithmes évalués } | |
\label{tabAlgs} | 613 | 613 | \label{tabAlgs} | |
\end{table} | 614 | 614 | \end{table} | |
615 | 615 | |||
Le tableau \ref{tab:results} présente les résultats obtenus par les 10 algorithmes sur les quatre scénarios. Ces résultats montrent qu'ESCBR-SMA (A10) et le \textit{Gradient Boosting} (A9) obtiennent toujours les deux meilleurs résultats. Si l'on considère uniquement la RMSE, ESCBR-SMA occupe toujours la première place sauf pour $E_3$ où il est deuxième. Inversement, en considérant l'erreur médiane absolue ou l'erreur moyenne absolue, A10 se classe juste après A9. ESCBR-SMA et le \textit{Gradient Boosting} sont donc efficaces pour interpoler les notes des apprenants. | 616 | 616 | Le tableau \ref{tab:results} présente les résultats obtenus par les 10 algorithmes sur les quatre scénarios. Ces résultats montrent qu'ESCBR-SMA (A10) et le \textit{Gradient Boosting} (A9) obtiennent toujours les deux meilleurs résultats. Si l'on considère uniquement la RMSE, ESCBR-SMA occupe toujours la première place sauf pour $E_3$ où il est deuxième. Inversement, en considérant l'erreur médiane absolue ou l'erreur moyenne absolue, A10 se classe juste après A9. ESCBR-SMA et le \textit{Gradient Boosting} sont donc efficaces pour interpoler les notes des apprenants. | |
617 | 617 | |||
\begin{table}[!ht] | 618 | 618 | \begin{table}[!ht] | |
\centering | 619 | 619 | \centering | |
\footnotesize | 620 | 620 | \footnotesize | |
\begin{tabular}{c|cccccccccc} | 621 | 621 | \begin{tabular}{c|cccccccccc} | |
&\multicolumn{10}{c}{\textbf{Algorithme}}\\ | 622 | 622 | &\multicolumn{10}{c}{\textbf{Algorithme}}\\ | |
\hline | 623 | 623 | \hline | |
& A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\ | 624 | 624 | & A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\ | |
\textbf{Scenario (Metrique)}\\ | 625 | 625 | \textbf{Scenario (Metrique)}\\ | |
\hline | 626 | 626 | \hline | |
$E_1$ (RMSE)&0.625&0.565&0.741&0.56&0.606&0.626&0.626&0.681&0.541&\textbf{0.54}\\ | 627 | 627 | $E_1$ (RMSE)&0.625&0.565&0.741&0.56&0.606&0.626&0.626&0.681&0.541&\textbf{0.54}\\ | |
$E_1$ (MedAE) & 0.387&0.35&0.46&0.338&0.384&0.387&0.387&0.453&\textbf{0.327}&0.347\\ | 628 | 628 | $E_1$ (MedAE) & 0.387&0.35&0.46&0.338&0.384&0.387&0.387&0.453&\textbf{0.327}&0.347\\ | |
$E_1$ (MAE) &0.485&0.436&0.572&0.429&0.47&0.485&0.485&0.544&\textbf{0.414}&0.417\\ | 629 | 629 | $E_1$ (MAE) &0.485&0.436&0.572&0.429&0.47&0.485&0.485&0.544&\textbf{0.414}&0.417\\ | |
\hline | 630 | 630 | \hline | |
$E_2$ (RMSE)& 0.562&0.588&0.78&0.571&0.61&0.562&0.562&0.622&0.557&\textbf{0.556}\\ | 631 | 631 | $E_2$ (RMSE)& 0.562&0.588&0.78&0.571&0.61&0.562&0.562&0.622&0.557&\textbf{0.556}\\ | |
$E_2$ (MedAE)&0.351&0.357&0.464&0.344&0.398&0.351&0.351&0.415&\textbf{0.334}&0.346\\ | 632 | 632 | $E_2$ (MedAE)&0.351&0.357&0.464&0.344&0.398&0.351&0.351&0.415&\textbf{0.334}&0.346\\ | |
$E_2$ (MAE)&0.433&0.448&0.591&0.437&0.478&0.433&0.433&0.495&\textbf{0.422}&0.429\\ | 633 | 633 | $E_2$ (MAE)&0.433&0.448&0.591&0.437&0.478&0.433&0.433&0.495&\textbf{0.422}&0.429\\ | |
\hline | 634 | 634 | \hline | |
$E_3$ (RMSE)&0.591&0.59&0.79&0.57&0.632&0.591&0.591&0.644&\textbf{0.555}&0.558\\ | 635 | 635 | $E_3$ (RMSE)&0.591&0.59&0.79&0.57&0.632&0.591&0.591&0.644&\textbf{0.555}&0.558\\ | |
$E_3$ (MedAE)&0.367&0.362&0.474&0.358&0.404&0.367&0.367&0.433&\textbf{0.336}&0.349\\ | 636 | 636 | $E_3$ (MedAE)&0.367&0.362&0.474&0.358&0.404&0.367&0.367&0.433&\textbf{0.336}&0.349\\ | |
$E_3$ (MAE)&0.453&0.45&0.598&0.441&0.49&0.453&0.453&0.512&\textbf{0.427}&0.43\\ | 637 | 637 | $E_3$ (MAE)&0.453&0.45&0.598&0.441&0.49&0.453&0.453&0.512&\textbf{0.427}&0.43\\ | |
\hline | 638 | 638 | \hline | |
$E_4$ (RMSE)&0.591&0.589&0.785&0.568&0.613&0.591&0.591&0.644&0.554&\textbf{0.549}\\ | 639 | 639 | $E_4$ (RMSE)&0.591&0.589&0.785&0.568&0.613&0.591&0.591&0.644&0.554&\textbf{0.549}\\ | |
$E_4$ (MedAE)&0.367&0.362&0.465&0.57&0.375&0.367&0.367&0.433&\textbf{0.336}&0.343\\ | 640 | 640 | $E_4$ (MedAE)&0.367&0.362&0.465&0.57&0.375&0.367&0.367&0.433&\textbf{0.336}&0.343\\ | |
$E_4$ (MAE)&0.453&0.45&0.598&0.438&0.466&0.453&0.453&0.512&0.426&\textbf{0.417}\\ | 641 | 641 | $E_4$ (MAE)&0.453&0.45&0.598&0.438&0.466&0.453&0.453&0.512&0.426&\textbf{0.417}\\ | |
\end{tabular} | 642 | 642 | \end{tabular} | |
\caption{Erreurs moyennes et médianes des interpolations des 10 algorithmes sélectionnés sur les 4 scénarios considérés et obtenues après 100 exécutions.} | 643 | 643 | \caption{Erreurs moyennes et médianes des interpolations des 10 algorithmes sélectionnés sur les 4 scénarios considérés et obtenues après 100 exécutions.} | |
\label{tab:results} | 644 | 644 | \label{tab:results} | |
\end{table} | 645 | 645 | \end{table} | |
646 | 646 | |||
\subsubsection{Progression des connaissances} | 647 | 647 | \subsubsection{Progression des connaissances} | |
648 | 648 | |||
Le modèle de recommandation TS est fondé sur le paradigme bayésien le rendant ainsi particulièrement adapté au problèmes liés à la limitation de la quantité de données et à une incertitude forte. Afin de quantifier la connaissance et de voir sa progression dans le temps avec TS, la divergence de Jensen-Shannon avec la famille de distribution Beta en $t$ et $t-1$ a été mesurée. L'équation \ref{eqprog1} décrit formellement le calcul à effectuer avec les distributions de probabilité en un temps $t$ pour un niveau de complexité $c$, en utilisant la définition $m$ (équation \ref{eqprog2}). | 649 | 649 | L'algorithme de recommandation TS est fondé sur le paradigme bayésien le rendant ainsi particulièrement adapté au problèmes liés à la limitation de la quantité de données et à une incertitude forte. Afin de quantifier la connaissance et de voir sa progression dans le temps avec TS, la divergence de Jensen-Shannon avec la famille de distribution Beta en $t$ et $t-1$ a été mesurée. L'équation \ref{eqprog1} décrit formellement le calcul à effectuer avec les distributions de probabilité en un temps $t$ pour un niveau de complexité $c$, en utilisant la définition $m$ (équation \ref{eqprog2}). | |
650 | 650 | |||
%\begin{equation} | 651 | 651 | %\begin{equation} | |
\begin{multline} | 652 | 652 | \begin{multline} | |
k_{t,c}=\frac{1}{2} | 653 | 653 | k_{t,c}=\frac{1}{2} | |
\int_{0}^{1}p_c(\alpha_t,\beta_t,x) log \left(\frac{p_c(\alpha_t,\beta_t,x)}{m(p_c(\alpha_{t-1},\beta_{t-1},x),p_c(\alpha_t,\beta_t,x))} \right)dx | 654 | 654 | \int_{0}^{1}p_c(\alpha_t,\beta_t,x) log \left(\frac{p_c(\alpha_t,\beta_t,x)}{m(p_c(\alpha_{t-1},\beta_{t-1},x),p_c(\alpha_t,\beta_t,x))} \right)dx | |
\\ | 655 | 655 | \\ | |
+\frac{1}{2} | 656 | 656 | +\frac{1}{2} | |
\int_{0}^{1}p_c(\alpha_{t-1},\beta_{t-1},x) log \left(\frac{p_c(\alpha_{t-1},\beta_{t-1},x)}{m(p_c(\alpha_{t-1},\beta_{t-1},x),p_c(\alpha_t,\beta_t,x))} \right)dx | 657 | 657 | \int_{0}^{1}p_c(\alpha_{t-1},\beta_{t-1},x) log \left(\frac{p_c(\alpha_{t-1},\beta_{t-1},x)}{m(p_c(\alpha_{t-1},\beta_{t-1},x),p_c(\alpha_t,\beta_t,x))} \right)dx | |
\label{eqprog1} | 658 | 658 | \label{eqprog1} | |
\end{multline} | 659 | 659 | \end{multline} | |
%\end{equation} | 660 | 660 | %\end{equation} | |
661 | 661 | |||
\begin{multline} | 662 | 662 | \begin{multline} | |
m(p(\alpha_{(t-1)},\beta_{(t-1)},x),p(\alpha_{t},\beta_{t},x))=\frac{1}{2} \left( \frac{x^{\alpha_{(t-1)}-1}(1-x)^{\beta_{(t-1)}-1}}{\int_0^1 u^{\alpha_{(t-1)}-1}(1-u^{\beta_{(t-1)}-1})du} \right )\\ | 663 | 663 | m(p(\alpha_{(t-1)},\beta_{(t-1)},x),p(\alpha_{t},\beta_{t},x))=\frac{1}{2} \left( \frac{x^{\alpha_{(t-1)}-1}(1-x)^{\beta_{(t-1)}-1}}{\int_0^1 u^{\alpha_{(t-1)}-1}(1-u^{\beta_{(t-1)}-1})du} \right )\\ | |
+\frac{1}{2} \left (\frac{x^{\alpha_{t}-1}(1-x)^{\beta_{t}-1}}{\int_0^1 u^{\alpha_{t}-1}(1-u^{\beta_{t}-1})du} \right ) | 664 | 664 | +\frac{1}{2} \left (\frac{x^{\alpha_{t}-1}(1-x)^{\beta_{t}-1}}{\int_0^1 u^{\alpha_{t}-1}(1-u^{\beta_{t}-1})du} \right ) | |
%\end{equation} | 665 | 665 | %\end{equation} | |
\label{eqprog2} | 666 | 666 | \label{eqprog2} | |
\end{multline} | 667 | 667 | \end{multline} | |
668 | 668 | |||
La progression du nombre total de connaissances en $t$ est la somme des différences entre $t$ et $t-1$ pour tous les $c$ niveaux de complexité calculés avec la divergence de Jensen-Shannon (équation \ref{eqTEK}). Pour ce faire, nous évaluons la progression de la variabilité données par équation \ref{eqVarP}. | 669 | 669 | La progression du nombre total de connaissances en $t$ est la somme des différences entre $t$ et $t-1$ pour tous les $c$ niveaux de complexité calculés avec la divergence de Jensen-Shannon (équation \ref{eqTEK}). Pour ce faire, nous évaluons la progression de la variabilité données par équation \ref{eqVarP}. | |
670 | 670 | |||
\begin{equation} | 671 | 671 | \begin{equation} | |
vk_{t,c}=\begin{cases} | 672 | 672 | vk_{t,c}=\begin{cases} | |
D_{JS}(Beta(\alpha_{t,c},\beta_{t,c}), Beta(\alpha_{t+1,c},\beta_{t+1,c})), & \frac{\alpha_{t,c}}{\alpha_{t,c}+\beta_{t,c}} < \frac{\alpha_{t+1,c}}{\alpha_{t+1,c}+\beta_{t+1,c}}\\ | 673 | 673 | D_{JS}(Beta(\alpha_{t,c},\beta_{t,c}), Beta(\alpha_{t+1,c},\beta_{t+1,c})), & \frac{\alpha_{t,c}}{\alpha_{t,c}+\beta_{t,c}} < \frac{\alpha_{t+1,c}}{\alpha_{t+1,c}+\beta_{t+1,c}}\\ | |
-D_{JS}(Beta(\alpha_{t,c},\beta_{t,c}), Beta(\alpha_{t+1,c},\beta_{t+1,c})),& Otherwise | 674 | 674 | -D_{JS}(Beta(\alpha_{t,c},\beta_{t,c}), Beta(\alpha_{t+1,c},\beta_{t+1,c})),& Otherwise | |
\end{cases} | 675 | 675 | \end{cases} | |
\label{eqVarP} | 676 | 676 | \label{eqVarP} | |
\end{equation} | 677 | 677 | \end{equation} | |
678 | 678 | |||
\begin{equation} | 679 | 679 | \begin{equation} | |
k_t=\sum_{c=4}^{c=0 \lor k_t \neq 0} | 680 | 680 | k_t=\sum_{c=4}^{c=0 \lor k_t \neq 0} | |
\begin{cases} | 681 | 681 | \begin{cases} | |
\alpha_{c-1} vk_{t,c-1};&vk_{t,c} > 0\\ | 682 | 682 | \alpha_{c-1} vk_{t,c-1};&vk_{t,c} > 0\\ | |
0;&Otherwise | 683 | 683 | 0;&Otherwise | |
\end{cases} | 684 | 684 | \end{cases} | |
\label{eqTEK} | 685 | 685 | \label{eqTEK} | |
\end{equation} | 686 | 686 | \end{equation} | |
687 | 687 | |||
\begin{figure}[!ht] | 688 | 688 | \begin{figure}[!ht] | |
\centering | 689 | 689 | \centering | |
\includegraphics[width=\textwidth]{Figures/kEvol_TS.jpg} | 690 | 690 | \includegraphics[width=\textwidth]{Figures/kEvol_TS.jpg} | |
\caption{Progression des connaissances avec l'échantillonnage de Thompson selon la divergence de Jensen-Shannon} | 691 | 691 | \caption{Progression des connaissances avec l'échantillonnage de Thompson selon la divergence de Jensen-Shannon} | |
\label{fig:evolution} | 692 | 692 | \label{fig:evolution} | |
\end{figure} | 693 | 693 | \end{figure} | |
694 | 694 | |||
La figure \ref{fig:evolution} montre la progression cumulée des connaissances sur les quinze questions d'une même séance d'entrainement. L'augmentation de la moyenne du niveau de connaissance entre la première et la dernière question de la même séance montre que tous les apprenants ont statistiquement augmenté leur niveau de connaissance. La variabilité augmente à partir de la première question jusqu'à la question neuf, où le système a acquis plus d'informations sur les apprenants. À ce stade, la variabilité diminue et la moyenne augmente. | 695 | 695 | La figure \ref{fig:evolution} montre la progression cumulée des connaissances sur les quinze questions d'une même séance d'entrainement. L'augmentation de la moyenne du niveau de connaissance entre la première et la dernière question de la même séance montre que tous les apprenants ont statistiquement augmenté leur niveau de connaissance. La variabilité augmente à partir de la première question jusqu'à la question neuf, où le système a acquis plus d'informations sur les apprenants. À ce stade, la variabilité diminue et la moyenne augmente. | |
696 | 696 | |||
\subsubsection{Système de recommandation avec une base de données d'étudiants réels} | 697 | 697 | \subsubsection{Système de recommandation avec une base de données d'étudiants réels} | |
698 | 698 | |||
Le système de recommandation TS a été testé avec un ensemble de données adaptées extraites de données réelles d'interactions d'étudiants avec un environnement d'apprentissage virtuel pour différents cours \cite{Kuzilek2017}. Le total des apprenants est de 23366. Cette base de données contient les notes des apprenants dans différents cours et de multiples types d'évaluations. Il s'agit du troisième test, \colorbox{yellow}{je ne comprends pas 3ème test}pour lequel le format de la base de données est adapté à la structure AI-VT (notes, temps de réponse et niveau de complexité), les niveaux de complexité sont divisés en cinq niveaux. La figure \ref{fig:stabilityBP} a été générée après 100 exécutions de l'algorithme et montre que malgré la stochasticité, l'algorithme est stable parce que la variance globale dans tous les niveaux de complexité est faible en fonction du nombre total d'apprenants et du nombre total de recommandations.\\ | 699 | 699 | Le système de recommandation TS a été testé avec un ensemble de données adaptées extraites de données réelles d'interactions d'étudiants avec un environnement d'apprentissage virtuel pour différents cours \cite{Kuzilek2017}. Le total des apprenants est de 23366. Cette base de données contient les notes des apprenants dans différents cours et de multiples types d'évaluations. Il s'agit du troisième test, \colorbox{yellow}{je ne comprends pas 3ème test}pour lequel le format de la base de données est adapté à la structure AI-VT (notes, temps de réponse et niveau de complexité), les niveaux de complexité sont divisés en cinq niveaux. La figure \ref{fig:stabilityBP} a été générée après 100 exécutions de l'algorithme et montre que malgré la stochasticité, l'algorithme est stable parce que la variance globale dans tous les niveaux de complexité est faible en fonction du nombre total d'apprenants et du nombre total de recommandations.\\ | |
700 | 700 | |||
\begin{figure}[!ht] | 701 | 701 | \begin{figure}[!ht] | |
\centering | 702 | 702 | \centering | |
\includegraphics[width=1\linewidth]{Figures/stabilityBoxplot.png} | 703 | 703 | \includegraphics[width=1\linewidth]{Figures/stabilityBoxplot.png} | |
\caption{Nombre de recommandations par niveau de complexité} | 704 | 704 | \caption{Nombre de recommandations par niveau de complexité} | |
\label{fig:stabilityBP} | 705 | 705 | \label{fig:stabilityBP} | |
\end{figure} | 706 | 706 | \end{figure} | |
707 | 707 | |||
La précision de la recommandation pour tous les apprenants est évaluée en considérant comme comportement correct deux états : i) le modèle recommande un niveau où l'apprenant a une note supérieure ou égal à 6 et ii) le modèle recommande un niveau inférieur au niveau réel évalué par l'apprenant. Le premier cas montre que le modèle a identifié le moment précis où l'apprenant doit augmenter le niveau de complexité, le second cas permet d'établir que le modèle propose de renforcer un niveau de complexité plus faible. Puis la précision est calculée comme le rapport entre le nombre d'états correspondant aux comportements corrects définis et le nombre total de recommandations. La figure \ref{fig:precision} montre les résultats de cette métrique après 100 exécutions.\\ | 708 | 708 | La précision de la recommandation pour tous les apprenants est évaluée en considérant comme comportement correct deux états : i) l'algorithme recommande un niveau où l'apprenant a une note supérieure ou égal à 6 et ii) l'algorithme recommande un niveau inférieur au niveau réel évalué par l'apprenant. Le premier cas montre que l'algorithme a identifié le moment précis où l'apprenant doit augmenter le niveau de complexité, le second cas permet d'établir que l'algorithme propose de renforcer un niveau de complexité plus faible. Puis la précision est calculée comme le rapport entre le nombre d'états correspondant aux comportements corrects définis et le nombre total de recommandations. La figure \ref{fig:precision} montre les résultats de cette métrique après 100 exécutions.\\ | |
709 | 709 | |||
\begin{figure}[!ht] | 710 | 710 | \begin{figure}[!ht] | |
\centering | 711 | 711 | \centering | |
\includegraphics[width=1\linewidth]{Figures/precision.png} | 712 | 712 | \includegraphics[width=1\linewidth]{Figures/precision.png} | |
\caption{Précision de la recommandation} | 713 | 713 | \caption{Précision de la recommandation} | |
\label{fig:precision} | 714 | 714 | \label{fig:precision} | |
\end{figure} | 715 | 715 | \end{figure} | |
716 | 716 | |||
\subsubsection{Comparaison entre TS et BKT} | 717 | 717 | \subsubsection{Comparaison entre TS et BKT} | |
718 | 718 | |||
La figure \ref{fig:EvGrades} permet de comparer la recommandation fondée sur l'échantillonnage de Thompson et celle fondée sur BKT. Cette figure montre l'évolution des notes des apprenants en fonction du nombre de questions auxquelles ils répondent dans la même séance. Dans ce cas, le TS génère moins de variabilité que BKT, mais les évolutions induites par les deux systèmes restent globalement très similaires. | 719 | 719 | La figure \ref{fig:EvGrades} permet de comparer la recommandation fondée sur l'échantillonnage de Thompson et celle fondée sur BKT. Cette figure montre l'évolution des notes des apprenants en fonction du nombre de questions auxquelles ils répondent dans la même séance. Dans ce cas, le TS génère moins de variabilité que BKT, mais les évolutions induites par les deux systèmes restent globalement très similaires. | |
720 | 720 | |||
\begin{figure}[!ht] | 721 | 721 | \begin{figure}[!ht] | |
\centering | 722 | 722 | \centering | |
\includegraphics[width=\textwidth]{Figures/GradesEv.jpg} | 723 | 723 | \includegraphics[width=\textwidth]{Figures/GradesEv.jpg} | |
\caption{Comparaison de l'évolution des notes entre les systèmes fondés sur TS et BKT.} | 724 | 724 | \caption{Comparaison de l'évolution des notes entre les systèmes fondés sur TS et BKT.} | |
\label{fig:EvGrades} | 725 | 725 | \label{fig:EvGrades} | |
\end{figure} | 726 | 726 | \end{figure} | |
727 | 727 | |||
Toutefois, si l'on considère l'évolution du niveau de complexité recommandé (figure \ref{fig:EvCL}), TS fait évoluer le niveau de complexité des apprenants, alors que BKT a tendance à laisser les apprenants au même niveau de complexité. Autrement dit, avec BKT, il est difficile d'apprendre de nouveaux sujets ou des concepts plus complexes au sein du même domaine. En comparant les résultats des deux figures (figures \ref{fig:EvGrades} et \ref{fig:EvCL}), TS permet de faire progresser la moyenne des notes et facilite l'évolution des niveaux de complexité. | 728 | 728 | Toutefois, si l'on considère l'évolution du niveau de complexité recommandé (figure \ref{fig:EvCL}), TS fait évoluer le niveau de complexité des apprenants, alors que BKT a tendance à laisser les apprenants au même niveau de complexité. Autrement dit, avec BKT, il est difficile d'apprendre de nouveaux sujets ou des concepts plus complexes au sein du même domaine. En comparant les résultats des deux figures (figures \ref{fig:EvGrades} et \ref{fig:EvCL}), TS permet de faire progresser la moyenne des notes et facilite l'évolution des niveaux de complexité. | |
729 | 729 | |||
\begin{figure}[!ht] | 730 | 730 | \begin{figure}[!ht] | |
\centering | 731 | 731 | \centering | |
\includegraphics[width=\textwidth]{Figures/LevelsEv.jpg} | 732 | 732 | \includegraphics[width=\textwidth]{Figures/LevelsEv.jpg} | |
\caption{Comparaison de l'évolution des niveaux entre les systèmes de recommandation fondés sur BKT et TS} | 733 | 733 | \caption{Comparaison de l'évolution des niveaux entre les systèmes de recommandation fondés sur BKT et TS} | |
\label{fig:EvCL} | 734 | 734 | \label{fig:EvCL} | |
\end{figure} | 735 | 735 | \end{figure} | |
736 | 736 | |||
\subsubsection{Système de recommandation avec ESCBR-SMA} | 737 | 737 | \subsubsection{Système de recommandation avec ESCBR-SMA} | |
738 | 738 | |||
Le troisième étape est l'association des deux modèles afin de combiner des observations qui ne sont pas directement liées l'une à l'autre, c'est-à-dire en utilisant l'information individuelle (recommandation avec Thomson) et le filtre collaboratif (interpolation avec ESCBR-SMA). Cette partie présente une comparaison entre le système de recommandation TS et le système de recommandation TS intégrée à la prédiction ESCBR-SMA. | 739 | 739 | Le troisième étape est l'association des deux algorithmes afin de combiner des observations qui ne sont pas directement liées l'une à l'autre, c'est-à-dire en utilisant l'information individuelle (recommandation avec Thomson) et le filtre collaboratif (interpolation avec ESCBR-SMA). Cette partie présente une comparaison entre le système de recommandation TS et le système de recommandation TS intégrée à la prédiction ESCBR-SMA. | |
740 | 740 | |||
Les résultats proposés sont comparés après réponse des apprenants à six questions car il est nécessaire de disposer d'informations préalables pour utiliser l'algorithme ESCBR-SMA et prédire les notes dans tous les niveaux de complexité à la question suivante. | 741 | 741 | Les résultats proposés sont comparés après réponse des apprenants à six questions car il est nécessaire de disposer d'informations préalables pour utiliser l'algorithme ESCBR-SMA et prédire les notes dans tous les niveaux de complexité à la question suivante. | |
742 | 742 | |||
\subsubsection{Progression des connaissances TS vs TS et ESCBR-SMA} | 743 | 743 | \subsubsection{Progression des connaissances TS vs TS et ESCBR-SMA} | |
744 | 744 | |||
Pour établir la différence entre le système de recommandation TS et ce même système associé à la prédiction fondée sur le raisonnement à partir de cas ESCBR-SMA, nous utiliserons la métrique de Jensen-Shannon (définie suivant les équations \ref{eqjs4} et \ref{eqjs5}). Dans ce cas la comparaison est faite sur le même niveau de complexité et dans le même temps $t$. | 745 | 745 | Pour établir la différence entre le système de recommandation TS et ce même système associé à la prédiction fondée sur le raisonnement à partir de cas ESCBR-SMA, nous utiliserons la métrique de Jensen-Shannon (définie suivant les équations \ref{eqjs4} et \ref{eqjs5}). Dans ce cas la comparaison est faite sur le même niveau de complexité et dans le même temps $t$. | |
746 | 746 | |||
\begin{multline} | 747 | 747 | \begin{multline} | |
k_{t,c}=\frac{1}{2} | 748 | 748 | k_{t,c}=\frac{1}{2} | |
\int_{0}^{1}p_c(\alpha_{p1,t},\beta_{p1,t},x) | 749 | 749 | \int_{0}^{1}p_c(\alpha_{p1,t},\beta_{p1,t},x) | |
log \left(\frac{p_c(\alpha_{p1,t},\beta_{p1,t},x)}{m(p_c(\alpha_{p1,t},\beta_{p1,t},x),p_c(\alpha_{p2,t},\beta_{p2,t},x))} \right)dx | 750 | 750 | log \left(\frac{p_c(\alpha_{p1,t},\beta_{p1,t},x)}{m(p_c(\alpha_{p1,t},\beta_{p1,t},x),p_c(\alpha_{p2,t},\beta_{p2,t},x))} \right)dx | |
\\ | 751 | 751 | \\ | |
+\frac{1}{2} | 752 | 752 | +\frac{1}{2} | |
\int_{0}^{1}p_c(\alpha_{p2,t},\beta_{p2,t},x) log \left(\frac{p_c(\alpha_{p2,t},\beta_{p2,t},x)}{m(p_c(\alpha_{p1,t},\beta_{p1,t},x),p_c(\alpha_{p2,t},\beta_{p2,t},x))} \right)dx | 753 | 753 | \int_{0}^{1}p_c(\alpha_{p2,t},\beta_{p2,t},x) log \left(\frac{p_c(\alpha_{p2,t},\beta_{p2,t},x)}{m(p_c(\alpha_{p1,t},\beta_{p1,t},x),p_c(\alpha_{p2,t},\beta_{p2,t},x))} \right)dx | |
\label{eqjs4} | 754 | 754 | \label{eqjs4} | |
\end{multline} | 755 | 755 | \end{multline} | |
%\end{equation} | 756 | 756 | %\end{equation} | |
757 | 757 | |||
\begin{multline} | 758 | 758 | \begin{multline} | |
m(p(\alpha_{p1,t},\beta_{p1,t},x),p(\alpha_{p2,t},\beta_{p2,t},x))=\frac{1}{2} \left( \frac{x^{\alpha_{p1,t}-1}(1-x)^{\beta_{p1,t}-1}}{\int_0^1 u^{\alpha_{p1,t}-1}(1-u^{\beta_{p1,t}-1})du} \right )\\ | 759 | 759 | m(p(\alpha_{p1,t},\beta_{p1,t},x),p(\alpha_{p2,t},\beta_{p2,t},x))=\frac{1}{2} \left( \frac{x^{\alpha_{p1,t}-1}(1-x)^{\beta_{p1,t}-1}}{\int_0^1 u^{\alpha_{p1,t}-1}(1-u^{\beta_{p1,t}-1})du} \right )\\ | |
+\frac{1}{2} \left (\frac{x^{\alpha_{p2,t}-1}(1-x)^{\beta_{p2,t}-1}}{\int_0^1 u^{\alpha_{p2,t}-1}(1-u^{\beta_{p2,t}-1})du} \right ) | 760 | 760 | +\frac{1}{2} \left (\frac{x^{\alpha_{p2,t}-1}(1-x)^{\beta_{p2,t}-1}}{\int_0^1 u^{\alpha_{p2,t}-1}(1-u^{\beta_{p2,t}-1})du} \right ) | |
\label{eqjs5} | 761 | 761 | \label{eqjs5} | |
%\end{equation} | 762 | 762 | %\end{equation} | |
\end{multline} | 763 | 763 | \end{multline} | |
764 | 764 | |||
La figure \ref{fig_cmp2} présente une visualisation normalisée des différences de progression entre TS et TS intégré à ESCBR-SMA. \\ | 765 | 765 | La figure \ref{fig_cmp2} présente une visualisation normalisée des différences de progression entre TS et TS intégré à ESCBR-SMA. \\ | |
\colorbox{yellow}{Il faut expliquer les axes, ce que représentent les points rouge, les carrés bleu de cette figure}\\ | 766 | 766 | \colorbox{yellow}{Il faut expliquer les axes, ce que représentent les points rouge, les carrés bleu de cette figure}\\ |