METHOD AND SYSTEM FOR THE CLASSIFICATION OF DATA

DE602021058506T2Active Publication Date: 2026-08-12CZECH TECH UNIV IN PRAGUE +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602021058506
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-04-26
Publication Date
2026-08-12
Estimated Expiration
2041-04-26

AI Technical Summary

Technical Problem

Existing classification models face accuracy loss due to prior shift, where the a priori probabilities of the training set differ from those of real-world data, leading to inconsistent estimates in confusion matrices and decision probabilities, which conventional methods struggle to address effectively.

Method used

A method for classifying data that involves determining a vector P1 to satisfy specific constraints and maximize a likelihood quantity, updating the classifier to adapt to true a priori probabilities, and using this vector to improve classification accuracy even with inconsistent estimates.

Benefits of technology

The method provides improved classification accuracy by handling inconsistent estimates and adapting the classifier to true a priori probabilities, outperforming conventional retraining methods in terms of precision and computational efficiency.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

Field of the disclosure

[0001] The present invention relates to the general field of automatic data processing. It relates more specifically to a method for automatically classifying data into given classes. The invention also relates to a system configured to perform said classification method.Description of the Related Art

[0002] Today, one of the most common uses of data is automatic classification. This tremendous success is largely due to a combination of various factors, including ever larger datasets with labelled (e.g. annotated) data used for training or inference, and ever more powerful computing resources (processing units) to manage such an amount of data.

[0003] In supervised classification tasks, sometimes the a priori probabilities of the classes from a training set do not reflect the "true" a priori probabilities of real-world data, on which a trained classifier has to be applied and which are not known at prediction time. In other words, the classification model is trained on a data set with a priori probabilities that are different from the real-world conditions.

[0004] This phenomenon is known from the art under the denomination of "prior shift" (or "label shift") and has an impact on the prediction accuracy of a classifier (e.g. neural network, logistic regression, etc.) which is designed to provide estimates of the a posteriori probabilities of the classes. This mainly results from two points: decision making is based on the a posteriori probabilities of the classes conditional on the observation (i.e. a class label has to be selected according to a maximum estimated a posteriori probability), and according to Bayes' rule, a posteriori probabilities depend in a nonlinear way on the a priori probabilities.

[0005] A change of the a priori probabilities (as is the case for the real-world data versus the training set, i.e. a prior shift) may thus have an important impact on the a posteriori probabilities, which can result in a loss of classification accuracy, in comparison with an equivalent classifier that relies on the true a priori probabilities of the new data set.

[0006] Therefore, in order to overcome this loss of accuracy, one should try to adapt the classifier so that it can take into account the true a priori probabilities. This fundamentally amounts to posing the problem, also known in the art as "prior shift adaptation", which consists in estimating the true a priori probabilities. Being able to solve this problem would allow to correct (by Bayes' rule or by retraining) the output of the classifier in order to recover the optimal decision.

[0007] Several works have been proposed so far in an attempt to address the problem of prior shift adaptation. In particular, a standard procedure for estimating true a priori probabilities based on the estimation of a confusion matrix associated with the classifier is known (see references [1],[2] and [7]).

[0008] In order to present this standard procedure in a more explicit way, and thus understand why it is problematic, some notations are now introduced.

[0009] Let us designate by M the confusion matrix of a classifier f T which has been trained on a training set T to classify data (also called samples or observations) into classes c[k], k ranging from 1 to K. In a conventional way, the value in the k-th column and i-th row of M (i.e. M[i,k]) is the probability p T (D=c[i]|Y=c[k]) of classifier f T deciding to classify an observation in class c[i] while in fact it belongs to class c[k].

[0010] Matrix M may be used in order to infer the a priori probabilities p E (Y) on a new data set E (i.e. a test set comprising real-world data as mentioned before) by solving the following system of K linear equations: p E D = c i = ∑ k = 1 K p T D = c i Y = c k × p E Y = c k where p E (D=c[i]) thus corresponds to the marginal of classifying an observation in class c[i], estimated by the class label frequency after application of the classifier f T on the new data set E. In other words, p E (D) stands for the probabilities of classifier f T decisions.

[0011] This system of equations can also be written more compactly in the form of an equation, referred to as "equation (1)" in the rest of the description and corresponding to the following matrix multiplication: p E D = M p E Y

[0012] It results from equation (1) that the a priori probabilities p E (Y) (i.e. the a priori probabilities of classes c[1],...,c[K] in set E) can be obtained by multiplying an inverse of the matrix M with p E (D).

[0013] It is important to observe that equation (1) is formulated with quantities representing the true distribution p E (D) and the true confusion matrix M. In other words, equation (1) is a theoretical equation which, in practice, must be considered by means of estimates of said quantities p E (D) and M in order to be exploited (i.e. to solve the problem of prior shift adaptation). To do so, an estimate of p E (D) can be computed by counting the classifier decisions on set E and an estimate of the confusion matrix M can be obtained from cross-tabulated classification frequencies provided by the classifier f T on a validation set V.

[0014] However, working with estimates of p E (D) and M is problematic when these are not consistent. Indeed, in this case, there may be no prior probability p E (Y) satisfying equation (1), leading to the impossibility to provide a solution to the problem of prior shift adaptation. To illustrate this in a simple manner, consider the following example where estimates of p E (D) and M are given by: M ≈ 0.8 0.2 0.2 0.8 , p E D ≈ 1 0

[0015] The unique solution of equation (1) considering such estimates would be: p E Y ≈ 4 3 − 1 3 which is clearly not acceptable given the existence of a negative value for the second component of p E (Y). SAURABH GARG ET AL: "A Unified View of Label Shift Estimation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 3 October 2020 (2020-10-03), discloses a unification of a moment-matching approach based on soft confusion matrices, and a maximum likelihood estimation approach (MLLS). Summary of the disclosure

[0016] The purpose of the present invention is to overcome all or some of the limitations of the prior art solutions, particularly those outlined here above, by providing a classification solution that responds to the problem of prior shift adaptation, while allowing to consider inconsistent estimates for the probabilities of classifier decisions as well as for the confusion matrix of said classifier. The solution of the invention goes even further by making it possible to consider estimated confusion matrices that are singular when adapting a classifier because of prior shift.

[0017] To this end, and according to a first aspect, the invention relates to a computer-implemented method for classifying data of an unlabelled set E into classes c[k], k ranging from 1 to K, said data being images or features extracted from images and a class identifying an object contained in the images. Said method comprises the steps of: obtaining an automatic classifier f T trained with a training set T to classify data in said classes c[k] and associated with an estimated confusion matrix M', sets T and E being distinct from each other and also having the same within-class probability density for each class c[k], determining a vector P1 whose each component P1[k] corresponds to an estimate of the a priori probability of the class c[k] in set E, the vector P1 being determined so as to satisfy the following constraints: ∑ k = 1 K P 1 k = 1 and ∀ k = 1 , … , K , P 1 k ≥ 0 as well as to maximize at least a quantity A1 given by: A 1 = ∑ k = 1 K n k × log M ′ k , : ⋅ P 1 where M'[k,:] is the k-th row of the matrix M', and n[k] is the number of data of set E to which the classifier f T assigns the class c[k] with a maximum probability, updating the classifier f T using the vector P1, so as to obtain an updated classifier F T , classifying the data of set E using the updated classifier F T .

[0018] The classification method according to the invention therefore proposes a solution to the prior shift adaptation problem by determining the vector P1 which can then be used to update the classifier f T .

[0019] The way in which vector P1 is determined allows handling the known issue of existing methods based on confusion matrices, and where inconsistent estimates of decision probabilities and confusion matrices can result in negative values in the estimated priors.

[0020] More precisely, the invention deals with this issue by constrained maximization of the likelihood of classifier decisions on the set E. In this way, and although the estimates are possibly inconsistent, a solution may be provided under the constraint of imposing positive values for the probabilities.

[0021] In addition, by searching the vector P1 with a maximization of said at least quantity A1, the classification method according to the invention consistently improves results in terms of classification accuracy as the inventors have noticed through different application examples.

[0022] The classification method further comprises the steps of: determining, for each datum x of set E, a vector P2_x whose each component P2_x[k] corresponds to the a posteriori probability, obtained with the classifier f T , that said datum x belongs to the class c[k], determining a vector P3 whose each component P3[k] corresponds to an estimate of the a priori probability of the class c[k] in set T, and wherein the update step comprises for each datum x of set E: a determination of a vector P4_x whose each component P4_x[k] is given by: P 4 _ x k = ∑ k = 1 K P 2 _ x k × P 1 k P 3 k − 1 × P 2 _ x k × P 1 k P 3 k an update of the vector P2_x, such that each updated component P2_x[k] is set equal to P4_x[k].

[0023] Even if the retraining of the classifier f T makes it possible to solve the prior shift problem, to process inconsistent data (decision probabilities, confusion matrices) and to provide good results in terms of classification accuracy, the inventors have found that adaptation of the original classifier (i.e. update of the vector P2_x) typically performs better than retraining the classifier with sampling matching the shift, and is significantly computationally cheaper.

[0024] According to particular embodiments, each component P3[k] is estimated to be equal to the proportion of class membership c[k] in set T.

[0025] According to particular embodiments, each component P3[k] is estimated to be equal to the average of the predictions made on set T using the classifier f T .

[0026] According to particular embodiments, each component P3[k] is estimated to be equal to the average of the predictions made on a validation set V using the classifier f T , the training set T and the validation set V being from a same probability distribution.

[0027] According to particular embodiments, the probability distribution of the vector P1 is modelled by a symmetrical Dirichlet distribution, the vector P1 also being determined so as to maximise a quantity A2 corresponding to the logarithm of said symmetrical Dirichlet distribution.

[0028] Such features are derived from reference [4] as explained in more detail later. In any case, the inventors have found that the combination of these features with maximising said quantity A1 leads to better results in terms of classification accuracy than those obtained on the basis of the estimation methods (Maximum A Posteriori estimation) described in reference [4] alone.

[0029] According to particular embodiments, the matrix M' is a soft confusion matrix (see reference [3] as explained in more detail later).

[0030] Considering a soft confusion matrix improves the results in terms of classification accuracy.

[0031] According to a second aspect, the invention also relates to a computer program including instructions for executing a classification method according to the invention when said program is executed by a computer.

[0032] This program can use any programming language and take the form of source code, object code or a code intermediate between source code and object code, such as a partially compiled form, or any other desirable form.

[0033] According to a third aspect, the invention also relates to a computer-readable information medium containing instructions of a computer program as described above.

[0034] The information medium can be any entity or device capable of storing the program. For example, the medium can include storage means such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or magnetic storage means, for example a diskette (floppy disk) or a hard disk.

[0035] According to a fourth aspect, the invention also relates to a device for classifying data of an unlabelled set E into classes c[k], k ranging from 1 to K, said data being images or features extracted from images and a class identifying an object contained in the images. Said device is configured to perform a classification method according to the invention.Brief description of the drawings

[0036] How the present disclosure may be put into effect will now be described by way of example with reference to the appended drawings, in which: Figure 1 illustrates a particular embodiment of a classification device according to the invention, Figure 2 illustrates an example of the hardware architecture of said classification device, Figure 3 is a flowchart of the main steps of a classification method according to the invention, Figure 4 illustrates a first particular embodiment of the classification method of Figure 3, Figure 5 illustrates a second particular embodiment of the classification method of Figure 3. Description of the embodiments

[0037] Figure 1 illustrates a particular embodiment of a device 10 according to the invention. Said device 10 is configured to classify data and is referred as "classification device" hereafter.

[0038] The classification device 10 is based on (i.e. uses) an automatic classifier f T (e.g. a classification model or function f T ) which has been trained with a training (labelled) set T to classify data in given classes c[k], k ranging from 1 to K. Said number K is fixed here and no limitation is attached to its value.

[0039] According to the invention, the classifier f T is associated with a matrix M' which corresponds to an estimation of the true confusion matrix of said classifier f T .

[0040] For example, the matrix M' is a soft confusion matrix. In other words, the k-th column of the matrix M', i.e. M'[:,k], is given by: M ′ : , k = 1 N k ∑ x i : y i = c k f T x i where: {x i ,y i } are the labelled data of set T (x i is an observation and y i is the class associated to said observation x i in set T), N k is the number of observations whose label corresponds to class c[k] in set T (i.e. the sum over k of all N k is equal to the cardinal number of set T), "x i :y i =c[k]" is a notation indicating that the sum is performed for observations x i whose labels correspond to class c[k] in set T.

[0041] For more details on the concept of soft confusion matrix, reference [3] can be consulted.

[0042] However, nothing excludes considering a matrix M' which is different from a soft confusion matrix. In general, the man skilled in the art knows how to determine a matrix M' corresponding to an estimate of the true confusion matrix associated with the classifier f T .

[0043] The purpose of the invention is to solve the problem of prior shift adaptation when data of an unlabelled set E (i.e. set E is a test set) are to be classified into said classes c[k] by the classification device 10.

[0044] According to the invention, sets T and E are distinct from each other. Moreover, sets T and E have the same within-class probability density for each class c[k] (i.e. the observation properties of each class c[k] remain unchanged between set T and set E).

[0045] The rest of the description is aimed more specifically at a classifier f T trained and learned by means of a neural network. The invention remains applicable whatever the nature of the neural network considered (convolutional, perceptron, autoencoder, recurrent, etc.), in particular for any deep neural network.

[0046] It should be noted, however, that no limitation is attached to the learning technique used to obtain the classifier f T . Any technique implementing machine learning and providing as output estimates of the a posteriori probabilities of the classes c[k] (still referred to as "score" in the following) given the observation can be considered in the context of the invention (e.g. Support Vector Machines, logistic regression, etc.). In a nutshell, the classification device 10 (and therefore a classification method implemented by the device 10, as described in more detail below) is agnostic with respect to the learning technique under consideration.

[0047] In the same way, any appropriate training criterion known to the man skilled in the art may be used in the training of said classifier f T , such as the least-squares error or the cross-entropy minimization.

[0048] In addition, no limitation is attached to the kind of data that may be processed by the classifier f T . In the same way, no limitation is attached to the kind of classification that may be output based on the input (i.e. nature of the classes c[k] is not a limiting factor of the invention).

[0049] For example, if the inputs to the classifier f T are images or features that have been extracted from images, the output generated by the classifier f T for a given image may be an estimate of the a posteriori probability that the image contains an image of an object belonging to given classes. Specifically, these may include, for example, images of road traffic taken by an autonomous vehicle, so that it can be determined whether vehicles in the image are at risk of collision.

[0050] According to another example, if the inputs to the classifier f T are Internet resources (e.g., web pages), documents, or portions of documents or features extracted from Internet resources, the output generated by the classifier f T for a given Internet resource, document, or portion of a document may be a score for each of a set of topics, with each score thus representing an estimate of the a posteriori probability that the Internet resource, document, or document portion is about the topic.

[0051] According to another example, if the inputs to the classifier f T are features of an impression context for a particular advertisement, the output generated by the classifier f T may be a score that represents an estimate of the a posteriori probability that the particular advertisement will be clicked on.

[0052] According to another example, if the inputs to the classifier f T are features of a personalized recommendation for a user, e.g., features characterizing the context for the recommendation, e.g., features characterizing previous actions taken by the user, the output generated by the classifier f T may be a score for each of a set of content items, with each score representing an estimate of the a posteriori probability that the user will respond favourably to being recommended the content item.

[0053] According to another example, if the input to the classifier f T is text in one language, the output generated by the classifier f T may be a score for each of a set of pieces of text in another language, with each score representing an estimate of the a posteriori probability that the piece of text in the other language is a proper translation of the input text into the other language.

[0054] According to another example, if the input to the classifier f T is a spoken utterance, a sequence of spoken utterances, or features derived from one of the two, the output generated by the classifier f T may be a score for each of a set of pieces of text, each score representing an estimate of the a posteriori probability that the piece of text is the correct transcript for the utterance or sequence of utterances.

[0055] In general, the invention can find an application in any industrial and technical field where classification tasks have to be carried out. Examples of other typical technical applications of a classification algorithm may include, without limitation: classification of digital images (e.g. in health care, for example cardiac monitoring in order to detect irregular beats of a patient), video and audio or voice signals based on low-level characteristics (e.g. contours or pixel attributes for images).

[0056] The classification device 10 is configured to perform processing to improve the accuracy of classifying unlabelled data from set E, even in the presence of inconsistent estimates for decision probabilities and confusion matrix, by implementing a method for classifying data. Said method is referred to as "classification method" hereafter.

[0057] By "improving the accuracy of classification", reference is made here to obtaining classification results that are more accurate than if the classifier f T is not adapted to address prior shift.

[0058] Figure 2 illustrates an example of the hardware architecture of the classification device 10 for the implementation of the classification method according to the invention.

[0059] To this end, the classification device 10 has the hardware architecture of a computer. As shown in Figure 2, the classification device 10 comprises, in particular, a processor 1, a random access memory 2, a read-only memory 3, a non-volatile memory 4 and communication means 5.

[0060] The read-only memory 3 of the classification device 10 constitutes a recording medium conforming to the invention, which is readable by processor 1 and on which is recorded a computer program PROG conforming to the invention, containing instructions for carrying out the steps of the classification method according to the invention. The program PROG defines functional modules of the classification device 10, which are based on or control the aforementioned elements 1 to 5 of the classification device 10, and which comprise in particular: an obtaining module MOD_OBT, configure to obtain said automatic classifier f T , a determination module MOD_DET, configured to determine a vector P1 whose each component P1[k] corresponds to an estimate of the a priori probability of the class c[k] in set E, an updating module MOD_UPD, configured to update the classifier f T using the vector P1, a classification module MOD_CLASS, configured to classify the data of set E using the updated classifier f T .

[0061] The functionalities attached to each of the modules are explained in detail later on when describing modes of implementation of said classification method.

[0062] In a particular embodiment, the classifier f T (i.e. the code instructions defining said classifier f T ) is learned (i.e. trained using data set T) prior to the implementation of the classification method, and is previously stored in a memory of the classification device 10, such as the non-volatile memory 4. In other words, in said particular embodiment, the obtaining module MOD_OBT is integrated to the communication means 5 and corresponds to hardware and / or software means configured to give processor 1 access to the classifier f T in order to perform steps of the classification method (i.e. no steps dedicated to learning and training the classifier f T from set T are included in the classification method). For example, the obtaining module MOD_OBT may include a computer bus connecting processor 1 to the non-volatile memory 4.

[0063] In an alternative embodiment, said neural network is initially stored in a memory equipping an entity external to the classification device 10 (e.g.: database server). Therefore, in this alternative embodiment, the obtaining module MOD_OBT is integrated to the communication means 5 and configured to obtain the classifier f T . In other words, the classifier f T (i.e. the code instructions defining said classifier f T ) is obtained via a data exchange (transmission / reception) controlled by the obtaining module MOD_OBT and carried out by the communication means 5 of the classification device 10 as well as by communication means suitable for transmission equipping said external entity. Such an exchange of data between the obtaining module MOD_OBT and said external entity is carried out via a communication interface. No limitation is attached to the nature of this communication interface, which may be wired or non-wired, and may implement any protocol known to the man skilled in the art (Ethernet, Wi-Fi, Bluetooth, 3G, 4G, 5G, etc.).

[0064] In yet another alternative embodiment, the obtaining module MOD_OBT corresponds to hardware and / or software means configured to learn and train the classifier f T from the set T. In other words, in this other alternative embodiment, the classification device 10 includes means known to the man skilled in the art and configured to generate the classifier f T from set T (i.e. the classification method includes one or more steps dedicated to learning and training the classifier f T from set T).

[0065] In general, no limitation is attached to the way in which classification device 10 obtains the classifier f T .

[0066] For the rest of the description, it is now considered in a non-limitative way that the classifier f T , learned and trained by means of set T, is stored in a memory equipping an entity external to the classification device 10 prior to the implementation of the classification method.

[0067] In its general principle, the classification method according to the invention aims at proposing a novel procedure for prior estimation based on maximizing the likelihood of classifiers decisions, which handles inconsistent estimate of classifier f T decisions probabilities as well as inconsistent (and even singular) matrix M'.

[0068] Figure 3 is a flowchart of the main steps of the classification method according to the invention, these steps being carried out by the classification device 10.

[0069] As shown in Figure 3, the classification method comprises a step E10 of obtaining the classifier f T . This obtaining step E10 is performed by the obtaining module MOD_OBT of the classification device 10.

[0070] In accordance with the features henceforth considered for the obtaining module MOD_OBT, step E10 thus includes a reception of the classifier f T from the external entity initially storing said classifier f T .

[0071] Once step E10 has been performed, the classifier f T is stored in a memory of the classification device 10 and the classification method also comprises a step E40 of determining the vector P1. This determination step E40 is performed by the determination module MOD_DET of the classification device 10.

[0072] According to the invention, the vector P1 is determined so as to satisfy the following constraints: ∑ k = 1 K P 1 k = 1 and ∀ k = 1 , … , K , P 1 k ≥ 0 as well as to maximize a quantity A1 given by: A 1 = ∑ k = 1 K n k × log M ′ k , : ⋅ P 1 where M'[k,:] is the k-th row of the matrix M', and n[k] is the number of data of set E to which the classifier f T assigns the class c[k] with a maximum probability (e.g. n[1],..., n[K] are the numbers of classifier f T decisions for classes c[1],..., c[K] on set E). For the rest of the description, the vector whose components are n[1],..., n[K] is designated by n.

[0073] The fact that the vector P1 corresponds to an estimate of the a priori probability of the classes c[1],..., c[K] in set E results from the following considerations.

[0074] Let us denote by Q = (Q[1],..., Q[K]) the vector corresponding to the probabilities of classifier f T decisions on the target distribution (i.e. the distribution p E (X,Y) where X is the feature space and Y the label space for set E). In other words, Q corresponds to the vector p E (D) as mentioned above in connection with equation (1).

[0075] In a very conventional way in terms of supervised learning, classifier f T decisions on set E are assumed to be independent. Hence, the likelihood of Q follows by the multinomial distribution: L Q = p n Q = n 1 + ⋯ + n K ! n 1 ! × … × n K ! × q 1 n 1 × … × q K n K where p(.) classically denotes the probability of the event between brackets.

[0076] Substituting equation (1) into the likelihood function L(Q), the likelihood function of class priors P (i.e. P corresponds to the vector p E (Y) as mentioned above in connection with equation (1)) can be expressed as follows: L P = p n P = n 1 + ⋯ + n K ! n 1 ! × … × n K ! ∏ k = 1 K M ′ k , : ⋅ P n K

[0077] It follows from the above that the log-likelihood I(P) of P is given by: l P = log p n P = ∑ k = 1 K n k log M ′ k , : ⋅ P + θ n where θ(n) is a constant for a fixed vector n.

[0078] A priori probabilities estimates of the classes c[1],..., c[K] in set E are thus obtained by searching for P1 satisfying the following equation: P 1 = argmax P ∑ k = 1 K n k log M ′ k , : ⋅ P

[0079] Such a constrained optimization problem can be solved by using a projected gradient descent. However, the choice of a projected gradient descent method is only a variant of the implementation of the invention, and any method of solving such optimization problem known to the man skilled in the art may be used.

[0080] Once the vector P1 has been determined, the classification method also comprises a step E50 of updating the classifier f T using the vector P1, so as to obtain an updated classifier F T . This updating step E50 is performed by the updating module MOD_UPD of the classification device 10.

[0081] The updating of the classifier f T can be carried out according to different embodiments of the classification method which are described in detail below (with references to figures 4 and 5).

[0082] The classification method also comprises a step E60 of classifying the data of set E using the updated classifier F T . This classification step E60 is performed by the classification module MOD_CLASS of the classification device 10.

[0083] Figure 4 illustrates a first particular embodiment of the classification method of Figure 3.

[0084] As shown in Figure 4, the updating step E50 comprises, in said first particular embodiment, a substep E50_1_1 of sampling data from set T, such that the sampled data are labelled in accordance with the probability distribution of the vector P1 (i.e. sampling is performed following P1).

[0085] Moreover, the updating step E50 also comprises, in said first particular embodiment, a substep E50_1_2 of retraining the classifier f T from the sampled data. In this way, the updated classifier F T corresponds to the classifier f T once retrained.

[0086] Thus, in said first particular embodiment of Figure 4, adaptation to prior shift is tackled by retraining the classifier f T with adjusted training sample weights (i.e. with training sampling matching the prior shift).

[0087] Figure 5 illustrates a second particular embodiment of the classification method of Figure 3.

[0088] The implementation of this second particular embodiment is based on the fact that it is possible to reweight the predictions of the classifier f T by adapting it to the new a priori probabilities defined by vector P1.

[0089] To proceed in this way, and according to said second particular embodiment, the classification method further comprises a step E20 of determining, for each datum (e.g. observation) x of set E, a vector P2_x whose each component P2_x[k] corresponds to the a posteriori probability, obtained with the classifier f T , that said datum x belongs to the class c[k]. Otherwise said, datum x is scored by classifier f T and P2_x corresponds to the image of x by said classifier f T , i.e. f T (x).

[0090] According to said second particular embodiment, the classification method further comprises a step E30 of determining a vector P3 whose each component P3[k] corresponds to an estimate of the a priori probability of the class c[k] in set T.

[0091] For example, each component P3[k] is estimated to be equal to the proportion of class membership c[k] in set T, i.e. P3[k]=N k / N T where N k is the number of observations whose label corresponds to class c[k] in set T and N T is the cardinal number of set T.

[0092] According to another example, each component P3[k] is estimated to be equal to the average of the predictions made on set T using the classifier f T , i.e. P 3 k = 1 N T ∑ x ∈ T f T x k

[0093] According to yet another example, each component P3[k] is estimated to be equal to the average of the predictions made on a validation set V using the classifier f T , the training set T and the validation set V being from a same probability distribution , i.e. P 3 k = 1 N V ∑ x ∈ V f T x k where N V is the cardinal number of the validation set V. This is a preferred example of implementation of the invention as the inventors have indeed found that the best results in terms of precision were achieved when a priori probabilities P3 in set T are estimated from predictions such a validation set V.

[0094] According to said second particular embodiment, and as shown in Figure 5, the update step E50 also comprises for each datum x of set E: a substep E50_2_1 of determining a vector P4_x whose each component P4_x[k] is given by: P 4 _ x k = ∑ k = 1 K P 2 _ x k × P 1 k P 3 k − 1 × P 2 _ x k × P 1 k P 3 k a substep E50_2_2 of updating the vector P2_x, such that each updated component P2_x[k] is set equal to P4_x[k].

[0095] It should be noted that the expression of P4_x[k] results from the use of Bayes' theorem in combination with the fact that sets T and E have the same within-class probability density for each class c[k]. For details on this calculation, it is possible to consult reference [2] for example.

[0096] It therefore follows from the above that, according to said second particular embodiment, the updated classifier F T is the one providing as a posteriori probabilities for set E the probabilities of the vectors P4_x. In other words, the classifier F T corresponds to a weighting of the classifier f T (i.e. of the a posteriori probabilities P2_x) taking into account the a priori probabilities P1.

[0097] It should be noted that steps E20 and E30 have been described as being implemented before steps E40 to E60 in said second particular embodiment. However, this is only an example of implementation, and other examples are of course possible as long as the vectors P1, P2_x and P3 have been determined before the implementation of the update step E50.

[0098] The invention has been described so far considering that the determination of the vector P1 is carried out by maximising only the quantity A1. However, other embodiments are still possible in which the quantity A1 is not the only one to be maximised in order to determine the vector P1.

[0099] For example, it is possible to consider an embodiment in which the probability distribution of the vector P1 is modelled by a symmetrical Dirichlet distribution. Thus, according to this example, the vector P1 is determined so as to maximise the quantity A1 but also a quantity A2 corresponding to the logarithm of said symmetrical Dirichlet distribution.

[0100] Regarding the use and implementation of such symmetrical Dirichlet distribution, the man skilled in the art can consult reference [4]. As explained in reference [4], such a symmetric Dirichlet distribution, also called "hyper-prior" for the present case because it represents additional knowledge about class priors distribution P, is defined as a function of a parameter α that characterizes the density of P. Thus, for 0 < α < 1, P is sparse, while for α > 1 it is the opposite. For example, α may be chosen as equal to 3.

[0101] The feature of such an embodiment can be formulated mathematically using the notations introduced above to describe step E40 of Figure 3. More particularly, maximum-a-posteriori estimation is written as follows: P 1 = argmax P p P n = argmax P p P p n P or equivalently P 1 = argmax P log p P + argmax P log p n P Here, p(P) stands for the symmetric Dirichlet distribution (said quantity A2 is thus equal to log p(P)) and log(n|P) is log-likelihood I(P) whose expression has been detailed above.

[0102] Of course, this is only a possible implementation of the invention, and other distributions, different from said Dirichlet distribution, may be also considered.

[0103] The invention has also been described so far considering that the classifier f T corresponds to a neural network. In this respect, any method for improving the accuracy of the predictions provided at the output of this neural network can be implemented by the invention. For example, the classifier f T can be calibrated according to the "TS" (i.e. "temperature scaling") method (see reference [5]), or according to the "BCTS" (i.e. "Bias-Corrected Temperature Scaling") method (see reference [6]).

[0104] Finally, beyond the fact that the invention makes it possible to consider inconsistent estimates for the probabilities of classifier decisions as well as for the confusion matrix of said classifier, it also makes it possible to improve the accuracy of classification.

[0105] By way of example, a ResNet-32 classifier f T has been trained on the CIFAR100 training set, with a result of 63.83% accuracy achieved on a long-tailed test set, denoted CIFAR100-LT-test. Thereafter, said classifier f T has been calibrated with BCTS method, and each component P1[k] has been estimated from predictions of the classifier f T on the test set CIFAR100-LT-test, using a soft confusion matrix estimated on a validation set. The predictions of the classifier f T have been adapted according to equation (1) (i.e. second particular embodiment described above with reference to Figure 5). As a final result, the classification accuracy improved to 69.38%.References:

[0106] [1] "Discriminant Analysis and Statistical Pattern Recognition", Geoffrey J. McLachlan, John Wiley & Sons, Inc, Hoboken, NJ, USA, 1992-03-27. [2] "Adjusting the outputs of a classifier to new a priori probabilities: A simple procedure", Marco Saerens, Patrice Latinne, and Christine Decaestecker. Neural Comput., 14(1):21-41, Jan. 2002. [3] "Detecting and correcting for label shift with black box predictors", Zachary C. Lipton, Yu-Xiang Wang, and Alex Smola, ArXiv, 1802.03916v3, 2018. [4] "Improving cnn classifiers by estimating test-time priors", Milan Sulc and Jiri Matas, In Proceedings of the IEEE / CVF International Conference on Computer Vision (ICCV) Workshops, Oct 2019. [5] "On calibration of modern neural networks", Chuan Guo, Geoff Pleiss, Yu Sun, and Kilian Q Weinberger, In International Conference on Machine Learning, pages 1321-1330, 2017. [6] "Maximum likelihood with bias-corrected calibration is hard-to-beat at label shift adaptation", Amr Alexandari, Anshul Kundaje, and Avanti Shrikumar, ArXiv, 1901.06852v5, 2019. [7] "A Unified View of Label Shift Estimation", Saurabh Garg, Yifan Wu, Sivaraman Balakrishnan, Zachary C. Lipton, arXiv:2003.07554v3, 2020.

Claims

1. A computer-implemented method for classifying data of an unlabelled set E into classes c[k], k ranging from 1 to K, said data being images or features extracted from images and a class identifying an object contained in the images, the method comprising the steps of: - obtaining (E10) an automatic classifier fT trained with a training set T to classify data in said classes c[k] and associated with an estimated confusion matrix M', said matrix M' being a soft confusion matrix, sets T and E being distinct from each other and also having the same within-class probability density for each class c[k], - determining (E40) a vector P1 whose each component P1[k] corresponds to an estimate of the a priori probability of the class c[k] in set E, the vector P1 being determined so as to satisfy the following constraints: ∑ k = 1 K P 1 k = 1 and ∀ k = 1 , … , K , P 1 k ≥ 0 as well as to maximize at least a quantity A1 given by: A 1 = ∑ k = 1 K n k × log M ′ k , : ⋅ P 1 where M'[k,:] is the k-th row of the matrix M', and n[k] is the number of data of set E to which the classifier fT assigns the class c[k] with a maximum probability, wherein said maximization of A1 determines P1 by a constrained optimization process, said constrained optimization process being performed by projected gradient descent, and wherein the method further comprises: - determining (E20), for each datum x of set E, a vector P2_x whose each component P2_x[k] corresponds to the a posteriori probability, obtained with the classifier f†, that said datum x belongs to the class c[k], - determining (E30) a vector P3 whose each component P3[k] corresponds to an estimate of the a priori probability of the class c[k] in set T; and - updating (E50) the classifier fT using the vector P1, so as to obtain an updated classifier F†, wherein the updating step (E50) comprises for each datum x of set E: - a determination (E50_2_1) of a vector P4_x whose each component P4_x[k] is given by: P 4 _ x k = ∑ k = 1 K P 2 _ x k × P 1 k P 3 k − 1 × P 2 _ x k × P 1 k P 3 k - an update (E50_2_2) of a vector P2_x, such that each updated component P2_x[k] is set equal to P4_x[k],and - an obtention of an updated classifier FT providing as a posteriori probabilities for set E, the probabilities of the vectors P4_x, said updated classifier FT corresponding to a weighting of the classifier fT taking into account the a priori probabilities P1, - classifying (E60) the data of set E using the updated classifier FT.

2. The method according to claim 1, wherein each component P3[k] is estimated to be equal to the proportion of class membership c[k] in set T.

3. The method according to claim 1, wherein each component P3[k] is estimated to be equal to the average of the predictions made on set T using the classifier fT.

4. The method according to claim 1, wherein each component P3[k] is estimated to be equal to the average of the predictions made on a validation set V using the classifier fT, the training set T and the validation set V being from a same probability distribution.

5. The method according to any one of claims 1 to 4, wherein the probability distribution of the vector P1 is modelled by a symmetrical Dirichlet distribution, the vector P1 also being determined so as to maximise a quantity A2 corresponding to the logarithm of said symmetrical Dirichlet distribution.

6. A computer program including instructions for executing the steps of a classification method according to any one of claims 1 to 5 when said program is executed by a computer.

7. A recording medium readable by a computer and having recorded thereon a computer program according to claim 6.

8. A device (10) for classifying data of an unlabelled set E into classes c[k], k ranging from 1 to K, said data being images or features extracted from images and a class identifying an object contained in the images, said device (10) being configured to perform a classification method according to any of claims 1 to 5.