FR 3084957 A1 20200214 FR 1857347 A 20180807 DISPOSITIF ET PROCÉDÉ DE CLASSIFICATION MULTI-CLASSES PAR APPRENTISSAGE AUTOMATIQUE DOMAINE TECHNIQUE La présente invention concerne le domaine d'apprentissage automatique et, plus particulièrement, la classification multi-classes. ÉTAT DE LA TECHNIQUE ANTÉRIEURE L'apprentissage automatique (machine learning) est un outil algorithmique qui permet entre autres de construire un classifieur à partir d'une base de données. Pour que la classification par apprentissage automatique se déroule correctement et que le classifieur soit performant, en particulier pour que les classes minoritaires soient correctement apprises, il est avantageux que la base de données soit la plus équilibrée possible. Habituellement, si les données ne sont pas équilibrées, on met en oeuvre des techniques de rééquilibrage par sur-échantillonnage ou, plus couramment, par sous-échantillonnage des données. Actuellement, plusieurs techniques de sous-échantillonnage sont utilisées dans le cadre de l'apprentissage automatique. Une première technique consiste à éliminer aléatoirement des échantillons des classes majoritaires. Une telle technique est décrite par H. He dans l'article intitulé « Learning from Imbalanced Data », IEEE Transactions on knowledge and data engineering, ol. 21, no. 9, 2009. Le principal défaut de cette technique est la perte d'information et surtout le risque de supprimer des données qui peuvent être pertinentes vis-à-vis des classes majoritaires. Afin de résoudre ce problème, il existe une deuxième technique décrite par exemple, par X. Y. Liu et al. dans l'article « Exploratory undersampling for class-imbalance learning », IEEE Trans. Syst. Man Cybern. Part B Cybern., vol. 39, no. 2, pp 539-550, 2009. Cette deuxième technique consiste à sous-échantillonner indépendamment plusieurs sous- ensembles de la classe majoritaire et à construire un classifieur pour chacun de ces sous- 2 ensembles. Au final, on obtient une pluralité de classifieurs qui sont ensuite fusionnés, par exemple, par un vote majoritaire en un seul classifieur. Toutefois, cette méthode nécessite la réalisation et le stockage de plusieurs classifieurs consommant ainsi beaucoup de temps de calcul et d'espace de stockage. De plus, cette méthode ne s'applique que pour une 5 classification binaire et n'est pas adaptée pour une classification multi-classes. Il existe une autre technique qui combine le sous-échantillonnage aléatoire avec un processus de stimulation « boosting ». Toutefois, cette dernière technique a les mêmes inconvénients que la technique précédente. L'objet de la présente invention est de proposer un procédé et un dispositif de 10 classification multi-classes d'une application par apprentissage automatique remédiant aux inconvénients précités, en particulier en fournissant un dispositif adapté pour mettre en oeuvre une technique d'équilibrage de données par sous-échantillonnage sans perte d'information ni suppression de données potentiellement pertinentes tout en minimisant les étapes de calcul et l'espace de stockage des données. 15 EXPOSÉ DE L'INVENTION La présente invention est définie par un dispositif de classification multi-classes d'une application par apprentissage automatique, comportant : - des capteurs configurés pour mesurer à des instants successifs des grandeurs physiques spécifiques à ladite application, 20 - un microprocesseur configuré pour : - acquérir lesdites mesures successives depuis les capteurs pour calculer des prédicteurs à partir de grandeurs physiques desdites mesures, - construire des suites continues d'échantillons, chaque échantillon étant un vecteur à un instant donné formé d'un nombre prédéterminé de prédicteurs, 25 - décomposer chaque suite d'échantillons en un ensemble de séquences correspondant chacune à une classe spécifique parmi un ensemble de classes prédéterminées, - sous-échantillonner des séquences associées à des classes parmi ledit ensemble de classes prédéterminées en conservant pour chaque séquence sélectionnée 3 une fraction prédéterminée d'échantillons de ladite séquence, formant ainsi des classes associées à des échantillons équilibrés, et - construire un classifieur à partir desdits échantillons équilibrés par apprentissage automatique. 5 Le dispositif selon l'invention met ainsi en oeuvre une technique de sous- échantillonnage permettant d'uniformiser le nombre d'échantillons par classe en l'appliquant à des séquences distinctives et non pas sur l'ensemble des échantillons. Ceci permet de simplifier la technique de sous-échantillonnage sans perte d'information ni suppression de données potentiellement pertinentes tout en minimisant les étapes de 10 calcul et le stockage des données et par conséquent, permet de construire un classifieur multi-classes de l'application très performant. Avantageusement, la fraction prédéterminée d'échantillons comporte des échantillons aux bornes de la séquence ainsi que certains échantillons intermédiaires. Ceci permet de garder les échantillons transitoires entre les différentes 15 séquences sachant que ces éléments peuvent être pertinents tout en supprimant une partie des éléments stationnaires. Avantageusement, les échantillons intermédiaires sont régulièrement espacés dans ladite séquence en sélectionnant un échantillon sur un nombre prédéterminé d'échantillons. 20 Ceci permet de faciliter la sélection des échantillons. Avantageusement, les séquences sont associées à un sous-ensemble de classes majoritaires parmi ledit ensemble de classes prédéterminées. En effet, il est plus rapide, plus simple et plus pertinent de n'appliquer le sous-échantillonnage que sur les classes majoritaires même si la technique peut être appliquée 25 systématiquement sur toutes les classes. Selon une première définition, une classe majoritaire est une classe dont le nombre d'échantillons est supérieur à la valeur moyenne d'échantillons des différentes classes. Ceci permet d'avoir un premier critère simple à mettre en oeuvre pour définir une classe majoritaire selon la présente invention. 4 Selon une deuxième définition, une classe majoritaire est une classe dont le nombre cumulé d'échantillons représente un pourcentage prédéterminé du nombre total d'échantillons des différentes classes. Ceci permet de définir une classe majoritaire selon un deuxième critère selon 5 la présente invention. Avantageusement, le microprocesseur est en outre configuré pour sélectionner les séquences à sous-échantillonner parmi ledit ensemble de séquences en fonction des critères de sélection prédéterminés. Ce mode de réalisation permet d'affiner la sélection des séquences à 10 échantillonner afin d'améliorer davantage la précision du classifieur. Selon un mode de réalisation de la présente invention, les critères de sélection prédéterminés comportent la sélection des séquences présentant une mesure de similarité supérieure à un seuil prédéterminé. Ceci permet de réduire le nombre d'échantillons dans une classe majoritaire 15 sans supprimer des informations pouvant être pertinentes. Avantageusement, la mesure de similarité d'une séquence correspond à la moyenne des mesures de similarité déterminées sur chacun des prédicteurs de la séquence. Ceci permet de déterminer avec précision la mesure de similarité d'une 20 séquence de manière simple. Selon un autre mode de réalisation de la présente invention, les critères de sélection prédéterminés comportent la sélection des séquences présentant une durée supérieure à une période temporelle prédéterminée. Cet autre mode de réalisation permet d'avoir une assez bonne sélection des 25 séquences à échantillonner tout en simplifiant encore davantage les étapes de calcul. Selon un mode de réalisation de la présente invention, l'application correspond à une classification d'un mode de transport d'un utilisateur dudit dispositif. Avantageusement, le microprocesseur est configuré pour déterminer l'empreinte carbone de l'utilisateur en fonction de ladite classification du mode de 30 transport. 5 Selon un mode de réalisation de la présente invention, le dispositif d'analyse prédictive est un téléphone portable. L'invention vise également un procédé de classification multi-classes d'une application par apprentissage automatique, comportant les étapes suivantes : 5 - acquérir des mesures temporelles successives de grandeurs physiques spécifiques à ladite application, - calculer des prédicteurs à partir desdites grandeurs physiques, - construire à partir desdites mesures successives des suites d'échantillons, chaque échantillon étant un vecteur à un instant donné formé d'un nombre prédéterminé 10 de prédicteurs, - décomposer chaque suite d'échantillons en un ensemble de séquences correspondant chacune à une classe spécifique parmi un ensemble de classes prédéterminées, - sous-échantillonner des séquences associées à des classes parmi ledit 15 ensemble de classes prédéterminées en conservant pour chaque séquence sélectionnée une fraction prédéterminée d'échantillons de ladite séquence, formant ainsi des classes associées à des échantillons équilibrés, et - construire un classifieur à partir desdits échantillons équilibrés par apprentissage automatique. 20 L'invention vise aussi un programme d'ordinateur comportant des instructions de code pour la mise en oeuvre du procédé selon le procédé ci-dessus lorsqu'il est exécuté par un microprocesseur. BRÈVE DESCRIPTION DES DESSINS La Fig. 1 illustre de manière schématique un dispositif de classification multi- 25 classes d'une application par apprentissage automatique, selon un mode de réalisation de l'invention ; La Fig. 2 est un organigramme illustrant de manière schématique un procédé de classification multi-classes d'une application par apprentissage automatique, selon un premier mode de réalisation de l'invention ; 6 La Fig. 3 est une représentation graphique d'un exemple de classification d'un mode de transport, selon un mode de réalisation de l'invention ; La Fig. 4 est un organigramme illustrant de manière schématique un procédé de classification multi-classes d'une application par apprentissage automatique, selon un 5 deuxième mode de réalisation de l'invention ; La Fig. 5 est une représentation graphique d'une classification d'un mode de transport, selon le mode de réalisation de la Fig. 4; La Fig. 6 est un organigramme illustrant de manière schématique un procédé de classification multi-classes d'une application par apprentissage automatique, selon un 10 troisième mode de réalisation de l'invention ; La Fig. 7 est un graphe représentant la similarité des séquences en fonction de leurs durées, selon l'exemple de la Fig. 5 ; et La Fig. 8 est une représentation graphique d'une classification d'un mode de transport, selon le mode de réalisation de la Fig. 6. 15 EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS Le concept à la base de l'invention est d'appliquer localement une technique de sous-échantillonnage à des séquences spécifiques de données. La Fig. 1 illustre de manière schématique un dispositif de classification multiclasses d'une application par apprentissage automatique, selon un mode de réalisation de 20 l'invention. Un exemple d'une application selon la présente invention concerne la classification automatique de différents modes de fonctionnements d'un engin ou d'une machine selon un ensemble de classes. En particulier, ceci peut concerner le test et la classification de différents modes opératoires d'un nouveau matériel (par exemple un 25 nouveau moteur sur un banc d'essai) en lui faisant subir des conditions opératoires pouvant être très changeantes, imprévisibles et pouvant comporter des conditions extrêmes. Ainsi, l'application peut consister à identifier les anomalies en fonction des différentes classes de modes opératoires de l'engin. 7 Un autre exemple d'une application selon la présente invention concerne la classification d'un mode de transport de l'utilisateur d'un dispositif de classification multiclasses pouvant être intégré dans un téléphone portable. Encore un autre exemple d'une application selon la présente invention 5 concerne la classification de l'état d'un utilisateur par exemple l'état de stress selon l'activité d'une personne. Dans ce cas, le dispositif d'analyse prédictive peut être intégré dans un bracelet ou une montre connectée portée par l'utilisateur. Quel que soit l'application, le dispositif de classification multi-classes 1 selon l'invention est adapté pour acquérir des signaux, équilibrer les données issues de ces 10 signaux et construire un classifieur à partir de ces données équilibrées par apprentissage automatique. En effet, le dispositif de classification multi-classes 1 comporte des capteurs 3 et un microprocesseur 5. Les capteurs 3 sont configurés pour mesurer à des instants successifs des grandeurs physiques (par exemple, accélération, vitesse, etc.) spécifiques à 15 l'application. Selon le type de l'application, les capteurs 3 peuvent comporter des accéléromètres, des sondes de température, des sondes de pression, des baromètres, des capteurs de conductivité électriques, des sondes de rythme cardiaque et d'activité électroderma le de l'utilisateur, etc. Le microprocesseur 5 est configuré pour acquérir depuis les capteurs 3 les 20 mesures successives des grandeurs physiques et pour calculer à partir de ces grandeurs physiques un nombre déterminé de caractéristiques ou d'indicateurs statistiques (moyenne, variance, etc.) appelés « prédicteurs » formant ainsi, à chaque instant d'acquisition, un vecteur comportant un nombre déterminé de prédicteurs. Dans la suite, chaque vecteur temporel est appelé « échantillon » ou tout simplement un point. 25 En outre, le microprocesseur 5 est configuré pour construire des suites continues ai d'échantillons (i.e. suites de vecteurs) où chaque suite ai d'échantillons est associée à une période de temps continue. Ensuite, le microprocesseur 5 est configuré pour décomposer chaque suite ai d'échantillons en un ensemble de sous-suites dites « séquences » Sk correspondant 30 chacune à une classe spécifique parmi un ensemble de classes prédéterminées. L'ensemble 8 de classes dépend bien entendu de l'application considérée. Cet ensemble peut correspondre aux différents modes de transport ou aux différents modes de fonctionnement d'un équipement ou aux différents états de stress d'un utilisateur, etc. Toutefois, la distribution des échantillons dans les différentes classes peut être 5 non-équilibrée et, par conséquent, le microprocesseur 5 est adapté pour rééquilibrer cette distribution avant d'appliquer l'apprentissage automatique. En effet, le microprocesseur 5 est configuré pour sous-échantillonner des séquences associées à des classes parmi l'ensemble de classes prédéterminées en conservant pour chaque séquence sélectionnée une fraction prédéterminée d'échantillons 10 représentatifs de la séquence formant ainsi des séquences équilibrés S. On notera qu'il est avantageux de sous-échantillonner uniquement les séquences associées à des classes majoritaires. Toutefois, on peut également sous-échantillonner toutes les séquences de manière systématique. Le sous-échantillonnage des séquences permet de former des classes associées à des données équilibrées. 15 Enfin, le microprocesseur 5 est configuré pour mettre en oeuvre un algorithme d'apprentissage automatique afin de construire un classifieur F à partir des échantillons équilibrés. L'apprentissage automatique est une méthode algorithmique connue par l'homme du métier, qui permet d'automatiser la construction d'un classifieur F de 20 prédiction à partir d'un ensemble de données d'apprentissage formé par les données équilibrées. Dans la suite, l'invention sera exposée pour une application de classification de mode de transport d'un utilisateur muni d'un téléphone portable comportant le dispositif de classification multi-classes, selon la Fig. 1. 25 Dans ce cas, les capteurs 3 peuvent comporter un accéléromètre, un magnétomètre, des capteurs inertiels, un GPS, un compteur de vitesse, un baromètre, etc. mesurant par exemple l'accélération, la vitesse et la position de l'utilisateur. A partir des mesures brutes de grandeurs physiques des différents capteurs 3, le microprocesseur 5 du téléphone portable (non représenté) est configuré de manière 30 connue pour construire un nombre déterminé p de prédicteurs Pu (u = 1, ...,p) indicatifs 9 de la position ou de l'état de mobilité du téléphone (par exemple, énergie vibratoire totale, énergie vibratoire dans une bande de fréquence, etc.). Ces prédicteurs Pu sont construits en appliquant par exemple des critères statistiques de position (moyenne, médiane, etc.) ou de dispersion (variance, écart-type, etc.) sur les données brutes (par exemple, 5 accélération, vitesse, altitude, etc.) issues des capteurs. Les différents prédicteurs Pu issus des mesures correspondent à des indicateurs et chaque ensemble de p prédicteurs Pu acquis à un instant donné ti forme un échantillon temporel xi. Autrement dit, un échantillon xi est un vecteur de taille p associé à un instant ti. 10 Par ailleurs, à partir de tous les échantillons xi successifs (i = 1, ...,m1), on construit un ensemble d'acquisitions ai (j = 1, ...,n) où chaque acquisition ai correspond à un enregistrement sur une période de temps continue aTi correspondant à la période entre ti et tnii. Chaque acquisition ai est ainsi une suite échantillons associée à une période de temps continue al) correspondante. 15 L'ensemble des acquisitions ai (j = 1, n) forme une base de données D pouvant être représentée par une matrice de dimension M x p où chaque ligne i correspond à un vecteur-échantillon xi de taille p et chaque colonne u correspond à un vecteur-prédicteur Pu de taille M = ml x m2 x x mn sachant que chaque acquisition cti comporte mi échantillons. 20 La base de données D peut être décomposée en plusieurs parties Di selon l'ensemble d'acquisitions a1 c'est-à-dire, D =u Di où chaque acquisition ai (i.e. chaque enregistrement sur une période continue) correspond à une partie Dj. On notera que, lors de chaque acquisition ai, la classe peut varier et par conséquent, on appellera « séquence » Sk, l'ensemble de données Dik continues 25 temporellement dans une acquisition a1 et de classe unique Ck. Alors, chaque partie Di de la base de données peut être à nouveau décomposée en un ensemble de sous-parties DJk, c'est-à-dire : D1 =U Dik où k = 1, ..., KG). Ainsi, chaque sous-partie Dm est une séquence Sk formant une matrice de dimension 1(k) x p correspondant aux données de l'acquisition ai pour lesquelles la classe est constante et vaut Ck. 10 Le principe de l'invention consiste à appliquer le sous-échantillonnage à chaque séquence Sk et non pas de façon globale sur toute les acquisitions a1. Ceci permet de s'assurer qu'après l'étape de sous-échantillonnage, la base de données D comporte des échantillons de chaque sous-partie Dm correspondant à chaque séquence Sk évitant ainsi 5 de perdre toute information pertinente. En outre, aucune hypothèse sur la nature du problème n'est nécessaire permettant tout genre de classification : binaire ou multiclasses. De plus, le sous-échantillonnage selon la méthode de l'invention est indépendant du type de classifieur qui est construit par la suite. Avantageusement, pour plus de simplicité et de rapidité, on ne supprime des 10 échantillons que de la (ou les) séquences Sk associées à la (ou les) classe(s) majoritaire(s). La Fig. 2 est un organigramme illustrant de manière schématique un procédé de classification multi-classes d'une application par apprentissage automatique, selon un premier mode de réalisation de l'invention. L'étape E0 est une étape d'initialisation qui consiste à définir la base de 15 données D (i.e. matrice M x p) et les classes Ck sur lesquelles le sous-échantillonnage est appliqué. Selon un premier mode de réalisation, le sous-échantillonnage est appliqué à l'ensemble de classes prédéterminées C associées à l'application. Selon un deuxième mode de réalisation plus avantageux, le sous- 20 échantillonnage est appliqué sur un sous-ensemble de classes et plus particulièrement sur des séquences associées à un sous-ensemble de classes majoritaires parmi l'ensemble de classes prédéterminées. Une classe majoritaire peut être automatiquement identifiée selon différentes manières ou critères. 25 Selon un premier exemple, une classe majoritaire Ck est une classe dont le nombre 1(k) d'échantillons est supérieur à la valeur moyenne M d'échantillons de l'ensemble de classes C prédéterminées. Selon un autre exemple, une classe majoritaire Ck est une classe dont le nombre cumulé d'échantillons représente un pourcentage prédéterminé (par exemple, 30 50%) du nombre total d'échantillons. 11 Les étapes E1-E6 forment deux boucles imbriquées où on boucle d'abord sur l'ensemble des acquisitions ai (j = 1, ...,m) de sorte que sur chaque acquisition courante ai, on boucle ensuite (étapes E2-E5) sur les séquences Sk (Sk E a) où k = 1, ..., KG) pour lesquelles la classe est unique, KG) étant le nombre de classes pour l'acquisition 5 courante agi. Ainsi, à l'étape El, on a une acquisition courante ai et à l'étape E2, on a une séquence courante Sk associée à une classe majoritaire courante Ck identifiée selon l'un des exemples ci-dessus. Aux étapes E3 et E4, on conserve une fraction prédéterminée d'échantillons xi 10 appartenant à chaque séquence courante Sk. Avantageusement, la fraction prédéterminée d'échantillons comporte des éléments aux bornes de la séquence ainsi que certains éléments intermédiaires. En effet, à l'étape E3, pour une séquence courante Sk de durée totale dk, on conserve les échantillons au début et à la fin de cette séquence, sur une période 15 prédéterminée dl typiquement inférieure à 60 secondes (0 REVENDICATIONS1. Dispositif de classification multi-classes d'une application par apprentissage automatique, caractérisé en ce qu'il comporte : - des capteurs (3) configurés pour mesurer à des instants successifs des grandeurs physiques spécifiques à ladite application, - un microprocesseur (5) configuré pour : - acquérir lesdites mesures successives depuis les capteurs (3) pour calculer des prédicteurs à partir de grandeurs physiques desdites mesures, - construire des suites continues (ai) d'échantillons, chaque échantillon étant un vecteur formé d'un nombre prédéterminé de prédicteurs, - décomposer chaque suite (ai) d'échantillons en un ensemble de séquences (Sk) correspondant chacune à une classe spécifique parmi un ensemble de classes prédéterminées, - sous-échantillonner des séquences associées à des classes parmi ledit ensemble de classes prédéterminées en conservant pour chaque séquence sélectionnée une fraction prédéterminée d'échantillons de ladite séquence, formant ainsi des classes associées à des échantillons équilibrés, et - construire un classifieur (F) à partir desdits échantillons équilibrés par apprentissage automatique. 2. Dispositif selon la revendication 1, caractérisé en ce que la fraction prédéterminée d'échantillons comporte des échantillons aux bornes de la séquence ainsi que certains échantillons intermédiaires. 3. Dispositif selon la revendication 1 ou 2, caractérisé en ce que les échantillons intermédiaires sont régulièrement espacés dans ladite séquence en sélectionnant un échantillon sur un nombre prédéterminé d'échantillons. 20 4. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les séquences sous-échantillonnées sont des séquences associées à un sous-ensemble de classes majoritaires parmi ledit ensemble de classes prédéterminées. 5 5. Dispositif selon la revendication 4, caractérisé en ce qu'une classe majoritaire est une classe dont le nombre d'échantillons est supérieur à la valeur moyenne d'échantillons des différentes classes. 6. Dispositif selon la revendication 4, caractérisé en ce qu'une classe majoritaire 10 est une classe dont le nombre cumulé d'échantillons représente un pourcentage prédéterminé du nombre total d'échantillons des différentes classes. 7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que le microprocesseur (5) est en outre configuré pour sélectionner les 15 séquences à sous-échantillonner parmi ledit ensemble de séquences en fonction des critères de sélection prédéterminés. 8. Dispositif selon la revendication 7, caractérisé en ce que les critères de sélection prédéterminés comportent la sélection des séquences présentant une mesure de 20 similarité supérieure à un seuil prédéterminé. 9. Dispositif selon la revendication 8, caractérisé en ce que la mesure de similarité d'une séquence correspond à la moyenne des mesures de similarité déterminées sur chacun des prédicteurs de la séquence. 25 10. Dispositif selon la revendication 7, caractérisé en ce que les critères de sélection prédéterminés comportent la sélection des séquences présentant une durée supérieure à une période temporelle prédéterminée. 21 11. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application correspond à une classification d'un mode de transport d'un utilisateur dudit dispositif. 5 12. Dispositif selon la revendication 11, caractérisé en ce que le microprocesseur est configuré pour déterminer l'empreinte carbone de l'utilisateur en fonction de ladite classification du mode de transport. 13. Dispositif selon l'une quelconque des revendications précédentes, 10 caractérisé en ce que le dispositif d'analyse prédictive est un téléphone portable. 14. Procédé de classification multi-classes d'une application par apprentissage automatique, caractérisé en ce qu'il comporte les étapes suivantes : - acquérir des mesures temporelles successives de grandeurs physiques 15 spécifiques à ladite application, - calculer des prédicteurs à partir desdites grandeurs physiques, - construire à partir desdites mesures successives des suites d'échantillons, chaque échantillon étant un vecteur temporel formé d'un nombre prédéterminé de prédicteurs, 20 - décomposer chaque suite d'échantillons en un ensemble de séquences correspondant chacune à une classe spécifique parmi un ensemble de classes prédéterminées, - sous-échantillonner des séquences associées à des classes parmi ledit ensemble de classes prédéterminées en conservant pour chaque séquence sélectionnée 25 une fraction prédéterminée d'échantillons de ladite séquence, formant ainsi des classes associées à des échantillons équilibrés, et - construire un classifieur à partir desdits échantillons équilibrés par apprentissage automatique. 22 15. Programme d'ordinateur comportant des instructions de code pour la mise en oeuvre du procédé selon la revendication 14 lorsqu'il est exécuté par microprocesseur.