Brevet FR3118242A1 — publié le 20220624

Méthode, mise en œuvre par ordinateur, de partitionnement de données comprenant les étapes de : Acquérir (101) plusieurs jeux de données, par exemple des images, et les organiser dans une matrice de données ayant une première dimension égale à la dimension d’un jeu de données, par exemple la taille d’une image, et une seconde dimension égale au nombre d’acquisitions, Centrer et orthonormaliser (102) la matrice de données, Rechercher (103) au moins un axe de projection tel que la projection de la matrice de données sur cet axe présente un kurtosis minimal, partitionner (106) les données en au moins deux groupes distincts en fonction du signe des composantes de la matrice de données projetées sur chaque axe de projection obtenu. Figure 1 Méthode de partitionnement de données par minimisation de kurtosis L’invention concerne le domaine du partitionnement de données qui vise à rassembler des données en différents groupes en fonction de leur ressemblance. Les données sont par exemple des images que l’on cherche à partitionner en différentes catégories associées chacune à une étiquette selon un critère de ressemblance. Les données peuvent être d’autres types, par exemple il peut s’agir de séquences audio ou de texte ou des données multimédia ou plus généralement tout type de données acquises par un capteur et que l’on souhaite catégoriser. Un problème à résoudre dans le domaine du partitionnement de données consiste à trouver une méthode de partitionnement efficace, c’est-à-dire qui fournisse des partitions (ou clusters) denses et bien séparés pour un coût de calcul aussi faible que possible. Les algorithmes de clustering classiques (algorithmes du type k-moyennes par exemple, K-means en anglais) fournissent en général des clusters de qualité mais au prix de calculs très lourds. A l’opposé, les méthodes de partitionnement hiérarchique comme les « arbres kd » construisent des clusters de moindre qualité à un coût de calcul très inférieur. Les « arbres kd » classent les données selon la valeur de leurs projections sur les axes de la base courante (coordonnées de la donnée). Cette méthode a été améliorée en projetant sur des axes aléatoires ou sur les axes principaux (axes de variance maximale) du jeu de données, ce qui améliore la qualité finale du partitionnement en n’augmentant que modérément le coût de calcul. Mais aucune de ces méthodes ne cherche spécifiquement à trouver des axes de projection adaptés au clustering, c’est-à-dire tels que la distribution des données projetées sur ces axes soit bimodale. L’invention propose une méthode de partitionnement qui consiste à rechercher des axes de projection de kurtosis minimal sur lesquels projeter les données, le signe des projections sur ces axes permettant de distinguer les différentes catégories. L’invention a pour objet une méthode, mise en œuvre par ordinateur, de partitionnement de données comprenant les étapes de : Acquérir plusieurs jeux de données, par exemple des images, et les organiser dans une matrice de données ayant une première dimension égale à la dimension d’un jeu de données, par exemple la taille d’une image, et une seconde dimension égale au nombre d’acquisitions, Centrer et orthonormaliser la matrice de données, Rechercher au moins un axe de projection tel que la projection de la matrice de données sur cet axe présente un kurtosis minimal, partitionner les données en au moins deux groupes distincts en fonction du signe des composantes de la matrice de données projetées sur chaque axe de projection obtenu. Selon un aspect particulier de l’invention, l’étape de centrage et d’orthonormalisation de la matrice de données est réalisée de manière à transformer la matrice de données en une matrice dont les composantes selon la seconde dimension sont de moyenne nulle, de norme unité et sont orthogonales deux à deux. Selon un aspect particulier de l’invention, l’étape de centrage et d’orthonormalisation de la matrice de données est réalisée au moyen d’une analyse en composantes principales. Selon un aspect particulier de l’invention, l’étape d’analyse en composantes principales est en outre appliquée de manière à réduire la première dimension de la matrice de données. Selon un aspect particulier de l’invention, l’étape c) est réalisée en recherchant, pour au moins un couple de composantes de la matrice de données selon la seconde dimension, une combinaison linéaire de ce couple ayant un kurtosis minimal. Selon un aspect particulier de l’invention, ladite combinaison linéaire est obtenue en recherchant une matrice de rotation de Givens, définie par un angle de rotation θ, pour laquelle le produit dudit couple de composantes et de cette matrice de rotation de Givens présente un kurtosis minimal pour l’une de ses deux composantes ou présente une différence maximale entre les kurtosis des deux composantes. Selon un aspect particulier de l’invention, l’étape c) est itérée pour plusieurs couples de composantes de la matrice de données selon la seconde dimension et à chaque itération, on accumule, dans une matrice de projection initialisée à la matrice Identité, les produits des matrices de rotation de Givens déterminées jusqu’à l’itération courante, l’axe de projection recherché étant donné par une composante de la matrice de projection obtenue à la dernière itération. Selon un aspect particulier de l’invention, l’étape c) comprend une première série d’itérations pour laquelle, à chaque itération, on fixe la première composante du couple et on fait varier la seconde composante du couple sur l’ensemble des composantes de la matrice de données selon la seconde dimension. Selon un aspect particulier de l’invention, l’étape c) consiste à rechercher plusieurs axes de projection permettant de partitionner les données en plus de deux groupes et comprend plusieurs itérations de la première série d’itérations, pour laquelle, à chaque nouvelle série d’itérations, on fixe une autre composante du couple et on fait varier la seconde composante du couple sur l’ensemble des composantes de la matrice de données selon la seconde dimension, les axes de projection recherchés étant données par différentes composantes de la matrice de projection obtenue à la dernière itération. Selon un aspect particulier de l’invention, les étapes c) et d) sont itérées pour rechercher plusieurs axes de projections permettant de partitionner les données en plus de deux groupes et à chaque itération, on applique de façon hiérarchique la méthode séparément à chaque groupe de données obtenu à l’itération précédente. L’invention a aussi pour objet un programme d'ordinateur comportant des instructions pour l'exécution de la méthode de partitionnement de données selon l’invention, lorsque le programme est exécuté par un processeur. L’invention a aussi pour objet un support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution de la méthode de partitionnement de données selon l’invention, lorsque le programme est exécuté par un processeur. D’autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit en relation aux dessins annexés suivants. représente un organigramme détaillant les étapes de mise en œuvre d’une méthode de partitionnement selon l’invention, représente un exemple de résultats de partitionnement obtenus avec une méthode selon l’art antérieur, représente un exemple de résultats de partitionnement obtenus avec la méthode selon l’invention. L’invention est applicable à une base de données contenant un jeu de données, par exemple images, rangées dans une matrice notée , horizontale de dimension avec inférieur à , étant le nombre d’échantillons dans une donnée, par exemple le nombre de pixels d’une image. Par la suite, on décrit l’invention dans le cas où les données sont des images mais elle s’applique de la même façon à tout autre type de données que l’on souhaite partitionner en plusieurs ensembles (données audio, textuelles, multimédia, ou autre). L’invention vise à résoudre le problème technique suivant. Il s’agit de scinder la base de données en regroupant les images qui se ressemblent dans un même sous-ensemble ou cluster d’images : on parle d’un problème de partitionnement ou « clustering » en anglais. Si à chaque groupe est associé une étiquette ou index distinctif, on parle d’un problème d’indexation. L’utilité de cette indexation est, par exemple, de permettre de sélectionner rapidement toutes les images qui ressemblent à une nouvelle image qui n’appartient pas (ou pas encore) à la base de données initiale. L’invention permet de scinder efficacement la base de données en un certain nombre de clusters ou classes. Ces clusters sont calculés en déterminant des axes de projection qui mettent en évidence les clusters intrinsèques à la base de données. Plus précisément, on calcule des axes (caractérisés par un vecteur directeur) tels que la distribution des images projetées sur cet axe ait un kurtosis minimal ce qui entraine, du fait des propriétés du kurtosis, que la distribution des images projetées a une valeur faible autour de zéro et deux « bosses », ou modes, de part et d’autre de zéro. Chacun des modes correspond à la projection d’un cluster et chaque élément de la base de données est alors caractérisé par le signe de sa projection sur cet axe. L’opération peut être répétée plusieurs fois avec plusieurs axes, de façon hiérarchique ou non, c’est-à-dire en scindant la base de données en deux ou non. Le problème de partitionnement correspond ainsi à trouver un vecteur de coefficients tel que le vecteur ait le kurtosis le plus faible possible. Cela revient à chercher la combinaison linéaire des lignes de la matrice de kurtosis minimum. Le problème technique de clustering/indexation d’une base de données conduit donc à la minimisation d’un kurtosis. La détaille, sur un organigramme, les différentes étapes de mise en œuvre d’une méthode de partitionnement de données selon l’invention basée sur le principe ci-dessus. La première étape 101 consiste à acquérir les données à partitionner. Cette étape est mise en œuvre via tout capteur ou équipement de mesure adéquat pour acquérir les données qui vont être utilisées pour construire la matrice . Par exemple, si les données sont des images, l’étape 101 peut consister en une acquisition d’images au moyen d’une caméra ou d’un téléphone intelligent ou de tout type de capteur permettant de capturer des images. Les images peuvent aussi être téléchargées depuis un serveur distant ou stockées dans une mémoire accessible par un processeur. Dans une étape 102 on applique ensuite un centrage et une orthonormalisation aux données de la matrice de sorte à la transformer en une matrice . Si on note un vecteur ligne de la matrice , l’étape 102 de centrage et d’orthonormalisation permet de se ramener à une matrice dont : les lignes sont de moyenne nulle ce qui implique que , les lignes sont de norme unité ce qui implique , Et les lignes sont orthogonales deux à deux. En appliquant l’étape 102, le kurtosis empirique d’une ligne de la matrice est donné par la formule simplifiée . L’étape 102 peut être réalisée au moyen d’une analyse en composantes principales ou, d’un centrage suivi d’une décomposition QR. L’étape d’analyse en composantes principales peut permettre en outre de réduire la dimension (le nombre de lignes de la matrice ) en ne conservant que les composantes principales dominantes. Après cette étape 102, on dispose d’une matrice aux lignes centrées et orthonormées dont on cherche à minimiser le kurtosis d’une ou de plusieurs lignes (la ou les premières lignes par convention). En synthèse, l’analyse en composantes principales peut être réalisée de la façon suivante. Tout d’abord les lignes de la matrice sont centrées en appliquant la relation où et est le vecteur de dimension dont tous les coefficients sont égaux à 1 et désigne la transposée d’une matrice ou d’un vecteur . Ensuite on applique une décomposition en valeurs singulières de la matrice Y centrée : est une matrice orthogonale, est une matrice diagonale qui contient les valeurs singulières (positives par construction), et les lignes de la matrice sont orthonormées. Ensuite on sélectionne les lignes pertinentes de la matrice compte tenu des valeurs singulières, par exemple en éliminant les lignes correspondant à des valeurs singulières négligeables. On obtient une matrice X de dimensions réduite par rapport à Cette sélection amène à définir les sous-matrices suivantes : et Les étapes suivantes sont appliquées à la matrice . L’étape suivante 103 consiste donc à rechercher au moins un axe de projection tel que la projection de la matrice sur cet axe soit de kurtosis minimal. Cette étape 103 est décomposée en une première sous étape 104 dans laquelle on cherche à minimiser le kurtosis d’une ou plusieurs lignes de la matrice et une seconde sous-étape 105 dans laquelle on détermine le ou les axes de projections. La minimisation du kurtosis d’une ou de plusieurs lignes (étape 104) s’obtient en réalisant des combinaisons linéaires de lignes, c’est-à-dire en multipliant la matrice à gauche par une matrice carrée de dimension , soit . On remarque qu’il est avantageux de ne multiplier à gauche que par des matrices orthogonales (matrices qui vérifient la matrice identité de dimension ) car elles conservent la normalisation des lignes c’est-à-dire la validité de la formule simplifiée du kurtosis. On remarque que les combinaisons linéaires des lignes de la matrice définissent un sous-espace vectoriel, et l’optimisation du kurtosis peut être considérée « géométriquement » comme la recherche de directions (lignes) de kurtosis extrême dans ce sous-espace. La matrice orthogonale telle que les premières lignes de soient de kurtosis minimum ne peut être calculée en une seule étape ; elle est construite itérativement comme produit (les matrices produits de matrices orthogonales sont orthogonales) de matrices orthogonales élémentaires particulières appelées rotations de Givens (qui correspondent à des rotations planes) notées et définies par avec et . On remarque que le produit remplace les lignes et de par les lignes et égales aux combinaisons linéaires suivantes : et . désigne la ligne d’indice i de la matrice X. Le terme « : » est utilisé pour désigner toutes les valeurs de l’indice. L’étape 104 de la méthode consiste ainsi à optimiser l’angle de rotation pour plusieurs couples de lignes de la matrice afin de minimiser le kurtosis de la ligne n° . L’utilisation des rotations de Givens décompose ainsi le problème global d’optimisation en une série de problèmes d’optimisation de dimension 2 plus faciles à réaliser. Deux variantes de réalisation sont envisageables pour déterminer l’angle de rotation qui permet d’obtenir un kurtosis minimum pour l’une des deux lignes d’un couple de lignes. Une première variante de réalisation consiste à rechercher l’angle de rotation qui maximise l’écart des kurtosis entre les deux lignes du couple. En effet, en maximisant cet écart, cela permet d’obtenir un kurtosis approximativement minimal pour la ligne de kurtosis le plus faible. Notons et deux lignes de la matrice X dont on cherche une combinaison linéaire de kurtosis minimum. On définit les deux combinaisons linéaires et par : En supposant les lignes et centrées et orthonormées, on obtient des vecteurs et centrés et orthonormés, leurs kurtosis respectifs sont définis par et . On recherche alors l’angle de rotation qui maximise la différence des kurtosis K v -K u . Dans la suite on considère par convention que « u » correspond à la ligne de kurtosis le plus faible (c’est-à-dire le plus proche de 1) et « v » correspond à la ligne de kurtosis le plus élevé. Ainsi, on cherche à maximiser la différence des kurtosis K v -K u (1) A partir de l’expression (1), on détermine les valeurs de et qui maximisent cette expression puis on en déduit les valeurs de et et enfin la valeur de l’angle de rotation qui permet d’obtenir un kurtosis minimal pour la ligne u résultant de la rotation des lignes et . et avec et Un avantage de cette première variante est sa faible complexité de résolution numérique. Une seconde variante de réalisation consiste à rechercher directement l’angle de rotation qui permet de minimiser le kurtosis de la ligne qui vaut : (2) L’expression (2) correspond à un critère linéaire et quadratique sous contrainte quadratique. L’angle qui minimise cette expression est obtenu par résolution numérique. L’une des deux variantes décrites ci-dessus est donc appliquée à chaque couple de lignes de la matrice selon une séquence prédéterminée. Différentes structures de balayage des lignes peuvent être envisagées à cet effet. De façon plus générale, un algorithme itératif de type Jacobi, tel que décrit dans le document « C.H. Golub, C.F. Van Loan, « matrix computations », the John Hopkins university press, 1996 » peut être mis en œuvre pour réaliser une optimisation en dimension via une série d’optimisations en dimension 2 sur les couples d’indices avec , ou sur un sous-ensemble de ces couples. Une première variante de réalisation de cet algorithme itératif consiste à répéter plusieurs fois les optimisations définies par deux boucles imbriquées faisant varier de 1 à et de à . Avantageusement, l’ensemble des couples de lignes est balayé plusieurs fois jusqu’à convergence. Une deuxième variante de réalisation, applicable si l’on recherche un seul axe de projection, consiste à réaliser une boucle d’itérations en fixant à 1 et en faisant varier de 2 à jusqu’à convergence. Autrement dit, dans cette variante, l’étape 104 de la méthode selon l’invention est réalisée pour une série de couples d’indices qui est égale à : . Dans cet exemple, on cherche à minimiser le kurtosis de la ligne n° 1 de la matrice. En variante, l’indice peut être fixé à n’importe quelle ligne de la matrice (pas forcément la première). Une troisième variante de réalisation, applicable si l’on recherche plusieurs axes de projection, consiste à réaliser le processus itératif suivant. A la première itération, on réalise une boucle d’itérations en fixant à 1 et en faisant varier de 2 à . A la deuxième itération, on fixe la première colonne de la matrice orthogonale et on réalise une boucle d’itérations en fixant à 2 et en faisant varier de 3 à . On répète ce processus jusqu’à obtenir axes de projection. Une autre variante de réalisation consiste à réaliser des itérations en faisant varier i de 1 à k et j de k+1 à N jusqu’à convergence, afin de rechercher un sous-espace de projection de dimension k. A chaque itération (numérotée par l’indice « »), les produits des matrices de rotation de Givens obtenues sont accumulés dans une matrice orthogonale pour déterminer les coefficients du vecteur directeur d’un ou plusieurs axes de projection (étape 105). La procédure itérative est organisée de la manière suivante. On initialise et , avec la matrice identité de dimension ( ). Puis à chaque itération, pour chaque matrice de rotation déterminée, on calcule et . L’orthogonalité des rotations de Givens (c’est-à-dire la propriété ) garantit la stabilité du produit au cours des itérations, en effet : . On a donc tout au long de la procédure d’optimisation. Une fois la convergence atteinte après un certain nombre d’itérations, on obtient les coefficients des vecteurs directeurs des axes de projection dans les premières lignes de c’est-à-dire les premières colonnes de . Plus précisément, si on recherche un seul axe de projection alors cet axe est donné par une colonne de la matrice (par exemple, la première colonne selon la structure itérative choisie pour parcourir les couples de lignes). Si on recherche plusieurs axes de projection (un nombre k), alors ces axes sont donnés par les k premières colonnes de la matrice . Dans une dernière étape 106, les données sont partitionnées dans les différents clusters selon le signe de leur projection sur les axes de projection. En reprenant les notations de l’analyse en composantes principales (étape 102), la matrice (à k colonnes) des k vecteurs directeurs des axes de projection est donnée par la relation : Si un seul axe de projection est déterminé ( et la matrice n’a qu’une colonne), les données de la matrice sont catégorisées en deux groupes (ou clusters) selon le signe de leur projection sur cet axe de projection. Pour chaque donnée , l’index du groupe auquel elle appartient est donné par le signe du scalaire avec un vecteur directeur de l’axe de projection et une colonne de la matrice . Autrement dit, si k=1, n’a qu’une colonne et l’index du cluster auquel appartient la donnée est donné par le signe du scalaire Si plusieurs axes de projection sont déterminés (soit k>1), l’index du cluster auquel appartient une donnée est donné par les signes des k coefficients du vecteur . est la matrice de projection obtenue à la fin des itérations de l’étape 103. S’il y a k axes de projection, alors il y a 2 k clusters. Autrement dit, si la matrice à colonnes alors les signes des coefficients du vecteur fournissent l’index (un mot binaire de longueur ) d’un des clusters potentiels. Dans une autre variante de réalisation de l’invention, la méthode décrite à la est appliquée pour déterminer un seul axe de projection pour séparer les données en deux clusters. Puis, la même méthode est appliquée à nouveau aux données appartenant à chaque cluster pour les diviser en deux et ainsi de suite de façon hiérarchique. Les figures 2 et 3 représentent un exemple comparatif de résultats obtenus avec une méthode de partitionnement selon l’art antérieur et avec l’invention pour un partitionnement de données issues d’une base de données de chiffres MNIST (Mixed National Institute of Standards and Technology) utilisée classiquement dans le domaine de l’apprentissage automatique. La base de données MNIST est constituée d’images en noir et blanc (représentant des chiffres manuscrits allant de 0 à 9) de 28x28 pixels. Cette base de données a été construite pour tester des méthodes de classification, c’est-à-dire des méthodes d’apprentissage supervisées qui utilisent le chiffre associé à l’image pour classer chaque image dans une catégorie associée à l’un des chiffres. L’invention vise plus généralement une méthode de partitionnement ou clustering, c’est-à-dire une méthode d’apprentissage non supervisée. Dans ce contexte, un objectif général du partitionnement de cette base MNIST est de la segmenter en sous-ensembles qui ne correspondent pas nécessairement aux 10 catégories associées aux 10 chiffres distincts. Autrement dit, les partitions ou catégories ne sont pas nécessairement associées à un label mais ne sont fondées que sur leur homogénéité et leurs différences avec les autres partitions. Les exemples de résultats illustrés aux figures 2 et 3 pour cette base de données MNIST ne sont donnés qu’à titre illustratif, l’invention étant bien entendu compatible de toute base de données pour lequel un partitionnement est recherché. La représente, sur un diagramme, une distribution de données extraites de la base de données MNIST sur les 5 premiers axes principaux (obtenus par analyse en composantes principales des 60000 images de la base avec réduction de dimension de 28x28=784 pixels vers 128 dimensions). Les indices des axes sont indiqués en ordonnée. On remarque qu’aucun de ces axes ne permet de séparer correctement les données en deux groupes distincts. La représente le même type de résultats obtenus avec l’invention pour les mêmes 60000 éléments de la base de données MNIST, c’est-à-dire en projetant les données sur les 5 axes de kurtosis minimaux. Sur la , on remarque cette fois nettement que, pour chaque axe, la distribution des données projetée sur cet axe présente un creux à l’abscisse 0 et deux bosses de part et d’autre, ce qui traduit l’identification plus nette de deux catégories distinctes. Les kurtosis minimaux obtenus sont indiqués en légende. Ainsi, les résultats comparatifs représentés aux figures 2 et 3 permettent de conclure à l’amélioration nette des performances de partitionnement obtenue grâce à l’invention. L’invention peut être mise en œuvre en tant que programme d’ordinateur comportant des instructions pour son exécution. Le programme d’ordinateur peut être enregistré sur un support d’enregistrement lisible par un processeur. La référence à un programme d'ordinateur qui, lorsqu'il est exécuté, effectue l'une quelconque des fonctions décrites précédemment, ne se limite pas à un programme d'application s'exécutant sur un ordinateur hôte unique. Au contraire, les termes programme d'ordinateur et logiciel sont utilisés ici dans un sens général pour faire référence à tout type de code informatique (par exemple, un logiciel d'application, un micro logiciel, un microcode, ou toute autre forme d'instruction d'ordinateur) qui peut être utilisé pour programmer un ou plusieurs processeurs pour mettre en œuvre des aspects des techniques décrites ici. Les moyens ou ressources informatiques peuvent notamment être distribués (" Cloud computing "), éventuellement selon des technologies de pair-à-pair. Le code logiciel peut être exécuté sur n'importe quel processeur approprié (par exemple, un microprocesseur) ou cœur de processeur ou un ensemble de processeurs, qu'ils soient prévus dans un dispositif de calcul unique ou répartis entre plusieurs dispositifs de calcul (par exemple tels qu’éventuellement accessibles dans l’environnement du dispositif). Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur ou en mémoire morte. De manière générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif avant d'être exécutés. L'unité centrale peut commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur ou dans la mémoire morte ou bien dans les autres éléments de stockage précités. L’invention s’applique à tout domaine pour lequel il existe un besoin de partitionnement de données. Autrement dit, les applications de l’invention englobent tout domaine qui nécessite un regroupement de données similaires au sein d’un cluster ou une fragmentation d’une base de données en sous-ensembles homogènes. La fragmentation présente l’avantage d’une diminution de la complexité des traitements appliqués à la base de données. En effet, le processus de fragmentation permet de passer d’un grand nombre d’échantillons (par exemple plusieurs millions) à quelques sous-groupes aussi homogènes. L’invention permet de réaliser un tel mécanisme de fragmentation de sorte à obtenir un nombre réduit de clusters homogènes. L’invention s’applique pour de nombreux domaines techniques. Par exemple, elle s’applique dans le domaine médical pour partitionner des ensembles d’êtres vivants (par exemple des humains) en fonction de certaines caractéristiques en vue de les soigner de façon spécifique. Dans ce contexte, les données à partitionner sont des données relatives au génome obtenues à partir de mesures issues d’analyses, au métabolome (ensemble des petites molécules présentes dans les fluides biologiques détectées en général par spectrométrie de masse et chromatographie liquide ou LCMS), au protéome ou transcriptome mesurés par des machines de laboratoire, à la réponse à un traitement spécifique ou à une exposition, à un toxique ou un pathogène (cette réponse étant mesurée au moyen de divers capteurs : température, pression artérielle, taux de saturation O2, composition de l’urine, plasma, LCMS) ou encore la composition bactérienne du microbiote intestinal ou buccal. L’invention s’applique également à la partition d’ensemble de consommateurs à partir de courbes temporelles de consommation d’eau, eau chaude, de gaz, d’électricité, d’énergie, etc. mesurées par les compteurs correspondants, Elle s’applique aussi à : La partition d’un ensemble de conducteurs à partir de leur manière de conduire observées via leurs courbes de vitesse et de régime moteur (mesurées par des capteurs), la partition d’une population à partir de son activité motrice mesurée par plusieurs accéléromètres embarqués, Le partitionnement de l’ensemble des climats de la planète à partir des mesures de températures, de pluviométrie, d’hygrométrie, etc. Le partitionnement d’un ensemble d’écosystèmes selon leur réaction au changement climatique quantifiée via divers capteurs, ou de différents systèmes naturels comme des glaciers à partir de mesures de vitesse d’écoulement et d’épaisseur par exemple, Le partitionnement d’un ensemble de bâtiments à partir de courbes de température (intérieures et extérieures), d’hygrométrie, d’ensoleillement, de CO2, etc. Le partitionnement d’objets détectés dans des scènes capturées par une caméra. La partition des états d’équipements industriels (comme une machine ou un ensemble de machines, une chaine de production) à partir de données issues de capteurs internes ou externes (vibratoires, thermiques, etc.), de données de production (matérielle ou immatérielle comme l’énergie produite par une éolienne) dans le but d’identifier une typologie de défauts, de dysfonctionnements ou de conditions de fonctionnement à risque. Le partitionnement d’un ensemble de biens manufacturés en fonction de leur qualité de fabrication mesurée a posteriori. Méthode, mise en œuvre par ordinateur, de partitionnement de données comprenant les étapes de : a) Acquérir (101) plusieurs jeux de données, par exemple des images, et les organiser dans une matrice de données ayant une première dimension égale à la dimension d’un jeu de données, par exemple la taille d’une image, et une seconde dimension égale au nombre d’acquisitions, b) Centrer et orthonormaliser (102) la matrice de données, c) Rechercher (103) au moins un axe de projection tel que la projection de la matrice de données sur cet axe présente un kurtosis minimal, d) partitionner (106) les données en au moins deux groupes distincts en fonction du signe des composantes de la matrice de données projetées sur chaque axe de projection obtenu. Méthode de partitionnement de données selon la revendication 1 dans laquelle l’étape (102) de centrage et d’orthonormalisation de la matrice de données est réalisée de manière à transformer la matrice de données en une matrice dont les composantes selon la seconde dimension sont de moyenne nulle, de norme unité et sont orthogonales deux à deux. Méthode de partitionnement de données selon la revendication 2 dans laquelle l’étape (102) de centrage et d’orthonormalisation de la matrice de données est réalisée au moyen d’une analyse en composantes principales. Méthode de partitionnement de données selon la revendication 3 dans laquelle l’étape d’analyse en composantes principales (102) est en outre appliquée de manière à réduire la première dimension de la matrice de données. Méthode de partitionnement de données selon l’une quelconque des revendications précédentes dans laquelle l’étape c) est réalisée en recherchant (104), pour au moins un couple de composantes de la matrice de données selon la seconde dimension, une combinaison linéaire de ce couple ayant un kurtosis minimal. Méthode de partitionnement de données selon la revendication 5 dans laquelle ladite combinaison linéaire est obtenue en recherchant (104) une matrice de rotation de Givens, définie par un angle de rotation θ, pour laquelle le produit dudit couple de composantes et de cette matrice de rotation de Givens présente un kurtosis minimal pour l’une de ses deux composantes ou présente une différence maximale entre les kurtosis des deux composantes. Méthode de partitionnement de données selon la revendication 6 dans laquelle l’étape c) (103) est itérée pour plusieurs couples de composantes de la matrice de données selon la seconde dimension et à chaque itération, on accumule (105), dans une matrice de projection initialisée à la matrice Identité, les produits des matrices de rotation de Givens déterminées jusqu’à l’itération courante, l’axe de projection recherché étant donné par une composante de la matrice de projection obtenue à la dernière itération. Méthode de partitionnement de données selon la revendication 7 dans laquelle l’étape c) comprend une première série d’itérations pour laquelle, à chaque itération, on fixe la première composante du couple et on fait varier la seconde composante du couple sur l’ensemble des composantes de la matrice de données selon la seconde dimension. Méthode de partitionnement de données selon la revendication 8 dans laquelle l’étape c) consiste à rechercher plusieurs axes de projection permettant de partitionner les données en plus de deux groupes et comprend plusieurs itérations de la première série d’itérations, pour laquelle, à chaque nouvelle série d’itérations, on fixe une autre composante du couple et on fait varier la seconde composante du couple sur l’ensemble des composantes de la matrice de données selon la seconde dimension, les axes de projection recherchés étant données par différentes composantes de la matrice de projection obtenue à la dernière itération. Méthode de partitionnement de données selon la revendication 1 à 8 dans laquelle les étapes c) et d) sont itérées pour rechercher plusieurs axes de projections permettant de partitionner les données en plus de deux groupes et à chaque itération, on applique de façon hiérarchique la méthode séparément à chaque groupe de données obtenu à l’itération précédente. Programme d'ordinateur comportant des instructions pour l'exécution de la méthode de partitionnement de données selon l’une quelconque des revendications précédentes, lorsque le programme est exécuté par un processeur. Support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution de la méthode de partitionnement de données selon l’une quelconque des revendications 1 à 10, lorsque le programme est exécuté par un processeur.