Score result reuse for Bayesian network structure learning
AssigneeIntel Corporation
InventorChunrong Lai
Life of this patent
Estimating the term…
Abstract
Reuse of intermediate statistical score computations. Learning a network structure may involve computationally intensive operations. In one embodiment a partial result may be computed and cached that will be used in computing the score of another network structure. A speculative determination whether to cache the partial result may be made.
Claims30
A computer-implemented method for score computing of a Bayesian network, comprising:
- receiving, at a structure learning module included in a computing device, a request for a current best structure, the request to include a network neighborhood structure further including a data set of statistical computing information represented as a directed acyclic graph (DAG) with a family structure, where the family structure includes nodes that each represent an observed state, and statistical relationships between nodes in the family structure;
- computing an intermediate result for a score computation of the family structure of the Bayesian network including a child node, the score computation for structure learning of the Bayesian network, the intermediate result being a score of the family structure resulting from the score computation of the family structure including the child node;
- caching the intermediate result in a memory device;
- changing a single edge in the family structure by making a single edge difference between a parent node of the family structure and the child node, wherein the single edge represents a logical relationship between the Parent node and the child node;
- computing a score of the family structure with the changed single edge using the intermediate result and the single edge difference;
- comparing the score of the family structure with the changed single edge with a score of another computation of the family structure to determine a higher scoring structure;
- and
- outputting the higher scoring structure as a current best structure from the structure learning module.
A method according to claim , further comprising:
- distributing the cached intermediate result among multiple computing components.
An article of manufacture comprising a machine accessible medium having content to provide instructions to result in a machine performing operations including:
- receiving, at a structure learning module included in a computing device, a request for a current best structure, the request to include a network neighborhood structure further including a data set of statistical computing information represented as a directed acyclic graph (DAG) with a family structure, where the family structure includes nodes that each represent an observed state, and statistical relationships between nodes in the family structure;
- computing an intermediate result for a score computation of the family structure of the Bayesian network including a child node, the score computation for structure learning of the Bayesian network, the intermediate result being a score of the family structure resulting from the score computation of the family structure including the child node;
- caching the intermediate result in a memory device;
- changing a single edge in the family structure by making a single edge difference between a parent node of the family structure and the child node, wherein the single edge represents a logical relationship between the parent node and the child node;
- computing a score of the family structure with the changed single edge using the intermediate result and the single edge difference;
- comparing the score of the family structure with the changed single edge with a score of another computation of the family structure to determine a higher scoring structure;
- and
- outputting the higher scoring structure as a current best structure from the structure learning module.
An apparatus to perform directed graph structure learning, comprising:
- a processor to execute instructions;
- and
- a structure learning module coupled to the processor having data to provide instructions to the processor to result in the processor performing operations including
- receiving, at the structure learning module, a request from a computing device for a current best structure, the request to include a Bayesian network neighborhood structure further including a data set of statistical computing information represented as a directed acyclic graph (DAG) with a family structure, where the family structure includes nodes that each represent an observed state, and statistical relationships between nodes in the family structure;
- calculating a matrix displacement offset of the Bayesian network neighborhood, the Bayesian network neighborhood including a child node, matrix displacement offset excluding a first parent node of the Bayesian network neighborhood;
- storing the matrix displacement offset in a memory;
- retrieving the matrix displacement offset from the memory to calculate a displacement result of the Bayesian network neighborhood including the child node and a second parent node to generate a structure score of the Bayesian network neighborhood for the directed graph structure learning, the displacement result calculated from the retrieved matrix displacement offset and the value of the second parent node;
- comparing the structure score with another score calculated for the Bayesian network neighborhood to determine a higher scoring structure;
- and
- outputting the higher scoring structure as a current best structure from the structure learning module to the computing device.
A computer-implemented method for score computing in network structure learning, comprising:
- receiving, at a structure learning module included in a computing device, a request for a current best structure, the request to include a network neighborhood structure further including a data set of statistical computing information represented as a directed acyclic graph (DAG) with a family structure, where the family structure includes nodes that each represent an observed state, and statistical relationships between nodes in the family, structure;
- preparing a score computation of the network neighborhood structure, the score computation having a logical computation order with a child node as the last dimension of the logical computation order;
- speculating the network structure has a single edge difference compared to a previously computed network neighborhood structure, wherein the single edge represents a logical relationship between the parent node and the child node of the previously computed network neighborhood structure;
- re-ordering the logical computation order of the score computation to compute the score computation of the network neighborhood structure with the child node as the penultimate dimension and a parent node of the child node as the last dimension to obtain a score result of the network neighborhood for the network structure learning;
- comparing the computed score computation of the network neighborhood structure with the child node as the penultimate dimension and the parent node of the child node as the last dimension with a score of another computation of the network neighborhood structure to determine a higher scoring structure;
- and
- outputting the higher scoring structure as a current best structure from the structure learning module.
An article of manufacture comprising a machine accessible medium having content that when accessed results in a machine performing operations including:
- receiving, at a structure learning module, a request from a computing device for a current best structure, the request to include a network neighborhood structure further including a data set of statistical computing information represented as a directed acyclic graph (DAG) with a family structure, where the family structure includes nodes that each represent an observed state, and statistical relationships between nodes in the family structure;
- preparing a score computation of the network neighborhood structure, the score computation having a logical computation order with a child node as the last dimension of the logical computation order;
- speculating the network structure has a single edge difference compared to a previously computed network neighborhood structure, wherein the single edge represents a logical relationship between the parent node and the child node of the previously computed network neighborhood structure;
- re-ordering the logical computation order of the score computation to compute the score computation of the network neighborhood structure with the child node as the penultimate dimension and a parent node of the child node as the last dimension to obtain a score result of the network neighborhood for the network structure learning;
- comparing the computed score computation of the network neighborhood structure with the child node as the penultimate dimension and the parent node of the child node as the last dimension with a score of another computation of the network neighborhood structure to determine a higher scoring structure;
- and
- outputting the higher scoring structure as a current best structure from the structure learning module to the computing device.
An apparatus to perform Bayesian network structure learning, comprising:
- a processor to execute instructions;
- a structure learning module coupled to the processor having data to provide instructions to the processor to result in the processor performing operations including
- receiving, at a structure learning module, a request from a computing device for a current best structure, the request to include a network neighborhood structure further including a data set of statistical computing information represented as a directed acyclic graph (DAG) with a family structure, where the family structure includes nodes that each represent an observed state, and statistical relationships between nodes in the family structure;
- preparing a statistical score computation of the network neighborhood structure, the score computation having a logical computation order with a child node as the last dimension of the logical computation order;
- speculating the network structure has a single edge difference with respect to a most recently scored network neighborhood structure, wherein the single edge represents a logical relationship between the parent node and the child node of the most recently scored network neighborhood structure;
- re-ordering the logical computation order of the score computation to compute the score computation of the network neighborhood structure with the child node as the penultimate dimension and a parent node of the child node as the last dimension;
- caching a score computation result according to the re-ordered logical computation order for state values of the neighborhood structure up to and including the child node, and excluding the parent node;
- comparing the score computation result according to the re-ordered logical computation order with a score of another computation of the network neighborhood structure to determine a higher scoring structure;
- and
- outputting the higher scoring structure as a current best structure from the structure learning module to the computing device;
- and
- a communication interface coupled with an external computing device to transmit the cached score computation result to the external computing device.
Dependencies are inferred from the claim text.