System and method for determining confidence of a prediction of a machine learning model

The system addresses the lack of confidence assessment in machine learning models by using a secondary classifier model to determine a confidence index for predictions made by a primary regression model, thereby improving the reliability of machine learning outputs.

WO2025019932A1PCT designated stage expired Publication Date: 2025-01-30NURALOGIX CORP

Patent Information

Application Number
PCT/CA2024/050946
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-26
Filing Date
2024-07-17
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Existing machine learning models lack an effective method to determine the confidence of their predictions, which is crucial for understanding the reliability and accuracy of the outputs.

Method used

A system and method that utilize a secondary machine learning model, trained on the same dataset as the primary regression model, to calculate a confidence index for predictions made by the primary model. This secondary model is a classifier that outputs scores for each class, with the confidence index derived from the score corresponding to the predicted class range.

Benefits of technology

This approach allows for a reliable assessment of the confidence in predictions made by regression models, enhancing the credibility and accuracy of machine learning outputs by providing a separate model to quantify prediction confidence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CA2024050946_30012025_PF_FP_ABST
    Figure CA2024050946_30012025_PF_FP_ABST
Patent Text Reader

Abstract

Provided are systems and methods for determining confidence of a prediction of a first machine learning model. The first machine learning model including a regression model trained using a training dataset. The prediction by the first machine learning model determined using an input dataset. The method including: receiving the input dataset; determining, using a secondary machine learning model, a confidence index for the prediction, the secondary machine learning model including a classifier model trained using the training dataset, the secondary machine learning model outputting a score for each of a plurality of classes, each class including a range of values, the confidence index including the score for the class including the range where the prediction resides; and outputting the confidence index.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR DETERMINING CONFIDENCE OF A PREDICTION OF A MACHINE LEARNING MODELTECHNICAL FIELD

[0001] The following relates generally to machine learning models and more specifically to a system and method for determining confidence of a prediction of a machine learning model.BACKGROUND

[0002] A confidence score or index is generally used to measure or quantify a level of certainty or reliability for a prediction made by a machine learning model. In this way, it provides an understanding of credibility or potential accuracy of the prediction. Generally, a higher confidence score or index suggests a more reliable or certain prediction; while a lower confidence score or index implies a prediction with a higher degree of uncertainty or ambiguity, indicating that the prediction is less reliable.SUMMARY

[0003] In an aspect, there is provided a computer-executed method for determining confidence of a prediction of a first machine learning model, the first machine learning model comprising a regression model trained using a training dataset, the prediction by the first machine learning model determined using an input dataset, the method comprising: receiving the input dataset; determining, using a secondary machine learning model, a confidence index for the prediction, the secondary machine learning model comprising a classifier model trained using the training dataset, the secondary machine learning model outputting a score for each of a plurality of classes, each class comprising a range of values, the confidence index comprising the score for the class comprising the range where the prediction resides; and outputting the confidence index.

[0004] In a particular case of the method, the secondary machine learning model uses a feature set that matches the feature set of the first machine learning model.

[0005] In another case of the method, the secondary machine learning model uses a ground truth space divided into the plurality of classes.

[0006] In yet another case of the method, the division of the plurality of classes is based on a range of the ground truth data and a distribution in the training dataset.

[0007] In yet another case of the method, the method further comprising performing smoothening of the scores determined for each of a plurality of classes.

[0008] In yet another case of the method, performing smoothening comprises converting the confidence index to a percentile based on a distribution of a test set.

[0009] In yet another case of the method, the method further comprising receiving the prediction from the first machine learning model prior to determination of the confidence index of the received prediction.

[0010] In yet another case of the method, the first machine learning model comprises one of a linear regression model, a polynomial regression model, a ridge regression model, a support vector regression model, a decision tree regression model, a random forest regression model, a gradient boosting regression model, or a convolutional neural network regression model.

[0011] In yet another case of the method, the second machine learning model comprises one of a logistic regression model, a decision tree classifier model, a random forest classifier model, a support vector machine classifier model, a naive bayes classifier model, a K- nearest neighbors classifier model, an artificial neural network classifier model, or a gradient boosting classifier model.

[0012] In another aspect, there is provided a system for determining confidence of a prediction of a first machine learning model, the first machine learning model comprising a regression model trained using a training dataset, the prediction by the first machine learning model determined using an input dataset, the system comprising one or more processors in communication with a data storage, the data storage comprising instructions for the one or more processors to execute: an input module to receive the input dataset; a confidence module to determine, using a secondary machine learning model, a confidence index for the prediction, the secondary machine learning model comprising a classifier model trained using the training dataset, the secondary machine learning model outputting a score for each of a plurality of classes, each class comprising a range of values, the confidence index comprising the score for the class comprising the range where the prediction resides; and an output module to output the confidence index.

[0013] In a particular case of the system, the secondary machine learning model uses a feature set that matches the feature set of the first machine learning model.

[0014] In another case of the system, the secondary machine learning model uses a ground truth space divided into the plurality of classes.

[0015] In yet another case of the system, the division of the plurality of classes is based on a range of the ground truth data and a distribution in the training dataset.

[0016] In yet another case of the system, the confidence module further performs smoothening of the scores determined for each of a plurality of classes.

[0017] In yet another case of the system, performing smoothening comprises converting the confidence index to a percentile based on a distribution of a test set.

[0018] In yet another case of the system, the input module receives the prediction from the first machine learning model prior to determination of the confidence index of the received prediction.

[0019] In yet another case of the system, the first machine learning model comprises one of a linear regression model, a polynomial regression model, a ridge regression model, a support vector regression model, a decision tree regression model, a random forest regression model, a gradient boosting regression model, or a convolutional neural network regression model.

[0020] In yet another case of the system, the second machine learning model comprises one of a logistic regression model, a decision tree classifier model, a random forest classifier model, a support vector machine classifier model, a naive bayes classifier model, a K- nearest neighbors classifier model, an artificial neural network classifier model, or a gradient boosting classifier model.

[0021] In yet another case of the system, the one or more processors further execute a prediction module to perform predictions of the first machine learning model.

[0022] These and other aspects are contemplated and described herein. It will be appreciated that the foregoing summary sets out representative aspects of embodiments to assist skilled readers in understanding the following detailed description.BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The features of the invention will become more apparent in the following detailed description in which reference is made to the appended drawings wherein:

[0024] FIG. 1 is a block diagram of a system for determining confidence of a prediction of a machine learning model, according to an embodiment; and

[0025] FIG. 2 is a flowchart for a method for determining confidence of a prediction of a machine learning model, according to an embodiment;DETAILED DESCRIPTION

[0026] Embodiments will now be described with reference to the figures. For simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the Figures to indicate corresponding or analogous elements. In addition,numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Also, the description is not to be considered as limiting the scope of the embodiments described herein.

[0027] Various terms used throughout the present description may be read and understood as follows, unless the context indicates otherwise: “or” as used throughout is inclusive, as though written “and / or”; singular articles and pronouns as used throughout include their plural forms, and vice versa; similarly, gendered pronouns include their counterpart pronouns so that pronouns should not be understood as limiting anything described herein to use, implementation, performance, etc. by a single gender; “exemplary” should be understood as “illustrative” or “exemplifying” and not necessarily as “preferred” over other embodiments. Further definitions for terms may be set out herein; these may apply to prior and subsequent instances of those terms, as will be understood from a reading of the present description.

[0028] Any module, unit, component, server, computer, terminal, engine or device exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and / or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the device or accessible or connectable thereto. Further, unless the context clearly indicates otherwise, any processor or controller set out herein may be implemented as a singular processor or as a plurality of processors. The plurality of processors may be arrayed or distributed, and any processing function referred to herein may be carried out by one or by a plurality of processors, even though a single processor may be exemplified. Any method, application or module herein described may be implemented using computerreadable / executable instructions that may be stored or otherwise held by such computer readable media and executed by the one or more processors.

[0029] The following relates generally to machine learning models and more specifically to a system and method for determining confidence of a prediction of a machine learning model.

[0030] A confidence index (otherwise referred to as a confidence score) is a measure of how confident a system is of a prediction made by a machine learning (ML) model. In the present embodiments, the confidence index is used for ML predictions that are continuous; such as those involving a regression model. In the present embodiments, such continuous prediction model is informally referred to as a ‘main model’. The main model can be, for example, a linear regression model, polynomial regression model, ridge regression model, support vector regression model, decision tree regression model, random forest regression model, gradient boosting regression model, convolutional neural network regression model, or the like.

[0031] In a non-limiting example, the ML model can be trained to predict a continuous signal; in this example, a vital sign, such as blood pressure; demographic information, such as age; or a level of a blood biomarker, such as blood glucose or hemoglobin A1C.

[0032] Developing a regression-based ML model generally includes a number of distinct steps. In many cases, a first step can involve extraction of features. In the prediction of a vital sign example, these features can be blood flow features extracted from videos of facial scans. In these examples, the features can be extracted using a deep learning (DL) regression model, such as a convolutional neural network (CNN). The CNN model can then be used by the same model to make the vital sign prediction. In other cases, outputs from early layers of the CNN model can be used as inputs to another ML model for making the vital sign predictions. In either case, the DL regression model is considered the ‘main model’.

[0033] In a non-limiting example, where a CNN model is used, the CNN model can be a three-dimensional model that receives the input data in the form of three dimensional data arrays. The CNN architecture can include of a series of convolution and pooling layers followed by a fully connected layer. The convolution layer automatically extracts relevant features using several kernels. The number of features extracted will generally depend on the number of filters used by the CNN. The pooling layer enables selection of the most salient features while also reducing feature dimensionality. Several of these convolution and pooling layers can be used in sequence within a CNN’s architecture before finally providing these outputs to a fully connected layer as a flattened vector. The series of convolution layers provide an automated feature extraction hierarchy. For instance, early convolutionlayers in the CNN represent extraction of finer grained or lower-level features while convolution layers occurring later represent coarser or higher-level features. Various parameters and hyperparameters can be determined during the training phase of the CNN model and can include a number of number and size of filters, a type of padding used, a choice of activation functions and learning rates, a pooling strategy, a choice of cost function, batch sizes and number of epochs for determining early stopping, a choice of using dropout, amongst others.

[0034] In some cases, depending on how complex the continuous prediction needs to be, an ensemble ML model can be used. The ensemble can be used to improve the accuracy of predictions. In an example, the ensemble can consist of at least two models: a CNN model and a DNN model. A support vector machine (SVM), or a tree-based or gradient boosting model (such as Random Forests or XGBoost) may also be used in place of a DNN. The DNN (or MLP) model generally can consist of an input layer and a series of hidden layers followed by an output layer. The DNN model uses features extracted by the early convolution layers of the CNN as inputs to its network. Hyperparameters, for example, a number of input features, a number of hidden layers, a dimensionality of each hidden layer, activation functions used, early stopping criteria, and a choice of using dropout, amongst others, can be determined during the training phase. The ML ensemble determines the weight of each model’s contribution. Depending on the number and types of individual ML models used (e.g. CNN, DNN etc.), and their accuracy in making predictions, contribution weights for each model are tuned using other ML techniques such as linear regression with regularization. The ML ensemble can determine the weight of each model’s contribution depending on the number and types of individual ML models used (e.g. CNN, DNN etc.) and their accuracy in making predictions on a validation set. Contribution weights for each model can be tuned using any suitable technique, such as linear regression with regularization.

[0035] Referring now to FIG. 1 , a schematic diagram of a system 100 for determining confidence of a prediction of a machine learning model, according to various embodiments, is shown. As shown, the system 100 has a number of physical and logical components, including a processing unit (“PU”) 160, memory 164, an interface module 168, a network module 176, and a local bus 184 enabling PU 160 to communicate with the other components. PU 160 can include one or more central processing units, one or more graphical processing units, microprocessors, dedicated hardware, or other integrated processing circuits. The memory 164 provides data storage for the PU 260. The interface module 168 enables input to be provided; for example, directly via a user input device, or communicated indirectly, for example, via an external device or system. The interface module 168 also enables output to be provided; for example, directly via a user display, orindirectly, for example, communicated over the network module 176. The network module 176 permits communication with other systems or computing devices; for example, over a local area network or over the Internet. The memory 164 can store an operating system and programs, including computer-executable instructions for implementing the methods described herein, as well as any derivative or related data. In some cases, this data can be stored in a database 188. In some cases, during operation of the system 100, the operating system, the programs and the data may be retrieved from the database 188 and placed in memory 164 to facilitate execution. In other embodiments, any operating system, programs, or instructions can be executed in hardware, specialized microprocessors, logic arrays, or the like. While FIG. 1 illustrates a system implemented on a single computing device, it is understood that the processing, or any of the functions undertaken by the system 100, can be distributed over multiple computing devices; for example, in a cloud or distributed computing environment.

[0036] In an embodiment, the PU 160 can be configured to execute a number of conceptual modules 101 ; for example, an input module 102, a prediction module 104, a confidence module 106, and an output module 108. In further cases, functions of the above modules can be combined or executed on other modules. In some cases, functions of the above modules can be executed on remote computing devices, such as centralized servers and cloud computing resources communicating over the network module 176.

[0037] FIG. 2 illustrates a flowchart of a method 200 for determining confidence of a prediction of a machine learning model, according to an embodiment.

[0038] At block 202, the input module 102 receives training data for training the main ML model from the memory 164, the database 188, the interface module 168, and / or the network module 176. The main ML model comprises a feature set used to train the regression-based model and ultimately output the continuous predictions.

[0039] At block 204, the prediction module 104 trains the main ML model using the received training data. A predetermined portion of the training data can be used as ground truth data.

[0040] At block 206, the confidence module 106 trains a secondary ML model using the received training data; i.e., the same training data used to train the main ML model. The secondary ML model can use either the same feature set as the main ML model or a similar feature set to the main ML model. The secondary ML model comprises a classification model; for example, a logistic regression model, a decision tree classifier model, a random forest classifier model, a support vector machine classifier model, a naive bayes classifiermodel, a K-nearest neighbors classifier model, an artificial neural network classifier model, a gradient boosting classifier model, or the like.

[0041] For the secondary ML model, a ground truth space can be divided into 'ri different classes based on a range of the ground truth data, from the received training data, and a respective distribution in the training dataset.

[0042] For the main ML model, the output can be a single continuous output value. For example, if the main ML model is trained to predict an age of a person, the main ML model could output a single value; such as 35 years. However, the secondary ML model, being a classification model, would have ‘n’ different outputs for the prediction of age.

[0043] In the above example, the main ML model can be trained to predict age in the continuous range from 20 to 100 years. As a classification model, the secondary ML model divides the predicted output range into ‘ri different classes; for example, into eight different classes of age ranges: 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-90, and 90-100. In this way, the secondary ML model has n different outputs, each from 0 to 1 . In some cases, the different outputs can be converted into percentages from 0 to 100. Generally, for the classification model, the class (i.e., output) with the highest value is considered to be the predicted class, irrespective of its value. In the above example, if the 30-40 class has an output with the highest value, this would be considered the age prediction of the secondary ML model.

[0044] The number of classes, n, for the secondary ML model can be determined, through experimentation, such that both the main ML model and the secondary ML model provide substantially the same predictions; i.e., the prediction of the main ML model is within the predicted class of the secondary ML model.

[0045] At block 208, the input module 102 receives input data for determining a prediction using the main ML model.

[0046] At block 210, the prediction module 104 provides the input data to the main ML model to output a main prediction.

[0047] At block 212, the confidence module 106 provides the input data to the secondary ML model to output a secondary prediction. The secondary prediction comprises scores (or probabilities) for each class.

[0048] At block 214, the output module 108 outputs the score (or probability) for the predicted class and / or with the prediction from the main ML model, which is representative of a confidence of the prediction of the main ML model.

[0049] Advantageously, the outputted score or probability of the predicted class by the secondary ML model can be considered a confidence index or score for assessing the prediction outputted by the main ML model. The lower the output score of the predicted class, the less confidence there is in the main ML model’s prediction. In essence, in such a case, there is more competition between different classes, indicating a higher spread (or standard deviation) of the outputs. Whereas, if the output score is high for the predicted class, the standard deviation will be lower across the outputs, suggesting less competition between classes.

[0050] In some cases, the confidence module 106 can further perform smoothening of the output scores / probabilities across the entire training dataset. In an example, a test dataset used to assess the generalizability of the main ML model can be based on an expected ground truth distribution of an intended population. For instance, for the age prediction example, there can be a specific distribution of ages; for example, a decreasing percentage of people in the higher age classes between 60 and 100, and a maximum representation in the 30 to 50 age class. This field distribution within the classes of the test set can be matched such that the main ML model’s efficacy and generalizability can be more accurately assessed. When the confidence module 106 determines confidence indices for this test set using the secondary ML model, the distribution of the absolute values for these confidence indices are likely to be clustered at certain values. For example, there may be more values in the 20-30% range, scarce number of values between 30-50%, and many values in the 70-100% range. To perform smoothening, the confidence module 106 can convert the confidence indices to a percentile based on a distribution of the test set (such as based on the age distribution in the test set). This would enable the confidence indices to range between 0 and 100 as a percentile.

[0051] The present embodiments provide a number of substantial advantages over other approaches that attempt to quantify confidence, reliability, or uncertainty in the prediction of a machine learning model. For example, other approaches attempt to build one single model that determines predictions as well as quantifying the uncertainty of these predictions. Such approaches generally require a certain type of architecture for the model. Such approaches generally require pre-training an initial model and then doing post-hoc measurement of confidence. In contrast, the present embodiments have a separate ML model used to determine the confidence score than the ML model used to make predictions. The two models share the same feature space but satisfy different outcomes by providing different inferences; while still being able to provide a post-hoc determination of confidence.

[0052] Other approaches that attempt to quantify confidence, reliability, or uncertainty in the prediction of a machine learning model can involve building auxiliary or meta-models togenerate the confidence scores, particularly for classification problems. For example, using a Bayesian meta-model uncertainty learning approach. In contrast, the present embodiments provide a confidence score for a continuous prediction (such as with a regression model), rather than being limited to determining confidence of predictions of classification models. Further, the present embodiments advantageously do not have to rely on Bayesian models to determine confidence.

[0053] While the present embodiments generally provide training and determining predictions using the main ML model, it is understood that the system 100 could only apply the secondary ML model in a post hoc approach. For example, the system 100 can receive the prediction of the main ML model from the memory 164, network module 176 or the interface module 168, and apply the input data to the secondary ML model to determine the confidence index of the received prediction.

[0054] Although the invention has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the spirit and scope of the invention as outlined in the claims appended hereto. The entire disclosures of all references recited above are incorporated herein by reference.

Claims

CLAIMS1 . A computer-executed method for determining confidence of a prediction of a first machine learning model, the first machine learning model comprising a regression model trained using a training dataset, the prediction by the first machine learning model determined using an input dataset, the method comprising: receiving the input dataset; determining, using a secondary machine learning model, a confidence index for the prediction, the secondary machine learning model comprising a classifier model trained using the training dataset, the secondary machine learning model outputting a score for each of a plurality of classes, each class comprising a range of values, the confidence index comprising the score for the class comprising the range where the prediction resides; and outputting the confidence index.

2. The method of claim 1 , wherein the secondary machine learning model uses a feature set that matches the feature set of the first machine learning model.

3. The method of claim 1 , wherein the secondary machine learning model uses a ground truth space divided into the plurality of classes.

4. The method of claim 3, wherein the division of the plurality of classes is based on a range of the ground truth data and a distribution in the training dataset.

5. The method of claim 1 , further comprising performing smoothening of the scores determined for each of a plurality of classes.

6. The method of claim 5, wherein performing smoothening comprises converting the confidence index to a percentile based on a distribution of a test set.

7. The method of claim 1 , further comprising receiving the prediction from the first machine learning model prior to determination of the confidence index of the received prediction.

8. The method of claim 1 , wherein the first machine learning model comprises one of a linear regression model, a polynomial regression model, a ridge regression model, a support vector regression model, a decision tree regression model, a random forest regression model, a gradient boosting regression model, or a convolutional neural network regression model.

9. The method of claim 1 , wherein the second machine learning model comprises one of a logistic regression model, a decision tree classifier model, a random forestclassifier model, a support vector machine classifier model, a naive bayes classifier model, a K-nearest neighbors classifier model, an artificial neural network classifier model, or a gradient boosting classifier model.

10. A system for determining confidence of a prediction of a first machine learning model, the first machine learning model comprising a regression model trained using a training dataset, the prediction by the first machine learning model determined using an input dataset, the system comprising one or more processors in communication with a data storage, the data storage comprising instructions for the one or more processors to execute: an input module to receive the input dataset; a confidence module to determine, using a secondary machine learning model, a confidence index for the prediction, the secondary machine learning model comprising a classifier model trained using the training dataset, the secondary machine learning model outputting a score for each of a plurality of classes, each class comprising a range of values, the confidence index comprising the score for the class comprising the range where the prediction resides; and an output module to output the confidence index.

11. The system of claim 10, wherein the secondary machine learning model uses a feature set that matches the feature set of the first machine learning model.

12. The system of claim 10, wherein the secondary machine learning model uses a ground truth space divided into the plurality of classes.

13. The system of claim 12, wherein the division of the plurality of classes is based on a range of the ground truth data and a distribution in the training dataset.

14. The system of claim 10, wherein the confidence module further performs smoothening of the scores determined for each of a plurality of classes.

15. The system of claim 15, wherein performing smoothening comprises converting the confidence index to a percentile based on a distribution of a test set.

16. The system of claim 10, wherein the input module receives the prediction from the first machine learning model prior to determination of the confidence index of the received prediction.

17. The system of claim 10, wherein the first machine learning model comprises one of a linear regression model, a polynomial regression model, a ridge regression model, a support vector regression model, a decision tree regression model, a random forestregression model, a gradient boosting regression model, or a convolutional neural network regression model.

18. The system of claim 10, wherein the second machine learning model comprises one of a logistic regression model, a decision tree classifier model, a random forest classifier model, a support vector machine classifier model, a naive bayes classifier model, a K-nearest neighbors classifier model, an artificial neural network classifier model, or a gradient boosting classifier model.

19. The system of claim 10, wherein the one or more processors further execute a prediction module to perform predictions of the first machine learning model.

Citation Information

Patent Citations

  • Systems and methods using ensemble machine learning techniques for future event detection

    US11195616B1

  • Dynamic Machine Learning Model Selection

    US20210264025A1

Cited By

  • Environment sediment high-temperature viscosity prediction method and system based on machine learning

    CN120745467A