METHOD FOR GENERATION OF A CLASSIFICATION MODEL AND METHOD FOR CLASSIFICATION USING SUCH A MODEL

A classification model generation method for microcontrollers defines value ranges and class assignments, addressing memory and computing limitations, resulting in a simple, efficient, and adaptable model for microcontrollers.

FR3149706A1Pending Publication Date: 2024-12-13STMICROELECTRONICS INT NV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2023005829
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-09
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Microcontrollers are limited by memory resources and computing power, making it difficult to implement certain classification models that require significant storage and computational intensity.

Method used

A classification model generation method that defines value ranges for characteristics, assigns classes based on occurrence counts within these ranges, and generates a classification table, suitable for microcontrollers with limited resources, avoiding overfitting and enabling easy updates.

Benefits of technology

The method produces a simple, quick, and memory-efficient classification model that generalizes well to unseen data, supports unbalanced datasets, and can be easily updated, suitable for microcontrollers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

According to one aspect, a computer-implemented method for generating a classification model is proposed, the method comprising: - obtaining (20) at least one group of training data, - defining (21) at least one feature to be studied from the training data, - extracting (22) a value for each defined feature from the entire training data set, - defining (23) ranges of values ​​for each feature from said extracted values, - defining (24) a classification table, - assigning (25) a class to each cell of the classification table based on the number of occurrences of the training data from each group according to the value of each extracted feature relative to the ranges of values ​​defined for each feature studied, - generating (26) a classification model comprising said classification table. Figure for the abstract: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: METHOD FOR GENERATING A CLASSIFICATION MODEL AND CLASSIFICATION METHOD USING SUCH A MODEL

[0001] Embodiments and implementations relate to data classification.

[0002] Computers can use classification models to classify data into categories or groups based on certain characteristics. There are several types of classification models. Each type of classification model has its own advantages and disadvantages depending on the type of data to be classified.

[0003] Classification models include decision trees, neural networks, neighbor-based classification models such as k-nearest neighbors (KNN), and support vector machines (SVM).

[0004] Furthermore, microcontrollers are programmable integrated circuits that can be used to implement classification models.

[0005] However, microcontrollers have limitations in terms of memory resources and computing power. Indeed, microcontrollers generally have limited memory storage capacity. Microcontrollers also have limited processing speed.

[0006] These limitations may restrict their ability to implement certain classification models.

[0007] The size and complexity of a classification model and the resources available on a microcontroller should be considered in determining whether it is possible and desirable to use the classification model on the microcontroller.

[0008] In particular, classification models that require a lot of data storage may exceed the storage capacity of the microcontroller. In addition, classification algorithms that require a lot of computation may take a long time to execute on a microcontroller.

[0009] Thus, some classification models are not suitable for use by microcontrollers. Microcontrollers are generally better suited to use simple classification models.

[0010] There is therefore a need to propose a solution allowing classification to be carried out in a simple, rapid and inexpensive manner in terms of memory occupation.

[0011] According to one aspect, there is provided a computer-implemented method of generating of a classification model, the method comprising: - obtaining at least one group of training data, each group of training data being associated with an indicated class, - a definition of at least one characteristic to be studied from the training data, - an extraction of a value from each characteristic defined for the set of training data, - a definition of value ranges for each characteristic from said extracted values, - a definition of a classification table presenting a number of dimensions corresponding to the number of characteristics studied, each dimension having a size equal to the number of ranges of values ​​defined for the characteristic associated with this dimension, each box of the classification table being associated with a range of values ​​of each characteristic studied, - an allocation of a class to each box of the classification table based on a number of occurrences of the training data of each group according to their value of each extracted characteristic in relation to the ranges of values ​​defined for each characteristic studied, - a generation of a classification model comprising said classification table.

[0012] Such a generation method makes it possible to obtain a classification model that is simple and quick to use and occupies a relatively small space in memory.

[0013] Such a classification model can therefore be used by a computer system with limited resources in terms of memory and computing power. Such a classification model can in particular be used by a microcontroller.

[0014] Because the classes are assigned to ranges of values ​​of each feature studied, the classification model is defined by avoiding overfitting to the training data, to improve its generalization to data that have not been used as training data. The limited number of ranges of values, which is correlated with the number of training data, also helps to avoid overfitting.

[0015] Such a classification model can also be easily updated by taking into account new training data.

[0016] Furthermore, if the training data are divided into several groups of different sizes, it is possible to apply a weighting on the number of occurrences of the training data used when assigning the classes to the different boxes of the classification table. Such a method of generating a classification model is therefore suitable for unbalanced training data sets.

[0017] In an advantageous embodiment, the classification model comprises also a minimum and a maximum value of each feature studied. Such a classification model can be stored in a relatively small space in memory.

[0018] Alternatively, the classification model may include all of the value ranges for each characteristic.

[0019] Preferably, the class assigned to a box of the classification table corresponds to the class of the group of training data having the highest number of occurrences of training data over the range of values ​​of each characteristic associated with said box of the classification table.

[0020] In an advantageous embodiment, the class assigned to a box of the classification table corresponds to the class having the highest probability compared to the classes assigned to the adjacent boxes of the classification table if the number of occurrences of the training data over the range of values ​​of each characteristic associated with said box is the same and not zero for each group of training data.

[0021] In an advantageous embodiment, the class assigned to a box of the classification table corresponds to an indeterminate class or to the class having the highest probability compared to the classes assigned to the adjacent boxes of the classification table if the number of occurrences of the training data over the range of values ​​of each characteristic associated with said box is zero for each group of training data.

[0022] Preferably, the value ranges for each characteristic are defined using Sturges' rule.

[0023] Advantageously, the method further comprises developing a classification computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the generated classification model.

[0024] According to another aspect, there is provided a computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method of generating a classification model as described above.

[0025] According to another aspect, there is provided a computer system comprising: - a memory comprising a computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method of generating a classification model as described above, - a processing unit configured to execute said computer program product.

[0026] According to another aspect, there is provided a computer-implemented method of classification from a classification model obtained by a generation method as described above, the classification method comprising: - obtaining data to be classified, - an extraction of values ​​from the data to be classified for each characteristic defined in the classification model, - a determination of the class of data to be classified from the classification table of the classification model indicating the class assigned for said extracted values.

[0027] In an advantageous embodiment, the classification model comprises a minimum value and a maximum value of each characteristic studied. The class assigned for said data to be classified is then found in the classification table from said values ​​extracted from the data to be classified, the minimum and maximum values ​​of each characteristic studied and the size of each dimension of the classification table.

[0028] According to another aspect, there is provided a computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the classification method as described above.

[0029] According to another aspect, there is provided a computer system comprising: - a memory comprising a computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the classification method as described above, - a processing unit configured to execute said computer program product.

[0030] Other advantages and characteristics of the invention will appear on examining the detailed description of embodiments, which are in no way limiting, and the appended drawings in which:

[0031] [Fig.l]

[0032] [Fig.2]

[0033] [Fig.3]

[0034] [Fig.4]

[0035] [Fig.5] illustrate embodiments and implementations of the invention.

[0036] [Fig.l] illustrates an embodiment of a computer system SYS1 configured to implement a method for generating a classification model.

[0037] The computer system SYS1 comprises a processing unit UT1 and a memory MEM1. Such a computer system SYS1 may be a personal computer or a server for example.

[0038] The memory MEM1 comprises a computer program PRG1 comprising instructions which, when the program PRG1 is executed by the processing unit UT1 of the computer system SYS1, cause the latter to implement the method of generating a classification model, as described below.

[0039] The memory MEM1 is also configured to store TDAT training data. The TDAT training data is data used to generate the MDL classification model. The TDAT training data is provided by a user of the computer system SYS1 wishing to define a classification model from this TDAT training data. The TDAT training data can be obtained from data acquired by sensors and then provided to the computer system SYS1. The TDAT data can for example correspond to any type of analog or digital signal, for example images, vibration signals, current measurements, etc.

[0040] The TDAT training data comprises data associated with different classes. A class is a group of data that have similar characteristics and are grouped together based on these characteristics. Thus, the training data is divided into several groups of training data, each group of training data being associated with a class indicated by the user.

[0041] More particularly, features are quantitative measures or properties of the training data that allow them to be distinguished from one another and associated with particular classes. The training data may correspond directly to features.

[0042] For example, characteristics of time series signals may include amplitudes, frequencies, durations, minimums, maximums, averages, standard deviations, etc.

[0043] For example, one group of training data may be associated with a class corresponding to normal data, and another group of training data may be associated with a class corresponding to anomaly data.

[0044] The processing unit UT1 is configured to generate an MDL classification model by implementing said generation method. In particular, the processing unit UT1 is configured to generate an MDL classification model by executing the computer program PRG1 by taking said TDAT classification data as input.

[0045] [Fig.2] illustrates an embodiment of a classification model generation method that can be executed by a computer system as described previously.

[0046] The method comprises obtaining 20 TDAT training data associated with different classes. Each class is thus defined by a group of training data.

[0047] The method comprises a definition 21 of at least one characteristic of the training data to be studied in order to classify the training data. In particular, it is possible to define a single characteristic to be studied or several characteristics to be studied. These characteristics are defined by the user.

[0048] The method then comprises an extraction 22 of the values ​​of said characteristics for the different training data. If the training data correspond directly to characteristics, then the extraction step 22 is equivalent to a simple reading of the training data.

[0049] The method then comprises a definition 23 of value ranges for each characteristic of the training data. These value ranges will subsequently be assigned to the different classes.

[0050] In particular, the value ranges can be defined by slicing the values ​​extracted from the training data. The value ranges can for example be defined using the Sturges rule or the Freedman-Diaconis rule or even the Scott rule, well known to those skilled in the art.

[0051] The classification model is defined from the number of occurrences of training data with respect to the different defined value ranges.

[0052] More particularly, for each class of training data, an occurrence table is used to list the number of occurrences of the training data of this class with respect to the ranges of values ​​defined for each characteristic studied.

[0053] The occurrence table has a number of dimensions equal to the number of characteristics to be studied. Each dimension of the table has a size corresponding to the number of value ranges defined for the characteristic associated with this dimension. Each box in the table is associated with a value range of each characteristic studied. Each box makes it possible to count the number of occurrences of the training data of the class associated with this occurrence table compared to the value ranges of the characteristics associated with this box.

[0054] The number of occurrences of the training data with respect to said value ranges is listed in the occurrence table using the following method. For each training data, the value of each studied characteristic extracted from this training data is compared with the value ranges defined for this characteristic in order to determine which box of the occurrence table to increment.

[0055] Each occurrence table is stored in a memory of the computer system, for example a volatile memory of the computer system.

[0056] When only one characteristic is studied, each occurrence table can be illustrated by a histogram comprising bars (in English "bin") associated with the different defined value ranges. Each bar then illustrates the number of occurrences of training data of the class associated with this histogram for the range of values ​​of the characteristic studied associated with this bar. Such histograms are described below in relation to [Fig.3].

[0057] The MDL classification model to be generated comprises a classification table TAB. In particular, the method comprises a definition 24 of such a classification table TAB. The classification table TAB has dimensions which correspond to the defined characteristics. Each box of the classification table TAB is associated with a range of values ​​for the different defined characteristics.

[0058] The method comprises an assignment 25 of a class to each box of the classification table. In particular, a class is assigned to each box of the classification table by comparing the occurrence tables established for the different classes of the training data.

[0059] The class assigned to a box corresponds to the class of training data for which a greater number of occurrences of said training data is present in the ranges of values ​​defined for this box.

[0060] If the number of occurrences of said training data over the range of values ​​of each characteristic associated with said box is equal and non-zero between the different groups of training data, then the box of the classification table TAB is associated with the class which has the highest probability of occurrences based on the set of training data. In particular, the class assigned for such a box of the classification table can be defined according to the classes assigned to the adjacent boxes of the classification table.

[0061] If the number of occurrences of the training data over the range of values ​​of each characteristic associated with said box is zero for each group of training data, then the class assigned to the box of the classification table corresponds to an indeterminate class or to the class having the highest probability compared to the classes assigned to the adjacent boxes of the classification table.

[0062] The method then comprises a step 26 of generating the classification model. The classification model comprises the classification table as well as the minimum value Minvd and the maximum value Maxvai of each characteristic. As an alternative to the minimum and maximum values ​​of each characteristic, the classification model may comprise all of the value ranges defined for each characteristic.

[0063] Such a generation method makes it possible to obtain a classification model that is simple and quick to use and occupies a relatively small space in memory.

[0064] Such a classification model can therefore be used by a computer system having limited resources in terms of memory and computing power. Such a classification model can in particular be used by a microcontroller. In particular, the classification model can be implemented by a computer system such as that described below in relation to [Fig.4].

[0065] Because the classes are assigned to ranges of values ​​of each characteristic studied, the classification model is defined by avoiding overfitting to the training data, to improve its generalization to data that have not been used as training data.

[0066] Such a classification model can also be easily updated by taking into account new training data.

[0067] Furthermore, if the training data are divided into several groups of different sizes, it is possible to apply a weighting on the number of occurrences of the training data used when assigning the classes to the different boxes of the classification table. Such a method of generating a classification model is therefore suitable for unbalanced training data sets.

[0068] [Fig.3] illustrates a GRPH graph as well as H_PFFT and H_LINT histograms that can be obtained from the values ​​of the training data features.

[0069] Here, the training data correspond to signals corresponding to sounds. The characteristics defined for this training data are peaks of a Fourier transform, in particular a fast Fourier transform PFFT, and curvilinear integrals LINT. A first group of training data is associated with a first class CLS1. A second group of training data is associated with a second class CLS2.

[0070] In particular, the abscise of the GRPH graph corresponds to the peaks of the Fourier transformations, in particular of a fast Fourier transformation, of the training data. The ordinate of the graph corresponds to the values ​​of the curvilinear integrals of the training data.

[0071] For each training data associated with the CLS1 class or the CLS2 class, a point is plotted on the graph according to the value of the Fourier transform peak and the curvilinear integral associated with this training data.

[0072] The points P_CLS1 correspond to the values ​​of the characteristics of the training data associated with the first class CLS1.

[0073] The P_CLS2 points correspond to the values ​​of the characteristics of the training data associated with the second CLS2 class.

[0074] The H_PFFT histogram illustrates the number of occurrences of the training data of each class CLS1, CLS2 according to the value of their Fourier transform peaks with respect to the different ranges of P_PFFT values ​​defined for the histogram bars.

[0075] The H_LINT histogram illustrates the number of occurrences of the training data of each class CLS1, CLS2 according to the value of the curvilinear integrals with respect to the different ranges of P_LINT values ​​defined for the bars of the histogram.

[0076] If only the Fourier transform PFFT peak values ​​are used to generate the classification model, then the classification table can be defined from the histogram H_PFFT according to the number of occurrences of the training data of each class CLS1, CLS2 for each bar of this histogram.

[0077] If only the values ​​of the curvilinear integrals LINT are used to generate the classification model, then the classification table can be defined from the histogram H_LINT according to the number of occurrences of the training data of each class CLS1, CLS2 for each bar of this histogram.

[0078] To improve the performance of the classification model, the classification model can be generated by taking into consideration the Fourier transform peak values ​​PFFT and the values ​​of the curvilinear integrals LINT. In this case, the classification table can be defined from the number of occurrences of the training data of each class CLS1, CLS2 in each zone ZNE of the graph GRPH having the size of each range of P_LINT and P_PFFT values ​​defined. Each zone ZNE is then associated with a box of the occurrence table as defined previously.

[0079] [Fig.4] illustrates an embodiment of a SYS2 computer system configured to implement a classification method using the described classification model.

[0080] The computer system SYS2 can be a microcontroller, a personal computer or a server for example.

[0081] The computer system SYS2 comprises a processing unit UT2 and a memory MEM2.

[0082] The computer system SYS2 comprises a computer program PRG2 comprising instructions which, when the program is executed by the processing unit UT2 of the computer system SYS2, cause the latter to implement the classification method described below. This computer program is stored in the memory MEM2.

[0083] The SYS2 computer system is configured to receive XDAT data to be classified.

[0084] [Fig.5] illustrates a mode of implementation of a classification method which can be executed by a SYS2 computer system as described previously.

[0085] The method comprises obtaining 30 XDAT data to be classified.

[0086] The method then comprises an extraction 31 of the values ​​of the characteristics of the XDAT data to be classified. The characteristics of the data to be classified correspond to the characteristics defined to establish the MDL classification model.

[0087] The method then comprises a determination 32 of the class of the data to be classified XDAT using the classification model from the values ​​of the characteristics extracted from the data to be classified XDAT.

[0088] In particular, the class of the data to be classified XDAT is determined from the classification table TAB of the MDL classification model. In particular, as indicated previously, each box of the classification table TAB is associated with a class.

[0089] The values ​​of the characteristics extracted from the data to be classified XDAT are used to select a box in the classification table which is associated with the ranges of the values ​​of the characteristics which include said extracted values. This selected box in the classification table TAB makes it possible to enter the class of the data to be classified.

[0090] In particular, the box of the classification table TAB can be selected using the values ​​of the extracted characteristics as well as the minimum and maximum values ​​Minvai and Maxvai of the characteristics provided by the classification model.

[0091] In particular, the coordinates of the box of the classification table TAB can be obtained by using the following formula for each characteristic studied:

[0092] ( Datval - Minva[ ) / ( Max^ - Minval / N ), where Datval corresponds to the value of said characteristic extracted from the data to be classified, Minval corresponds to the minimum value of the characteristic provided by the classification model, Maxval corresponds to the maximum value of the characteristic provided by the MDL classification model, and A corresponds to the number of boxes in the classification table associated with this characteristic (i.e. the number of value ranges defined for this characteristic).

[0093] Alternatively, if the classification model includes all the value ranges defined for each characteristic during its generation, the box of the classification table TAB can be selected by comparing the values ​​of the extracted characteristics to the defined value ranges.

Claims

Claims

1. A computer-implemented method for generating a classification model (MDL), the method comprising: - obtaining (20) at least one group of training data (TDAT), each group of training data being associated with an indicated class, - defining (21) at least one characteristic to be studied from the training data (TDAT), - extracting (22) a value of each characteristic defined for the set of training data (TDAT), - defining (23) value ranges for each characteristic from said extracted values, - defining (24) a classification table (TAB) having a number of dimensions corresponding to the number of characteristics studied, each dimension having a size equal to the number of value ranges defined for the characteristic associated with this dimension,each box of the classification table being associated with a range of values ​​of each characteristic studied, - an attribution (25) of a class to each box of the classification table (TAB) according to a number of occurrences of the learning data of each group according to their value of each characteristic extracted in relation to the ranges of values ​​defined for each characteristic studied, - a generation (26) of a classification model (MDL) comprising said classification table (TAB).,

2. Method according to claim 1, in which the classification model (MDL) also comprises a minimum value (Minvai) and a maximum value (Maxvai) of each characteristic studied.

3. A method according to any one of claims 1 or 2, wherein the class assigned to a bin of the classification table corresponds to the class of the group of training data having the highest number of occurrences of training data over the range of values ​​of each characteristic associated with said bin of the classification table.

4. Method according to one of claims 1 to 3, in which the class assigned to a box of the classification table corresponds to the class having the highest probability compared to the classes at- assigned to adjacent boxes in the classification table if the number of occurrences of the training data over the range of values ​​of each feature associated with that box is the same and non-zero for each group of training data.

5. Method according to one of claims 1 to 4, the class assigned to a box of the classification table corresponds to an indeterminate class or to the class having the highest probability compared to the classes assigned to the adjacent boxes of the classification table if the number of occurrences of the training data over the range of values ​​of each characteristic associated with said box is zero for each group of training data.

6. A method according to one of claims 1 to 5, wherein the ranges of values ​​for each characteristic are defined using Sturges' rule.

7. A method according to one of claims 1 to 6, further comprising developing a classification computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the generated classification model.

8. Computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method according to one of claims 1 to 7.

9. Computer system comprising: - a memory comprising a computer program product according to claim 8, - a processing unit configured to execute said computer program product.

10. A computer-implemented method of classification from a classification model obtained by a generation method according to one of claims 1 to 7, the classification method comprising: - obtaining (30) data (XDAT) to be classified, - extracting (31) values ​​from the data to be classified (XDAT) for each characteristic defined in the classification model, - determining (32) the class of the data to be classified (XDAT) from the classification table of the classification model indicating the class assigned for said extracted values.

11. Method according to claim 10, in which the classification model (MDL) comprises a minimum value (Minvai) and a value maximum (Maxvai) of each characteristic studied, and in which the class assigned for said data to be classified is found in the classification table from said values ​​extracted from the data to be classified, the minimum and maximum values ​​of each characteristic studied and the size of each dimension of the classification table (TAB).

12. A computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method according to one of claims 10 or 11.

13. Computer system comprising: - a memory comprising a computer program product according to claim 12, - a processing unit configured to execute said computer program product.