A method of linear unsupervised classification allowing a database composed of objects and of descriptors to be structured, which is stable on the order of the objects, comprises an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data. A structural threshold αs function is determined of the n2 agreements between the objects to be classified with the structural threshold defining an optimization criterion adapted to the data. The descriptors are used as structuring and construction generators of a partition or set of classes. A class generated by a descriptor and a partition (40, 41, 42) progressively merged. For an optimization criterion involving a function ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), sums of Minimum functions are linearized.
|
1. A processor-implemented method of linear unsupervised classification allowing a database composed of objects and of descriptors to be structured, which is stable on the order of the objects, comprising:
an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, wherein said processor-implemented method further comprises the following steps:
determining a structural threshold αs function of the n2 agreements between the objects to be classified, the structural threshold defining an optimization criterion adapted to the data,
using the descriptors as structuring and construction generators of a partition or set of classes, regrouping of the classes of a partition over several hierarchical levels, said regrouping including the following steps:
e####
decreasing at each level the value of the structural threshold in such a manner that the negative contributions become positive,
maximizing links between the classes formed where the links are determined by using the contribution from a pair of objects
with α′ the new value of α,
combining two classes whose link is positive, and reiterate this process over all the levels,
progressively merging a class generated by a descriptor and a partition, and
for an optimization criterion involving a function ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), linearizing sums of Minimum functions.
4. A device allowing linear unsupervised classification that allows a database composed of objects and of descriptors to be structured, which is stable on the order of the objects, comprising an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, said device comprising at least the following elements: a computer comprising a memory, a database and a processor adapted to implement the following steps:
an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, wherein said processor-implemented method further comprises the following steps:
determining a structural threshold αs function of the n2 agreements between the objects to be classified, the structural threshold defining an optimization criterion adapted to the data,
using the descriptors as structuring and construction generators of a partition or set of classes, regrouping of the classes of a partition over several hierarchical levels, said regrouping including the following steps:
e####
decreasing at each level the value of the structural threshold in such a manner that the negative contributions become positive,
maximizing links between the classes formed where the links are determined by using the contribution from a pair of objects
with α′ the new value of α,
combining two classes whose link is positive, and reiterate this process over all the levels,
progressively merging a class generated by a descriptor and a partition, and
for an optimization criterion involving a function ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), linearizing sums of Minimum functions.
6. A device allowing linear unsupervised classification that allows a database composed of object and of descriptors to be structured, which is stable on the order of the objects, comprising an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, said device comprising at least the following elements: a computer comprising a memory, a database and a processor adapted to implement the following steps:
an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, wherein said processor-implemented method further comprises the following steps:
determining a structural threshold αs function of the n2 agreements between the objects to be classified, the structural threshold defining an optimization criterion adapted to the data,
using the descriptors as structuring and construction generators of a partition or set of classes, regrouping of the classes of a partition over several hierarchical levels, said regrouping including the following steps:
e####
decreasing at each level the value of the structural threshold in such a manner that the negative contributions become positive,
maximizing links between the classes formed where the links are determined by using the contribution from a pair of objects
with α′ the new value of α,
combining two classes whose link is positive, and reiterate this process over all the levels,
progressively merging a class generated by a descriptor and a partition, and
for an optimization criterion involving a function ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), linearizing sums of Minimum functions,
wherein said step of regrouping the classes of the partition is carried outamongst themselves.
7. A device allowing linear unsupervised classification that allows a database composed of objects and of descriptors to be structured, which is stable on the order of the objects, comprising an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, said device comprising at least the following elements: a computer comprising a memory, a database and a processor adapted to implement the following steps:
an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, wherein said processor-implemented method further comprises the following steps:
determining a structural threshold αs function of the n2 agreements between the objects to be classified, the structural threshold defining an optimization criterion adapted to the data,
using the descriptors as structuring and construction generators of a partition or set of classes, regrouping of the classes of a partition over several hierarchical levels, said regrouping including the following steps:
e####
decreasing at each level the value of the structural threshold in such a manner that the negative contributions become positive,
maximizing links between the classes formed where the links are determined by using the contribution from a pair of objects
with α′ the new value of α,
combining two classes whose link is positive, and reiterate this process over all the levels,
progressively merging a class generated by a descriptor and a partition, and for an optimization criterion involving a function ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), linearizing sums of Minimum functions,
wherein the step of merging comprises a step, based on two intersecting classes, determining a best operation (in terms of the optimization of the criterion) from the following:
breaking of the first class and formation of two classes;
breaking of the second class and formation of two classes;
breaking of the two classes in order to form three classes; and
joining of the two intersecting classes in order to form one single class.
2. The method as claimed in
3. The method as claimed in
breaking of the first class and formation of two classes;
breaking of the second class and formation of two classes;
breaking of the two classes in order to form three classes; and
joining of the two intersecting classes in order to form one single class.
5. The device as claimed in
|
The present Application is based on International Application No. PCT/EP2006/069726, filed on Dec. 14, 2006, which in turn corresponds to French Application No. 0512844, filed on Dec. 16, 2005, and priority is hereby claimed under 35 USC §119 based on these applications. Each of these applications are hereby incorporated by reference in their entirety into the present application.
The invention relates to a linear unsupervised method of classification stable on the order of objects.
It more generally relates to automatic classification techniques known under the term “clustering”.
It is notably used in the fields of “Data Mining” and “Text Mining” for “knowledge discovery”, with no prior assumptions, in large databases. This data can be of the structured type when dealing with behavioral or demographics data, for example, or of the unstructured type when dealing with textual data.
Starting from a database formed from a set (or population) of n objects described by a set of m descriptors (or variables), the automatic classification consists in structuring these objects in the form of very homogeneous classes (or groups). This homogeneity means that two objects of the same class must be more similar to (or resemble) one another than two objects belonging to two different classes.
The formation of these classes will allow groups of objects with similar profiles or themes to be easily detected depending on whether the data is of the structured or unstructured type.
This problem has too many permutations and combinations to be solved by an exact method. For this reason, heuristic algorithms that are less costly in terms of processing time and machine resources have been generated in order to find approximate solutions to it.
Some of these heuristic algorithms offer solutions by arbitrarily fixing the number of classes, whereas others propose a hierarchy having partitions with a variable number of classes.
For example, the following heuristic algorithms may be mentioned:
Examples for various unsupervised methods of classification are given in the following references: 1) Saporta G. (1990), Probabilités, Analyse de données et Statistique, Technip: 2) Lebart and al (1995), Multidimensional exploratory statistics, Dunod: 3) Hartigan, J. (1975), Clustering Algorithms, John Wiley and Sons, New York, N.Y., US.
The methods of the “mobile centers” and hierarchical classification type arbitrarily fix a number of classes. On the other hand, the methods of the “first leader” type require a similarity threshold to be fixed and are dependent on the order in which the objects are taken into account. Indeed, they may lead to completely different results depending on the order in which the objects are arranged. Nevertheless, they do allow large quantities of data to be processed within reasonable times. However, in order to achieve this performance, these methods require the maximum number of classes to be fixed at a very small number with respect to the number of objects.
Amongst the major problems encountered in dealing with the issue of automatic classification may be mentioned:
The idea of the present invention rests notably on the theory of relational analysis. As a reminder, this theory, such as described in one of the following references: 1) P. Michaud and J F Marcotorchino, “Optimization models in rational data analysis”, Mathématiques et Sciences Humaines no 67, 1979, p 7-38: 2: J F Marcotorchino and P Michaud, “Aggregation of the similarities in automatic classification”, Revue def statistique appliquée, Vol 30, no 2, 1981, provides a solution to the problems associated with the fixing of the number of classes and of the interpretation of the result obtained. However, the underlying theoretical model is extremely costly in terms of machine resources whenever the number of objects exceeds 100. The invention uses a heuristic approach of this theory which allows the theoretical result on large databases to be very closely approximated.
The invention relates to a method of linear unsupervised classification allowing a database composed of objects and of descriptors to be structured, which is stable on the order of the objects, comprising an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, characterized in that it comprises at least the following steps:
The method can comprise a step where the classes of the partition are regrouped amongst themselves.
The merge step c) comprises, for example, a step where, based on two intersecting classes, the best operation (in terms of the optimization of the criterion) is determined from amongst the following 4:
“Breaking” of the first class and formation of two classes;
“Breaking” of the second class and formation of two classes;
“Breaking” of the two classes in order to form three classes:
Joining of the two intersecting classes in order to form one single class.
The regrouping of the classes of a partition is for example carried out over several hierarchical levels and comprises the following steps:
The invention also relates to a device for linear unsupervised classification allowing a database composed of objects and of descriptors to be structured, which is stable on the order of the objects, comprising an initial step for transformation of the qualitative, quantitative or textual data into presence-absence binary data, characterized in that it comprises at least the following elements: a computer comprising a memory, a database and a processor designed to implement the steps of the method exhibiting one of the aforementioned features.
The invention notably has the following advantages:
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious aspects, all without departing from the invention. Accordingly, the drawings and description thereof are to be regarded as illustrative in nature, and not as restrictive.
The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
The system on which the method operates comprises, for example, a computer 1 comprising a memory 2 and a processor 3 associated with the process of classification 5. The computer 1 is in communication with a database 4. The result of classification, for example, takes the form of a set of classes stored in a suitable device 6. The device 6 is, for example, in communication with an email exchange server 7 for example. The server is equipped with suitable processing means known to those skilled in the art for processing the class information received and potentially triggering mechanisms for sending messages to the people in the classes in question.
Any device enabling actions to be undertaken and/or controlled as a function of the results of the classification may be used.
The description that follows is presented by way of illustration within a general context of executable instructions in a computer program, such as program modules run on a computer or any other calculation device. The invention may be implemented on any kind of computer, PDA, etc.
In
In the case of numerical data, there may be an optional pre-processing phase 21 which consists of conventional statistical processing operations such as the centering or the reduction of the data or else transformations, etc. These pre-processing operations lead to the data table 22. It is this table that constitutes the source for the information analysis processes 23.
With regard to a corpus of documents, in the course of a pre-processing phase 26, each text is transformed into a vector whose dimensions correspond to descriptors obtained by a linguistic process which can be a morpho-syntactic analysis, an extraction of concepts, an extraction of co-occurrences, linguistic and semantic processing operations, etc. A presence-absence (binary) or frequency matrix 27 is obtained which constitutes the source for the processing operations represented by the block 23.
The block 23 notably corresponds to the data processing and analysis phase. These processing operations can be of several types (supervised classification, unsupervised classification, statistical ‘scoring’, regression, etc.). The scope of the invention relates to unsupervised classification of data, also known as automatic classification or ‘clustering’. The invention notably relates to an unsupervised classification process whose result is, for example, a hierarchy of partitions of the objects 24 or of the documents 28 depending on the initial type of data.
The input data in
I={O1,O2, . . . ,On}
V={V1,V2, . . . ,Vm}
The table T has as its general term tik which represents the value taken by the variable Vk on the object Oi and takes the following form:
The general term tik, of the input data, represents:
In the case of qualitative and quantitative data, the method applies re-coding operations 30, described hereinafter, to this table, for example the discretization of the quantitative variables or the re-coding of the qualitative variables into presence/absence descriptors. The qualitative and quantitative variables are transformed into binary variables that will form a presence-absence table K.
In the case of the qualitative variables, the transformation consists, for example, in re-coding of the modalities into presence-absence descriptor vectors.
For quantitative variables, the discretizations consist in transforming the quantitative variables into qualitative variables where each modality corresponds to an interval. For example, let the quantitative variable “size” be expressed in cm and measured on a set of individuals. Assuming that, in the population in question, the size of the individuals composing it is in the range between 140 cm and 210 cm, one possible discretization would be to divide up the variable into the three following intervals [140,160[: [160,180[: [180,210]. These three intervals then respectively correspond to the three following modalities: small, medium and large. Consequently, an individual who has the size 175 cm for example, after discretization, will have the modality medium.
The table K, 31, with general term kij obtained after these transformations will take the following form:
Its general term kij can have two meanings depending on whether the variables are initially qualitative variables or quantitative variables:
In the case of a qualitative variable, kij has the following definition:
In the case of a quantitative variable, kij has the following definition:
In the case of the textual data, there is no re-coding step since, after the pre-processing step, 26, a presence-absence binary table is already obtained K whose general term kij has the meaning:
Each variable of the table T, whether it be qualitative or quantitative, will generate several presence-absence descriptor vectors. Indeed, the tables T and K have different dimensions.
The variable “SPC” (Socio-Professional Category) is considered and it is assumed that there are four individuals (I1, I2, I3, I4) with four possible modalities of the variable SPC being: management, manual worker, professionals. It is furthermore assumed that these four individuals have the following modalities:
Individuals | SPC |
I1 | management |
I2 | management |
I3 | manual worker |
I4 | professionals |
After re-coding of the modalities of the qualitative variable SPC, the following result is obtained:
SPC | ||||
Individuals | management | manual worker | professionals | |
I1 | 1 | 0 | 0 | |
I2 | 1 | 0 | 0 | |
I3 | 0 | 1 | 0 | |
I4 | 0 | 0 | 1 | |
Each modality of the variable in question therefore becomes a presence-absence descriptor. Consequently, the table of the transformed data K will have dimensions (n×p) with p>m where m is the variable number in the set V.
Starting from the table K, 31, statistics calculations, 32 (means, standard deviations, discrimination coefficients, etc.), are carried out that notably allow, on the one hand, the filtering parameters of the descriptors, 33 (elimination of the poorly discriminating descriptors), to be set and, on the other hand, an indicator referred to as structural threshold, 34, to be calculated that removes the necessity for setting parameters for the classification process (neither the number of classes nor the maximum number of classes are fixed). The indicator is described in detail hereinbelow.
The filtering allows the descriptors that are poorly discriminating to be eliminated. The elimination of the descriptors will be different depending on their type. In the case of numerical data, a relevance indicator of the descriptor is used as the basis.
In the case of the documents, the frequency of occurrence of a descriptor within the set of the corpus or any other discrimination measurement indicator such as the entropy, etc., and those that appear not to be very discriminating are eliminated. The filtering step results in a new, reduced binary table, 35, that contains a limited number of columns. It is this new table that is used as input data for the automatic classification process described by the block 36 and detailed in
Structural Threshold and Criterion Adapted to the Data
The method according to the invention uses a structural threshold or indicator whose function is notably to define an optimization criterion adapted to the data.
In order to better understand its role, rational analysis theory is recalled which is based on the maximization of the simplified Condorcet criterion as follows:
where Cii′ represents the degree of similarity between the two objects i and i′. For example:
and {right arrow over (O)}i represents the profile of the object Oi given by the ith row of the table K:
{right arrow over (O)}i=(ki1, ki2, . . . ,kij, . . . ,kip)
and where ƒ(Cii,Ci′i′) is a function of the maximum specific agreements of the individuals i and i′.
For example:
etc. . . .
Xii′ is furthermore given by:
The method according to the invention is of linear complexity given that the formulae of the
type may be calculated linearly. The functions aforementioned as examples are all linearizable. Indeed, the measure of similarity Cii′ used is a scalar product having known linearity properties, the function
is linear, whereas the function ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′) is not linear. However, calculations of the
type may be linearized.
By way of illustration, the invention describes the particular case ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′) especially adapted to databases containing a large number of missing data and the procedures that allow calculations of the
type to be calculated with a linear complexity.
The method according to the invention implements for example the following criterion:
where α is a threshold and the quantity Contribii′ the unitary contribution of the two objects i and i′ to the criterion Cα(X).
According to the invention, the structural threshold parameter αs is calculated automatically. This is an indicator that is a function of the n2 agreements between the objects to be classified:
αs=g({Cii′}i,i′=1, . . . , n)
As an example, its formulation when it represents the ratio of the arithmetical mean of the agreements between all the objects over the arithmetical mean of their maximum agreements:
This formula is linearizable under the same conditions as those previously mentioned.
The criterion Cα
Thus, two objects will automatically be in the same class whenever their similarity is higher than or equal to the calculated percentage of maximum agreement (positive contribution).
Automatic Classification Process of the Invention
The classification process 36 is described in detail in
The first step of the classification process which consists in sorting the descriptors, 40, relies on a measurement of the contribution of each descriptor to the criterion (quality of a descriptor). For example, the descriptors are used as structuring “generators” for the population of the objects to be classified. A descriptor is represented by a column vector of 1 and 0 (presence-absence). A class is associated with this descriptor that is composed of the objects that take the value of 1. For each class of objects Cq, its level of contribution Contrib(Cq) to the global criterion can then be calculated:
The evaluation of the contribution of a class is of polynomial complexity. Indeed, if it is assumed that all the objects form a single class, n2 unitary contributions would then need to be calculated in order to determine the value of the criterion.
In the case where Cii′ is a scalar product, the first part of the formula on the right,
may be simplified in the following manner:
where {right arrow over (R)}q=(r1q, r2q, . . . , rpq) is called representative of the class Cq whose terms are given by the column sum of each modality of the table K for the objects of the class:
Each value rlq, j=1, . . . , p, represents the number of objects of the class Cq that possess the modality l.
In the case where ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), the second part of the formula on the right of the equation [1] is equal to
The procedure allowing this quantity to be calculated with a linear complexity is given hereinbelow.
Procedure MinCC (Class C) | |
Requires: CardC > 0 | |
Requires: Sorted list of individuals for the class C | |
Integer: result = 0 | |
Integer: j = next element of C | |
Integer: i = 0 | |
While the class C has not ended, Do | |
result = result + [( CardC − i ) × 2 − 1] × Cjj | |
j = next element of C | |
i = i + 1 | |
End While | |
This process 41 notably consists in progressively “merging” 42, a class generated by a descriptor 40, and a current partition (composed of several classes). This “merging” operation consists in determining, starting from two intersecting classes, the best operation (in terms of the criterion) from amongst the following 4:
“Breaking” of the first class and formation of two classes;
“Breaking” of the second class and formation of two classes;
“Breaking” of the two classes in order to form three classes:
Joining of the two intersecting classes in order to form one single class.
These operations are illustrated in
This process amounts to constructing step by step a partition that locally and progressively optimizes the global criterion.
Once all the descriptors have been used, the partition obtained P0 is considered as being a first finalized partition of the objects 43.
During the “merging” phase (40, 41, 42) of the classes, it is only attempted to “merge” the classes that possess intersections. The object of the processing operation 44 is to merge, in other words to combine, classes that do not have any intersection if this operation allows the criterion to be optimized (test for merging together of the classes of the partition obtained). This leads to a modified partition 45, a partition of level 1, which constitutes the final partition of the classification process.
This partition 45 forms the input for the process of aggregation of the classes, 46, which is described in
The cardinal of the elements of the set of the intersections of a class Cx with the classes of a partition P, 52, can be obtained linearly in the manner described hereinafter.
The class Cx is considered as the class whose intersection with a partition P it is desired to evaluate. With this class is associated a list sorted, for example, by increasing order of the indices of the objects that it contains. For this purpose, each object is identified by a single integer which is its index. In order to sort the objects, a linear sorting process is for example used (for example, sorting by base for which one reference is the following: Cormen et al (2002), Introduction to algorithmics, Dunod) since the upper bound of the values to be sorted is known.
The operation for calculating the cardinal of the intersections uses a vector {right arrow over (A)} of dimension n for which each dimension i represents the index of the class where the individual Oi. is stored.
Example of Calculation of Intersection Cardinals:
If a population of 6 objects O1, O2, . . . , O6 and a current partition of these objects P, 51, composed of three classes C1={O1,O3},C2={O2, O4, O6}, C3={O5} is taken
The vector {right arrow over (A)} is equal to:
O1 | O2 | O3 | O4 | O5 | O6 | |
1 | 2 | 1 | 2 | 3 | 2 | |
The number of operations carried out during the calculation of the intersections 52 is equal to the number of objects in the class Cx to be merged with the partition P. Indeed, for each object of the new class, it is verified whether it belongs to a class of the partition P; if it does, the intersection counter for this class is incremented.
If there are several intersections between a class Cx and a partition P, as indicated hereinbelow, the cardinal of the various intersections between Cx and the various classes Cy of the partition P are calculated in order to obtain an order for them to be taken into account.
Based on the intersection of Cx and of one class Cy of the partition P, it is assessed which is the best configuration from amongst those present in
The Process of “Merging” of Two Classes is for Example as Follows.
Let {right arrow over (R)}x and {right arrow over (R)}y be the representative vectors of the classes Cx and Cy, the vectors {right arrow over (R)}a, {right arrow over (R)}b and {right arrow over (R)}c are constructed that are defined by:
{right arrow over (R)}a={right arrow over (R)}y−{right arrow over (R)}c
{right arrow over (R)}b={right arrow over (R)}x−{right arrow over (R)}c
where Cc=Cx∩Cy is the class defined by the intersection of Cx and Cy (the objects in both the classes Cx and Cy) and {right arrow over (R)}c its representative.
Hence, {right arrow over (R)}a represents the objects which are only in Cy and {right arrow over (R)}b those which are only in Cx.
CardA, CardB and CardC will be respectively defined as the cardinals of the classes represented by {right arrow over (R)}a, {right arrow over (R)}b and {right arrow over (R)}c.
The two lists of objects contained in the classes Cy and Cx are sorted by increasing order of their index. The following conventional procedure can therefore be applied in order to quickly calculate the three vectors:
Procedure for Vector calculation (Class Cx, Class Cy ) | |
{right arrow over (R)}a = {right arrow over (R)}y | |
{right arrow over (R)}b = {right arrow over (R)}x | |
{right arrow over (R)}c = 0 | |
CardA = CardB = CardC = 0 | |
L1 = list of the objects of Cy | |
e = head of the list L1 | |
L2 = list of the objects of Cx | |
f = head of the list L2 | |
While the list L1 has not ended, Do | |
While the list L2 has not ended, Do | |
If e = f , Do | |
{right arrow over (R)}e = {right arrow over (O)}e | |
{right arrow over (R)}a = {right arrow over (R)}a − {right arrow over (R)}e | |
{right arrow over (R)}b = {right arrow over (R)}b − {right arrow over (R)}e | |
{right arrow over (R)}c = {right arrow over (R)}c + {right arrow over (R)}e | |
e = head of the list L1 | |
f = head of the list L2 | |
cardC = cardC + 1 | |
Else If e < f , Do | |
e = head of the list L1 | |
cardA = cardA + 1 | |
Else | |
f = head of the list L2 | |
cardB = cardB + 1 | |
End If | |
End While | |
End While | |
Based on these three vectors, it is possible to choose the best solution from amongst the following four, these being shown in an example in
The choice of the best of the four solutions is, for example, based on the evaluation of the “links” between the 3 different sub-classes presented hereinabove. The general calculation of the “link” between two classes Cq and Cq′ is given by the following formula:
When the measure of similarity is a scalar product, and when ƒ(Cii,Ci′i′)=Min(Cii,Ci′i′), as previously, the calculation of the link between two different classes can be linearized. The method uses, for this purpose, the linearity properties of the scalar product, which yields the following simplification:
The following procedure may also be used which allows the quantity
to be evaluated with a linear complexity:
Procedure MinCC′ (Class C, Class C′ ) | |
Requires: CardC > 0 | |
Requires: CardC′> 0 | |
Requires: Sorted list of individuals for the classes C and C′ | |
Integer: résultat = 0 | |
Integer: nb_rows = CardC | |
Integer: nb_cols = CardC′ | |
Integer: j = next element of C | |
Integer: j′ = next element of C′ | |
While the class C has not ended and the class C′ has not ended, Do | |
If j < j′ do | |
result = result + nb_cols × Cjj | |
j = next element of C | |
nb_rows = nb_rows − 1 | |
Else | |
If j′< j do | |
result = result + nb_rows × Cj′j′ | |
j′ = next element of C′ | |
nb_cols = nb_cols − 1 | |
Else | |
result = result + (nb_cols + nb_rows − 1) × Cj′j′ | |
j = next element of C | |
j′ = next element of C′ | |
nb_rows = nb_rows − 1 | |
nb_cols = nb_cols − 1 | |
End If | |
End If | |
End While | |
With regard to the intersection between two classes, the method evaluates the following three quantities which are shown in an example in
Thus, in order to maximize locally the global criterion:
Once the class Cx, 50, has been merged with the first class Cy, the other classes of the partition P intersecting with the class Cx continue to be processed, 55. For this purpose, the class Cx will be transformed into class Cx′:
If the solution 1 is chosen, Cx′=Cx
If the solution 2 is chosen, Cx′=Cx−Cy
If the solution 3 is chosen, Cx′=Cx−Cy
If the solution 4 is chosen, Cx′=Cx∪Cy
In any case, the new class Cx′ contains the objects which can belong to the other classes of the partition P since it is known, in advance, that no object of the class Cy can belong to another class of the partition P.
Procedure for Removing Objects from a Class
In order to remove a set of objects Δ from a class, it suffices to remove Δ from the list of objects of the class and to deduct the representative {right arrow over (R)}Δ from the representative of said class. For example, during the operation Cx′=Cx−Cy, {right arrow over (R)}Δ is equal to {right arrow over (R)}c. In effect, the intersecting objects represented by the representative {right arrow over (R)}c are subtracted from the class Cx. Thus, {right arrow over (R)}x′={right arrow over (R)}x−{right arrow over (R)}c.
In this way, the “breaking” operations do not require a significant calculation time since the quantity deducted from the representative of the class is always equal to the vector {right arrow over (R)}c which has already been calculated. Moreover, the removal of the objects from the list is a simple and linear operation.
Procedure for Combining Two Classes
In this procedure, the representative of the intersection of C1 and C2 (defined by {right arrow over (R)}c hereinabove) and the cardinal of the intersection (defined by CardC hereinabove) are known. The idea is therefore to create the class C1∪C2, without carrying out a complete linear sorting procedure.
Procedure Combination (Class C1, Class C2, Representative Inter, Integer |
CardInter) |
Temporary vector of size (CardC1 + CardC2 − CardInter) |
Integer position = 0 |
L1 = list of the objects of C1 |
e = head of the list L1 |
L2 = list of the objects of C2 |
f = head of the list L2 |
While the list L1 has not ended, Do |
While the list L2 has not ended, Do |
If e = f , Do |
el = e |
e = head of the list L1 |
f = head of the list L2 |
Else If e < f Da |
el = e |
e = head of the list L1 |
Else |
el = f |
f = head of the list L2 |
End If |
Temporary[position] = el |
Position = position + 1 |
End While |
End While |
Copy Temporary into the list of the objects |
Representative = Representative (C1) + Representative (C2) − Inter |
For all the positive values of Link in {right arrow over (S)}, the corresponding classes will be merged. The set of these classes will be marked as being assigned and will no longer thereafter be able to be merged. The process is re-iterated with the set κ′ of the unmarked classes.
Process of the Invention for Hierarchical Aggregation of the Classes
In
This process consists, notably, in regrouping the classes amongst themselves over several levels (the number of levels is to be fixed by the user). The optimization of the global criterion involves, for example, the maximization of the links between the classes formed. In other words, the classes obtained must, in the end, have negative links. However, the calculation of the links is based on the definition of the contribution Contribii′ of a pair (i,i′) of objects. Hereinbelow, the definition of the contribution of a pair of objects is recalled when the function ƒ is the function Minimum:
Contribii′=Cii′−α×Min(Cii,Ci′i′)
The process of aggregation of the classes, proposed by the invention, then consists in decreasing at each level, the value of the structural threshold 80, such that the weakly negative contributions can become positive. In this way, the link between two classes can become positive which allows them to be regrouped 81, and relationships between the classes of a partition to be highlighted. This process is repeated as many times as there are levels 82. A set of nested partitions 83 is then obtained, which allows hierarchical and conceptual relationships (over several levels) to be detected between the classes initially considered within the partition 45. By this principle, the invention thus enables knowledge discovery to be achieved.
The procedure for hierarchical aggregation of the classes of a level j at a level j+1 is similar to the procedure Regroup described hereinabove.
Calculations Allowing the Quality of the Classification Results of the Invention to be Evaluated
The theoretical formulae for the indices measuring the quality of the solution obtained which is expressed as a percentage are given here. The closer the index is to 100%, the higher is the quality of the solution studied (qualities of partition, class or individual).
Some notation is firstly introduced:
The agreement between two classes:
The maximum agreement between two classes:
The disagreement between two classes: ĀCC′=AMCC′−ACC′
The final quality of the partition obtained is given by:
where κ is the number of classes of the partition.
The quality of a class C is given by:
The quality of an object i belonging to a class C is given by:
where
The sums over the terms ACC′ are linearizable when the similarities Cii′ are scalar products thanks to the linearity properties of the latter. Examples are given hereinbelow of procedures allowing the following quantities involved in the various quality formulae to be linearly calculated when ⊕(Cii,Cii′)=Min(Cii,Ci′i′):
These quantities are respectively denoted SS‘MinCC’, S‘MinC’ and MiniC:
******************************************************* | |
Procedure SS′MinCC′ (Class C, Class C′) | |
Requires: κ > 0 | |
Integer: result = 0 | |
For i = 1 to n in increments of 1, Do | |
result = result + ((n − i + 1) × 2 − 1) × Cii | |
End For | |
******************************************************* | |
******************************************************* | |
Procedure S′MinCC′ (Class C, Class C′) | |
Requires: CardC > 0 | |
Requires: κ > 0 | |
Requires: Sorted list of individuals for the classes C | |
Integer: result = 0 | |
Integer: nb_rows = CardC | |
Integer: nb_cols = n | |
Integer: j = next element of C | |
Integer: i = 1 | |
While the class i ≦ n and C has not ended, Do | |
If i = j do | |
result = result + (nb_cols + nb_rows − 1) × Cii | |
nb_rows = nb_rows − 1 | |
nb_cols = nb_cols − 1 | |
i = i + 1 | |
j = next element of C′ | |
Else | |
result = result + nb_rows × Cii | |
i = i + 1 | |
nb_cols = nb_cols − 1 | |
End If | |
End While | |
******************************************************* | |
******************************************************* | |
Procedure MiniC (Class C) | |
Requires: CardC > 0 | |
Requires: List triee of individuls pour the class C | |
Integer: result = 0 | |
Integer: nb_cols = CardC | |
Integer: j = next element of C | |
While the class C has not ended and nb_cols ≦ j, Do | |
If i = j, Do | |
result = result + nb_cols × Cii | |
Else | |
result = result + Cjj | |
j = next element of C | |
nb_cols = nb_cols − 1 | |
End If | |
End While | |
******************************************************* | |
It will be readily seen by one of ordinary skill in the art that the present invention fulfils all of the objects set forth above. After reading the foregoing specification, one of ordinary skill in the art will be able to affect various changes, substitutions of equivalents and various aspects of the invention as broadly disclosed herein. It is therefore intended that the protection granted hereon be limited only by definition contained in the appended claims and equivalents thereof.
Benhadda, Hamid, Ah-Pine, Julien, Lemoine, Julien
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6976207, | Apr 28 1999 | HYLAND SWITZERLAND SÀRL | Classification method and apparatus |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 14 2006 | Thales | (assignment on the face of the patent) | ||||
Dec 11 2008 | AH-PINE, JULIEN | Thales | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021969 | 0342 | |
Dec 11 2008 | BENHADDA, HAMID | Thales | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021969 | 0342 | |
Dec 11 2008 | LEMOINE, JULIEN | Thales | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021969 | 0342 |
Date | Maintenance Fee Events |
Oct 07 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 07 2020 | REM: Maintenance Fee Reminder Mailed. |
May 24 2021 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Apr 16 2016 | 4 years fee payment window open |
Oct 16 2016 | 6 months grace period start (w surcharge) |
Apr 16 2017 | patent expiry (for year 4) |
Apr 16 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 16 2020 | 8 years fee payment window open |
Oct 16 2020 | 6 months grace period start (w surcharge) |
Apr 16 2021 | patent expiry (for year 8) |
Apr 16 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 16 2024 | 12 years fee payment window open |
Oct 16 2024 | 6 months grace period start (w surcharge) |
Apr 16 2025 | patent expiry (for year 12) |
Apr 16 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |