FR 3111216 A1 20211210 FR 2005894 A 20200605 Procédé de génération d’un système d’aide à la décision et systèmes associés La présente invention concerne un procédé de génération d’un système d’aide à la décision multicritère comprenant : - la fourniture d’un problème et de données d’apprentissage résolvant le problème pour des cas particuliers, le problème étant un problème d’évaluation de la qualité d’un système choisi parmi : - le choix de la meilleure alternative parmi des alternatives, - la répartition d’alternatives parmi des classes, - le rangement d’alternatives par ordre de préférence, et - la fourniture d’un score d’une alternative, - la retranscription du problème selon un réseau de neurones et des contraintes à respecter, - l’apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage, - la détermination de la fonction réalisée par le réseau de neurones appris, et - l’implémentation physique de la fonction déterminée pour obtenir le système d’aide. Figure pour l'abrégé : figure 3 Procédé de génération d’un système d’aide à la décision et systèmes associés La présente invention concerne un procédé de génération d’un système d’aide à la décision. La présente invention se rapporte également à des systèmes d’aide à la décision associés au procédé de génération. L’aide à la décision, et plus précisément l’aide à la décision multicritères, est un domaine vaste dont les applications appartiennent à des champs multiples et variés, tels que le contrôle aérien, la surveillance des frontières ou la médecine. Un tel domaine consiste en l’élaboration de modèles visant à guider des décideurs (experts ou non) à résoudre divers problèmes relatifs à des décisions que ces décideurs auraient à prendre, et notamment comment traiter les différentes alternatives répondant à la situation considérée. De tels problèmes incluent notamment les problèmes de classement (ranger des alternatives dans des classes correspondant chacune à un niveau de satisfaction), de tri (trier les alternatives dans l’ordre des préférences du décideur), choix (sélection de la meilleure alternative parmi toutes les alternatives) et évaluation (fourniture d’un score global à une alternative) Pour être efficace, les modèles élaborés sont capables de reproduire le plus fidèlement possible les stratégies de prise de décision du décideur, et de lui fournir des indicateurs sur le choix proposé afin de justifier leurs sorties. Dans la suite, de tels modèles sont appelés modèles de préférences. Il est ainsi souhaitable de pouvoir déterminer des paramètres d’un modèle de préférences à l’aide d’une étape d’élicitation du modèle de préférences, sachant que ceci sert à résoudre un problème de classement, tri ou choix. Usuellement, l’élaboration de paramètres de modèles de préférences passe par une interaction soutenue entre le décideur (utilisateur final qui sera aidé par le modèle) et les concepteurs du modèle. Les concepteurs demandent à l’expert de donner des informations dites « préférentielles » qui dépendront du modèle de préférences et des ensembles de paramètres possibles. Les questions sont en général déterminées artificiellement par les concepteurs de manière à en extraire le maximum d’information. De telles informations, qui peuvent être de diverses natures (préférences entre deux alternatives, importances relatives de deux critères) sont utilisées en parallèle de l’interaction à travers des techniques de programmation linéaire ou d’optimisation afin de déterminer les paramètres optimaux du modèle de préférences. Toutefois, une telle situation idéale n’est pas toujours possible en pratique notamment du fait du temps limité dont dispose le décideur et il existe des cas où, pour déterminer le modèle de préférences, le concepteur dispose de données. De telles données sont, par exemple, issues d’un recueil de retours d’un opérateur d’un système sur des recommandations qui lui sont faites. Une des problématiques est que ces données peuvent être entachées d’incertitude (bruit sur les données par exemple), et contenir des erreurs (dans l’étiquette de la donnée par exemple). Il existe donc un besoin pour un procédé de génération d’un système d’aide à la décision qui permette d’obtenir un système d’aide à la décision qui soit de bonne qualité avec une intervention très limitée du décideur, idéalement uniquement des données d’apprentissage. A cet effet, la présente description propose un procédé de génération d’un système d’aide à la décision multicritère, le procédé de génération comprenant la fourniture d’un problème initial et de données d’apprentissage résolvant le problème initial pour des cas particuliers, le problème initial étant un problème d’évaluation de la qualité du système existant ou à créer, le problème initial est un problème choisi parmi le choix de la meilleure alternative parmi un ensemble d’alternatives, la répartition d’alternatives parmi des classes de préférences, le rangement d’alternatives par ordre de préférence, et la fourniture d’un score d’évaluation d’une alternative. Le procédé de génération comprend, en outre, la retranscription du problème initial sous forme d’un réseau de neurones et d’un ensemble de contraintes à respecter par le réseau de neurones, pour obtenir un réseau de neurones retranscrit, l’apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage, pour obtenir un réseau de neurones appris résolvant le problème initial, la détermination de la fonction réalisée par le réseau de neurones appris, et l’implémentation physique de la fonction déterminée pour obtenir le système d’aide à la décision. Suivant des modes de réalisation particulier, le procédé de génération comprend une ou plusieurs des caractéristiques suivantes lorsque cela est techniquement possible : - le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones, l’étape de retranscription comportant la formulation de l’ensemble de contraintes à respecter par le réseau de neurones sous forme de sous-contraintes à respecter par chaque sous-réseau de neurones. - chaque sous-réseau de neurones comporte des couches cachées, le nombre de couches cachées étant inférieur ou égal à 5, de préférence inférieur ou égal à 3. - les sous-contraintes à respecter par un sous-réseau de neurones sont choisis parmi la liste constituée de la monotonie de la variation de la sortie du sous-réseau de neurones en fonction des entrées du sous-réseau de neurones, de la sortie du sous-réseau de neurones est comprise entre une valeur minimale et une valeur maximale, la sortie du sous-réseau de neurones étant égale à la valeur minimale lorsque toutes les entrées du sous-réseau de neurones valent la valeur minimale, et la sortie du sous-réseau de neurones étant égale à la valeur maximale lorsque toutes les entrées du sous-réseau de neurones valent la valeur maximale et de chaque sous-réseau est propre à implémenter des poids, une contrainte étant que les poids soient positifs et que la somme des poids soit égale à 1. - le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée d’une somme pondérée des variables, d’une intégrale de Choquet, d’une intégrale de Choquet 2-additive, d’une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, d’un modèle multi-linéaire, d’une fonction d’indépendance additive généralisée, et de la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité marginale étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie. - l’apprentissage comporte un premier apprentissage avec l’ensemble de contraintes de la retranscription permettant d’apprendre un réseau de neurones intermédiaire, un deuxième apprentissage de l’ensemble de contraintes en fixant le réseau de neurones au réseau de neurones intermédiaire, pour obtenir un ensemble de contraintes appris, et un ajustement du réseau de neurones appris en fonction de l’écart entre l’ensemble de contraintes de la retranscription et l’ensemble de contraintes appris, pour obtenir un réseau de neurones ajusté, le réseau de neurones appris étant le réseau de neurones ajusté. - l’apprentissage comprend l’emploi d’au moins une technique choisie dans la liste constituée d’une descente de gradient par lot, d’une descente de gradient stochastique et d’une descente de gradient par mini-lot. - l’apprentissage comprend l’emploi d’une somme pondérée de sigmoïdes. La présente description concerne aussi un système d’aide à la décision, notamment un système d’aide à la décision multicritère, généré par mise en œuvre d’un procédé de génération tel que précédemment décrit. La présente description concerne aussi un système d’aide à la décision, notamment un système d’aide à la décision multicritère, le système d’aide comprenant une implémentation physique d’un réseau de neurones comprenant un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée d’une somme pondérée des variables, d’une intégrale de Choquet, d’une intégrale de Choquet 2-additive, d’une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, d’un modèle multi-linéaire, d’une fonction d’indépendance additive généralisée, et de la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie. D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l’invention, donnée à titre d’exemple uniquement et en référence aux dessins qui sont : - , une représentation schématique d’un ordinateur et d’un produit programme d’ordinateur propres à mettre en œuvre un procédé de génération d’un système d’aide à la décision, - [Fig 2] [Fig 2], un ordinogramme d’un exemple de mise en œuvre d’un procédé de génération d’un système d’aide à la décision, - , une représentation schématique d’un exemple de réseau de neurones utilisé dans le procédé de génération de la [Fig 2], - , une représentation schématique d’un exemple de sous-réseau de neurones susceptible d’être utilisé dans le procédé de génération de la [Fig 2], et - , une représentation schématique d’un autre exemple de sous-réseau de neurones susceptible d’être utilisé dans le procédé de génération de la [Fig 2]. Un calculateur 10 et un produit programme d’ordinateur 12 sont représentés sur la . L’interaction entre le calculateur 10 et le produit programme d’ordinateur 12 permet la mise en œuvre d’un procédé de génération d’un système d’aide à la décision. Le procédé de génération est ainsi un procédé mis en œuvre par ordinateur. Le calculateur 10 est un ordinateur de bureau. En variante, le calculateur 10 est un ordinateur monté sur un rack, un ordinateur portable, une tablette, un assistant numérique personnel (PDA) ou un smartphone. En ce sens, le calculateur 10 peut être vu comme un système et pourra être indifféremment désigné comme tel dans la suite. Dans des modes de réalisation spécifiques, l'ordinateur est adapté pour fonctionner en temps réel et/ou est dans un système embarqué, notamment dans un véhicule tel qu'un avion. Dans le cas de la , le calculateur 10 comprend une unité de calcul 14, une interface utilisateur 16 et un dispositif de communication 18. L’unité de calcul 14 est un circuit électronique conçu pour manipuler et/ou transformer des données représentées par des quantités électroniques ou physiques dans des registres du calculateur 10 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans les mémoires de registres ou d'autres types de dispositifs d'affichage, de dispositifs de transmission ou de dispositifs de mémorisation. En tant qu’exemples spécifiques, l’unité de calcul 14 comprend un processeur monocœur ou multicœurs (tel qu’une unité de traitement centrale (CPU), une unité de traitement graphique (GPU), un microcontrôleur et un processeur de signal numérique (DSP)), un circuit logique programmable (comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA)), une machine à états, une porte logique et des composants matériels discrets. L’unité de calcul 14 comprend une unité de traitement de données 20 adaptée pour traiter des données, notamment en effectuant des calculs, des mémoires 22 adaptées à stocker des données et un lecteur 24 adapté à lire un support lisible par ordinateur. L'interface utilisateur 16 comprend un dispositif d'entrée 26 et un dispositif de sortie 28. Le dispositif d’entrée 26 est un dispositif permettant à l'utilisateur du système 10 de saisir sur le système 10 des informations ou des commandes. Sur la , le dispositif d’entrée 26 est un clavier. En variante, le dispositif d’entrée 26 est un périphérique de pointage (tel qu'une souris, un pavé tactile et une tablette graphique), un dispositif de reconnaissance vocale, un oculomètre ou un dispositif haptique (analyse des mouvements). Le dispositif de sortie 28 est une interface utilisateur graphique, c’est-à-dire une unité d’affichage conçue pour fournir des informations à l’utilisateur du calculateur 10. Sur la , le dispositif de sortie 28 est un écran d’affichage permettant une présentation visuelle de la sortie. Dans d'autres modes de réalisation, le dispositif de sortie est une imprimante, une unité d'affichage augmenté et/ou virtuel, un haut-parleur ou un autre dispositif générateur de son pour présenter la sortie sous forme sonore, une unité produisant des vibrations et/ou des odeurs ou une unité adaptée à produire un signal électrique. Dans un mode de réalisation spécifique, le dispositif d'entrée 26 et le dispositif de sortie 28 sont le même composant formant des interfaces homme-machine, tel qu'un écran interactif. Le dispositif de communication 18 permet une communication unidirectionnelle ou bidirectionnelle entre les composants du calculateur 10. Par exemple, le dispositif de communication 18 est un système de communication par bus ou une interface d'entrée / sortie. La présence du dispositif de communication 18 permet que, dans certains modes de réalisation, les composants de l’unité de calcul 14 soient distants les uns des autres. Le produit programme informatique 12 comprend un support lisible par ordinateur 32. Le support lisible par ordinateur 32 est un dispositif tangible lisible par le lecteur 24 de l’unité de calcul 14. Notamment, le support lisible par ordinateur 32 n'est pas un signal transitoire en soi, tels que des ondes radio ou d'autres ondes électromagnétiques à propagation libre, telles que des impulsions lumineuses ou des signaux électroniques. Un tel support de stockage lisible par ordinateur 32 est, par exemple, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi-conducteur ou toute combinaison de ceux-ci. En tant que liste non exhaustive d'exemples plus spécifiques, le support de stockage lisible par ordinateur 32 est un dispositif codé mécaniquement, tel que des cartes perforées ou des structures en relief dans une gorge, une disquette, un disque dur, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire effaçable programmable en lecture seule (EROM), une mémoire effaçable électriquement et lisible (EEPROM), un disque magnéto-optique, une mémoire vive statique (SRAM), un disque compact (CD-ROM), un disque numérique polyvalent (DVD), une clé USB, un disque souple, une mémoire flash, un disque à semi-conducteur (SSD) ou une carte PC telle qu'une carte mémoire PCMCIA. Un programme d'ordinateur est stocké sur le support de stockage lisible par ordinateur 32. Le programme d'ordinateur comprend une ou plusieurs séquences d'instructions de programme mémorisées. De telles instructions de programme, lorsqu'elles sont exécutées par l'unité de traitement de données 20, entraînent l'exécution d'étapes du procédé de génération. Par exemple, la forme des instructions de programme est une forme de code source, une forme exécutable par ordinateur ou toute forme intermédiaire entre un code source et une forme exécutable par ordinateur, telle que la forme résultant de la conversion du code source via un interpréteur, un assembleur, un compilateur, un éditeur de liens ou un localisateur. En variante, les instructions de programme sont un microcode, des instructions firmware, des données de définition d’état, des données de configuration pour circuit intégré (par exemple du VHDL) ou un code objet. Les instructions de programme sont écrites dans n’importe quelle combinaison d’un ou de plusieurs langages, par exemple un langage de programmation orienté objet (FORTRAN, C++, JAVA, HTML), un langage de programmation procédural (langage C par exemple). Alternativement, les instructions du programme sont téléchargées depuis une source externe via un réseau, comme c'est notamment le cas pour les applications. Dans ce cas, le produit programme d'ordinateur comprend un support de données lisible par ordinateur sur lequel sont stockées les instructions de programme ou un signal de support de données sur lequel sont codées les instructions de programme. Dans chaque cas, le produit programme d'ordinateur 12 comprend des instructions qui peuvent être chargées dans l'unité de traitement de données 20 et adaptées pour provoquer l'exécution du procédé de génération lorsqu'elles sont exécutées par l'unité de traitement de données 20. Selon les modes de réalisation, l'exécution est entièrement ou partiellement réalisée soit sur le calculateur 10, c'est-à-dire un ordinateur unique, soit dans un système distribué entre plusieurs ordinateurs (notamment via l’utilisation de l’informatique en nuage). Le fonctionnement du calculateur 10 est maintenant décrit en référence à la [Fig 2] qui est un ordinogramme illustrant un exemple de mise en œuvre du procédé de génération d’un système d’aide à la décision, notamment un système d’aide à la décision multicritère. Le procédé de génération est un procédé de création ou de fabrication d’un système d’aide à la décision. Sur la base d’un problème de type décision multicritères, le procédé de génération permet d’obtenir un système d’aide à la décision permettant d’apporter une solution au problème, le système pouvant être utilisé par un décideur. Le travail du concepteur du système d’aide à la décision est de transformer les données du problème en un système physique qui est un système d’aide à la décision. Le système d’aide à la décision est souvent un calculateur 10 ou une partie de celui-ci. Un tel système d’aide à la décision est utilisable dans de nombreuses applications industrielles. En particulier, le système d’aide à la décision est un système d’évaluation de la qualité de fonctionnement d’un système physique existant. Par exemple, le système d’aide à la décision est un système pour l’évaluation du fonctionnement d’un système de pistage du trafic aérien. Les critères portent ici sur des mesures de la qualité de pistage, comme l’erreur de localisation des avions. Le système d’aide à la décision est alors propre à fournir une évaluation globale, ou une classe (niveau de qualité de service). Selon un autre exemple, le système d’aide à la décision est un système d’aide à l’évaluation du fonctionnement d’une infrastructure de transports, comme une ligne de train ou une ligne de métro. En cas d’incident important impliquant des retards, le système d’aide à la décision permet de proposer la meilleure solution parmi l’ensemble des solutions possibles comme la modification d’horaire de trains ou la création de boucles sur la ligne. Selon un autre exemple, le système d’aide à la décision est un système de conception d’un système physique à créer. A titre d’illustration, le système d’aide à la décision est un système de conception d’un ensemble de plusieurs pièces, comme un radar. Le système d’aide à la décision cherche alors à identifier à partir de préférences du concepteur de radar le meilleur compromis entre plusieurs critères comme des mesures de qualité globale du radar, sa performance, son poids ou son coût. Il est supposé, pour la suite, qu’un problème initial à résoudre a été défini. Le système d’aide à la décision vise à aider le décideur à trouver la meilleure solution au problème initial. Une telle solution est appelée une alternative dans ce qui suit, de sorte qu’une alternative est une réponse au problème initial. Le système d’aide à la décision est ainsi une implémentation physique d’un modèle de décision adapté à la situation visée par le problème initial, le modèle de décision prenant des entrées pour obtenir une sortie. Par exemple, le problème initial est défini en deux phases. La première phase consiste en une discussion avec le décideur. Il s’agit de caractériser complètement et d’un point de vue « haut niveau » le problème à résoudre. Lors d’une telle phase, trois points sont déterminés, à savoir la forme des critères, la nature du problème et les données disponibles. Le premier point déterminé est la forme des critères sur lesquels vont être évaluées chacune des alternatives. La forme d’un critère est la variation de la monotonie du modèle par rapport au critère. Dans ce contexte, la monotonie est le sens d’évolution de la sortie par rapport à l’un des critères d’entrée, toutes choses égales par ailleurs. Soit le modèle M(a) = M(a1, …, an), avec a1 à an les valeurs de l’alternative a sur les n critères. On suppose que M est croissante (respectivement décroissante, ou croissante puis décroissante, ou décroissante puis croissante) par rapport au critère 1, alors si l’on fixe à des valeurs quelconques les critères 2 à n, la fonction F qui, à un réel x, associe M(x, a2, …, an) est croissante (respectivement décroissante, ou croissante puis décroissante, ou décroissante puis croissante). Dans l’exemple de la conception d’un système radar, la satisfaction globale est croissante par rapport au critère de performance comme la portée du radar (plus le radar voit loin, mieux c’est, toute chose étant égale par ailleurs), et la satisfaction globale est décroissante par rapport à la consommation électrique (moins le radar consomme d’électricité, mieux c’est, toute chose étant égale par ailleurs). Autrement formulé, le premier point consiste à se demander si la sortie du modèle est croissante, décroissante, croissante puis décroissante, ou décroissante puis croissante par rapport à la valeur sur ce critère. Dans certains cas, la manière de représenter les critères est modifiée afin d’avoir des entrées compatibles avec le modèle de décision. Un exemple de modification est l’élimination de critères superflus ou trop bruités pour être exploitables ou l’application d’une transformation sur certains critères afin d’assurer la monotonie de la sortie du modèle de décision. Le deuxième point déterminé est la nature du problème à résoudre. Le problème initial est l’un des problèmes suivant : choix de la meilleure alternative parmi un ensemble d’alternatives, répartition des alternatives parmi des classes de préférences, rangement des alternatives par ordre de préférence et fourniture d’un score d’évaluation d’une alternative. La nature du problème à résoudre est donc le choix, la répartition, le rangement ou l’évaluation. Le problème de répartition des alternatives parmi des classes de préférences est un problème de rangement souvent désigné sous la dénomination de problème de sorting par référence à la terminologie anglaise. Le problème de rangement des alternatives par ordre de préférence est un problème de classement automatique souvent désigné sous la dénomination de problème de ranking par référence à la terminologie anglaise. Le problème de fournir un score d’évaluation à une alternative ou de choisir la meilleure alternative parmi un ensemble d’alternatives est un problème consistant à donner à chaque alternative un score de satisfaction. Un tel problème est souvent désigné sous la dénomination de problème de scoring par référence à la terminologie anglaise.Lorsqu’un problème de scoring est résolu, il est possible de traiter un problème de ranking sans avoir besoin d’information supplémentaire, puisque le score calculé peut permettre de ranger des alternatives de la meilleure à la moins bonne. Similairement, lorsqu’un problème de scoring est résolu, il est possible de résoudre un problème de sorting, moyennant une information supplémentaire sur la valeur de seuils. Une alternative appartient alors à une classe lorsque son score se situe entre deux seuils. Le troisième point est d’obtenir les données d’apprentissage. Selon l’exemple décrit, les données d’apprentissage sont des données provenant de capteurs et sont donc des mesures. Les données d’apprentissage sont le plus souvent hétérogènes en ce sens que les données d’apprentissage proviennent de plusieurs sources (plusieurs capteurs ici) et ont des natures différentes. En particulier, les données d’apprentissage sont représentables sous forme de paires. Trois types de paires peuvent être envisagés. Selon un premier type, une paire est une paire (x, y) où x est une alternative et y le score que l’alternative est censée avoir (score attendu). Selon un deuxième type, une paire est une paire (x, k) où x est une alternative et k l’indice d’une classe de préférences (par exemple « bon », « mauvais » et « moyen »). Selon un troisième type, une paire est une paire (x1, x2) où les deux éléments sont des alternatives, avec x1 une alternative préférée à l’alternative x2 par le décideur. Du fait de leur caractère hétérogène, l’obtention des données d’apprentissage implique dans certains cas l’utilisation de prétraitement permettant d’assurer que même si les données sont représentées de manière différente, elles représentent la réalité de la même manière et utilisent les mêmes critères pour évaluer les alternatives. L’hétérogénéité peut provenir du fait que ces données d’apprentissage peuvent être recueillies à des instants différents et provenir de différentes personnes – chaque personne fournissant un type de données. Lors d’une deuxième phase, le modèle de décision proprement dit est défini. Par exemple, avec l’aide de l’expert, le concepteur se concentre désormais sur la définition du modèle en soi. A titre d’exemple particulier, l’expert va construire avec le concepteur du modèle la hiérarchie des critères, définir les critères artificiels issus des agrégations, choisir s’il le veut la classe d’agrégation à chacun des nœuds et la nature des fonctions d’utilités appliquées à chacun des critères, si elles sont nécessaires. Plus spécifiquement, dans certains cas, le décideur peut avoir des certitudes a priori. Par exemple, le décideur peut considérer connaître d’avance la fonction d’utilité d’une partie des critères natifs, les paramètres de certaines des agrégations (ou des contraintes sur certains de ces paramètres) par exemple. Il est alors possible d’implémenter de telles contraintes efficacement, et de fixer ces fonctions d’utilité afin qu’elles ne soient pas apprises, et soient au contraire définies « à la main » selon les souhaits du décideur. Similairement, dans certains cas, la manière dont les critères sont organisés hiérarchiquement est fixée à l’avance par un décideur. La hiérarchie peut en effet correspondre à une organisation logique d’après un décideur – les nœuds d’agrégation intermédiaires entre les critères et le nœud d’agrégation final correspondent alors à des concepts qui ont du sens pour un décideur. Il sera bien compris que le procédé de génération n’a pas forcément besoin d’autant d’éléments d’information sur le problème initial. Dans certains cas, il suffit de connaître les critères, la nature du problème initial ainsi que les données d’apprentissage. Le procédé de génération comporte une étape de fourniture E50, une étape de retranscription E52, une étape d’apprentissage E54, une étape de détermination E56 et une étape d’implémentation physique E58. Lors de l’étape de fourniture E50, il est fourni le problème initial ainsi que les données d’apprentissage. Pour cela, le système reçoit les informations qui ont, le plus souvent, été élaborées par interactions entre le décideur et le concepteur bien que celles-ci ne soient pas obligatoires. Par ailleurs, dans l’exemple proposé, il est supposé que, lors de l’étape de fourniture E50, le système reçoit également une hiérarchie des critères. A l’issue de l’étape de fourniture E50, le système connaît ainsi le problème initial et la hiérarchie des critères tout en disposant d’un ensemble de données d’apprentissage. Lors de l’étape de retranscription E52, le problème initial est retranscrit sous la forme d’un réseau de neurones et d’un ensemble de contraintes à respecter par le réseau de neurones. L’étape de retranscription E52 vise ainsi à convertir le problème initial et la hiérarchie de critères en un réseau de neurones et un ensemble de contraintes à respecter par le réseau de neurones. Dans le présent procédé, le réseau de neurones présente une architecture spécifique dont la illustre un exemple particulier. Ainsi, le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones. Plus précisément, le réseau de neurones comporte un ensemble de sous-réseaux de neurones agencés selon une structure spécifique, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones. Dans l’exemple proposé, un premier sous-réseau de neurones est un sous-réseau d’agrégation. Un premier réseau de neurones est un sous-réseau mettant en œuvre une fonction d’agrégation. Une fonction d’agrégation A est une fonction définie par un vecteur d’utilité et retournant une valeur d’agrégation réelle. Soit N = {1,…,n} l’ensemble des critères (attributs dans le vocabulaire du domaine de l’aide à la décision). X i est le domaine du i-ième critère. Une alternative est définie comme un élément de X = X 1 x …. x X n . Un modèle de décision est une fonction U : X -> [0,1], qui est généralement appelée fonction d’utilité induisant un ordre total sur X. Les fonctions d’utilités sont souvent représentées sous une forme décomposable, à savoir U(x) = A(u 1 (x 1 ), ….u n (x n )) avec u i qui est la fonction d’utilité marginale u i qui est une fonction de X i dans l’intervalle [0,1]. Dans le présent cas, cela signifie que la fonction d’agrégation A associe à des valeurs de l’ensemble [0,1] n une valeur dans l’ensemble , et si normalisée, dans l’intervalle [0,1]. Plus précisément, la fonction d’agrégation est une fonction définie sur un vecteur d’utilité a = (a 1 , …., a n ) qui retourne une valeur agrégée dans l’intervalle [0,1]. Selon l’exemple proposé, la fonction d’agrégation appartient à la famille des intégrales de Choquet. L’intégrale de Choquet est une généralisation de la somme pondérée, qui prend également en compte des interactions entre critères. L’intégrale de Choquet est paramétrée par une mesure floue µ qui sert à affecter à chacune des coalitions de critères un certain poids (là où une somme pondérée possède seulement un poids par singleton). Par définition, une mesure floue µ sur un ensemble N est une fonction de 2 N dans l’ensemble satisfaisant une condition de normalisation et une condition de monotonie. La condition de normalisation est que et que . La condition de monotonie s’exprime selon la relation suivante : Ainsi, l’intégrale de Choquet , paramétrée par la mesure floue µ, d’un vecteur de valeurs a, s’écrit : . dans lequel est une permutation dans l’ensemble N vérifiant à la fois deux conditions et . Dans l’exemple décrit, la fonction d’agrégation A est une intégrale de Choquet qui est une intégrale 2-additive. Dans un tel cas, il n’est envisagé qu’une interaction entre au plus deux critères. Cela permet d’obtenir une représentation satisfaisante de la réalité tout en limitant le nombre de paramètres libres. Limiter le nombre de paramètres libres permet de faciliter l’apprentissage du fait que le risque de surapprentissage est limité. Lorsque la fonction d’agrégation A est une intégrale de Choquet 2-additive, la fonction d’agrégation s’écrit : Où : désigne le poids de la i-ième fonction d’utilité , désigne le poids de l’interaction minimale entre la i-ième fonction d’utilité et la j-ième fonction d’utilité , et désigne le poids de l’interaction maximale entre la i-ième fonction d’utilité et la j-ième fonction d’utilité . Comme visible sur l’exemple de la qui correspond à un tel premier sous-réseau, le premier sous-réseau de neurones comporte une couche d’entrée à n dimensions puis une couche cachée et une couche de sortie. Les neurones de la couche cachée réalisent chacun une fonction parmi : l’identité (si le neurone n’a qu’une seule entrée, le neurone renvoie son entrée inchangée), le min-pooling (le neurone a deux entrées et renvoie la valeur de la plus petite de ses entrées), ou le max-pooling (le neurone a deux entrées et renvoie la valeur de la plus grande de ses entrées). Une régression linéaire sur les sorties de tous ces neurones permet d’apprendre les poids , et . En variante, la fonction d’agrégation A est une somme pondérée des fonctions d’utilités. Selon encore un autre mode de réalisation, la fonction d’agrégation A est une moyenne pondérée ordonnée. Une telle opération est souvent désignée sous le sigle OWA qui renvoie à la dénomination anglaise de « Ordered weighted averaging ». En variante, la fonction d’agrégation A est une fonction d’indépendance additive généralisée. Une telle fonction est souvent dénommée fonction GAI, le sigle GAI renvoyant à la dénomination anglaise de « Generalized Additive Independance ». L’emploi d’une telle fonction suppose que le problème est modélisé comme une somme d’utilité sur des sous-ensembles de critères qui peuvent s’intersecter. En variante, la fonction d’agrégation A est une fonction multi-linéaire. Une telle fonction s’écrit mathématiquement selon une expression similaire à l’expression précédente pour le cas d’une intégrale de Choquet 2-additive, la seule modification étant de remplacer les fonctions min et max par un produit des variables, et de rajouter des neurones pour chacun des sous-ensembles manquant. L’utilisation de ce modèle demande d’utiliser des fonctions d’utilités multi-dimensionnelles qui peuvent être obtenues par une interpolation multi-linéaire, ou par une fonction logit intégrant une fonction multi-linéaire des différentes variables en entrée. Il est à noter qu’il n’est pas obligatoire que tous les premiers sous-réseaux réalisent la même fonction d’agrégation, chaque fonction d’agrégation pouvant être spécifique à un premier sous-réseau. La fonction d’agrégation est, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée d’une somme pondérée des variables, d’une intégrale de Choquet, d’une intégrale de Choquet 2-additive, d’une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k étant un entier au moins égal à 2, un modèle multi-linéaire, une fonction d’indépendance additive généralisée, et la moyenne pondérée ordonnée. Un deuxième sous-réseau implémente une fonction d’utilité telle que celles qui sont utilisées dans le cadre de modèles décomposables en aide à la décision multicritère. Le rôle d’une fonction d’utilité est de prendre en entrée la valeur brute sur l’un des critères, et de donner en sortie la satisfaction apportée par cette valeur sur ledit critère, indépendamment des valeurs de l’alternative sur tous les autres critères. Cela signifie qu’une fonction d’utilité prend en entrée un réel et sort un autre réel. En pratique, comme dans le présent exemple, un deuxième sous-réseau a pour entrées les valeurs brutes des alternatives sur chacun des critères, et donne en sortie la satisfaction marginale qu’une telle valeur donne à un décideur sur ce critère en particulier. Cela signifie que le deuxième sous-réseau implémente une fonction d’utilité marginale. Selon l’exemple décrit, la fonction d’utilité marginale est normalisée entre 0 et 1. Cela signifie que la valeur minimale de la fonction d’utilité marginale est égale à 0 et que la valeur maximale de la fonction d’utilité marginale est égale à 1. Dans certains cas, la valeur minimale et/ou la valeur maximale est atteinte aux limites. Ainsi, selon l’exemple décrit, une fonction d’utilité marginale u i est une fonction de X i dans l’intervalle [0,1] est une fonction assurant une correspondance entre le i-ème domaine d’attribut X i sur l’intervalle [0,1]. Un exemple de tel deuxième sous-réseau de neurones est illustré à la avec une couche cachée comportant 3 nœuds. Généralement, les fonctions d’utilité marginale sont de deux formes différentes. Selon une première forme, la fonction d’utilité marginale est monotone. Selon une deuxième forme, la fonction d’utilité marginale est une fonction à un seul plateau. Cette deuxième forme est souvent dénommée sous l’appellation « single-plateau ». Par définition, une fonction d’utilité marginale est selon la deuxième forme lorsque la fonction d’utilité marginale présente un unique changement de monotonie. Autrement formulé, la fonction d’utilité marginale présente seulement deux portions : une première portion sur laquelle la fonction est monotone dans un sens et une deuxième portion sur laquelle la fonction est monotone dans un sens différent de la première portion. Concernant la nature des fonctions d’utilité marginale selon la deuxième forme, il est possible de distinguer entre les fonctions d’utilité marginale comportant un plateau (fonction croissante puis décroissante) et les fonctions d’utilité marginale comportant une vallée (fonction décroissante puis croissante). Comme pour le cas du premier sous-réseau, il n’est pas obligatoire que tous les deuxièmes sous-réseaux de neurones réalisent la même fonction d’utilité marginale, chaque fonction d’utilité marginale pouvant être spécifique à un deuxième sous-réseau de neurones. La fonction d’utilité marginale est, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie. Selon l’exemple décrit, le réseau de neurones est ainsi un assemblage de sous-réseaux, plus exactement un assemblage de sous-réseaux, chaque sous-réseau étant choisi parmi le premier sous-réseau et le deuxième sous-réseau. Le réseau de neurones est un assemblage selon une structure spécifique. Ainsi, le réseau de neurones comporte un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones. La structure arborescente est une structure d’arbre lorsqu’il existe un chemin unique entre un sommet particulier vers tous les autres sommets, et que chaque sommet non-feuille compte au moins deux nœuds-fils. Plus spécifiquement, dans le cas décrit, la structure arborescente est une structure dont les feuilles sont les entrées brutes du réseau de neurones (le plus souvent les données disponibles issues des capteurs lorsque le système d’aide à la décision est utilisé en conditions réelles) et la racine est la sortie du réseau de neurones. En référence à la , le réseau de neurones comporte en entrée des deuxièmes sous-réseaux de neurones suivis par un premier sous-réseau de neurones. Le réseau de neurones décrit comporte trois deuxièmes sous-réseaux suivis d’un premier sous-réseau de neurones. Les sorties des deuxièmes sous-réseaux sont trois fonctions d’utilité marginale qui sont reliées par le premier sous-réseau de neurones qui implémente une intégrale de Choquet. Selon un autre exemple, le réseau de neurones comporte plusieurs premiers sous-réseaux. De manière générale, une telle structure permet que le réseau de neurones représente la hiérarchie des critères. Il peut être remarqué qu’une telle structure peut être représentée mathématiquement comme suit. Il est noté s(g) la sortie du nœud g. Si g est une feuille, alors s(g) sera l’image par une fonction d’utilité marginale du critère correspondant à la feuille. Sinon, si g est un nœud non-feuille, alors g a plusieurs fils {g1, g2, …, gf}. s(g) est à ce moment-là l’image par la fonction d’agrégation en g (par exemple une intégrale de Choquet 2-additive) du vecteur formé par les sorties de tous ses fils : s(g) = A(g1, g2,…, gf) où A est la fonction d’agrégation en question. Selon un premier exemple, la structure du réseau de neurones est conçue en collaboration avec le décideur. Selon un deuxième exemple, la structure du réseau de neurones est choisie par le concepteur. Pour réaliser un tel choix, le concepteur peut s’appuyer sur des relations évidentes entre des variables, de tests sur plusieurs modèles afin de déterminer le plus adapté aux données, ou encore d’analyses sur les variables visant à révéler des relations particulières qui peuvent être exploitées (réduction de dimension, fortes corrélations positives ou négatives entre deux variables par exemple). Selon un troisième exemple, la structure du réseau de neurones est un paramètre du réseau de neurones qui est appris lors de l’étape d’apprentissage E54. Du point de vue fonctionnel, le réseau de neurones en structure arborescente est une agrégation de critères d’entrée pour générer des nouveaux critères qui seront, à nouveau, agrégés en un nouveau critère et ainsi de suite, jusqu’à aboutir à un score global pour l’alternative considérée. Un tel type de réseau de neurones implémente ainsi un modèle de décision par petites agrégation successives, ce qui permet de représenter certaines stratégies complexes de décision, tout en élaguant des termes et des paramètres superflus qui peuvent apparaître dans une agrégation globale de tous les critères . D’autres structures sont envisageables pour le réseau de neurones. Ainsi, selon un exemple, le réseau de neurones comprend uniquement un premier sous-réseau. Dans un tel cas, le réseau de neurones implémente un modèle de régression choquistique classique. Selon un autre exemple, le réseau de neurones comporte en entrée une couche de deuxième réseau de neurones réalisant des fonctions d’utilités. Ceci permet d’obtenir une classe de modèle qui autorise l’utilisation de telles fonctions. Les fonctions d’agrégation décrites plus haut sont, pour la plupart, fortement contraintes, en particulier par la monotonie. Ainsi, l’intégrale de Choquet est croissante par rapport à chacune de ses entrées, et chacune de ses entrées doit être entre 0 et 1 (symboliquement, on agrège des satisfactions marginales en une satisfaction globale. Il est donc nécessaire que, plus la satisfaction sur un critère donné est élevée, plus la satisfaction globale est élevée, toutes choses égales par ailleurs). Par conséquent, une intégrale de Choquet peut ne pas être un modèle compatible avec certaines données brutes (c’est-à-dire en amont de l’application d’une utilité marginale). Pour reprendre l’exemple du radar, la satisfaction globale doit être décroissante par rapport à la consommation électrique, toutes choses égales par ailleurs. Cela signifie que, sans l’application d’une utilité marginale décroissante sur la consommation électrique, l’intégrale de Choquet ne pourra pas agréger ce critère de manière satisfaisante. En revanche, après application d’une telle fonction décroissante u, qui représente la satisfaction sur la consommation électrique p, on a bien la satisfaction globale qui est croissante par rapport à u(p), toutes choses égales par ailleurs. De même, le fait que les utilités soient toutes à valeurs dans [0,1] permet des propriétés importantes du modèle : la commensurabilité des critères (capacité à comparer les satisfactions sur plusieurs critères distincts) notamment. En effet, il est dur de comparer la satisfaction apportée par des critères qui vivent dans des échelles différentes (par exemple la portée radar entre 10km et 1000km, et la consommation électrique entre 1kW et 1000kW), et qui peuvent être dans des unités différentes. Les utilités permettent donc une renormalisation de tous ces éléments sur une même échelle de satisfaction [0,1] Ainsi, les utilités marginales permettent de rendre les données brutes « compatibles » avec le modèle. Selon encore un autre exemple, le réseau de neurones comporte, en entrée, d’autres sous-réseaux visant à déterminer les valeurs des critères à partir de données d’entrées. Dans l’exemple proposé, chaque sous-réseau présente un nombre de couches cachées inférieur ou égal à 3. Plus précisément, chaque sous-réseau est agencé sous forme de couches avec une couche d’entrées regroupant les neurones d’entrée et une couche de sortie regroupant la ou les neurone(s) de sortie. Toutes les couches intermédiaires sont des couches cachées qui sont uniquement en liaison avec les neurones des couches immédiatement en aval et les neurones de la couche immédiatement en amont. Plus généralement, chaque sous-réseau présente un nombre de couches cachées inférieur ou égal à 5. A titre d’exemple particulier, chaque sous-réseau est un perceptron multi-couches. En ce sens, le réseau de neurones est un ensemble de réseaux de neurones simples, représentant chacun une famille de fonctions d’agrégation ou de fonctions d’utilités, interconnectables afin d’obtenir des modèles d’aide à la décision multicritère. Selon un premier exemple, lors de l’étape de retranscription E52, l’ensemble de contraintes à respecter par le réseau de neurones est obtenu de manière implicite. Par exemple, en choisissant une fonction d’agrégation, on impose les contraintes de cette fonction d’intégration sur le modèle ; par exemple, une fonction d’agrégation qui est une intégrale de Choquet sera croissante de ses entrées, continue, bornée et idempotente. Selon un deuxième exemple, l’ensemble des contraintes est fourniexplicitement. A titre d’illustration, un décideur peut décider de contraindre encore plus les fonctions d’agrégation ou les fonctions d’utilités, en forçant par exemple certains paramètres à être plus grands que d’autres. Cela demande alors des contraintes supplémentaires à poser sur la fonction d’agrégation. L’ensemble de contraintes comporte ainsi des contraintes de monotonie, de dérivabilité, d’idempotence et de continuité. L’étape de retranscription E52 comporte la formulation de l’ensemble de contraintes à respecter par le réseau de neurones sous forme de sous-contraintes à respecter par chaque sous-réseau de neurones. Selon l’exemple décrit et comme cela sera décrit plus précisément en référence à l’étape d’apprentissage E54, les sous-contraintes à respecter par un sous-réseau de neurones sont choisies parmi la liste constituée de : - la monotonie de la variation de la sortie du sous-réseau de neurones en fonction des entrées du sous-réseau de neurones, - la sortie du sous-réseau de neurones est comprise entre une valeur minimale et une valeur maximale, la sortie du sous-réseau de neurones étant égale à la valeur minimale lorsque toutes les entrées du sous-réseau de neurones valent la valeur minimale, et la sortie du sous-réseau de neurones étant égale à la valeur maximale lorsque toutes les entrées du sous-réseau de neurones valent la valeur maximale, et - chaque sous-réseau est propre à implémenter des poids, une contrainte étant que les poids soient positifs et que la somme des poids soit égale à 1. En ce sens, avec la ou leur sous-contrainte(s) spécifique(s), chaque sous-réseau forme une unité de calcul autonome et indépendante des autres sous-réseaux . A l’issue de l’étape de retranscription E52, il est ainsi obtenu un réseau de neurones retranscrit, un tel réseau de neurones étant un réseau complet prêt pour être utilisé pour l’apprentissage en vue de résoudre le problème initial. Lors de l’étape d’apprentissage E54, il est mis en œuvre un apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage. Autrement formulé, le réseau étant construit et les données étant compatibles avec la mise en œuvre d’un apprentissage, il est possible de mettre en œuvre un entraînement du réseau avec les données d’apprentissage. Selon l’exemple proposé, les paramètres du réseau de neurones sont les poids reliant les neurones des réseaux de neurones et les biais apportés à la valeur d’entrée de certains neurones. Comme indiqué précédemment, dans certains cas, les paramètres du réseau de neurones comportent la structure du réseau de neurones. De toute manière, même si une information sur le réseau de neurones vient à ne pas être disponible, il est tout-de-même possible d’apprendre le réseau de neurones, bien qu’il risque d’être moins précis. L’apprentissage comprend l’emploi d’au moins une technique choisie dans la liste constituée d’une descente de gradient par lot, d’une descente de gradient stochastique, et d’une descente de gradient par mini-lot. Chacune de ces techniques est une technique ou un algorithme permettant d’apprendre les paramètres de chaque sous-réseau de neurones, notamment du fait que chaque sous-réseau est un perceptron multi-couches. De manière générale, ces techniques consistent à lire plusieurs fois les données d’apprentissage, propager chacun des points en avant dans le réseau de neurones, et propager les gradients en arrière (de la sortie vers l’entrée) pour réajuster les paramètres du réseau de neurones. Plus spécifiquement, la technique de descente par gradient par lot est aussi appelée algorithme de descente de gradient par batch. La mise en œuvre d’une telle technique comporte un ajustement des paramètres pour minimiser une fonction de coût, qui quantifie l’erreur entre la réponse estimée et la bonne réponse sur des données d’entraînement. Les paramètres sont modifiés itérativement en soustrayant le gradient de la fonction de coût qui se calcule par composition d’opérateurs linéaires ou de non-linéarités ponctuelles différentiables en effectuant une moyenne sur l’ensemble du lot c’est-à-dire l’ensemble des paramètres calculés. La mise en œuvre d’une telle technique implique ainsi des multiplications successives de matrices Jacobiennes. La descente de gradient stochastique (parfois aussi appelée l’algorithme du gradient stochastique) est une technique de descente de gradient (itérative) utilisée pour la minimisation d'une fonction objectif qui est écrite comme une somme de fonctions différentiables. La descente de gradient stochastique est moins consommatrice de calcul en ce sens qu’elle est réalisé sur un seul exemple par itération, l’exemple étant choisi aléatoirement dans la base de données. La descente de gradient par mini-lot, aussi appelé descente de gradient par mini-batch, est un compromis entre les deux techniques précédentes en choisissant un mini-lot aléatoirement à chaque itération et en calculant les gradients sur ce mini-lot. Dans certains cas, l’utilisation des techniques précitées conduit à apprendre un réseau de neurone ne présentant pas une propriété de cohérence. Pour éviter l’apparition de telles incohérences, dans l’exemple décrit, il est proposé d’imposer des contraintes à respecter localement, c’est-à-dire au niveau de chaque sous-réseau qui sont les sous-contraintes obtenues précédemment. Les sous-contraintes à respecter localement sont maintenant présentées successivement pour le premier sous-réseau et le deuxième sous-réseau selon les deux formes de fonction d’utilité marginale à laquelle celui-ci correspond. Pour ce qui concerne un premier sous-réseau, l’apprentissage consiste à apprendre une mesure floue satisfaisant aux données d’apprentissage et respectant les deux conditions précédentes, à savoir la condition de normalisation et la condition de monotonie. Selon l’exemple proposé d’une fonction d’agrégation qui est une intégrale de Choquet 2-additive, pour apprendre la mesure floue et notamment la propriété de monotonie, il suffit de garantir deux sous-conditions d’apprentissage, à savoir que tous les poids , et soient positifs et que la somme de l’ensemble des poids , et soit égale à 1. Cela correspond en réalité au respect de n² conditions. Par exemple, les deux sous-conditions d’apprentissage sont obtenues en effectuant des renormalisations fréquentes et ce, sans emploi de régularisation. Une fois apprise, le premier sous-réseau implémente formellement une intégrale de Choquet 2-additive, avec toutes les propriétés qui en sont attendues (monotonie, idempotence, continuité par exemple). Pour un deuxième sous-réseau et plus spécifiquement, une fonction d’utilité marginale selon la première forme, à savoir une fonction monotone, le sens de monotonie est connu. Selon l’exemple décrit, le sens de monotonie est fixé par le problème initial, le décideur connaissant un tel sens. Selon l’exemple décrit, une fonction d’utilité marginale (monotone, ou une partie monotone d’une fonction d’utilité marginale de type simple-plateau) est apprise comme une somme pondérée de sigmoïdes. Une sigmoïde s’écrit comme le rapport entre 1 et la somme de 1 avec une exponentielle. En outre, la somme pondérée est normalisée de telle manière que la somme des poids soit égale à 1, et que les poids soient tous positifs. Ceci s’écrit mathématiquement comme : Avec : un hyperparamètre fixant le nombre maximum de sigmoïdes impliquées dans la formule précédente, le poids associé à la l-ième sigmoïde, une première constante associée à la l-ième sigmoïde, la première constante contrôlant la précision de la l-ième sigmoïde, et une deuxième constante associée à la l-ième sigmoïde, la deuxième constante contrôlant le biais de la l-ième sigmoïde. L’apprentissage pour une telle fonction d’utilité marginale selon la première forme consiste alors à apprendre chaque poids et les deux constantes pour chacune des sigmoïdes avec deux contraintes portant sur les poids. Selon la première contrainte, chaque poids est positif et selon la deuxième contrainte, la somme des poids est égale à 1. Pour cela, par exemple, les poids de la dernière couche vers la sortie sont rendus positifs par l'utilisation de variables cachées dont les poids sont l'image par une fonction mathématique positive et croissante, et dans lequel la somme desdits poids est rendue égale à 1 par une renormalisation à chaque itération. Avec un tel apprentissage, il est garanti que la fonction d’utilité marginale est monotone (soit selon la première forme) et normalisée. Pour le cas d’une fonction d’utilité marginale selon la deuxième forme, la nature (plateau ou vallée) est acquise auprès du décideur. Pour la suite, il est supposé que la fonction d’utilité marginale est une fonction de type plateau. Une transformation est appliquée sur les données d’apprentissage pour n’avoir à apprendre que les plateaux. L’apprentissage consiste alors à apprendre quatre valeurs x1, x2, x3 et x4 telles que x1 sur les intervalles [x1 ; x2] et [x3 ; x4]. Un tel apprentissage garantit la forme, la normalisation et la continuité de la fonction d’utilité marginale selon la deuxième forme. En variante, l’apprentissage d’une fonction d’utilité marginale selon la deuxième forme est réalisé par un apprentissage de sommes pondérées de sigmoïdes dans un sens de monotonie (comme précédemment pour le cas d’une fonction d’utilité marginale selon la première forme) puis dans le sens de monotonie inverse. Il est à noter qu’est également apprise la valeur x* seuil, telle que la première somme pondérée est appliquée à gauche de ce point, et la seconde somme pondérée est appliquée à droite de ce point. La valeur en x* est nécessairement de 0 (dans le cas d’une vallée) ou de 1 (dans le cas d’un plateau). Cela est garanti par des renormalisations. Un tel apprentissage permet d’obtenir, en outre, une fonction d’utilité marginale qui est dérivable. Une telle propriété permet notamment de faciliter l’apprentissage puisque les problèmes de disparition ou d’explosion du gradient durant l’apprentissage sont évités. Au final, d’un point de vue global, l’apprentissage comporte, à chaque itération, une phase de propagation et une phase de rétropropagation. La phase de propagation est une phase de propagation avant consistant en l’injection dans les feuilles des valeurs sur chaque critère. Les valeurs vont alors passer de sous-réseau en sous-réseau, au fil des agrégations successives, jusqu’à atteindre la racine, ou nœud de sortie, qui nous donnera le résultat. La phase de rétropropagation consiste à comparer le résultat obtenu au résultat attendu. La phase de rétropropagation utilise une fonction dite « de perte » qui caractérise la différence entre la prédiction et la vérité. Une telle fonction est une fonction de l’erreur quadratique qui s’écrit L(x,y) = (M(x)-y)² avec x est une alternative en entrée, M(x) le score donné à l’alternative x par le modèle M et y le score attendu. Le gradient de cette fonction L est alors calculé en sortie, puis propagé à travers tout le réseau, le remontant jusqu’aux feuilles. Ainsi, au fur et à mesure, chacun des sous-réseaux calcule les gradients de la perte par rapport à ses propres paramètres et les met à jour avant de transmettre les gradients aux sous-réseaux en amont. Il est à noter également que le type de fonction d’erreur à optimiser dépend du type de données (erreur quadratique moyenne pour la régression, par exemple, ou erreur logistique pour de la classification binaire). N’importe quel type de fonction d’erreur différentiable peut ainsi être minimisée, au moins localement. A titre d’illustration, dans le cas d’apprentissage par paires de préférences, une architecture siamoise est privilégiée (le réseau N est dupliqué, afin d’obtenir deux réseaux « clones » N1 et N2 identiques au réseau N). L’erreur est alors une fonction croissante de (N2(x2)-N1(x1)),(par exemple, une fonction arctangente, soit ici atan(N2(x2)-N1(x1)). Les gradients sont calculés sur le premier réseau clone N1, et le deuxième réseau clone N2, et sont ensuite sommés pour obtenir le gradient total. Ce dernier est appliqué au premier réseau clone N1, puis le premier réseau clone N1 est à nouveau copié pour obtenir le nouveau réseau clone N2. L’étape d’apprentissage E54 permet d’obtenir un réseau de neurones appris résolvant le problème initial. Le réseau de neurones appris réalise une fonction. Lors de l’étape de détermination E56, il est déterminé la fonction réalisée par le réseau de neurones appris. Plus précisément, il est déterminé une forme explicite sous la forme d’une formule mathématique compacte, qui conserve les mêmes paramètres (et correspond donc à exactement la même fonction que celle que le réseau de neurones représente). La fonction déterminée est la fonction correspondant à la formule mathématique compacte. A titre d’exemple particulier, dans le cas de l’intégrale de Choquet 2-additive, le réseau apprend les poids w i , w ij_min et w ij_max . Une fois le réseau appris, les poids sont extraits (en ignorant tout le reste des paramètres), et les poids sont utilisés pour paramétrer une fonction explicite d’intégrale de Choquet 2-additive (voir équation précédente). La fonction déterminée est ainsi complètement caractérisée. Le réseau n’est ainsi qu’un support pour apprendre une telle fonction, tout en gardant ses paramètres explicites. Les paramètres peuvent, après l’apprentissage, être enregistrés, stockés, ou utilisés tels-quels pour paramétrer une fonction du même type. Lors de l’étape d’implémentation E58, il est implémenté physiquement la fonction déterminée pour obtenir le système d’aide à la décision. Selon un exemple particulier, le réseau de neurones est implémenté sur un FPGA. Le procédé de génération permet ainsi d’obtenir un système d’évaluation implémentant la fonction réalisée par le réseau de neurone appris avec une implémentation simplifiée (consommant peu de ressources et de mémoire) pour la rendre compatible avec une implémentation embarquée. En outre, le système d’évaluation permettra de répondre au problème initial et d’assister le décideur, notamment lorsque les alternatives sont modifiées trop fréquemment pour qu’elles soient toutes étudiées par un humain (aspect mise en œuvre en temps réel) ou par l’émission d’une alerte lorsqu’une alternative acceptable la plupart du temps ne l’est plus (cas d’une application de surveillance). Le procédé de génération permet ainsi d’apprendre facilement et rapidement un modèle de préférences complexe respectant des contraintes formelles fortes et correspondant à des classes connues de modèles de préférences, ou issus d’agrégations successives de modèles appartenant auxdites classes. Un tel modèle de préférences est ainsi un modèle propre à assister un décideur dans sa prise de décision sur un problème donné notamment parce qu’il reste transparent et aisé à interpréter. Ces propriétés ont été démontrées expérimentalement par le demandeur lors de tests. Par ailleurs, le procédé de génération est un procédé d’apprentissage neuronal d‘un modèle de préférences, ce qui signifie que le procédé de génération utilise avantageusement une représentation d’un problème sous forme d’un réseau de neurones. En particulier, le procédé permet de modifier le réseau de neurones pour passer aisément d’un type de problème à un autre. Par exemple, il est aisé de passer d’un problème de régression à un problème de classification, voire d’apprentissage de préférences à partir de paires d’alternatives étiquetées, en fonction des données d’entrée, de leur nature, et de la nature attendue de la sortie. En outre, l’apprentissage d’un réseau de neurones est une tâche bien parallélisable. Il est ainsi possible d’implémenter l’étape d’apprentissage E54 avec une architecture matérielle adaptée pour des opérations menées en parallèle. Ainsi, l’étape d’apprentissage E54 est avantageusement exécutée sur des processeurs tels que les CPU ou les GPU. Un CPU est un processeur, le sigle CPU provenant du terme anglais « Central Processing Unit » signifiant littéralement unité centrale de traitement tandis qu’un GPU est un processeur graphique, le sigle GPU provenant du terme anglais « Graphic Processing Unit » signifiant littéralement unité graphique de traitement. Selon une autre variante, l’étape d’apprentissage E54 est réalisée sur une ferme de calcul. Il résulte des éléments précédents que le procédé de génération permet de tirer parti du meilleur de deux mondes, celui de l’aide à la décision multi-critères avec sa rigueur d’une part et celui de l’apprentissage automatique avec son approche statistique d’autre part. Le procédé de génération fait ainsi partie du domaine de l’intelligence artificielle hybride, domaine qui combine les méthodes statistiques d’apprentissage automatique et des contraintes expertes fortes intégrées à ces modèles d’apprentissage. Le procédé de génération exploite les avantages procurés par l’utilisation des réseaux de neurones, à savoir une grande modularité et l’absence de besoin de calcul à la main de gradients complexes, tout en garantissant des contraintes fortes sur le modèle appris, à la fois grâce à l’architecture particulière du réseau, et grâce aux normalisations et procédures évoquées plus haut. Autrement formulé, le procédé exploite donc la capacité des perceptrons multicouches à régresser des paramètres de modèles à partir de données, et les garanties formelles offertes par les modèles d’agrégation d’aide à la décision multicritère pour apprendre des modèles subtils, mais fortement contraints. Le procédé permet ainsi de générer des modèles adaptés à l’aide à la décision multicritère, qui offre les garanties sur le modèle que peuvent exiger des décideurs dans des cadres opérationnels. Le procédé apporte cependant en plus la possibilité de travailler sur des données bruitées, voire erronées. Le procédé utilise aussi le fait que le réseau de neurones est divisé en deux types de sous-réseaux. Cela permet d’obtenir un procédé de génération présentant une plus grande simplicité calculatoire. En effet, les procédés de l’état de la technique impliquent de calculer un gradient local pour chacune des configurations possibles, ce qui conduit en pratique à limiter l’agrégation pour que le calcul puisse être effectué en pratique. Dans le présent procédé, au contraire, les gradients sont calculés uniquement localement, c’est-à-dire agrégation par agrégation. Plus précisément, lors de l’étape d’apprentissage E54, les données d’apprentissage sont propagées de sous-réseau en sous-réseau lors de la propagation avant et les gradients sont ensuite propagés de sous-réseau en sous-réseau lors de la rétropropagation. Pour chaque sous-réseau, il est ainsi calculé un gradient simple indépendamment de la complexité du réseau dans sa globalité et ce gradient calculé est ensuite propagé aux sous-réseaux en amont. Un tel procédé offre une implémentation facilitée des contraintes. Les sous-réseaux sont définis de manière à garantir qu’à n’importe quel stade de l’étape d’apprentissage E54 le sous-réseau respecte formellement toutes les contraintes à respecter pour la fonction que le sous-réseau réalise. Il est ainsi évité l’emploi de régularisations ou de calculs de vérification. Les contraintes sont remplies localement pour chaque sous-réseau de manière aisée et le fait que les contraintes sont remplies par chaque sous-réseau appris garantit que l’ensemble du réseau appris remplit les contraintes de manière globale. Le procédé présente également l’avantage d’une grande modularité puisque chaque sous-réseau peut être modifié sans modifier l’ensemble du réseau. Par exemple, il est possible de remplacer un premier sous-réseau par un autre premier sous-réseau correspondant à une fonction d’agrégation différente. On peut également remplacer un module d’utilité marginale par un autre. Il est également possible de réagencer les sous réseaux. Cependant, dans ce cas, il convient de ré-entraîner le réseau (ou du moins, la sous partie du réseau qui a été modifiée). Une telle possibilité est notamment pertinente dans le cas d’une hiérarchie d’agrégations. En particulier, il peut ainsi être supposé que, si un grand nombre de classes de cellules d’agrégations classiques a été appris, trouver la bonne hiérarchie est le seul problème qui reste pour adapter le réseau de neurones à la situation. Le procédé permet aussi des validations plus simples. En effet, pour chaque sous-réseau du même type qui sont de la même classe, il suffit de vérifier que la classe remplit les conditions nécessaires exposées dans l’étape d’apprentissage E54 pour valider tous les sous-réseaux de la même classe. Il en résulte une plus grande facilité d’entretien de l’implémentation physique du réseau de neurones appris. D’autres modes de réalisation du présent procédé sont envisageables. Selon un premier exemple d’autre mode de réalisation, l’étape d’apprentissage E54 comporte une validation du modèle. Plus précisément, après mise en œuvre d’une technique d’apprentissage comme proposée précédemment, il est obtenu un modèle à valider dont les paramètres sont désormais déterminés. Le concepteur présente alors au décideur le modèle à valider, c’est-à-dire la fonction que le réseau de neurones apprend Une telle présentation est, par exemple, mise en œuvre par utilisation d’indicateurs utilisés dans le domaine de l’aide à la décision. Les valeurs de Shapley ou les indices d’interaction sont des exemples de tels indicateurs. A titre d’illustration, le concepteur présente un graphe traçant les valeurs de Shapley de chaque critère. Par définition, la valeur de Shapley de chacun des critères représente l’importance relative du critère par rapport aux autres critères. Sachant une mesure floue µ sur un ensemble de critères, la valeur de Shapley du critère i se calcule comme : L’indice d’interaction, lui, caractérise la force d’une interaction entre deux critères (par sa valeur absolue). Le signe de l’indice d’interaction indique s’il s’agit d’une redondance (négatif) ou d’une synergie (positif). L’indice d’interaction entre les critères i et j s’écrit comme : Selon un autre exemple, il est utilisé des indicateurs issus de l’apprentissage automatique comme les analyses de sensibilité, les indices de Sobol ou les erreurs en validation croisée. Les indices de Sobol sont des alternatives aux valeurs de Shapley pour calculer la part de variance exprimée par chacun des critères (une autre manière de définir l’importance de chacun des critères). La validation croisée est un processus visant à quantifier la performance du système : un réseau est entraîné sur 80% des données, et testé sur les 20% restants (de manière à l’évaluer sur des données qui n’ont pas été vues à l’entraînement). Les erreurs sur ces données (outre leur valeur moyenne, qui est déjà un indicateur de la performance du modèle), apportent des informations sur le modèle. Notamment, si tous les exemples d’une certaine zone de l’espace X sont mal classifiés, cela peut dénoter une faiblesse du modèle dans cette zone précise, ce qui peut illustrer une mauvaise utilité marginale, ou un mauvais choix de fonction d’agrégation. Avec les éléments fournis par le concepteur, le décideur détermine si le modèle est valable au regard de son expérience de la situation réelle. Lorsque le décideur considère que le modèle n’est pas valable car certaines sorties du modèle sont erronées, le concepteur détermine comment effectuer les corrections appropriées pour obtenir un modèle valable. Une telle correction est, selon un premier exemple, une correction manuelle, c’est-à-dire une modification forcée de certaines valeurs de paramètres du réseau de neurones appris. Selon un deuxième exemple pouvant être mis en œuvre en combinaison avec le premier exemple ou tout seul, il est ajouté des données dans les données d’apprentissage et un apprentissage est mis en œuvre avec les données d’apprentissage ainsi complétées. Un tel exemple de correction permet notamment de réparer d’éventuelles erreurs dues à des données erronées, ou à une zone de l’espace d’entrée sous-représentée dans les données d’apprentissage originelles. Le processus présenté (évaluation et correction) peut être itéré autant de fois que nécessaire jusqu’à que le décideur soit satisfait du modèle obtenu. Dans certains cas, la validation comprend l’utilisation d’indicateurs quantitatifs comme l’erreur en validation croisée à la place de la satisfaction du décideur ou en complément de la satisfaction du décideur via une pondération de l’évaluation subjective et quantitative. Selon un tel premier exemple d’autre mode de réalisation, l’apprentissage comprend la mise en œuvre d’une technique d’apprentissage supervisée. Selon un deuxième exemple d’autre mode de réalisation, il est réalisé un apprentissage de la hiérarchie des critères. Un tel mode de réalisation est notamment pertinent lorsque le décideur n’est pas disponible. Pour cela, à titre d’illustration, l’apprentissage comporte un premier apprentissage avec l’ensemble de contraintes de la retranscription permettant d’apprendre un réseau de neurones intermédiaire, un deuxième apprentissage de l’ensemble de contraintes en fixant le réseau de neurones au réseau de neurones intermédiaire, pour obtenir un ensemble de contraintes appris, et un ajustement du réseau de neurones appris en fonction de l’écart entre l’ensemble de contraintes de la retranscription et l’ensemble de contraintes appris, pour obtenir un réseau de neurones ajusté, le réseau de neurones appris étant le réseau de neurones ajusté. Quelques implémentations d’un tel exemple sont décrits dans ce qui suit. Une première technique est d’apprendre une seule couche d’agrégation. Une telle couche est cependant surparamétrée, et présente des risques plus importants de sur-apprentissage qu’un modèle conçu avec un expert, mais est la plus susceptible de représenter adéquatement les données. Une deuxième technique consiste à étudier les données via divers algorithmes d’apprentissage non-supervisé. Par exemple, les interactions peuvent être vues sur des matrices de corrélation/covariance, les sens des utilités sur des graphes de dépendance partielles, les critères artificiels peuvent être les composantes principales d’une transformation de Karhunen-Loève. Des techniques plus avancées, comme des autoencodeurs variationnels, peuvent également être appliquées. Enfin, une troisième technique consiste en un apprentissage de la hiérarchie via des techniques dites d’apprentissage de structure (plus souvent désignées sous l’appellation anglaise correspondante de « structure learning »). Cela inclut, mais n’est pas restreint à, des techniques évolutionnaires ou génétiques, des techniques d’exploration ou de recherche heuristique (recherche en faisceau par exemple). L’une des techniques préférées, propre aux intégrales de Choquet, consiste à partir d’un modèle « plat », à une seule agrégation et d’apprendre jusqu’à la convergence. Une fois ceci fait, l’observation des valeurs d’interactions entre critères permet de regrouper ensemble les critères qui interagissent de la même manière avec tous les autres critères, générant ainsi un nouvel arbre. Plusieurs arbres candidats sont ainsi créés, et entraînés. Il peut alors n’être gardé qu’un certain nombre de meilleurs candidats (ceux qui ne dégradent pas la performance), et poursuivre l’apprentissage jusqu’à un critère d’arrêt choisi (par exemple, si aucun nouveau candidat n’améliore la performance). Dans encore un autre mode de réalisation, le procédé de génération comporte l’application d’une technique statistique pour robustifier le modèle implémenté par le réseau de neurones ou des techniques de modifications de caractéristiques (analyse par composante principale, auto-encodeur…). Selon une autre variante, le réseau de neurones comporte des étages de prétraitements sur les entrées ou de post-traitement sur les sorties. En variante ou en complément, le réseau de neurones comporte un ou plusieurs sous-réseaux d’apprentissage profond. En particulier, des réseaux faisant de l’apprentissage de représentation ou de la sélection de caractéristiques permettraient ainsi d’extraire, à partir de données initialement incompatibles avec le modèle (une image par exemple) de nouvelles caractéristiques (ou de nouveaux critères) qui, elles, serviraient de support aux décisions prises par les modèles de décision décrits plus haut. Le ou les premiers sous-réseaux servent dans ce cas de « bloc de sortie » et prennent donc des décisions sur les informations pré-traitées par les réseaux profonds en amont. Un cas particulier est le calcul de fonctions d’utilités marginales qui peuvent être appliquées comme « remise à l’échelle » des critères natifs, dans le cadre de modèles utilitaires, afin d’offrir des variables modifiées plus adaptées aux agrégations qui suivent. On peut ainsi apprendre en parallèle les utilités marginales et les paramètres des fonctions d’agrégation par descente stochastique du gradient. L’homme du métier comprend bien que le procédé de génération peut comprendre une combinaison des caractéristiques précédentes lorsqu’elles sont techniquement compatibles. Procédé de génération d’un système d’aide à la décision multicritère, le procédé de génération comprenant : - la fourniture d’un problème initial et de données d’apprentissage résolvant le problème initial pour des cas particuliers, le problème initial étant un problème d’évaluation de la qualité d’un système existant ou à créer, le problème initial est un problème choisi parmi : - le choix de la meilleure alternative parmi un ensemble d’alternatives, - la répartition d’alternatives parmi des classes de préférences, - le rangement d’alternatives par ordre de préférence, et - la fourniture d’un score d’évaluation d’une alternative, - la retranscription du problème initial sous forme d’un réseau de neurones et d’un ensemble de contraintes à respecter par le réseau de neurones, pour obtenir un réseau de neurones retranscrit, - l’apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage, pour obtenir un réseau de neurones appris résolvant le problème initial, - la détermination de la fonction réalisée par le réseau de neurones appris, et - l’implémentation physique de la fonction déterminée pour obtenir le système d’aide à la décision. Procédé de génération selon la revendication 1, dans lequel le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones, l’étape de retranscription comportant la formulation de l’ensemble de contraintes à respecter par le réseau de neurones sous forme de sous-contraintes à respecter par chaque sous-réseau de neurones. Procédé de génération selon la revendication 2, dans lequel chaque sous-réseau de neurones comporte des couches cachées, le nombre de couches cachées étant inférieur ou égal à 5, de préférence inférieur ou égal à 3. Procédé de génération selon la revendication 2 ou 3, dans lequel les sous-contraintes à respecter par un sous-réseau de neurones sont choisis parmi la liste constituée de : - la monotonie de la variation de la sortie du sous-réseau de neurones en fonction des entrées du sous-réseau de neurones, - la sortie du sous-réseau de neurones est comprise entre une valeur minimale et une valeur maximale, la sortie du sous-réseau de neurones étant égale à la valeur minimale lorsque toutes les entrées du sous-réseau de neurones valent la valeur minimale, et la sortie du sous-réseau de neurones étant égale à la valeur maximale lorsque toutes les entrées du sous-réseau de neurones valent la valeur maximale, et - chaque sous-réseau est propre à implémenter des poids, une contrainte étant que les poids soient positifs et que la somme des poids soit égale à 1. Procédé de génération selon l’une quelconque des revendications 1 à 4, dans lequel le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée de : - une somme pondérée des variables, - une intégrale de Choquet, - une intégrale de Choquet 2-additive, - une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, - un modèle multi-linéaire, - une fonction d’indépendance additive généralisée, et - la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité marginale étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie. Procédé de génération selon l’une quelconque des revendications 1 à 5, dans lequel l’apprentissage comporte : - un premier apprentissage avec l’ensemble de contraintes de la retranscription permettant d’apprendre un réseau de neurones intermédiaire, - un deuxième apprentissage de l’ensemble de contraintes en fixant le réseau de neurones au réseau de neurones intermédiaire, pour obtenir un ensemble de contraintes appris, et - un ajustement du réseau de neurones appris en fonction de l’écart entre l’ensemble de contraintes de la retranscription et l’ensemble de contraintes appris, pour obtenir un réseau de neurones ajusté, le réseau de neurones appris étant le réseau de neurones ajusté. Procédé de génération selon l’une quelconque des revendications 1 à 6, dans lequel l’apprentissage comprend l’emploi d’au moins une technique choisie dans la liste constituée d’une descente de gradient par lot, d’une descente de gradient stochastique et d’une descente de gradient par mini-lot. Procédé de génération selon l’une quelconque des revendications 1 à 7, dans lequel l’apprentissage comprend l’emploi d’une somme pondérée de sigmoïdes. Système d’aide à la décision généré par mise en œuvre d’un procédé de génération selon l’une quelconque des revendications 1 à 8. Système d’aide à la décision multicritère comprenant une implémentation physique d’un réseau de neurones comprenant un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée de : - une somme pondérée des variables, - une intégrale de Choquet, - une intégrale de Choquet 2-additive, - une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, - un modèle multi-linéaire, - une fonction d’indépendance additive généralisée, et - la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie.