Brevet FR3116926A1 — publié le 20220603

Procédé d’évaluation de la performance d’un algorithme de prédiction et dispositifs associés L’invention concerne un procédé d’évaluation de la performance d’un algorithme de prédiction prédisant pour des entrées données les sorties, l’algorithme ayant été appris par utilisation d’une technique d’apprentissage machine, le procédé comportant les étapes de : - obtention de jeux de données, chaque donnée d’un jeu correspondant aux sorties que devrait donner l’algorithme en présence des entrées du jeu, - réception de la probabilité qu’un jeu soit observé, - collection des sorties prédites par l’algorithme pour chaque entrée des données des jeux, - détermination de la distribution de la précision de prédiction de la sortie prédite, - agrégation des distributions déterminées par emploi d’une fonction d’agrégation utilisant les probabilités reçues, et - application d’au moins une métrique de risque à la distribution de précision de prédiction agrégée pour obtenir au moins un indicateur de la performance de l’algorithme. Figure pour l'abrégé : figure 2 Procédé d’évaluation de la performance d’un algorithme de prédiction et dispositifs associés La présente invention concerne un procédé d’évaluation de la performance d’un algorithme de prédiction. La présente invention se rapporte également à un produit programme d’ordinateur et à un support lisible d’informations associés. La présente invention se situe dans le domaine de la mise au point d’algorithmes de prédiction ayant été appris par utilisation d’une technique d’apprentissage machine. L’apprentissage machine est désigné par de nombreux termes différents comme le terme anglais de « machine learning », le terme « apprentissage automatique », le terme « apprentissage artificiel » ou encore le terme « apprentissage statistique ». L’apprentissage machine consiste à utiliser des données pour apprendre un algorithme de prédiction. Toutefois, si l’algorithme de prédiction ainsi appris est performant pour le jeu de données utilisés pour son apprentissage, cela ne montre pas que l’algorithme de prédiction soit adapté au cas d’usage dans lequel il est prévu de l’utiliser. Différentes approches existent pour évaluer les performances algorithmiques, comme par exemple, la conduite d’expériences d’analyse de robustesse ou encore l’utilisation de méthodes formelles pour la certification dans une plage de données prédéfinies. Cependant, ces approches ne donnent que des réponses partielles au problème de mesure et ne prennent pas en compte tous les cas d’utilisation, ce qui les rend imprécises. Il existe donc un besoin pour un procédé d’évaluation de la performance d’un algorithme de prédiction qui soit plus précis. A cet effet, la description décrit un procédé d’évaluation de la performance d’un algorithme de prédiction pour un cas d’utilisation prédéfini, l’algorithme de prédiction prédisant pour des entrées données la valeur d’une ou plusieurs sorties, l’algorithme de prédiction ayant été appris par utilisation d’une technique d’apprentissage machine et d’un jeu de données d’apprentissage, le procédé comportant une étape d’obtention de jeux de données, chaque donnée d’un jeu de données correspondant aux valeurs de sortie que devrait donner l’algorithme de prédiction en présence des valeurs d’entrées du jeu de données, une étape de réception de la probabilité pour chaque jeu de données qu’un jeu de données soit observé lors du cas d’utilisation de l’algorithme de prédiction, une étape de collection des sorties prédites par l’algorithme de prédiction pour chaque valeur d’entrées des données des jeux de données, une étape de détermination de la distribution de la précision de prédiction de la sortie prédite pour chaque jeu de données, pour obtenir des distributions déterminées, une étape d’agrégation des distributions déterminées par emploi d’une fonction d’agrégation utilisant les probabilités reçues, pour obtenir une distribution de précision de prédiction agrégée, et une étape d’application d’au moins une métrique de risque à la distribution de précision de prédiction agrégée pour obtenir au moins un indicateur de la performance de l’algorithme de prédiction. Selon des modes de réalisation particuliers, le procédé d’évaluation présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles : - une métrique de risque est une métrique de quantiles et un indicateur de la performance de l’algorithme de prédiction est la valeur d’un quantile de niveau prédéterminé. - une métrique de risque est une espérance conditionnelle et un indicateur de la performance de l’algorithme de prédiction est une valeur de l’espérance conditionnelle. - la précision de prédiction est calculée à l’aide d’une métrique d’évaluation, la métrique d’évaluation étant une moyenne de l’erreur de prédiction absolue, une métrique de quantiles, ou un moment empirique de la distribution de la précision de prédiction. - la précision de prédiction est calculée en utilisant un algorithme de prédiction de référence. - le procédé comporte l’établissement d’un rapport donnant l’ensemble des informations ayant permis d’obtenir l’indicateur de la performance. - l’étape d’obtention est mise en œuvre par génération de chaque jeu de données à partir d’un jeu de données de référence selon une loi de probabilité donnée. - l’étape d’obtention est mise en œuvre, pour chaque jeu de données, par génération par un modèle génératif de données initiales et par sélection selon une loi de probabilité donnée des données initiales pour former le jeu de données. - l’étape d’obtention comporte la modification des jeux de données en introduisant des imperfections de l’environnement du système que l’algorithme de prédiction modélise. - l’étape d’obtention comporte la modification des jeux de données en introduisant des perturbations adverses visant à manipuler les sorties de l’algorithme de prédiction. La présente description décrit également un produit programme d’ordinateur comportant un support lisible d’informations, sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation tel que précédemment décrit lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement des données. La présente description décrit également un support lisible d’informations comportant des instructions de programme formant un programme d’ordinateur, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation tel que précédemment décrit lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement de données. L’invention sera mieux comprise et d’autres avantages de celle-ci apparaîtront plus clairement à la lumière de la description qui va suivre, donnée uniquement à titre d’exemple et faite en référence aux dessins annexés, dans lesquels : - , la est une représentation schématique d’un système et d’un produit programme d’ordinateur, et - , la est un ordinogramme d’un exemple de mise en œuvre d’un procédé d’évaluation d’un algorithme de prédiction. Un système 10 et un produit programme d’ordinateur 12 sont représentés sur la . L’interaction entre le système 10 et le produit programme d’ordinateur 12 permet la mise en œuvre d’un procédé d’évaluation d’un algorithme de prédiction. Le procédé d’évaluation est ainsi un procédé mis en œuvre par ordinateur. Le système 10 est un ordinateur de bureau. En variante, le système 10 est un ordinateur monté sur un rack, un ordinateur portable, une tablette, un assistant numérique personnel (PDA) ou un smartphone. 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 système 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 système 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 système 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 système 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 du système 10 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é d’évaluation. 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é d’évaluation 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 système 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 système 10 est maintenant décrit en référence à la qui est un ordinogramme illustrant un exemple de mise en œuvre du procédé d’évaluation. Le procédé d’évaluation est un procédé d’évaluation de la performance d’un algorithme de prédiction pour plusieurs cas d’utilisation distincts. L’algorithme de prédiction est propre à prédire pour des entrées données la valeur d’une ou plusieurs sorties. L’algorithme a été appris par utilisation d’une technique d’apprentissage machine et d’un jeu de données d’apprentissage. Plus précisément, dans l’exemple qui va être décrit, l’algorithme est un algorithme d’apprentissage statistique supervisé. Dans la suite, un tel algorithme est noté par une fonction où l’ensemble X désigne l’ensemble des entrées de l’algorithme et Y l’ensemble des sorties de l’algorithme. L’algorithme de prédiction est, par exemple, une machine à vecteurs supports (plus connue sous la dénomination anglaise de « Support Vectors Machine »), un réseau de neurones (plus connu sous la dénomination anglaise de «Neural Network») ou un arbre aléatoire (plus connu sous la dénomination anglaise de « Random Forest »). Plus généralement, tout type d’algorithme de prédiction supervisé est envisageable pour le présent contexte. Un tel algorithme de prédiction peut être utilisé pour des contextes très divers comme la classification d’images, la reconnaissance de formes tridimensionnelles ou l’aide à la décision dans le cadre du pilotage de drones autonomes. De préférence, l’algorithme de prédiction prend en entrée et/ou donne en sortie des grandeurs physiques correspondant à des mesures issues d’un ou plusieurs capteurs. Pour la suite, à titre d’illustration, il est supposé que l’algorithme de prédiction est un algorithme de reconnaissance de chiffres. L’algorithme de reconnaissance prend en entrée une image et détermine le chiffre contenu dans l’image. Le procédé comprend les étapes suivantes : une étape d’obtention E50, une étape de réception E52, une étape de collection E54, une étape de détermination E56, une étape d’agrégation E58, une étape d’application E60 et une étape d’établissement E62. Lors de l’étape d’obtention E50, il est obtenu jeux de données. Le nombre est un nombre entier supérieur ou égal à 2, qui se décompose en un produit , avec un entier supérieur ou égal à 1, de l’ordre de la dizaine, et un entier supérieur ou égal à 1, préférentiellement supérieur ou égal à 100. Les nombres et sont définis plus précisément dans la suite de la description. Chaque jeu de données comporte un nombre de données respectif. Le nombre de données d’un jeu est au moins supérieur à 2, préférentiellement supérieur ou égal à 100, et dépend en pratique d’un horizon de temps T caractéristique de l’utilisation opérationnelle de l’algorithme de prédiction considéré. Chaque donnée d’un jeu de données correspond aux valeurs de sortie que devrait donner l’algorithme de prédiction en présence des valeurs d’entrées du jeu de données. Dans l’exemple décrit, il est supposé qu’un jeu de données de référence est connu. Un tel jeu de références est un jeu comprenant une image de chaque chiffre et comportant le chiffre associé. L’étape d’obtention E50 est alors mise en œuvre par génération de chaque jeu de données à partir du jeu de données de référence selon une loi de probabilité donnée. Autrement formulé, la génération est mise en œuvre par un tirage aléatoire suivant une loi de probabilité. A titre d’exemple, la loi de probabilité est une loi uniforme. Selon un exemple plus élaboré, pour certains cas d’application, le chiffre 1 est plus fréquent que les autres. Aussi, la loi de probabilité pourra favoriser la génération de jeu de données avec le chiffre 1. Selon un autre exemple, l’étape d’obtention E50 est mise en œuvre, pour chaque jeu de données, par génération par un modèle génératif de données initiales et par sélection selon une loi de probabilité donnée des données initiales pour former le jeu de données. Un modèle génératif est un algorithme d’apprentissage automatique qui cherche à décrire les données, permettant par la suite de générer de nouveaux échantillons selon la description (i.e. loi de probabilité) déterminée lors de phase d’apprentissage. Un exemple classique est un réseau antagoniste génératif (plus souvent désigné sous l’acronyme de GAN en référence à la dénomination anglaise de « Generative Adversial Network », permettant la synthèse d’images (fictives) très réalistes à partir d’images réelles. Un autre exemple est un auto-encodeur à variations, plus souvent désigné sous l’acronyme VAE renvoyant à la dénomination anglaise de « Variational Auto-Encoder ». En d’autres termes, par rapport au mode de réalisation précédent, au lieu d’utiliser des jeux de données de référence, il est utilisé des données obtenues à l’aide d’un modèle génératif. En variante ou en complément, l’étape d’obtention E50 comporte la modification des jeux de données (jeux de données générés ou jeux de données de référence) en introduisant des imperfections de l’environnement du système que l’algorithme de prédiction modélise. Par exemple, si l’image à reconnaître des chiffres est une image scannée à partir d’une note manuscrite, les jeux de données pourront être modifiés en tenant en compte les imperfections du scanner utilisé. Selon d’autres exemples, des transformations géométriques, la prise en compte de bruit ou de perturbations extérieures sont considérées pour la modification. A titre de perturbations extérieures, il convient de noter que l’introduction de perturbations adverses visant à manipuler les sorties de l’algorithme de prédiction permet de bien augmenter la robustesse de l’évaluation. Ainsi, dans tous les cas, l’étape d’obtention E50 est le résultat de la mise en œuvre d’une génération de couples d’entrée/sortie permettant d’obtenir diverses réalisations de variables aléatoires (x,y) sous la mesure de probabilité . A l’issue de l’étape d’obtention E50, il est ainsi obtenu un ensemble fini de couples entrée/sortie. Lors de l’étape de réception E52, il est reçu la probabilité pour chaque jeu de données qu’un jeu de données soit observé lors d’un cas d’utilisation de l’algorithme de prédiction. A titre d’exemple, si les jeux de données correspondent à des images en noir et blanc alors que, dans le cas d’utilisation, les images sont en couleur, le cas où les images couleur seront comparables au cas d’images en noir et blanc présentent une certaine probabilité. Similairement, la répartition des chiffres à l’usage n’est pas équirépartie, de sorte que la probabilité d’avoir certains chiffres est plus forte que la probabilité d’avoir d’autres chiffres. Lors de l’étape de collection E54, les sorties prédites par l’algorithme de prédiction pour chaque valeur d’entrées des données des jeux de données sont collectées. Autrement formulé, l’algorithme de prédiction est appliqué sur les valeurs d’entrées et le résultat est collecté par le système 10. Pour chaque entrée, il est ainsi connu la valeur prédite par l’algorithme de prédiction et la valeur que devrait avoir prédit l’algorithme de prédiction (vraie valeur). Lors de l’étape de détermination E56, pour chaque jeu de données, la distribution de la précision de prédiction de l’algorithme de prédiction est déterminée. La précision de la prédiction est obtenue par application d’une métrique d’évaluation sur une erreur de prédiction. Une telle métrique d’évaluation sera notée φ dans la suite. Une erreur de prédiction correspond à la quantité suivante : Où : x et y sont des réalisations des variables aléatoires x et y de distribution jointe et est une métrique de précision, aussi appelée fonction de perte. Selon l’exemple décrit, la précision de prédiction est calculée par une métrique moyennant l’erreur de prédiction absolue. Toutefois, toute manière de calculer la précision de prédiction est envisageable à ce stade. Ainsi, selon un exemple, la précision de prédiction est calculée par l’emploi d’une fonction d’entropie croisée. Selon un autre exemple, la précision de prédiction est évaluée à l’aide d’une métrique de quantiles. Plus généralement, la métrique d’évaluation est construite par application d’une métrique φ à la distribution empirique de la variable aléatoire . Autrement formulé, la métrique d’évaluation est un moment empirique de la distribution de la précision de prédiction. En variante, la précision de prédiction est calculée par une métrique utilisant un algorithme de prédiction de référence noté g. Selon un exemple particulier, la métrique d’évaluation est une fonction φ de la distribution de la précision relative entre l’algorithme f à évaluer et l’algorithme de prédiction de référence g. A titre d’illustration, la métrique est la moyenne d’évaluation des l-différences relatives, ce qui s’écrit mathématiquement ainsi : Il est également possible de raffiner les métriques précédentes en les conditionnant par rapport à la précision de l’algorithme de prédiction de référence g. La moyenne conditionnelle des l-différences relatives est un exemple particulier d’une telle métrique, ce qui s’écrit mathématiquement ainsi : La métrique d’évaluation est calculée sur chaque jeu de données de manière indépendante. Il est à noter que la métrique d’évaluation peut être vue comme une métrique de risque. A l’issue de l’étape de détermination E56, il est ainsi obtenu distributions de l’erreur de prédiction de la sortie prédite. Chaque distribution est ainsi une distribution déterminée propre à un jeu de données respectif échantillonné selon une distribution , avec i un nombre entier compris entre 1 et , avec , où N représente le nombre de jeux de données utilisés pour obtenir une réalisation du calcul de l’erreur de prédiction. Chacune de ces distributions déterminées est notée avec i un nombre entier compris entre 1 et Lors de l’étape d’agrégation E58, les distributions déterminées sont agrégées pour obtenir une distribution d’erreur de prédiction agrégée ou distribution agrégée de prédiction notée . Pour cela, il est employé une fonction d’agrégation utilisant les probabilités reçues. Par exemple, la fonction d’agrégation est une somme pondérée dont les poids dépendent des probabilités reçues. Ces poids sont parfois dénommés des priors correspondant à chacune des mesures de probabilités . Mathématiquement, cela revient à construire une distribution , pour . A l’issue de l’étape d’agrégation E58, il est obtenu une distribution agrégée de la précision de prédiction. Lors de l’étape d’application E60, une métrique de risques MR est appliquée sur la distribution d’erreur de prédiction agrégée. La valeur de la métrique de risques MR permet d’obtenir un indicateur de la performance de l’algorithme de prédiction. En variante, plusieurs métriques de risques MR sont appliquées sur la distribution d’erreur de prédiction agrégée, ce qui permet d’obtenir plusieurs indicateurs de performance. Si nécessaire, le procédé peut comporter une étape subséquente d’agrégation des indicateurs de performance obtenus. Selon un premier exemple, la métrique de risque MR est le quantile de la distribution d’erreur de prédiction agrégée. En notant MR1 une telle métrique de risque, il peut être écrit mathématiquement : où designe la fonction de répartion de la variable aléatoire z pour la mesure de probabilité et k une variable. L’indicateur de performance est alors la valeur de la métrique de risque MR1 pour le niveau α, c’est-à-dire lorsque k=α. Autrement formulé, l’indicateur de la performance de l’algorithme de prédiction est la valeur d’un quantile de niveau prédéterminé (ici le niveau α). Le niveau α est déterminé selon la criticité de l’application envisagée pour l’algorithme de prédiction. Par exemple, pour une utilisation de reconnaissance de caractères en entreprise, le niveau α de l’ordre 5/100 pourrait être acceptable alors que pour un algorithme de prédiction dans le domaine des transports, un niveau de confiance α acceptable pourrait être de l’ordre de 10 -7 . Pour bien comprendre la pertinence d’un indicateur basé sur la métrique de risque MR1, un parallèle peut être fait avec la métrique de risque VaR utilisée dans le monde de la finance. L’abréviation de VaR renvoie à la dénomination anglaise de « Value-at-Risk » signifiant littéralement « valeur à risque », ou « valeur en jeu ». La métrique de risque VaR est définie pour un horizon de temps donné T, un ensemble S de scenarios et un niveau de confiance . La métrique de risque VaR correspond ainsi au montant de pertes qui ne devrait être dépassé qu'avec une probabilité donnée sur l’horizon temporel T. Pour le cas de la métrique de risque MR1, l’horizon de temps dépend en particulier du cas d’utilisation visée. En complément, l’horizon de temps tient compte des différentes contraintes pouvant empêcher un nouvel entrainement (re-calibration) de l’algorithme. A titre d’exemple particulier, un algorithme embarqué dans un satellite aura un horizon de risque plus grand qu’un classifieur de spams. Par ailleurs, l’ensemble S de scenarios correspond à une mesure de probabilité spécifiée conjointement sur les entrées et sorties considérées. La mesure de probabilité dépend en particulier de l’application opérationnelle et des différents risques à mesurer. Il convient de noter ici que cette distribution de probabilité représente une distribution associée à l’usage de l’algorithme (i.e. ), qui est décorrélée de la distribution des entrées/sorties utilisée lors de l’entraînement de l’algorithme de prédiction. Pour mieux comprendre l’intérêt de cette observation, il convient de rappeler qu’en théorie de l’apprentissage, il est classique de s’intéresser à la notion de risque moyen , défini à partir de l’équation ci-après : où est l’opérateur d’espérance mathématique défini par rapport à la mesure . En pratique, la loi de probabilité est cependant inconnue et l’ensemble d’apprentissage est fini puisqu’il correspond à n couples . Ainsi, un estimateur de , appelée risque moyen empirique, est utilisé. Mathématiquement, un tel estimateur est défini par : En faisant une distinction entre la distribution utilisée lors de l’entraînement (distribution d’entraînement) et la distribution associée à une utilisation de l’algorithme, notée et dénommé (distribution d’utilisation), le présent procédé écarte également l’emploi de la notion de risque moyen en introduisant une métrique d’évaluation φ opérant sur les distributions d’entraînement et d’utilisation . Cela conduit à introduire les erreurs d’entraînement et d’utilisation ainsi que leurs estimateurs associés, à savoir les estimateurs de l’erreur d’entraînement et de l’erreur d’utilisation . L’erreur d’entraînement est ainsi définie ainsi : Similairement, l’erreur d’utilisation est ainsi définie ainsi : Cela conduit à un estimateur de l’erreur d’entraînement défini ainsi : Similairement, un estimateur de l’erreur d’utilisation est défini ainsi : Une telle approche permet aussi de s’affranchir de l’hypothèse dite PAC (renvoyant à la dénomination anglaise de « Probably Approximately Correct » qui signifie littéralement « Probablement Approximativement Correct ») qui considère que les échantillons de l’ensemble d’apprentissage correspondent bien à des réalisations de la loi . Cela rend ainsi l’évaluation de l’algorithme beaucoup plus pertinente quant à l’utilisation opérationnelle visée, dans la mesure où celle-ci peut impliquer le traitement de données distribuées différemment de celles constituant le jeu d’entraînement. Revenant à l’analogie avec la métrique de risque VaR, le niveau de confiance correspond au niveau α de la métrique de risque MR1. Avec ce formalisme, le procédé peut ainsi être décrit de manière alternative comme suit. Pour un algorithme, une métrique de précision donnée, la mesure d’évaluation est calculée en construisant une distribution représentative de l’évaluation de l’algorithme, sur N réalisations , avec j un entier compris entre 1 et N, obtenues à partir de la distribution , pour l’horizon de temps considéré T. En particulier, le nombre d’échantillons à considérer par réalisation dépend de l’horizon de temps fixé et de la fréquence d’utilisation de l’algorithme. Plus précisément, pour chacune des réalisations , l’erreur de prédiction est calculée selon la formule suivante : Une distribution empirique de la variable aléatoire est ainsi construite et la valeur de la métrique de risque MR1, c’est-à-dire l’indicateur de performance, s’obtient comme le quantile de niveau de cette distribution. Cela signifie mathématiquement que la probabilité P que l’erreur de prédiction excède la valeur de l’indicateur de performance est égale à , ce qui s’écrit : L’analogie entre la métrique de risque MR1 et la métrique de risque VaR montre que l’indicateur de performance est aussi performant que la métrique de risque VaR. Or, la performance de celle-ci est reconnue puisque la métrique de risque VaR est utilisée au niveau réglementaire dans le domaine financier, ce qui prouve sa pertinence et sa robustesse. En effet, la réglementation dans ce domaine s’est beaucoup durcie avec la crise des subprimes de 2008. Selon un autre exemple, la métrique de risque est une espérance conditionnelle et un indicateur de la performance de l’algorithme de prédiction est une valeur de l’espérance conditionnelle. En reprenant les notations précédentes, il vient : Dans l’expression précédente, MR2 désigne la métrique de risque obtenue comme la valeur d’une espérance conditionnelle et EC2 la valeur limite utilisée pour le conditionnement. Cela permet d’obtenir un autre indicateur de la performance de l’algorithme de prédiction. Par un raisonnement similaire à celui qui a été développé pour la première métrique de risque, un tel indicateur de performance est aussi performant qu’une métrique connue sous l’acronyme de C-VaR renvoyant à la dénomination anglaise de « Conditional Value-at-Risk » signifiant littéralement « valeur à risque conditionnelle ». Cette métrique est également connue sous le terme d’« Expected-Shortfall », signifiant littéralement « pertes attendues ». Le procédé décrit en référence à la comporte, en outre, une étape d’établissement E62 d’un rapport donnant l’ensemble des informations ayant permis d’obtenir l’indicateur de la performance. Par exemple, un tel rapport est généré au format pdf. Avantageusement, le rapport est généré à partir de code latex généré à la volée. Le contenu du rapport est, selon l’exemple proposé, un ensemble de trois types d’informations. Le premier type d’informations regroupe les informations fournies au début du procédé en mettant en particulier en avant le nombre d’algorithmes à évaluer, le nombre de scénarios (jeux de données) considérés et les différentes métriques de risque à considérer. Le deuxième type d’informations est relatif aux risques pour chaque algorithme pour un jeu de données et une métrique de risque. Par un exemple, un histogramme des valeurs de la métrique de risques est présenté sous une forme d’histogramme ou d’un graphique. Le troisième type d’informations est relatif aux risques agrégés pour chaque algorithme pour une métrique de risque. Par un exemple, il sera indiqué l’algorithme, la métrique de risque, les différents priors utilisés et éventuellement, une agrégation des différentes valeurs trouvées pour les différents indicateurs de performance. Un tel rapport est directement exploitable pour un utilisateur. Le présent procédé est ainsi un procédé outillé pour la mesure et la gestion de risques associés à l’utilisation d’algorithmes d’apprentissage statistique supervisé dans un cadre spécifique. Le procédé donne une mesure réaliste de la performance de l’algorithme sur l’ensemble des données pouvant lui être soumis, au contraire d’un procédé de certification qui validerait uniquement la performance de l’algorithme dans ces conditions d’utilisation spécifiques. Le procédé permet d’obtenir une bonne précision pour l’ensemble des cas pouvant se produire en pratique. Le présent procédé présente l’avantage d’être générique au sens où le procédé peut s’appliquer à tout type d’algorithme de prédiction dans un contexte d’apprentissage supervisé, tout type d’entrées et tout cas d’utilisation envisagé. En outre, le présent procédé est utilisable à tous les stades de vie de l’algorithme, et notamment dans la phase de mise au point, la phase de validation et la phase de suivi (après déploiement de l’algorithme). Lors de la phase de mise au point, le procédé permet d’obtenir la performance et donc facilite la comparaison de deux versions candidates de l’algorithme. La mise au point est donc accélérée. Le procédé peut également servir à calibrer les valeurs d’hyper-paramètres ou à associer des indicateurs de confiance aux sorties des algorithmes retenus. La phase de validation vise à s’assurer que les algorithmes mis au point sont en adéquation avec l’utilisation opérationnelle visée, en s’intéressant en particulier aux impacts liés aux différentes sources d’erreurs potentielles associées à leur utilisation. La plage d’entrées/sorties pour lequel l’algorithme se comporte en adéquation avec l’application opérationnelle visée est en particulier spécifié durant cette phase. La phase de suivi consiste à évaluer de manière périodique l’algorithme de prédiction pour s’assurer que la validation effectuée reste valable pour les conditions d’utilisation observées. Le procédé a été implémenté par le demandeur selon plusieurs modules, à savoir un module d’obtention des jeux de données, un module de collection des valeurs prédites, un module de détermination, un module d’agrégation et un module d’application. Chacun de ces modules a été implémenté avec succès dans le langage de programmation python. Toutefois, tout type de langage orienté objet, notamment un avec polymorphisme, permettrait d’obtenir également une bonne efficacité de fonctionnement. Une telle mise en œuvre modulaire rend le procédé aisément adaptable à tous types d’algorithme puisque que chaque module est relativement indépendant. Par ailleurs, le procédé est aisément parallélisable, ce qui permet de limiter la charge calculatoire notamment par l’emploi d’une structure informatique distribuée. Il convient de noter que la parallélisation est pensée au niveau des différents paramètres utilisés pour la définition des scénarios, ainsi qu’au niveau du calcul des différentes distributions associées, chacune des réalisations d’un scenario donné pouvant être traitée individuellement. D’autres modes de réalisation sont possibles. Selon un mode de réalisation, le procédé comporte, en outre, un affichage de l’ensemble desdites informations sur le dispositif de sortie 28 qui sert alors d’interface graphique avec un utilisateur. Un tel affichage viendrait en remplacement ou en complément du rapport établi en permettant à l’utilisateur de visualiser les différents résultats et indicateurs de performance et de conduire des analyses détaillées en permettant une navigation dans les différents fichiers de résultats et une modularité dans le choix des métriques de risque. En particulier, l’utilisateur pourra, s’il le souhaite, convertir un niveau de tolérance au risque algorithmique donné en des plages de validité pour les algorithmes considérés via l’analyse des contributions des différents scenarios. En variante ou en complément, l’interface graphique permet de constituer un fichier de configuration donnant l’ensemble des informations utiles à la mise en œuvre du procédé, notamment les informations des étapes d’obtention E50 et de réception E52. Pour cela, le dispositif de sortie 28 permet à l’utilisateur de saisir les données associées ou de les sélectionner via l’utilisation de menus déroulants. A titre d’exemple particulier, le fichier de configuration comporte les paramètres nécessaires à la définition des métriques de risque à calculer, les algorithmes à évaluer, les métriques de précision à considérer, les différents jeux de données à considérer, les méthodes de simulation des ensembles de jeux de données, des algorithmes de référence et des priors. Enfin, il sera bien compris que l’ordre des étapes dans le procédé d’évaluation qui vient d’être décrit peut être différent et notamment que certaines étapes peuvent être réalisées de manière simultanée. Plus généralement, toute combinaison techniquement possible des modes de réalisation précédent permettant d’obtenir un procédé d’évaluation de la performance d’un algorithme de prédiction pour un cas d’utilisation prédéfini est envisagé. Procédé d’évaluation de la performance d’un algorithme de prédiction pour un cas d’utilisation prédéfini, l’algorithme de prédiction prédisant pour des entrées données la valeur d’une ou plusieurs sorties, l’algorithme de prédiction ayant été appris par utilisation d’une technique d’apprentissage machine et d’un jeu de données d’apprentissage, le procédé comportant les étapes de : - obtention de jeux de données, chaque donnée d’un jeu de données correspondant aux valeurs de sortie que devrait donner l’algorithme de prédiction en présence des valeurs d’entrées du jeu de données, - réception de la probabilité pour chaque jeu de données qu’un jeu de données soit observé lors du cas d’utilisation de l’algorithme de prédiction, - collection des sorties prédites par l’algorithme de prédiction pour chaque valeur d’entrées des données des jeux de données, - détermination de la distribution de la précision de prédiction de la sortie prédite pour chaque jeu de données, pour obtenir des distributions déterminées, - agrégation des distributions déterminées par emploi d’une fonction d’agrégation utilisant les probabilités reçues, pour obtenir une distribution de précision de prédiction agrégée, et - application d’au moins une métrique de risque à la distribution de précision de prédiction agrégée pour obtenir au moins un indicateur de la performance de l’algorithme de prédiction. Procédé d’évaluation selon la revendication 1, dans lequel une métrique de risque est une métrique de quantiles et un indicateur de la performance de l’algorithme de prédiction est la valeur d’un quantile de niveau prédéterminé. Procédé d’évaluation selon la revendication 1 ou 2, dans lequel une métrique de risque est une espérance conditionnelle et un indicateur de la performance de l’algorithme de prédiction est une valeur de l’espérance conditionnelle. Procédé d’évaluation selon l’une quelconque des revendications 1 à 3, dans lequel la précision de prédiction est calculée à l’aide d’une métrique d’évaluation, la métrique d’évaluation étant une moyenne de l’erreur de prédiction absolue, une métrique de quantiles, ou un moment empirique de la distribution de la précision de prédiction. Procédé d’évaluation selon l’une quelconque des revendications 1 à 4, dans lequel la précision de prédiction est calculée en utilisant un algorithme de prédiction de référence. Procédé d’évaluation selon l’une quelconque des revendications 1 à 5, dans lequel le procédé comporte l’établissement d’un rapport donnant l’ensemble des informations ayant permis d’obtenir l’indicateur de la performance. Procédé d’évaluation selon l’une quelconque des revendications 1 à 6, dans lequel l’étape d’obtention est mise en œuvre par génération de chaque jeu de données à partir d’un jeu de données de référence selon une loi de probabilité donnée. Procédé d’évaluation selon l’une quelconque des revendications 1 à 6, dans lequel l’étape d’obtention est mise en œuvre, pour chaque jeu de données, par génération par un modèle génératif de données initiales et par sélection selon une loi de probabilité donnée des données initiales pour former le jeu de données. Procédé d’évaluation selon la revendication 7 ou 8, dans lequel l’étape d’obtention comporte la modification des jeux de données en introduisant des imperfections de l’environnement du système que l’algorithme de prédiction modélise. Procédé d’évaluation selon l’une quelconque des revendications 7 à 9, dans lequel l’étape d’obtention comporte la modification des jeux de données en introduisant des perturbations adverses visant à manipuler les sorties de l’algorithme de prédiction. Produit programme d’ordinateur comportant des instructions de programme formant un programme d’ordinateur mémorisé sur un support lisible d’informations, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation selon l’une quelconque des revendications 1 à 10 lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement des données. Support lisible d’informations comportant des instructions de programme formant un programme d’ordinateur, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation selon l’une quelconque des revendications 1 à 10 lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement de données.