Method and apparatus to model the variables of a data set
Abstract
The present invention relates to modelling the variables of a data set by means of a probabilistic network including data nodes and causal links. The term 'probabilistic networks' includes Bayesian networks, belief networks, causal networks and knowledge maps. The variables of an input data set are registered and a population of genomes is generated each of which individually models the input data set. Each genome has a chromosome to represent the data nodes in a probabilistic network and a chromosome to represent the causal links between the data nodes. A crossover operation is performed between the chromosome data of parent genomes in the population to generate offspring genomes. The offspring genomes are then added to the genome population. A scoring operation is performed on genomes in the said population to derive scores representing the correspondence between the genomes and the input data. Genomes are selected from the population according to their scores and the crossover, scoring, addition and selecting operations for a plurality of generations of the genomes. Finally a genome is selected from the last generation according to the best score. A mutation operation may be performed on the genomes. The mutation may consist of the addition or deletion of a data node and the addition or deletion of a causal link.

Term
Term ended
Projected expiry passed 10 February 2019, 7.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
22 claims: 6 independent, 16 dependent
- 1A method of modelling the variables in an input data set by means of a probabilistic network including data nodes and causal links, the method comprising the steps of;registering the input data set, generating a population of genomes each individually modelling the input data set by means of chromosome data to represent the data nodes in a probabilistic network and the causal links between the data nodes, performing a crossover operation between the chromosome data of parent genomes in the population to generate offspring genomes, performing an addition operation to add the offspring genomes to the said population, performing a scoring operation on genomes in the said population to derive scores representing the correspondence between the genomes and the input data set, performing a selecting operation to select genomes from the population according to the scores, repeating the crossover, scoring, addition and selecting operations for a plurality of generations of the genomes, and selecting, as an output model, a genome from the last generation.
- 7A method as claimed in any one of the preceding claims, wherein the chromosome data of each genome includes a node chromosome in the form of a linear array of node data and a causal link chromosome in the form of a matrix of causal links.
- 9A method as claimed in any one of the preceding claims, comprising the further step of culling genomes which fail to meet predetermined structural constraints.
- 12Apparatus for modelling the variables in an input data set by means of a probabilistic network including data nodes and causal links, the apparatus comprising;data register means to register the input data set, generating means for generating a population of genomes each individually modelling the input data set by means of chromosome data to represent the data nodes in a probabilistic network and the causal links between the data nodes, crossover means for performing a crossover operation between the chromosome data of parent genomes in the population to generate offspring genomes, adding means to perform an addition operation to add the offspring genomes to the said population, scoring means for performing a scoring operation on genomes in the said population to derive scores representing the correspondence between the genomes and the input data set, selecting means for performing a selecting operation to select genomes from the population according to the scores, control means to control the crossover, scoring, addition and selecting means to repeat their operations for a plurality of generations of the genomes, and output means to select, as an output model, a genome from the last generation.
Independent claims6
29 paragraphs, as filed
0001The present invention relates to a method and apparatus for modelling the variables of a data set by means of a probabilistic network including data nodes and causal links.
0002Probabilistic networks are graphical models of cause and effect relationships between variables in a data set. Such networks are referred to in the literature as Bayesian networks, belief networks, causal networks and knowledge maps. In this specification, the term probabilistic networks will be used generically to refer to all such networks and maps. The graphical model in each case includes data nodes, to represent the variables, and causal links or arcs, to refer to the dependencies connecting between the data nodes. A given set of nodes and arcs defines a network structure.
0003Once a network structure has been found that accurately models a set of data, the model summarises knowledge about possible causal relationships between the variables in the data set. Such a model allows knowledge about relationships between variables in a large set of data to be reduced to a concise and comprehensible form and is the primary goal of data mining.
0004One of the difficulties with modelling a set of data using a probabilistic network is to find the most likely network structure to fit a given input data set. This is because the search space of possible network structures increases exponentially with the number of data nodes in the network structure. An exhaustive evaluation of all the possible networks to measure how well they fit the input data set has been regarded as impractical even when limited to modest sized network structures.
0005The present invention has the aim of more efficiently generating a representation of a probabilistic network which models the variables of an input data set.
0006According to the present invention, there is now provided a method of modelling the variables in an input data set by means of a probabilistic network including data nodes and causal links, the method comprising the steps of; <ul id="ul0001" list-style="none" compact="compact"><li>registering the input data set,</li><li>generating a population of genomes each individually modelling the input data set by means of chromosome data to represent the data nodes in a probabilistic network and the causal links between the data nodes,</li><li>performing a crossover operation between the chromosome data of parent genomes in the population to generate offspring genomes,</li><li>performing an addition operation to add the offspring genomes to the said population,</li><li>performing a scoring operation on genomes in the said population to derive scores representing the correspondence between the genomes and the input data set,</li><li>performing a selecting operation to select genomes from the population according to the scores,</li><li>repeating the crossover, scoring, addition and selecting operations for a plurality of generations of the genomes,</li><li>and selecting, as an output model, a genome from the last generation.</li></ul>
0007Further according to the present invention there is provided apparatus for modelling the variables in an input data set by means of a probabilistic network including data nodes and causal links, the apparatus comprising; <ul id="ul0002" list-style="none" compact="compact"><li>data register means to register the input data set,</li><li>generating means for generating a population of genomes each individually modelling the input data set by means of chromosome data to represent the data nodes in a probabilistic network and the causal links between the data nodes,</li><li>crossover means for performing a crossover operation between the chromosome data of parent genomes in the population to generate offspring genomes,</li><li>adding means to perform an addition operation to add the offspring genomes to the said population,</li><li>scoring means for performing a scoring operation on genomes in the said population to derive scores representing the correspondence between the genomes and the input data set,</li><li>selecting means for performing a selecting operation to select genomes from the population according to the scores,</li><li>control means to control the crossover, scoring, addition and selecting means to repeat their operations for a plurality of generations of the genomes,</li><li>and output means to select, as an output model, a genome from the last generation.</li></ul>
0008The invention will now be described, by way of example, with reference to the accompanying drawings in which; <ul id="ul0003" list-style="none"><li>Figure 1 shows a table of data in an input data set,</li><li>Figure 2 shows a probabilistic network including data nodes and causal links which models the data in Figure 1,</li><li>Figure 3 shows data processing apparatus, according to the invention, for producing a representation of a probabilistic network to model the table of data of Figure 1,</li><li>Figure 4 shows chromosome data included in a genetic algorithm which is processed by the apparatus of Figure 3, and</li><li>Figure 5 shows a block diagram of the operating steps performed by the apparatus of Figure 3.</li></ul>
0009In Figure 1, a data set is included in a table 10 of statistical data and includes variables relating to the customers of a bank. The variables include the age, sex, address, occupation and income data which are personal to the customers. In addition the variables include information on whether the customers use telephone banking or internet banking, which branch of the bank holds the customer accounts and whether the customers use the bank to purchase insurance cover. Each line of the table 10 concerns data relating to one of the variables and the columns contain data fields within the data variables. In Figure 1, the table is shown as an M x N matrix with a common number of data fields for each variable. It will however be apparent that the number of fields used to express the data for any given variable will differ from one variable to another.
0010A data set such as is represented in Figure 1 may be regarded as a useful source of information on the choices that a customer might make in using the services offered by the bank. For example inferences might be drawn from the set of data whether a particular customer is likely to opt for telephone banking for example. A powerful tool to help in drawing plausible conclusions from a data set is to build a probabilistic network structure defining the relationships between the variables in the data set.
0011Such a network structure may be modelled as a Bayesian belief network to describe the statistical dependencies in the data set by representing the variables as data nodes within the network structure and dependencies between the variables as arcs interconnecting the data nodes.
0012Figure 2 shows a Bayesian belief network which may be postulated as a model to fit the data set of Figure 1. In this network, the variables of age, sex, address and income are shown as independent variables and the remaining variables are shown as having dependencies marked by the arrows in Figure 2. The network shows a causal relationship between the variable of age and that of occupation. Another causal relationship is shown between sex and occupation. A causal relationship is marked by the arrow from each independent variable of address and income to the dependent variable of bank branch location. The remaining causal relationships are marked by arrows from the variables of occupation and branch location to the further dependencies of internet banking, telephone banking and purchase of insurance.
0013Probability distributions are assigned to each of the data nodes so that the model represents graphically the statistical dependencies in the data set. The model is a concise and comprehensible way of recording knowledge about possible causal relationships in the data set.
0014A difficulty in devising a plausible Bayesian belief network lies in specifying the conditional distribution of each of the variables and in imagining how complex combinations of causal factors interact. The search space of possible network structures increases exponentially with the number of nodes in the network making an exhaustive search for all possible networks impractical.
0015In Figure 3 apparatus is shown which provides a means for receiving statistical data as shown in Figure 1 and for generating Bayesian belief networks to be evaluated as plausible models of the data. Input statistical data passes from a data I/O device 30 through an I/O port 31 for entry to a data bus 32. A central processing unit (CPU) 33 controlled by an operating system 34 controls the entry of data onto the data bus 32. A random access memory 35 is connected to the I/O bus 32 to receive and store data supplied to the bus 32.
0016In response to the entry, by means of the data I/O device 30, of the statistical data representing the variables shown in Figure 1, the CPU 33 is programmed to enter the data into the memory 35. The data is then processed by the CPU 33 in a sequence of processing operations as represented in the block flow diagram of Figure 5. In Figure 5, the entry of the data set through the I/O device 30 is shown as step 50 and the storage of the data set in the memory 35 is shown as step 51. In step 52 the data is reformatted to represent a population of genomes which are stored in the memory 35.
0017The term genome comes from the field of genetic algorithms. Genetic algorithms are parallel algorithms that transform populations of individual mathematical objects into new populations. The operations that are used to effect the transformation are analogous to those found in natural genetic operations such as sexual recombination or crossover. The individuals in the population are encoded as sequences of numbers which typically consist of a fixed or variable length binary character string. An initial population of genetic algorithms is evaluated to test for fitness with respect to a particular purpose and genetic operations on selected individuals result in the generation of a new population of individuals.
0018In step 52 of Figure 5, an initial population of genomes is generated by the CPU 33 from the data set which is stored in the memory 35. The CPU 33 generates from the data set a different character string of binary numbers for each genome. The character string 40 has two chromosomes 41 and 42 as shown in Figure 4. The first chromosome 41 encodes selected variables in the data set as data nodes D<sub>A</sub> to D<sub>J</sub>. Each of the data nodes may be encoded to specify either fields in the data or hypothesised "hidden" variables in the data and also specify a particular distribution type such as Gaussian, multinomial or Poisson. The distribution type depends on the nature of the data and whether it is represented as continuous data or categorical data. The second chromosome 42 represents the arcs connecting the data nodes and is a square N x N matrix of ones and zeros where N is the number of nodes in the network and each arc in the element is represented by an element a<sub>ij</sub> in the matrix. If a<sub>ij</sub> = 1 then there is an arc between the nodes i and j.
0019Referring once more to Figure 5, the initial population of genomes is subject to crossover operations in step 53. A crossover operator selects genomes at random and performs a crossover operation in which the two chromosomes are inherited independently and crossed over independently. The node chromosome is crossed over by randomly selecting a point along the linear array and copying the portion 41a of the paternal chromosome up to that point. The portion 41b of the maternal genome past that point is copied and spliced to the portion 41a of the paternal chromosome. The broken lines in Figure 4 indicate the random selection of the point where crossover is effected. It will be apparent that the node chromosome 41 may be a fixed length or variable length character string depending on the nature of the data, the manner in which the genomes are generated in step 52 and the nature of the crossover operation in step 53.
0020The crossover of the arc chromosome 42 is effected by randomly selecting a line to divide the paternal matrix, copying the portion 42a of the paternal matrix up to that line, copying the portion 42b of the maternal matrix beyond the line, and reordering the portions 42a and 42b into a new matrix. The broken lines in Figure 4 indicate the random nature of the selection of the portions 42a and 42b. It will be apparent that the size of the square matrix will vary in the case where the node chromosome is a variable length string.
0021In step 54 the population is subject to random mutation. The mutation step comprises the random selection of a predetermined small proportion of the population of genomes. The randomly selected genomes are mutated by one of four possible mutations. The possible mutations are the addition of a node or the deletion of a node, in respect of the node chromosome 41, and the addition of an arc or the deletion of an arc, in respect of the arc chromosome 42. The addition or deletion of a node in respect of a node chromosome necessitates the updating of the corresponding arc chromosome. Thus the addition of a node will necessitate the addition of a row and column to the arc chromosome and the random generation of arcs connecting the new node to existing nodes. The deletion of a node will necessitate the deletion of the corresponding row and column from the arc chromosome.
0022Following the mutation step, the population of genomes is subject to a check and cull operation in step 55. In the step 55, checks are made to satisfy that constraints on the structure of the networks are met. One such constraint is to satisfy the requirement that the network is a directed acyclic graph. Prior knowledge also rules out or enforces certain causal links and so some nodes and arcs are constrained to be absent or present and are not subject to mutation. In addition, it is desirable to avoid evolving networks which are equivalent. Equivalent networks have different structures but encode the same probability model. In the step 55 a cull is made of those networks which do not meet the required constraints or which are equivalent to existing members of the population.
0023A scoring operation is made in step 56 to score the fit of the genomes to the data set. A selection of those genomes which score the best fit to the data set are selected to form the next generation of genomes. The score for each genome is evaluated in relation to how well the network represented by the genome can be fitted to the data set. The score is evaluated by assuming that the data in the data set is a random sample generated from the joint distribution defined by the network. A comparison is made between the values of the variables in the data set and the values generated in the joint distribution, a higher score being achieved by a higher correspondence. The score for each genome is evaluated in turn and stored for comparison with the scores of the other genomes in the same generation. Genomes are selected according to their scores.
0024Very complex networks model the data more accurately than simpler networks and this can result in over-fitting of the data. The score achieved by each network may thus be constrained by introducing a penalty for the number of nodes and arcs represented in the network.
0025The process continues through a decision step 58 to iterate the steps 53, 54, 55, 56 and 57 for a pre-set number N of generations of genomes. The iteration continues until, in the decision step 58, the pre-set number of generations is counted. The process thereupon continues to a step 59 where the last generation of genomes is again subject to a scoring operation to select the genome which scores the best fit to the data set. The character string representing the selected genome is supplied to the I/O device 30 as output data.
0026Of the steps in the process of Figure 5, it is the steps 55, 56 and 57 that require the most processing power. It will be apparent to those skilled in the art that these steps may be performed by a plurality of processors operating in parallel as an alternative to the single processor shown in Figure 1. Such a plurality of parallel processors may be operated under the control of a master processor programmed to allocate computing tasks to the parallel processors.
0027The population of networks in the population formed in step 52 and in step 57 may be subdivided into pools, or demes, of networks such that the probability of crossover occurring between two individuals within a deme is greater than crossover between two individuals in different demes. By this means, the diversity in the population is maintained with a resulting improvement in the score of the final network produced.
0028What has been described has general application to the production of output data to represent a probabilistic network fitting an input data set. The data set may include data from a wide range of sources and the invention is not restricted to the particular example of a banking data set as described above.
0029The use of genetic algorithms has a number of advantages over other methods of finding a network topology to represent a data set. Genetic algorithms avoid the problem of local minima found in some search methods (e.g. gradient descent). These occur when a search method becomes trapped in a region of parameter space with a locally high, but globally low, fitness. Genetic algorithms are inherently parallel and so can speed up the search process by the addition of new processors without modification to the code used to implement the search. Prior constraints, such as domain knowledge acquired from experts, can be easily applied to the search space by putting analogous constraints onto the generation of genomes.
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7373375B2 | Cited by | United States of America | Applicant |
5 members in 4 offices; this record represents the family
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 9805260 | United Kingdom | A | |
| 9805260 | United Kingdom | – | |
| 9805260 | – | – | – |
| GB19980005260 | – | – | – |
Members5
| Document | Office | Kind | |
|---|---|---|---|
| GB9805260D0 | United Kingdom | D0 | |
| EP0942384A2This record | European Patent Office (EPO) | A2 | |
| JPH11328146A | Japan | A | |
| US2002062296A1 | United States of America | A1 | |
| US6480832B2 | United States of America | B2 |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application deemed to be withdrawnWithdrawn18D | 18D | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | |
| Designated contracting statesAK | AK | |
| Request for extension of the european patentAL;LT;LV;MK;RO;SIAX | AX | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI |
Numbers
- Publication
- 0942384
- Publication, DOCDB
- 0942384
- Publication, EPODOC
- EP0942384
- Application
- 99300986
- Application, DOCDB
- 99300986
- Application, EPODOC
- EP19990300986
Titles3
- German
- Verfahren und Apparat zum Erstellen eines Modells der Variablen eines Datensatzes
- English
- Method and apparatus to model the variables of a data set
- French
- Méthode et appareil pour modéliser les variables d'un ensemble de données
Classification
- CPC, 1
- G06Q30/02
- IPC, 3
- G06F15 18
- G06N3 00
- G06Q30 00
Designated states2
- Contracting states, 1
- Sweden
- Extension states, 1
- Slovenia