Commit 4b86a3c773be7f984f46b57d82a14a8ca553d408

Authored by dsotofor
1 parent c9708fefec
Exists in main

version correct to chapter 5 and corrections to do in chapter 6

Showing 2 changed files with 5 additions and 3 deletions Inline Diff

chapters/Conclusions.tex View file @ 4b86a3c
\chapter{Conclusions et Perspectives} 1 1 \chapter{Conclusions et Perspectives}
2 2
\section{Conclusion générale} 3 3 \section{Conclusion générale}
4 4
Étant donné l'importance des modules de recommandation dans les EIAH pour améliorer le système, le faire plus dynamique et aider l'apprenant dans son processus d'apprentissage et acquisition de la connaissance, il est nécessaire de trouver des stratégies et algorithmes adaptés et intégrables qui permettent d'exploiter et d'analyser toute l'information récolté pour le système sur l'évolution de l'apprenant et ses possibles lacunes ainsi comme des algorithmes capables de proposer des alternatives de parcours dynamiques et diverses pour chaque cas en visant la réussite prédéfinie par l'apprenant et le professeur. 5 5 Étant donné l'importance des modules de recommandation dans les EIAH pour améliorer le système, le faire plus dynamique et aider l'apprenant dans son processus d'apprentissage et acquisition de la connaissance, il est nécessaire de trouver des stratégies et algorithmes adaptés et intégrables qui permettent d'exploiter et d'analyser toute l'information récolté pour le système sur l'évolution de l'apprenant et ses possibles lacunes ainsi comme des algorithmes capables de proposer des alternatives de parcours dynamiques et diverses pour chaque cas en visant la réussite prédéfinie par l'apprenant et le professeur.
6 6
C'est ainsi que les outils de IA et apprentissage automatique se trouvent au centre des possibles solutions dans cette problématique, car ils permettent de travailler avec des données structurées selon un contexte déterminé, explorer et exploiter les espaces ou sont définis ces données, analyser et extraire l'information utile pour connaître les comportements, tendances et faiblesses des apprenants. De tous les outils d'IA ceux dont le fonctionnement a besoin de peu de données pour bien extraire, identifier et prédire sont les plus adaptés pour résoudre le problème, car il est très compliqué d'avoir grand quantités de données pour entrainer et évaluer une IA comme celles qui appartiennent au ensemble du deep learning. C'est l'une des raisons pour lesquelles les contributions réalisées dans ce travail ont permis d'améliorer l'environnement informatique d'apprentissage humain AI-VT, en proposant des recommandations dynamiques et plus adaptées à chaque apprenant en utilisant l'apprentissage par renforcement, la génération de solutions stochastique, les modèles Bayésiens, les approches d'ensemble avec plusieurs algorithmes, l'optimisation itérative, l'intégration d'approches locales et collaboratifs, le raisonnement à partir de cas et le processus de Hawkes. 7 7 C'est ainsi que les outils de IA et apprentissage automatique se trouvent au centre des possibles solutions dans cette problématique, car ils permettent de travailler avec des données structurées selon un contexte déterminé, explorer et exploiter les espaces ou sont définis ces données, analyser et extraire l'information utile pour connaître les comportements, tendances et faiblesses des apprenants. De tous les outils d'IA ceux dont le fonctionnement a besoin de peu de données pour bien extraire, identifier et prédire sont les plus adaptés pour résoudre le problème, car il est très compliqué d'avoir grand quantités de données pour entrainer et évaluer une IA comme celles qui appartiennent au ensemble du deep learning. C'est l'une des raisons pour lesquelles les contributions réalisées dans ce travail ont permis d'améliorer l'environnement informatique d'apprentissage humain AI-VT, en proposant des recommandations dynamiques et plus adaptées à chaque apprenant en utilisant l'apprentissage par renforcement, la génération de solutions stochastique, le raisonnement Bayésien, les approches d'ensemble avec plusieurs algorithmes dans deux stages, l'optimisation stochastique itérative, l'intégration d'approches locales et collaboratifs, le raisonnement à partir de cas avec les systèmes multi-agents et le processus de Hawkes.
8 8
Les jeux de données testés (réel et simulé) ont permis de tester la solidité du modèle pour chacune des étapes du développement ainsi comme l'amélioration progressive jusque l'unification de tous les modèles proposés. Aussi pour tester la qualité des recommandations générées ont été définies deux métriques qui ont permis de mesurer avec précision le degré d'adaptabilité en rapport avec la performance de chaque apprenant. 9 9 Les jeux de données testés (réel et simulé) ont permis de tester la solidité du modèle pour chacune des étapes du développement ainsi comme l'amélioration progressive jusque l'unification de tous les modèles proposés. Aussi pour tester la qualité des recommandations générées ont été définies deux métriques qui ont permis de mesurer avec précision le degré d'adaptabilité en rapport avec la performance de chaque apprenant.
10
11
10 12
\section{Perspectives} 11 13 \section{Perspectives}
12 14
Le système devrait être testé avec des données réelles dans un environnement standard réel afin d'obtenir des informations sur certains groupes caractéristiques spécifiques d'étudiants et de comparer les résultats obtenus avec les résultats théoriques, consolidant ainsi les preuves comportementales et l'efficacité du modèle proposé. 13 15 Le système devrait être testé avec des données réelles dans un environnement standard réel afin d'obtenir des informations sur certains groupes caractéristiques spécifiques d'étudiants et de comparer les résultats obtenus avec les résultats théoriques, consolidant ainsi les preuves comportementales et l'efficacité du modèle proposé.
14 16
Comme travail futur, il est proposé d'intégrer dans le modèle d'autres variables obtenues avec des algorithmes d'intelligence artificielle complémentaires tels que l'analyse vidéo, l'analyse audio et même l'analyse des données obtenues des apprenants tout au long du processus d'apprentissage. Analyser le modèle avec différentes configurations paramétriques, afin de déterminer quelles sont les configurations les plus appropriées et comment chaque variable influence le comportement global des algorithmes exécutés et le résultat final. 15 17 Comme travail futur, il est proposé d'intégrer dans le modèle d'autres variables obtenues avec des algorithmes d'intelligence artificielle complémentaires tels que l'analyse vidéo, l'analyse audio et même l'analyse des données obtenues des apprenants tout au long du processus d'apprentissage. Analyser le modèle avec différentes configurations paramétriques, afin de déterminer quelles sont les configurations les plus appropriées et comment chaque variable influence le comportement global des algorithmes exécutés et le résultat final.
16 18
Comme perspectives de ce travail peuvent être envisagées : 17 19 Comme perspectives de ce travail peuvent être envisagées :
\begin{itemize} 18 20 \begin{itemize}
\item L'étude du modèle de raisonnement à partir de cas en profondeur avec l'analyse de changement des paramètres. 19 21 \item L'étude du modèle de raisonnement à partir de cas en profondeur avec l'analyse de changement des paramètres.
\item Analyser le comportement de l'algorithme avec des métriques de distance différentes de la distance Euclidiene. 20 22 \item Analyser le comportement de l'algorithme avec des métriques de distance différentes de la distance Euclidiene.
\item Analyser la modification de la fonction de optimisation associé au choix de la meilleure solution dans les solutions générées par le second stacking processus. 21 23 \item Analyser la modification de la fonction de optimisation associé au choix de la meilleure solution dans les solutions générées par le second stacking processus.
\item Déterminer le point de rupture pour différents scénarios. 22 24 \item Déterminer le point de rupture pour différents scénarios.
\end{itemize} 23 25 \end{itemize}
24 26
chapters/ESCBR.tex View file @ 4b86a3c
\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 modèle 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 modèle 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.
Le modèle 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 Le modèle 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 saitsfaisants. 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 saitsfaisants.
14 14
Les méthodes d'ensemble permettent de résoudre des problèmes de classification et de régression en combinant les résultats de plusieurs modèles exécutés indépendamment. Certaines de ces méthodes utilisent des modèles différents et des ensembles de données différents tandis que d'autres utilisent les mêmes modèles avec des paramètres différents. La combinaison des résultats provenant de multiples modèles 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 méthode d'ensemble en la combinant à des outils d'apprentissage automatique. 15 15 Les méthodes d'ensemble permettent de résoudre des problèmes de classification et de régression en combinant les résultats de plusieurs modèles exécutés indépendamment. Certaines de ces méthodes utilisent des modèles différents et des ensembles de données différents tandis que d'autres utilisent les mêmes modèles avec des paramètres différents. La combinaison des résultats provenant de multiples modèles 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 méthode 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 modèles 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 un type de méta-modèle d'apprentissage profond d'ensemble dont l'objectif est d'utiliser diverses techniques d'apprentissage automatique pour surmonter les limites des modèles individuels. Plusieurs études démontrent que l'association de ces techniques 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 de modèles ou 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 modèles 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 un type de méta-modèle d'apprentissage profond d'ensemble dont l'objectif est d'utiliser diverses techniques d'apprentissage automatique pour surmonter les limites des modèles individuels. Plusieurs études démontrent que l'association de ces techniques 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 de modèles ou 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{Modèle Proposé} 27 27 \subsection{Modèle 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 du modèle d'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 du modèle d'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 de modèles pour l'étape rétrouver&$\mathbb{N}, r_a>2$\\ 63 63 $r_a$&v&Nombre de modèles pour l'étape rétrouver&$\mathbb{N}, r_a>2$\\
$r_b$&v&Nombre de modèles pour l'étape de réutilisation&$\mathbb{N}, r_b>2$\\ 64 64 $r_b$&v&Nombre de modèles 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 le modèle $i$&$\mathbb{N}, nl_i \le nl$\\ 66 66 $nl_i$&v&Nombre de voisins locaux pour le modèle $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 du modèle pour retrouver entre $x_1$ et $x_2$&$\mathbb{R}^{a \times z}$\\ 70 70 $MP(x_1^z,x_2,a)$&f&Fonction du modèle pour retrouver entre $x_1$ et $x_2$&$\mathbb{R}^{a \times z}$\\
$MS(x_1^m)$&f&Fonction du modèle pour réutiliser avec $x_1$ &$\mathbb{R}^m$\\ 71 71 $MS(x_1^m)$&f&Fonction du modèle 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 du modèle proposé (Type: p - paramètre, v - variable, f - fonction)} 74 74 \caption{Variables et paramètres du modèle 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, le modèle d'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$ modèles 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, le modèle d'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$ modèles 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 modèle d'empilement proposé fonctionne avec deux paramètres : %\textcolor{red}{quels sont les 2 paramètres?} 88 88 Formellement, le premier modèle d'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 modèle d'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 modèle d'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 modèle d'empilement de différents processus. Ce modèle d'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 modèles $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 modèle d'empilement de différents processus. Ce modèle d'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 modèles $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}=\frac{1}{nl} \sum_{i=0}^{nl} \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} 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 modèle d'empilement. Chaque modèle 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 modèle d'empilement. Chaque modèle 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&Algorithm&ID&Algorithm\\ 260 260 ID&Algorithm&ID&Algorithm\\
\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 le modèle d'empilement que nous avons baptisé ESCBR. Ce modèle 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 le modèle d'empilement que nous avons baptisé ESCBR. Ce modèle 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{Modèle Proposé} 348 348 \subsection{Modèle 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 du modèle 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 du modèle 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 modèle 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 modèle 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 suivants : pondération avec probabilité, pondération sans probabilité, valeurs médianes, Copier/Changer, vote, interpolation, PCA (analyse en composantes principales) et \colorbox{yellow}{non aléatoire}. Ces algorithmes ont été 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 suivants : pondération avec probabilité, pondération sans probabilité, valeurs médianes, Copier/Changer, vote, interpolation, PCA (analyse en composantes principales) et \colorbox{yellow}{non aléatoire}. Ces algorithmes ont été 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