WO2015045091A1 - Method and program for extraction of super-structure in structural learning of bayesian network - Google Patents

Method and program for extraction of super-structure in structural learning of bayesian network Download PDF

Info

Publication number
WO2015045091A1
WO2015045091A1 PCT/JP2013/076245 JP2013076245W WO2015045091A1 WO 2015045091 A1 WO2015045091 A1 WO 2015045091A1 JP 2013076245 W JP2013076245 W JP 2013076245W WO 2015045091 A1 WO2015045091 A1 WO 2015045091A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
variable
graph
bold
storage unit
Prior art date
Application number
PCT/JP2013/076245
Other languages
French (fr)
Japanese (ja)
Inventor
民平 森下
真臣 植野
Original Assignee
株式会社シーエーシー
国立大学法人電気通信大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社シーエーシー, 国立大学法人電気通信大学 filed Critical 株式会社シーエーシー
Priority to PCT/JP2013/076245 priority Critical patent/WO2015045091A1/en
Publication of WO2015045091A1 publication Critical patent/WO2015045091A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to a method and a program for superstructure extraction in Bayesian network structure learning.
  • Non-Patent Document 1 This is a technique of extracting a narrowed search space called a super-structure by high-speed CI-based learning and searching a Bayesian network from the superstructure by score learning with high estimation accuracy. Thereby, a highly accurate Bayesian network can be learned efficiently.
  • the weak point of the hybrid method using the superstructure is that the edge existing in the true network is often deleted at the time of superstructure extraction, that is, a missing edge is generated. If a lost side occurs in the superstructure, the lost side cannot be restored even if the superstructure is searched by score learning. For this reason, a vanishing edge occurs also in a Bayesian network as an output.
  • the embodiment of the present invention provides a CI-based learning method for extracting a superstructure with fewer vanishing edges than in the past.
  • the embodiment of the present invention is a program and method for extracting a superstructure from input data.
  • the program and method cause a computer to execute the following steps.
  • FIG. 6 shows a flowchart of a CI-based learning method using edge direction according to an embodiment.
  • combines the result and returns as a superstructure is shown.
  • the pseudo code of the conventional RAI is shown.
  • 1 illustrates a conventional orientation routine.
  • combines the result and returns as a superstructure is shown.
  • FIG. 7 shows a modified version of RAI (RAIEX) processing of the embodiment called in the processing of FIG.
  • RAIEX modified version of RAI
  • Fig. 4 illustrates a new orientation routine of an embodiment of the present invention.
  • 11 shows a flowchart of the process of FIG. Fig. 4 shows a routine for determining the orientation of two sides of a v-structure of an embodiment of the present invention.
  • Fig. 13 shows a flowchart of the processing of Fig. 12.
  • the flow of a process of the Example of this invention is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • the graph structure of the Bayesian network used in the experiment is shown.
  • variable set is expressed as Z (bold).
  • the variable sets X (bold) and Y (bold) are conditionally independent given Z (bold) as Ind (X (bold); Y (bold)
  • the set symbol is omitted as appropriate.
  • Z) is written instead of Ind ( ⁇ X ⁇ ; ⁇ Y ⁇
  • Z (bold) is called a separated set of X (bold) and Y (bold).
  • Testing based on data whether variables X and Y are conditionally independent given a variable set Z (bold) is called a conditional independent test or simply a test, and Test (X; Y
  • Z (bold)) is true if Ind (X; Y
  • Z (bold)) is called a conditional variable set, and
  • the initial state is a completely undirected graph, and if a separated set of arbitrary two variables X and Y is found by a conditional independent test, an edge between XY is deleted from the graph.
  • the undirected side between the vertices X and Y is written as XY, and the directed side from X to Y is written as X ⁇ Y or Y ⁇ X. If the direction of the side is not distinguished, write X *-* Y. Vertices X and Y are said to be adjacent to each other when side X *-* Y is present.
  • X is called the parent of Y
  • Y is called the child of X.
  • Adj (bold) (X, g), Pa (bold) (X, g), Ch (bold) (X, g) are the adjacent variable set, parent variable set, child of variable (vertex) X on graph g Each variable set is represented.
  • a route in which all the sides of the route are undirected sides is called an undirected path.
  • a path traced from the start point X (1) to the end point X (n) according to the direction of the directed side is called a directed path.
  • a path in which the start point X (1) and the end point X (n) are the same variable is called a closed path.
  • a closed undirected path is called a loop, and a closed directed path is called a cycle.
  • a directed graph that does not have a cycle is called a directed acyclic graph, or DAG for short.
  • Variable sets X (bold) and Y (bold) are said to be directional-separated (d-separated) on DAG g given variable set Z (bold) when the following conditions are satisfied: ⁇ X ⁇ X (Bold) and ⁇ Y ⁇ Y (bold), all paths ⁇ of X and Y satisfy one of the following two properties: (1) On the path ⁇ , not a confluence, and Z ( There is a variable that is the origin of (bold); (2) there is a confluence on the path ⁇ where the confluence or the descendant of that confluence is not an element of Z (bold). On DAGg, X (bold) and Y (bold) are directed and separated with Z (bold) given as Dsep g (X (bold); Y (bold)
  • the first element g ⁇ V (bold)
  • X N ⁇ is a directed acyclic graph (DAG) consisting of a vertex set V (bold) and a directed edge set E (bold) representing the dependency between the variables.
  • a graph g represents an independent relationship between variables.
  • ⁇ i j).
  • Bayesian network B (bold) defines a unique joint probability distribution on variable set U (bold) as follows.
  • Bayesian network learning is roughly divided into a score-based learning method and a CI (conditional independence) -based learning method.
  • the CI -based learning method is also called a constraint-based learning method.
  • the score-based learning method calculates a statistical score of a candidate model (directed graph) and uses a model having the maximum score as a solution, and has a relatively high structure estimation accuracy.
  • score learning of a Bayesian network is NP-hard.
  • the CI-based learning method learns a Bayesian network by a conditional independent test between random variables, and relatively high-speed learning is possible.
  • Many CI-based methods first learn Bayesian network skeletons, that is, undirected graphs with edge orientations removed from the Bayesian network graph structure by conditional independence testing, and then the resulting conditional independence And edge orientation using the DAG constraints.
  • hybrid methods have been proposed that take advantage of high-speed CI-based learning and high-precision score learning.
  • the hybrid method first, a narrowed search space called a super-structure is extracted by CI-based learning.
  • the superstructure means an undirected graph including a skeleton of a true Bayesian network as a subgraph.
  • a Bayesian network is searched from the superstructure by score learning. That is, the Bayesian network is learned under the restriction that the directed edge that should exist in the output Bayesian network also exists in the superstructure as an undirected edge with the edge direction removed. Ordyniak et al.
  • the tree width is a value indicating the computational complexity of the graph.
  • the tree width increases as the number of parent variables increases and the number of loops in the skeleton of the Bayesian network increases. Become.
  • MMPC Max-Min Parents and Children: Tsabranos, I., Brown, L. E., and Aliferis, C. F., "The max-min hill-climbing Bayesian network structure learning algorithm, ”Machine Learning, Vol. 65, pp. 31-78 (2006)
  • HPC Hybrid Parents and Children: Rodrigues de Morais, S. and Aussem, A.,“ An Ecalableandand ” Algorithm for Local Bayesian Network Structure Discovery, in ECML PKDD '10, ”Proceedings of the European conference on Machine Learning and Knowledge Discovery in Databases-Part III, pp. 164-179, elBerlin.
  • HPC can reduce the number of erasures, although the superstructure has more surplus edges than MMPC.
  • MMPC and HPC are CI-based methods that extract undirected graphs based on conditional independent tests, but do not perform edge orientation.
  • FIG. 1 shows a schematic diagram of a computer 100 that executes the method of the embodiment of the present invention or executes the method of the present invention by the program of the embodiment of the present invention.
  • the method of the embodiment of the present invention may be executed by the computer 100 or the processor of FIG. 1 or may be executed by causing a computer-executable instruction to operate as each component shown in FIG.
  • An embodiment of the present invention may be a computer-readable storage medium storing such computer-executable instructions.
  • the input to the computer 100, the output from the computer 100, and each component of the computer 100 will be described below.
  • the computer 100 may read the following data and data specification description file as inputs.
  • the data store for storing data may be a file, a relational database, a two-dimensional array on a memory, or the like.
  • Each column corresponds to each random variable, and each row includes the state (realized value) of the corresponding random variable.
  • the types of coupons used by the customer are T1 and T2 (cannot be used together; n if no coupon is used) If the purchased product is represented by y and the product that has not been purchased is represented by n, the purchase data for six people is represented as shown in Table 1.
  • Data specification description file This is a file that describes what random variables and their states (realized values) are included in the above-mentioned “data”.
  • the data specification indicates that each row has a random variable name, state 1, state 2,. . . , Described in CSV format to have state n.
  • the types of coupons used by customers are T1 and T2 (cannot be used together, and coupons are not used.
  • n a purchased product is represented by y
  • n B a non-purchased product is represented by n
  • n C a purchase behavior history data of the customer and its actual value
  • Coupon T1, T2, n A, y, n B, y, n C, y, n D, y, n
  • a superstructure description file is output by the method or program of the embodiment of the present invention. This is the file that describes the estimated superstructure. In this file, variable pairs with sides exist are separated by commas (,) line by line. For example, in the above example, if it is estimated that there are edges between Coupon and A, between Coupon and D, between A and B, and between B and C, the superstructure is superstructure. It is described as follows in the description file. Coupon, A Coupon, D A, B B, C
  • the program control unit 102 is a component that controls the overall processing flow.
  • the program control unit 102 checks the arguments and parameters of the program as preprocessing, and if they are normal, causes the data specification analysis unit 104 to analyze the data specification.
  • the program control unit 102 further causes the CI base structure learning unit 106 to execute main processing.
  • the data specification analysis unit 104 reads the data specification description file and prepares to analyze the data that is the main input.
  • the data specification analysis unit 104 stores the name of each random variable, the number of random variables, the state name of each random variable, the number of states of each random variable, and the total number of data items included in the data. Providing information.
  • the CI-based structure learning unit 106 is a component that executes a CI-based learning algorithm and extracts a superstructure from data, and executes main processing.
  • the conditional independent test execution unit 108 is a component that executes a conditional independent test.
  • the conditional independent test execution unit 108 has a function of caching the execution result, and when the result of the conditional independent test that has already been executed is requested, the cached result is returned.
  • the separated set holding unit 110 determines that Ind (X; Y
  • the separated set Z (( Bold) is held and managed by a hash using a variable pair as a key.
  • the graph structure construction unit 112 constructs a super structure graph structure estimated by the CI base structure learning unit 106.
  • the graph structure construction unit 112 constructs 1) an array of nodes representing random variables, and 2) an array of directed edges or undirected edges representing dependencies between random variable pairs as a data structure shared with other components. And manage this.
  • the calculation results obtained in each component may be appropriately stored in a storage device such as a memory and used for subsequent calculations.
  • the results obtained so far may be stored in a storage device and used for subsequent calculations by the same component.
  • the method of the present invention is an improved CI-based learning technique that uses edge direction (ie parent-child relationship between variables) for selection of conditional independent tests.
  • edge direction ie parent-child relationship between variables
  • Many CI-based learning methods perform edge orientation only once at the end.
  • CI-based learning methods that use edge orientation perform edge orientation multiple times in the middle, and use the resulting variables as a result.
  • Based on the parent-child relationship determine what conditional independence tests will be performed thereafter.
  • An example of a CI-based learning method that uses the direction of an edge is RAI described later.
  • the present invention can be applied not only to RAI but also to a CI-based learning method that uses the direction of an edge.
  • a CI-based learning method using edge directions according to an embodiment of the present invention will be described.
  • FIG. 2 shows a flowchart of a CI-based learning method using the edge direction according to the embodiment.
  • the method of FIG. 2 may be executed by the computer 100 or the processor of FIG. 1 or computer-executable instructions may be executed by causing the computer to operate as each component shown in FIG.
  • An embodiment of the present invention may be a computer-readable storage medium storing such computer-executable instructions.
  • step 202 the output graph G is initialized as a completely undirected graph.
  • step 204 Sep (bold), which is a set of all separated sets, is initialized as an empty set.
  • step 206 the order n of the conditional independent test is set to zero.
  • step 208 the following steps (1) to (3) are repeated for all variable pairs ⁇ X; Y ⁇ having edges on the graph G.
  • the latent parent variable set Z (bold) Pap (bold) (X, G) ⁇ Pap (bold) (Y, G) of X and Y is specified (step 210).
  • S (bold)) is performed for all S (bold) that becomes
  • n, S (bold) ⁇ Z (bold) (step 212).
  • step 214 If the result of the test is Ind (X; Y
  • S (bold)) (“Yes” in step 214), the separation set Sep (bold) is set to Sep (bold) Sep (bold) ⁇ ⁇ X, Y ⁇ , S (bold)> ⁇ is updated (step 216), and the side X *-* Y is deleted from the graph G (step 218).
  • step 220 the orientation of the edges in the graph G is performed.
  • a new approach is directed here.
  • the contradiction of v-structure estimation is detected by the occurrence of a collision side, and the direction of the collision side is determined to be one of the probabilities.
  • the direction determined for the collision edge is maintained and managed separately for each individual execution (thread).
  • the orientation of the present invention is to determine and maintain the direction of the collision edge separately for each thread in addition to the graph G to be oriented and the separated set Sep (bold) of the deleted edges (variable pairs).
  • an edge parent set E p (bold) having a collision edge and a set of parent variables in the edge as elements.
  • the edge parent set may be implemented as a hash with an edge whose direction is ignored as a key and a parent variable in the edge as a value.
  • the orientation in the embodiment of the present invention when searching for a set of three variables X *-* Z *-* Y that are candidates for the v-structure, the direction of the edge between these variables is ignored. As a result, it is possible to determine whether or not the three variables of interest are the v-structure without being affected by the previously estimated v-structure.
  • the orientation of the two sides of the v-structure is determined.
  • the parent variable S p and the child variable S c where estimation of v- structure is correct. If first time v- directing the execution of structures for the sides, the sides because still undirected edges, the parent variable S p as estimated, determining the edges of the faces child variable as S c. If the direction is not determined for the side for the first time, and the side is already oriented in the opposite direction to the estimated v-structure, the side is detected as a collision side. When this collision edge is detected for the first time, the direction in this thread is selected according to a predetermined probability, and the decision is added to the edge parent set E p (bold) and held.
  • the direction of the edge is determined as much as possible according to a rule called an orientation rule that is derived so as not to contradict the constraints of the DAG.
  • step 222 the order n of the conditional independent test is incremented by one.
  • steps 224 and 226 latent parent variable sets are specified for all variable pairs ⁇ X, Y ⁇ of the remaining edges on the graph G. If there is a variable pair whose latent parent variable set size
  • the embodiment of the present invention performs a new edge orientation process in the CI-based learning method that uses the edge direction to select the conditional variable set S (bold) in the conditional independent test. Detect errors.
  • the embodiment of the present invention further extracts a superstructure with few missing edges by synthesizing the execution results of the above processing.
  • the present invention superimposes a plurality of the above-mentioned new CI-based learning results that output different graphs, so that even if there is an erasure edge in each CI-based learning result, an erasure edge is obtained by other CI-based learning. Can be supplemented.
  • FIG. 3 shows a flow of main processing in which a plurality of CI-based learnings of the present invention having different operations are executed, and the results are combined and returned as a superstructure.
  • This process may be executed by the computer 100 or the processor of FIG. 1, or may be executed by causing a computer-executable instruction to operate the computer as each component shown in FIG.
  • step 302 initial processing is executed.
  • the program control unit 102 includes the database connection information, the data specification description file name, the significance level ⁇ of the conditional independent test, the number of threads t (the number of parallel executions of CI-based learning in the embodiment of the present invention), the superstructure description file name Check operating parameters including at least one. If there is an error, the program control unit 102 displays the error on a display device or the like and ends the program. If it is normal, the program control unit 102 continues the processing and causes the data specification analysis unit 104 to analyze the data specification.
  • the data specification analysis unit 104 reads the data specification description file, and holds the names of the random variables, the number of random variables, the names of all the states that can be taken by the random variables, and the number of states. Next, the data specification analyzing unit 104 accesses the database using the database connection information, acquires the number of all data, and holds it.
  • the program control unit 102 transfers control to the CI base structure learning unit 106.
  • the CI base structure learning unit 106 performs CI base learning according to the above-described embodiment of the present invention.
  • step 304 CI-based learning execution threads having the specified number of parallel executions are generated.
  • step 306 the above-described CI-based learning thread of the present invention is executed in parallel.
  • step 308 the parent thread that executes CI-based learning waits until any execution thread ends.
  • step 310 a union of the edge set in the graph obtained from the terminated thread and the edge set obtained so far is generated and used as a superstructure. If there is an unprocessed thread (“Yes” in step 312), the process returns to step 308.
  • step 314 the graph structure construction unit 112 receives the super structure graph structure from the CI base structure learning unit 106, and generates an output in accordance with the specifications of the super structure description file. Processing ends at step 316.
  • RAI Recursive Autonomy Identification
  • edge orientation results to improve estimation accuracy and computational efficiency of CI-based methods
  • CI-based methods Yamamoto, R. and Lerner, B. “Bayesian Network Structure Learning by Recursive Autonomy” Identification, ” Journal of Machine Learning Research, Vol. 10, pp. 1527-1570 (2009)
  • RAI uses the result of edge orientation in graph structure learning to improve estimation accuracy and calculation efficiency.
  • the orientation of edges depends on the results of statistical tests (conditional independent tests), the edges can be misdirected under realistic conditions with finite samples. This misorientation causes conditional independence tests that are not necessary in nature, thereby causing lost edges.
  • RAI can be used as basic CI-based learning.
  • the embodiment of the present invention realizes extraction of a superstructure with fewer erasures compared to the conventional method using simply RAI.
  • edge orientation depends on the results of statistical tests (conditional independent tests). This can lead to incorrect orientation under realistic conditions of finite samples.
  • misorientation causes a vanishing edge by causing a conditional independent test that is not necessary in nature.
  • the present invention detects erroneous orientation based on orientation contradictions and synthesizes superstructures based on possible orientations to prevent the occurrence of superstructure disappearance edges.
  • RAI that can be used as a CI-based learning method that is the basis of one embodiment of the present invention
  • the disadvantages of using RAI as it is for superstructure extraction will be described.
  • RAI is a technique that avoids high-order conditional independent testing with low reliability and high calculation cost by using the parent-child relationship between variables obtained by the orientation of edges, and improves the accuracy and reduces the amount of calculation. is there.
  • RAI uses a parent-child relationship of the vertices (variables) caused by orientation, recursively decomposed into the ancestor partial structure g A comprising a graph from the progeny substructure g D and other variables.
  • a descendant substructure is more formally defined as an autonomous sub-structure (Definition 2).
  • the parent variable in the ancestor partial structure is defined as an exogenous cause (Definition 1).
  • DAGg ⁇ V (bold), E (bold)> V A (bold) ⁇ V (bold) and E A (bold) ⁇ E (bold) structure
  • g A ⁇ V A (bold), E A (bold)> that if ⁇ X ⁇ V A (bold), Pa (bold) (X, g) ⁇ ⁇ V A ( bold) ⁇ V ex (bold ) ⁇ , It is said that it is autonomous in g given the exogenous cause V ex (bold) ⁇ V (bold) of g A.
  • conditional independent tests contributes to the suppression of lost edges.
  • the most extreme case is a case where no conditional independence test is performed, and therefore no edge deletion is performed, and a completely undirected graph is output.
  • this completely undirected graph is regarded as a superstructure, the search space is not narrowed down at all. Instead, no superstructure disappearance occurs.
  • RAI is not a technique developed for the purpose of superstructure extraction, it reduces conditional independent tests and, as a result, suppresses erasure edges when used as a superstructure estimation technique.
  • the first mechanism is control of the test order based on graph decomposition.
  • RAI recursively decomposes a graph into descendant substructures and ancestor substructures using parent-child relationships between variables estimated by edge orientation.
  • the RAI selects edges (variable pairs) subject to conditional independence tests in the following order: 1) an edge inside the ancestor partial structure, 2) an edge connecting the ancestor partial structure and the descendant partial structure, and (3) a descendant Side inside the substructure.
  • edges variable pairs subject to conditional independence tests in the following order: 1) an edge inside the ancestor partial structure, 2) an edge connecting the ancestor partial structure and the descendant partial structure, and (3) a descendant Side inside the substructure.
  • the second mechanism is to reduce the condition variable set size based on edge orientation, which is based on the following lemma.
  • Lemma 1 In DAG, if X and Y are not adjacent and X is not a descendant of Y, X and Y are directed and separated given Pa (bold) (Y).
  • lemma 2 derived from lemma 1, if variables X and Y are both elements of g D , the existence of edge XY is similarly limited to a limited variable set S (bold) ⁇ Pa This can be determined by checking p (bold) (Y) ⁇ ⁇ X ⁇ .
  • the embodiment of the present invention replaces the directing routine called in line 10 and line 15 and operates a plurality of RAIs whose operations are changed.
  • edge orientation in the existing CI-based method such as RAI will be described.
  • a conventional orientation routine orientEdgeTrad is shown in FIG.
  • the edge orientation routine uses as input the graph to be oriented and the entire separated set Sep (bold) of the deleted edge (variable pair).
  • the basic idea of edge orientation is to first determine the direction of a particular edge from the segregated set obtained from the conditional independence test, and then the orientation rule (orientation rule) derived so as not to conflict with the DAG constraints.
  • the direction of the side is determined as much as possible according to a rule called).
  • the target of determining the direction from the separated set is three variables and two sides with a connection method of XZY (however, there is no side between X and Y).
  • XZY can be oriented as X ⁇ Z ⁇ Y.
  • This X ⁇ Z ⁇ Y is called a v-structure.
  • the v-structure is estimated from line 2 to line 5, and thereafter, orientation is performed according to the orientation rule.
  • the problem with conventional edge orientation is that orientation errors tend to occur at the time of v-structure estimation.
  • a new method of orientation instead of conventional orientation is used to detect orientation errors during v-structure estimation.
  • the embodiment of the present invention detects a misorientation of an edge that causes an occurrence of a missing edge in RAI, and combines the execution results of a plurality of RAIs that attempt possible orientation, thereby superstructure having few missing edges. To extract.
  • the embodiment of the present invention mainly extracts 1) a superstructure with few missing edges, and 2) detects an orientation error, on the premise that there is a learning error.
  • multi-threading is used for parallel execution of CI-based learning.
  • parallel execution of CI-based learning may be implemented as a multi-process, or distributed parallel by a plurality of computers may be used for load distribution.
  • the modified RAI is executed in parallel, but another method may be executed.
  • the same learning technique does not have to be performed on individual threads.
  • FIG. 7 explains the modified version of RAI (RAIEX) processing of the embodiment of the present invention called in the processing of FIG.
  • the present embodiment calls the extended side orientation routine (described later in FIG. 10) of the embodiment of the present invention instead of the conventional orientation routine (FIG. 5) in the 10th and 15th lines. And different from conventional RAI.
  • a variable S (bold) that is a subset S (bold) of the union (excluding X) of the latent parent variable set of Y included in G start and the parent variable set of Y included in G ex If there are n and X and Y are independent S (bold) given S (bold), ⁇ X, Y ⁇ , S (bold)> is added to the separation set Sep (bold) Add a source, sides X * - remove * Y from G all.
  • a set of separation variables of the deleted side X *-* Y is obtained. If Z is not included in this separation variable set, for each side of X *-* Z *-* Y, If the direction of the side is not defined, the direction is as estimated. If the side is already oriented in the opposite direction, determine that it is a collision side, If the collision edge is detected for the first time, it is directed with a predetermined probability. If it is not the first collision detected, leave it alone. The direction from the 8th line to the 13th line in FIG.
  • variable set having the lowest topological order is set as a descendant subset gD, which is temporarily deleted from gstart, and the remaining unconnected variable sets are respectively ancestor subsets G_A1, G_A2,. . . , G_Ak (If an ancestor subset is specified, G_D temporarily deleted from G_start is restored).
  • G_ex_D is changed to ⁇ G_A1, G_A2,. . . , G_Ak, G_ex ⁇ .
  • Edge Direction Collision Detection Here, the cause of the occurrence of an edge orientation error, the reason for the orientation error leading to the disappearance edge occurrence, and the method for detecting the edge orientation error will be described.
  • inventions of the present invention detects an orientation error at the time of v-structure estimation in order to suppress the occurrence of a missing edge due to the orientation error described with reference to FIG.
  • embodiments of the present invention provide v-structures that give different orientations to X *-* Y when multiple v-structures with a single side X *-* Y are inferred. If there is, it is determined that any v-structure estimation is incorrect.
  • an orientation collision a situation in which different directions are given to the side X *-* Y by a plurality of v-structures is called an orientation collision, and this state is represented by sides X ⁇ Y in both directions.
  • X ⁇ Y is called a collision side.
  • a contradiction in v-structure estimation is detected by the occurrence of a collision side, and the direction of the collision side is determined to be one of the probabilities.
  • the direction determined for the collision edge is maintained and managed separately for each individual execution (thread).
  • the new orientation routine orientEdge of the embodiment of the present invention is shown as Algorithm 5 in FIG.
  • FIG. 11 shows a flowchart of the processing of FIG.
  • the arguments of the orientation routine orientEdge are all thread-local and are initialized for each thread to take a unique state.
  • the orientEdge routine in addition to the arguments of the conventional edge orientation routine, determines the direction of the collision edge separately for each thread, and maintains an edge parent set consisting of the pair of the collision edge and the parent variable on that edge as an element. Take E p (bold) as an argument.
  • the edge parent set may be implemented as a hash with an edge whose direction is ignored as a key and a parent variable in the edge as a value.
  • the orientation routine orientEdge in the embodiment of the present invention, when searching for a set of three variables X *-* Z *-* Y that are candidates for the v-structure, the direction of the edge between these variables is ignored. Please be careful. As a result, it is possible to determine whether or not the three variables of interest currently form the v-structure without being affected by the previously estimated v-structure.
  • the orientationVStructure routine that determines the orientation of the two sides of the v-structure is shown as Algorithm 6 in FIG.
  • FIG. 13 shows a flowchart of the processing of FIG. orientVStructure routine, v- called for each of the sides was estimated to be structured, parent variable S p and the child variable S c where estimation is correct v- structure is passed. If first time orientVStructure calls for the sides, since at the time calling side is a still undirected edges, rows parent variable from S p, the child variable orienting side as S c (rows 8 as estimated 9).
  • the edge is determined to be a collision edge. If this collision edge is detected for the first time (line 3), the direction in this thread is selected stochastically (line 4), and the decision is added to the edge parent set E p (bold) and held.
  • the direction is determined with a probability of 1/2 (line 4 in FIG. 12).
  • the direction following the larger v-structure may be selected with a high probability.
  • the v-structure set having the same edge direction and the v-structure set having the opposite direction are: Each may take the average of the p-values of the corresponding test and assign the direction with a probability according to the ratio.
  • FIG. 14 shows a processing flow of the embodiment of the present invention.
  • the following processing may be executed by the computer 100 or the processor of FIG. 1 or may be executed by causing a computer-executable instruction to operate the computer as each component shown in FIG.
  • An embodiment of the present invention may be a computer-readable storage medium storing such computer-executable instructions.
  • step 1402 initial processing is executed.
  • preparations for learning such as program operation parameter check are performed.
  • the program control unit 102 executes the database connection information, the data specification description file name, the significance level ⁇ of the conditional independent test, the number of threads t (CI base learning of the embodiment is executed in parallel) passed from the command line argument or the like.
  • Check the operating parameters such as the superstructure description file name. If there is an error in the initial process, the error is displayed on the display device and the process is terminated.
  • the initial process is normally executed, the process is continued, and the data specification analysis unit 104 analyzes the data specification.
  • the data specification analysis unit 104 reads the data specification description file, and holds the names of the random variables, the number of random variables, the names of all the states that can be taken by the random variables, and the number of states. Next, the data specification analyzing unit 104 accesses the database using the database connection information, acquires the number of all data, and holds it. Next, the program control unit 102 transfers control to the CI base structure learning unit 806. In step 1404, the CI base structure learning unit 106 that has received control after the initial process executes the main process of the present invention (for example, a process corresponding to FIG. 6). RAIEX execution threads are generated for the specified number of parallel executions.
  • RAIEX using the new edge orientation technique is executed in parallel in each thread.
  • the parent thread that executes the main process waits until one of the RAIEX execution threads ends.
  • the superstructure is generated as the union of the edge set of edge set E of the graph g out an execution result of RAIEX obtained from terminated thread (bold) (g out) so far. If there is an unprocessed child thread (“Yes” in step 1412), the process returns to waiting for an execution thread in step 1108.
  • the graph structure construction unit 112 receives the super structure graph structure from the CI base structure learning unit 106, and outputs it according to the specifications of the super structure description file.
  • the process ends. The more specific processing of FIG. 14 is as already described.
  • Table 1 shows the Bayesian network used as an experiment target.
  • the network structure is shown in FIGS. These are based on widely published ones.
  • Win95pts was obtained from GeNIe & SMILE network repository (http://genie.sis.pitt.edu/index.php/network-repository), and the remaining Alarm, Insurance, and ⁇ Water ⁇ were Bayesian Network Repository (http: //www.cs.huji.ac.il/ ⁇ galel/Repository/)
  • the number of variables was reduced to 25 in the three networks of Alarm, Win95pts, and Water.
  • Each column from Missing Edge to SS Time in the table represents the superstructure extracted by the algorithm shown on the left side of the table. Missing Edge represents a missing edge, Extra Edge represents a surplus edge, Degree represents an average order, Max Degree represents a maximum order, and SS Time represents the number of seconds required from the start to the superstructure output.
  • the two columns of Score Time and BDeu in the table show the results of an exact solution search using the output superstructure. Score Time represents the number of seconds required for the exact solution search, and BDeu represents the BDeu score of the Bayesian network that is the solution for the exact solution search. All values are average values of 10 data sets.
  • the method of the embodiment of the present invention is expressed as Proposed-2 to Proposed-10. The number following the hyphen represents the parallel execution number t. For example, Proposed-3 represents the method of the embodiment of the present invention executed with the parallel execution number of 3.
  • Each vertex represents a random variable, and the number in parentheses at each vertex represents the number of states of the variable.
  • the experimental results show that the method of the present invention can suppress the disappearance edge of the superstructure most, and that the method of the present invention can find the highest score Bayesian network in the exact solution search of the score learning using the superstructure. .

Abstract

An objective of this embodiment is to provide a CI-based learning method whereby a super-structure having fewer missing edges than conventional is extracted. A program control unit (102) causes a data specification analysis unit (104) to analyze a data specification. The data specification analysis unit (104) accesses a database and acquires and retains the total number of data entries. The program control unit (102) transfers control to a CI-based structure learning unit (106). The CI-based structure learning unit (106) executes CI-based learning according to this embodiment. A designated number of CI-based learning execution threads to be executed in parallel are generated and executed in parallel. A sum set is generated of a set of edges in a graph which is obtained from the completed threads and the set of edges obtained therebefore, said sum being treated as a super-structure.

Description

ベイジアンネットワークの構造学習におけるスーパーストラクチャ抽出のための方法及びプログラムMethod and program for superstructure extraction in Bayesian network structure learning
 本発明は、ベイジアンネットワークの構造学習におけるスーパーストラクチャ抽出のための方法及びプログラムに関する。 The present invention relates to a method and a program for superstructure extraction in Bayesian network structure learning.
 ベイジアンネットワークの構造学習手法は、比較的推定精度の高いスコア学習と高速な学習が可能なCI(conditional independence) ベース学習(または制約ベース学習)とに大別される。近年、双方の利点を活かしたハイブリッド手法が提案されている(非特許文献1)。これは、高速なCIベース学習によってスーパーストラクチャ(super-structure)と呼ばれる絞り込まれた探索空間を抽出し、推定精度の高いスコア学習によってスーパーストラクチャの中からベイジアンネットワークを探索する手法である。これにより、精度の高いベイジアンネットワークを効率的に学習することができる。 The Bayesian network structure learning method is roughly classified into score learning with relatively high estimation accuracy and CI (conditional independence) -based learning (or constraint-based learning) capable of high-speed learning. In recent years, a hybrid method utilizing both advantages has been proposed (Non-Patent Document 1). This is a technique of extracting a narrowed search space called a super-structure by high-speed CI-based learning and searching a Bayesian network from the superstructure by score learning with high estimation accuracy. Thereby, a highly accurate Bayesian network can be learned efficiently.
 スーパーストラクチャを用いたハイブリッド手法の弱点は、スーパーストラクチャ抽出の時点でしばしば真のネットワークに存在する辺を削除してしまうこと、すなわち消失辺(missing edge)を生じてしまうことである。スーパーストラクチャにおいて消失辺が発生すると、スコア学習によってスーパーストラクチャ内を探索しても消失辺を復元することができない。このため、出力としてのベイジアンネットワークにおいても消失辺が発生する。 The weak point of the hybrid method using the superstructure is that the edge existing in the true network is often deleted at the time of superstructure extraction, that is, a missing edge is generated. If a lost side occurs in the superstructure, the lost side cannot be restored even if the superstructure is searched by score learning. For this reason, a vanishing edge occurs also in a Bayesian network as an output.
 本発明の実施例は、従来より消失辺の少ないスーパーストラクチャを抽出するCIベース学習手法を提供する。 The embodiment of the present invention provides a CI-based learning method for extracting a superstructure with fewer vanishing edges than in the past.
 本発明の実施例は、入力データからスーパーストラクチャを抽出するプログラム及び方法である。当該プログラム及び方法は、コンピュータに以下のステップを実行させる。 The embodiment of the present invention is a program and method for extracting a superstructure from input data. The program and method cause a computer to execute the following steps.
 (A)各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記述するデータ仕様記述ファイルを入力としてデータベースから受け取るステップと、
 (B)前記データ仕様記述ファイルを解析し、各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記憶部に格納するステップと、
 (C)出力となるべきグラフを完全無向グラフとして初期化し、分離集合を空集合として初期化し、条件付き独立テストの次数を0とし、記憶部に格納するステップと、
 (D)グラフ上に辺を有するすべての変数ペアX,Yについて、
  (D1)|S|=n、S⊆Zである変数集合Sについて条件付き独立テストTest(X;Y|S)を行うステップであって、ZはX及びYの潜在親変数集合であるステップ、
  (D2)条件付き独立テストの結果がInd(X;Y|S)である場合、分離集合をSep=Sep∪{<{X,Y},S>}によって更新して記憶部に格納するステップ、並びに
  (D3)グラフからXとYとの間の辺を削除して該グラフを記憶部に格納するステップ
 を実行するステップと、
 (E)グラフ内に存在する推定されるv-構造の辺について、方向が決定されていない場合、推定されるv-構造のとおりに辺の向きを決定するステップと、
 (F)該辺が推定されたv-構造とは反対の方向に方向付けられている場合、該辺が衝突辺であると決定し、該衝突辺の向きを所定の確率に従って選択し、該辺と該辺の親変数の組とを要素として有する辺親集合を記憶部に格納するステップと、
 (G)DAGの制約と矛盾しない方向付け規則に従って、辺の方向を決定するステップと、
 (H)nをインクリメントするステップと、
 (I)グラフ上に残っている辺のすべての変数ペアX,Yについて、潜在親変数集合のサイズがn以上である場合、ステップ(D)に戻り、潜在親変数集合のサイズがn未満である場合、得られたグラフを記憶部に格納するステップと、
 (J)ステップ(C)乃至(I)を所定の回数繰り返すステップと、
 (K)得られた所定の個数のグラフの和集合をスーパーストラクチャとして出力するステップ。
(A) receiving from the database as input a data specification description file describing the name of each random variable, the number of random variables, the state name of each random variable, the name of each state that can be taken by each random variable, and the number of states;
(B) Analyzing the data specification description file, and storing the name of each random variable, the number of random variables, the state name of each random variable, the names of states that each random variable can take, and the number of states in a storage unit; ,
(C) initializing a graph to be output as a completely undirected graph, initializing a separation set as an empty set, setting the order of a conditional independent test to 0, and storing the result in a storage unit;
(D) For all variable pairs X, Y having edges on the graph,
(D1) A step of performing a conditional independent test Test (X; Y | S) for the variable set S in which | S | = n, S⊆Z, where Z is a latent parent variable set of X and Y ,
(D2) When the result of the conditional independent test is Ind (X; Y | S), the separated set is updated by Sep = Sep∪ {<{X, Y}, S>} and stored in the storage unit And (D3) deleting the edge between X and Y from the graph and storing the graph in the storage unit; and
(E) determining a direction of an edge according to the estimated v-structure if the direction is not determined for the estimated v-structure edge present in the graph;
(F) If the side is oriented in the opposite direction to the estimated v-structure, determine that the side is a collision side, select the direction of the collision side according to a predetermined probability, Storing an edge parent set having an edge and a set of parent variables of the edge as elements in a storage unit;
(G) determining an edge direction according to an orientation rule consistent with DAG constraints;
(H) incrementing n;
(I) If the size of the latent parent variable set is greater than or equal to n for all the variable pairs X and Y of the remaining edges on the graph, the process returns to step (D) and the size of the latent parent variable set is less than n. If there is a step of storing the obtained graph in the storage unit;
(J) repeating steps (C) to (I) a predetermined number of times;
(K) A step of outputting the union of the obtained predetermined number of graphs as a superstructure.
実施例による、ベイジアンネットワーク構造学習を実行するための情報処理装置のブロック図である。It is a block diagram of the information processing apparatus for performing Bayesian network structure learning by an Example. 実施例による、辺の方向を利用するCIベース学習手法のフローチャートを示す。6 shows a flowchart of a CI-based learning method using edge direction according to an embodiment. 動作の異なる複数の実施例のCIベース学習を実行し、その結果を合成してスーパーストラクチャとして返す主処理の流れを示す。The flow of the main process which performs CI base learning of several Example from which operation | movement differs, synthesize | combines the result and returns as a superstructure is shown. 従来のRAIの疑似コードを示す。The pseudo code of the conventional RAI is shown. 従来の方向付けルーチンを示す。1 illustrates a conventional orientation routine. 本発明の実施例による、動作の異なる複数のCIベース学習を実行し、その結果を合成してスーパーストラクチャとして返す主処理を示す。The main process which performs several CI base learning from which operation | movement differs according to the Example of this invention, synthesize | combines the result and returns as a superstructure is shown. 図6の処理において呼び出される実施例の改造版のRAI(RAIEX)の処理を示す。FIG. 7 shows a modified version of RAI (RAIEX) processing of the embodiment called in the processing of FIG. 6; 従来のRAIにおいて方向付けの誤りにより消失辺が発生するメカニズムを示す。The mechanism by which a vanishing edge occurs due to an error in orientation in the conventional RAI will be described. 衝突辺の発生のメカニズムを示す。The mechanism of collision edge generation is shown. 本発明の実施例の新しい方向付けルーチンを示す。Fig. 4 illustrates a new orientation routine of an embodiment of the present invention. 図10の処理のフローチャートを示す。11 shows a flowchart of the process of FIG. 本発明の実施例のv-構造の2つの辺の向きを決めるルーチンを示す。Fig. 4 shows a routine for determining the orientation of two sides of a v-structure of an embodiment of the present invention. 図12の処理のフローチャートを示す。Fig. 13 shows a flowchart of the processing of Fig. 12. 本発明の実施例の処理の流れを示す。The flow of a process of the Example of this invention is shown. 実験に使用したベイジアンネットワークのグラフ構造を示す。The graph structure of the Bayesian network used in the experiment is shown. 実験に使用したベイジアンネットワークのグラフ構造を示す。The graph structure of the Bayesian network used in the experiment is shown. 実験に使用したベイジアンネットワークのグラフ構造を示す。The graph structure of the Bayesian network used in the experiment is shown. 実験に使用したベイジアンネットワークのグラフ構造を示す。The graph structure of the Bayesian network used in the experiment is shown.
 以下において、ベイジアンネットワーク及びCI ベース学習手法について、本明細書で用いる概念と記法を定義する。 In the following, the concepts and notations used in this specification will be defined for Bayesian networks and CI-based learning methods.
 特に断らない限り、確率変数を単に変数と呼び、単一の変数はXのように太字でない大文字で表記される。集合は太字で表記される。たとえば、変数集合はZ(太字)のように表記される。変数集合X(太字)及びY(太字)がZ(太字)を所与として条件付き独立であることをInd(X(太字);Y(太字)|Z(太字))と表し、条件付き依存であることをDep(X(太字);Y(太字)|Z(太字))と表す。要素が単一であるとき、集合記号は適宜省略される。たとえば、Ind({X};{Y}|{Z})の代わりにInd(X;Y|Z)と書く。Ind(X(太字);Y(太字)|Z(太字))のとき、Z(太字)をX(太字)とY(太字)の分離集合と呼ぶ。変数XとYが変数集合Z(太字)を所与として条件付き独立であるか否かをデータに基づいてテストすることを、条件付き独立テストあるいは単にテストと呼び、Test(X;Y|Z(太字))と書く。条件付き独立テストTest(X;Y|Z(太字))は、Ind(X;Y|Z(太字))なら真、Dep(X;Y|Z(太字))なら偽である。条件付き独立テストTest(X;Y|Z(太字))のZ(太字)を条件変数集合と呼び、|Z(太字)|を条件付き独立テストの次数と呼ぶ。 Unless otherwise noted, random variables are simply called variables, and single variables are written in capital letters such as X, not bold. The set is shown in bold. For example, the variable set is expressed as Z (bold). The variable sets X (bold) and Y (bold) are conditionally independent given Z (bold) as Ind (X (bold); Y (bold) | Z (bold)), and conditionally dependent Is represented as Dep (X (bold); Y (bold) | Z (bold)). When there is a single element, the set symbol is omitted as appropriate. For example, Ind (X; Y | Z) is written instead of Ind ({X}; {Y} | {Z}). When Ind (X (bold); Y (bold) | Z (bold)), Z (bold) is called a separated set of X (bold) and Y (bold). Testing based on data whether variables X and Y are conditionally independent given a variable set Z (bold) is called a conditional independent test or simply a test, and Test (X; Y | Z (Bold)). The conditional independent test Test (X; Y | Z (bold)) is true if Ind (X; Y | Z (bold)), and false if Dep (X; Y | Z (bold)). Z (bold) of the conditional independent test Test (X; Y | Z (bold)) is called a conditional variable set, and | Z (bold) | is called the order of the conditional independent test.
 多くのCIベース学習手法では、初期状態は完全無向グラフであり、条件付き独立テストにより任意の2つの変数X、Yの分離集合が見つかれば、グラフからXY間の辺を削除する。 In many CI-based learning methods, the initial state is a completely undirected graph, and if a separated set of arbitrary two variables X and Y is found by a conditional independent test, an edge between XY is deleted from the graph.
 本明細書では、無向グラフ(すべての辺が無向辺)、有向グラフ(すべての辺が有向辺)、部分有向グラフ(一部の辺が有向辺)を扱う。グラフg=<V(太字),E(太字)>は、頂点集合V(太字)(g)=V(太字)と辺集合E(太字)(g)=E(太字)の組である。グラフg´=<V´(太字),E´(太字)>は、もしV´(太字)⊆V(太字)(g) かつE´(太字)⊆E(太字)(g) ならば、グラフgの部分グラフであるという。頂点X、Y 間の無向辺をX-Yと書き、XからYへの有向辺をX→YもしくはY←Xと書く。辺の向きを区別しない場合はX*-*Yと書く。頂点XとYは、辺X*-*Yが存在するとき、互いに隣接しているという。有向辺X→Yがあるとき、XはYの親といい、YはXの子という。Adj(太字)(X,g)、Pa(太字)(X,g)、Ch(太字)(X,g)は、グラフg上の変数(頂点)Xの隣接変数集合、親変数集合、子変数集合をそれぞれ表す。部分有向グラフg上の潜在親変数集合Pa(太字)(X,g)を、Pa(太字)(X,g)=Adj(太字)(X,g)\Ch(太字)(X,g)と定義する。 In this specification, undirected graphs (all edges are undirected edges), directed graphs (all edges are directed edges), and partial directed graphs (some edges are directed edges) are handled. The graph g = <V (bold), E (bold)> is a set of a vertex set V (bold) (g) = V (bold) and an edge set E (bold) (g) = E (bold). If the graph g ′ = <V ′ (bold), E ′ (bold)> is V ′ (bold) ⊆ V (bold) (g) and E ′ (bold) ⊆ E (bold) (g) It is said to be a subgraph of graph g. The undirected side between the vertices X and Y is written as XY, and the directed side from X to Y is written as X → Y or Y ← X. If the direction of the side is not distinguished, write X *-* Y. Vertices X and Y are said to be adjacent to each other when side X *-* Y is present. When there is a directed side X → Y, X is called the parent of Y, and Y is called the child of X. Adj (bold) (X, g), Pa (bold) (X, g), Ch (bold) (X, g) are the adjacent variable set, parent variable set, child of variable (vertex) X on graph g Each variable set is represented. The latent parent variable set Pa p (bold) (X, g) on the partial directed graph g is expressed as Pa P (bold) (X, g) = Adj (bold) (X, g) \ Ch (bold) (X, g ).
 順序づけられた変数列<X(1),X(2),...,X(n)>で、すべての{X(i),X(i+1)}に辺X(i)*-*X(i+1)があるものを変数X(i)とX(n)の経路(path)と呼び、πと表す。経路の辺がすべて無向辺である経路を無向経路(undirected path)と呼ぶ。始点X(1)から終点X(n)まで有向辺の向きに従い辿れる経路を有向経路(directed path)と呼ぶ。始点X(1)と終点X(n)が同じ変数である経路を閉路(closed path)と呼ぶ。無向経路の閉路をループ(loop)と呼び、有向経路の閉路を循環(cycle)と呼ぶ。循環を持たない有向グラフを、有向非循環グラフ(Directed Acyclic Graph)または略してDAGと呼ぶ。 Ordered variable sequence <X (1) , X (2) ,. . . , X (n) > and all {X (i) , X (i + 1) } have sides X (i) *-* X (i + 1) are paths of variables X (i) and X (n) It is called (path) and expressed as π. A route in which all the sides of the route are undirected sides is called an undirected path. A path traced from the start point X (1) to the end point X (n) according to the direction of the directed side is called a directed path. A path in which the start point X (1) and the end point X (n) are the same variable is called a closed path. A closed undirected path is called a loop, and a closed directed path is called a cycle. A directed graph that does not have a cycle is called a directed acyclic graph, or DAG for short.
 経路πの{X(i-1),X(i),X(i+1)}に、X(i-1)→X(i)とX(i)←X(i+1)が存在すれば、X(i)を経路πの合流点(collider)と呼ぶ。 If X (i-1) → X (i) and X (i) ← X (i + 1) exist in {X (i−1) , X (i) , X (i + 1) } of the path π, X (I) is called a collider of the path π.
 変数集合X(太字)とY(太字)は、以下の条件を満たすとき、変数集合Z(太字)を所与としてDAG g上で有向分離される(d-separated)という:∀X∈X(太字)と∀Y∈Y(太字)について、XとYのすべての経路πが次の2つのうちいずれかの性質を満たす;(1)経路π上に、合流点でなく、かつZ(太字)の元である変数が存在する;(2)経路π上に、合流点またはその合流点の子孫がZ(太字)の元でない合流点が存在する。DAGg上で、X(太字)とY(太字)がZ(太字)を所与として有向分離されることを、Dsep(X(太字);Y(太字)|Z(太字))と表記する。 Variable sets X (bold) and Y (bold) are said to be directional-separated (d-separated) on DAG g given variable set Z (bold) when the following conditions are satisfied: ∀X∈X (Bold) and ∀Y∈Y (bold), all paths π of X and Y satisfy one of the following two properties: (1) On the path π, not a confluence, and Z ( There is a variable that is the origin of (bold); (2) there is a confluence on the path π where the confluence or the descendant of that confluence is not an element of Z (bold). On DAGg, X (bold) and Y (bold) are directed and separated with Z (bold) given as Dsep g (X (bold); Y (bold) | Z (bold)) To do.
 確率分布Pは、Ind(X(太字);Y(太字)|Z(太字))⇒Dsep(X(太字);Y(太字)|Z(太字))ならば、DAGgに忠実(faithful)であるという。多くのCIベース学習手法は、対象とする確率分布が何らかのDAGに忠実であることを仮定する。本発明においては、確率分布がDAGに忠実であることを仮定する。 If probability distribution P is Ind P (X (bold); Y (bold) | Z (bold)) ⇒ Dsep g (X (bold); Y (bold) | Z (bold)), it is faithful to DAGg (faithful). ). Many CI-based learning techniques assume that the targeted probability distribution is faithful to some DAG. In the present invention, it is assumed that the probability distribution is faithful to the DAG.
 N個の離散確率変数X,...,Xからなり、各変数X が状態k∈{1,...,r}をとる定義域U(太字)を考える。U(太字)上のベイジアンネットワークB(太字)は、B(太字)=<g、Θ(太字)>と定義される。ここで、最初の要素g=<V(太字),E(太字)>は、確率変数集合U(太字)={X,...,X}に対応する頂点集合V(太字)とその変数間の依存関係を表現した有向辺集合E(太字)からなる有向非循環グラフ(DAG, Directed Acyclic Graph)である。グラフgは変数間の独立関係を表現している。次の成分Θ(太字)はパラメータθijk=P(X=k|Π=j) の集合である。ここで、Πは変数Xのグラフg上の親変数集合を表し、Π=jはΠがj番目の状態値を取ることを表す。ベイジアンネットワークB(太字)は、変数集合U(太字)上のユニークな同時確率分布を以下のように定める。 N discrete random variables X 1 ,. . . , X N , and each variable X i is in a state kε {1,. . . , R i } Consider a domain U (bold). A Bayesian network B (bold) on U (bold) is defined as B (bold) = <g, Θ (bold)>. Here, the first element g = <V (bold), E (bold)> is a random variable set U (bold) = {X 1 ,. . . , X N } is a directed acyclic graph (DAG) consisting of a vertex set V (bold) and a directed edge set E (bold) representing the dependency between the variables. A graph g represents an independent relationship between variables. The next component Θ (bold) is a set of parameters θ ijk = P (X i = k | Π i = j). Here, [pi i represents the parent variable set on the graph g variables X i, the [pi i = j indicates that [pi i takes j-th state value. Bayesian network B (bold) defines a unique joint probability distribution on variable set U (bold) as follows.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 ベイジアンネットワークのグラフ構造(ネットワーク)をデータから推定することを構造学習あるいは単に学習と呼ぶ。ベイジアンネットワークの学習は、スコアベースの学習手法とCI(conditional independence) ベースの学習手法とに大別される。CI ベース学習手法は制約ベースの学習手法とも呼ばれる。スコアベースの学習手法は、候補となるモデル(有向グラフ) の統計的なスコアを算出し、スコアが最大となるモデルを解とするもので、構造推定精度が比較的高い。しかし、ベイジアンネットワークのスコア学習はNP困難であることが知られている。一方、CIベースの学習手法は、確率変数間の条件付き独立テストによりベイジアンネットワークを学習するものであり、比較的高速な学習が可能である。多くのCIベース手法は、まず、条件付き独立テストにより、ベイジアンネットワークのスケルトン、すなわちベイジアンネットワークのグラフ構造から辺の向きを取り除いた無向グラフを学習し、次に、得られた条件付き独立関係とDAGの制約を用いて辺の方向付けを行う。 Estimating the graph structure (network) of a Bayesian network from data is called structure learning or simply learning. Bayesian network learning is roughly divided into a score-based learning method and a CI (conditional independence) -based learning method. The CI -based learning method is also called a constraint-based learning method. The score-based learning method calculates a statistical score of a candidate model (directed graph) and uses a model having the maximum score as a solution, and has a relatively high structure estimation accuracy. However, it is known that score learning of a Bayesian network is NP-hard. On the other hand, the CI-based learning method learns a Bayesian network by a conditional independent test between random variables, and relatively high-speed learning is possible. Many CI-based methods first learn Bayesian network skeletons, that is, undirected graphs with edge orientations removed from the Bayesian network graph structure by conditional independence testing, and then the resulting conditional independence And edge orientation using the DAG constraints.
 近年、高速なCIベース学習の利点と推定精度の高いスコア学習の利点を活かしたハイブリッド手法が提案されている。ハイブリッド手法では、まず、CIベース学習により、スーパーストラクチャ(super-structure)と呼ばれる絞り込まれた探索空間を抽出する。ここで、スーパーストラクチャとは、真のベイジアンネットワークのスケルトンを部分グラフとして含む無向グラフを意味する。次に、スコア学習により、スーパーストラクチャからベイジアンネットワークが探索される。すなわち、出力となるベイジアンネットワークに存在するはずの有向辺については、辺の向きが取り除かれた無向辺としてスーパーストラクチャ中にも存在する、という制約のもとでベイジアンネットワークが学習される。Ordyniakらは、スーパーストラクチャを用いたハイブリッド手法の数理分析を行い、スーパーストラクチャの木幅が限られるとき、スコア最適なベイジアンネットワークは変数数の多項式時間で学習できることを示し、さらに、スーパーストラクチャの最大次数が限られるとき、線形時間で学習できることを示した。ここで、木幅(treewidth)はグラフの計算的な複雑さを示す値であり、ベイジアンネットワークにおいては、木幅は、親変数が多いほど、またベイジアンネットワークのスケルトンにおけるループが多いほど大きく複雑となる。 In recent years, hybrid methods have been proposed that take advantage of high-speed CI-based learning and high-precision score learning. In the hybrid method, first, a narrowed search space called a super-structure is extracted by CI-based learning. Here, the superstructure means an undirected graph including a skeleton of a true Bayesian network as a subgraph. Next, a Bayesian network is searched from the superstructure by score learning. That is, the Bayesian network is learned under the restriction that the directed edge that should exist in the output Bayesian network also exists in the superstructure as an undirected edge with the edge direction removed. Ordyniak et al. Performed a mathematical analysis of the hybrid method using superstructure, and showed that when the tree width of the superstructure is limited, a score-optimized Bayesian network can be learned in polynomial time with the number of variables. It was shown that learning can be performed in linear time when the order is limited. Here, the tree width is a value indicating the computational complexity of the graph. In a Bayesian network, the tree width increases as the number of parent variables increases and the number of loops in the skeleton of the Bayesian network increases. Become.
 スーパーストラクチャを用いたハイブリッド手法の問題点は、スーパーストラクチャ抽出の時点で、しばしば、真のネットワークに存在する辺を削除してしまうこと、すなわち、消失辺(missing edge)を生じてしまうことである。スーパーストラクチャ中に消失辺が発生すると、スコア学習によってスーパーストラクチャ内を探索しても消失辺を復元することができず、このため、出力となるベイジアンネットワークにも消失辺が発生してしまう。 The problem with hybrid methods using superstructures is that, at the time of superstructure extraction, often edges that are present in the true network are deleted, that is, missing edges are generated. . If a lost side occurs in the superstructure, the lost side cannot be restored even if the superstructure is searched by score learning. For this reason, a lost side also occurs in the output Bayesian network.
 従来のハイブリッド手法として、スーパーストラクチャ抽出のためにMMPC(Max-Min Parents and Children: Tsamardinos, I., Brown, L. E., and Aliferis, C. F., “The max-min hill-climbing Bayesian network structure learning algorithm,” Machine Learning, Vol. 65, pp. 31-78 (2006))を用いる手法とHPC(Hybrid Parents and Children: Rodrigues de Morais, S. and Aussem, A., “An Efficient and Scalable Algorithm for Local Bayesian Network Structure Discovery, in ECML PKDD '10,” Proceedings of the European conference on Machine Learning and Knowledge Discovery in Databases - Part III, pp. 164-179, Berlin, Heidelberg (2010), Springer-Verlag)を用いる手法が知られている。HPCは、MMPCに比べて、スーパーストラクチャの余剰辺は多くなるが、消失辺を減らせることが知られている。MMPC及びHPCは条件付き独立テストに基づいて無向グラフを抽出するCIベース手法であるが、辺の方向付けを行わない。 As a conventional hybrid method, MMPC (Max-Min Parents and Children: Tsamardinos, I., Brown, L. E., and Aliferis, C. F., "The max-min hill-climbing Bayesian network structure learning algorithm, ”Machine Learning, Vol. 65, pp. 31-78 (2006)) and HPC (Hybrid Parents and Children: Rodrigues de Morais, S. and Aussem, A.,“ An Ecalableandand ” Algorithm for Local Bayesian Network Structure Discovery, in ECML PKDD '10, ”Proceedings of the European conference on Machine Learning and Knowledge Discovery in Databases-Part III, pp. 164-179, elBerlin, The technique used is known. It is known that HPC can reduce the number of erasures, although the superstructure has more surplus edges than MMPC. MMPC and HPC are CI-based methods that extract undirected graphs based on conditional independent tests, but do not perform edge orientation.
 本発明は、従来より消失辺の少ないスーパーストラクチャを実現するCIベース学習手法に関する。図1は、本発明の実施例の方法を実行し、又は本発明の実施例のプログラムによって本発明の方法を実行する、コンピュータ100の概略図を示す。本発明の実施例の方法は、図1のコンピュータ100やプロセッサによって実行されてもよく、コンピュータ実行可能な命令がコンピュータを図1に示す各コンポーネントとして動作させることによって実行されてもよい。本発明の実施例は、そのようなコンピュータ実行可能な命令を格納するコンピュータ読み取り可能な記憶媒体であってもよい。 The present invention relates to a CI-based learning method that realizes a superstructure with fewer vanishing edges than in the past. FIG. 1 shows a schematic diagram of a computer 100 that executes the method of the embodiment of the present invention or executes the method of the present invention by the program of the embodiment of the present invention. The method of the embodiment of the present invention may be executed by the computer 100 or the processor of FIG. 1 or may be executed by causing a computer-executable instruction to operate as each component shown in FIG. An embodiment of the present invention may be a computer-readable storage medium storing such computer-executable instructions.
 コンピュータ100への入力、コンピュータ100からの出力、コンピュータ100の各コンポーネントについて以下に説明する。 The input to the computer 100, the output from the computer 100, and each component of the computer 100 will be described below.
 コンピュータ100は、以下のようなデータ及びデータ仕様記述ファイルを入力として読み込んでもよい。 The computer 100 may read the following data and data specification description file as inputs.
 (1)データ
 これは、構造学習の主たる入力であり、CSV形式、リレーショナルデータベースのリレーションなどで表現される表形式のデータである。データを格納するデータストアは、ファイル、リレーショナルデータベース、メモリ上の2次元配列などであってもよい。各列は各確率変数に対応し、各行は対応する確率変数の状態(実現値)を含む。たとえば、A、B、C及びDの4つの商品を取り扱っている店舗において、顧客が使用したクーポン券の種類がT1及びT2の2種類(併用不可。クーポン券が使用されない場合はn)で表され、購入された商品がyで表され、購入しなかった商品がnで表されるとすると、6人分の購買データは表1のように表される。
(1) Data This is the main input for structure learning, and is tabular data expressed in CSV format, relational database relations, and the like. The data store for storing data may be a file, a relational database, a two-dimensional array on a memory, or the like. Each column corresponds to each random variable, and each row includes the state (realized value) of the corresponding random variable. For example, in a store that handles four products A, B, C, and D, the types of coupons used by the customer are T1 and T2 (cannot be used together; n if no coupon is used) If the purchased product is represented by y and the product that has not been purchased is represented by n, the purchase data for six people is represented as shown in Table 1.
Figure JPOXMLDOC01-appb-T000002
Figure JPOXMLDOC01-appb-T000002
 (2)データ仕様記述ファイル
 これは、上述の「データ」にどのような確率変数およびその状態(実現値) が含まれるかを記述したファイルである。確率変数の状態数がn個の場合、データ仕様は、各行が確率変数名、状態1、状態2、...、状態nを有するようにCSV形式で記述される。たとえば、上述の例のように、A、B、C及びDの4つの商品を取り扱っている店舗において、顧客が使用したクーポン券の種類がT1及びT2(併用不可、クーポン券が使用されない場合はn)で表され、購入された商品がyで表され、購入されなかった商品がnで表されるとすると、顧客の購買行動履歴データを表す確率変数およびその実現値は、データ仕様記述ファイルにおいて以下のように記述される。
 Coupon,T1,T2,n
 A,y,n
 B,y,n
 C,y,n
 D,y,n
(2) Data specification description file This is a file that describes what random variables and their states (realized values) are included in the above-mentioned “data”. When the number of states of the random variable is n, the data specification indicates that each row has a random variable name, state 1, state 2,. . . , Described in CSV format to have state n. For example, as in the above example, in a store that handles four products A, B, C, and D, the types of coupons used by customers are T1 and T2 (cannot be used together, and coupons are not used. n), a purchased product is represented by y, and a non-purchased product is represented by n, a random variable representing the purchase behavior history data of the customer and its actual value are represented in a data specification description file. Is described as follows.
Coupon, T1, T2, n
A, y, n
B, y, n
C, y, n
D, y, n
 (3)出力
 本発明の実施例の方法又はプログラムにより、スーパーストラクチャ記述ファイルが出力される。これは推定されたスーパーストラクチャを記述するファイルである。このファイルにおいて、辺が存在する変数ペアは1行ずつカンマ(,)で区切られる。たとえば、上述の例において、CouponとAとの間、CouponとDとの間、AとBとの間、BとCとの間にそれぞれ辺があると推定された場合、スーパーストラクチャはスーパーストラクチャ記述ファイルにおいて以下のように記述される。
 Coupon,A
 Coupon,D
 A,B
 B,C
(3) Output A superstructure description file is output by the method or program of the embodiment of the present invention. This is the file that describes the estimated superstructure. In this file, variable pairs with sides exist are separated by commas (,) line by line. For example, in the above example, if it is estimated that there are edges between Coupon and A, between Coupon and D, between A and B, and between B and C, the superstructure is superstructure. It is described as follows in the description file.
Coupon, A
Coupon, D
A, B
B, C
 (4)処理コンポーネント
 図1に示されるコンポーネントにつき説明する。プログラム制御部102は、全体の処理の流れを制御するコンポーネントである。プログラム制御部102は、前処理としてプログラムの引数やパラメータをチェックし、これらが正常であればデータ仕様解析部104にデータ仕様を解析させる。プログラム制御部102は、さらに、CIベース構造学習部106に主処理を実行させる。
(4) Processing Component The components shown in FIG. 1 will be described. The program control unit 102 is a component that controls the overall processing flow. The program control unit 102 checks the arguments and parameters of the program as preprocessing, and if they are normal, causes the data specification analysis unit 104 to analyze the data specification. The program control unit 102 further causes the CI base structure learning unit 106 to execute main processing.
 データ仕様解析部104は、データ仕様記述ファイルを読み込み、主入力であるデータを分析する準備を行う。データ仕様解析部104は、データに含まれる各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数の状態の数、全体のデータ件数を保持し、他のコンポーネントにこれらの情報を提供する。 The data specification analysis unit 104 reads the data specification description file and prepares to analyze the data that is the main input. The data specification analysis unit 104 stores the name of each random variable, the number of random variables, the state name of each random variable, the number of states of each random variable, and the total number of data items included in the data. Providing information.
 CIベース構造学習部106は、CIベースの学習アルゴリズムを実行し、データからスーパーストラクチャを抽出するコンポーネントであり、主処理を実行する。 The CI-based structure learning unit 106 is a component that executes a CI-based learning algorithm and extracts a superstructure from data, and executes main processing.
 条件付き独立テスト実行部108は、条件付き独立テストを実行するコンポーネントである。条件付き独立テスト実行部108は、実行結果をキャッシュする機能を有し、すでに実行済みの条件付き独立テストの結果を要求された場合には、キャッシュした結果を返す。 The conditional independent test execution unit 108 is a component that executes a conditional independent test. The conditional independent test execution unit 108 has a function of caching the execution result, and when the result of the conditional independent test that has already been executed is requested, the cached result is returned.
 分離集合保持部110は、条件付き独立テストTest(X;Y|Z(太字))によってInd(X;Y|Z(太字)) と判定されると、変数ペアX、Yの分離集合Z(太字)を、変数ペアをキーとしたハッシュにより保持し、管理する。 When the separated set holding unit 110 determines that Ind (X; Y | Z (bold)) is determined by the conditional independent test Test (X; Y | Z (bold)), the separated set Z (( Bold) is held and managed by a hash using a variable pair as a key.
 グラフ構造構築部112は、CIベース構造学習部106によって推定されたスーパーストラクチャのグラフ構造を構築する。グラフ構造構築部112は、1)確率変数を表すノードの配列、および2)確率変数ペア間の依存関係を表す有向辺または無向辺の配列を、他のコンポーネントと共有するデータ構造として構築し、これを管理する。 The graph structure construction unit 112 constructs a super structure graph structure estimated by the CI base structure learning unit 106. The graph structure construction unit 112 constructs 1) an array of nodes representing random variables, and 2) an array of directed edges or undirected edges representing dependencies between random variable pairs as a data structure shared with other components. And manage this.
 各コンポーネントにおいて得られる計算結果はメモリなどの記憶装置に適宜格納されて、その後の計算に使用されてもよい。同じコンポーネントによって実行される計算の過程で、それまでに得られた結果が記憶装置に格納され、当該同じコンポーネントによるその後の計算に使用されてもよい。 The calculation results obtained in each component may be appropriately stored in a storage device such as a memory and used for subsequent calculations. In the course of calculations performed by the same component, the results obtained so far may be stored in a storage device and used for subsequent calculations by the same component.
 本発明の方法は、辺の方向(すなわち変数間の親子関係)を条件付き独立テストの選択に用いる改善されたCIベース学習手法である。多くのCIベース学習手法は辺の方向付けを最後に一度だけ行うが、辺の方向を利用するCIベース学習手法は、辺の方向付けを途中で複数回実施し、その結果得られる変数間の親子関係に基づき,以後どのような条件付き独立テストを実施するかを判断する。辺の方向を利用するCIベース学習手法の一例が、後述するRAIである。本発明は、RAIだけでなく、辺の方向を利用するCIベース学習手法について適用することができる。ここでは、本発明の実施例による、辺の方向を利用するCIベース学習手法が説明される。 The method of the present invention is an improved CI-based learning technique that uses edge direction (ie parent-child relationship between variables) for selection of conditional independent tests. Many CI-based learning methods perform edge orientation only once at the end. However, CI-based learning methods that use edge orientation perform edge orientation multiple times in the middle, and use the resulting variables as a result. Based on the parent-child relationship, determine what conditional independence tests will be performed thereafter. An example of a CI-based learning method that uses the direction of an edge is RAI described later. The present invention can be applied not only to RAI but also to a CI-based learning method that uses the direction of an edge. Here, a CI-based learning method using edge directions according to an embodiment of the present invention will be described.
 実施例による、辺の方向を利用するCIベース学習手法のフローチャートを図2に示す。図2の方法は図1のコンピュータ100やプロセッサによって実行されてもよいし、コンピュータ実行可能な命令がコンピュータを図1に示す各コンポーネントとして動作させることによって実行されてもよい。本発明の実施例は、そのようなコンピュータ実行可能な命令を格納するコンピュータ読み取り可能な記憶媒体であってもよい。 FIG. 2 shows a flowchart of a CI-based learning method using the edge direction according to the embodiment. The method of FIG. 2 may be executed by the computer 100 or the processor of FIG. 1 or computer-executable instructions may be executed by causing the computer to operate as each component shown in FIG. An embodiment of the present invention may be a computer-readable storage medium storing such computer-executable instructions.
 ステップ202において、出力となるグラフGが完全無向グラフとして初期化される。ステップ204において、分離集合全体の集合であるSep(太字)が空集合として初期化される。ステップ206において、条件付き独立テストの次数nを0とする。ステップ208において、グラフG上に辺を有するすべての変数ペア{X;Y}について,以下の(1)から(3)のステップを繰り返す。 In step 202, the output graph G is initialized as a completely undirected graph. In step 204, Sep (bold), which is a set of all separated sets, is initialized as an empty set. In step 206, the order n of the conditional independent test is set to zero. In step 208, the following steps (1) to (3) are repeated for all variable pairs {X; Y} having edges on the graph G.
 (1)XとYの潜在親変数集合Z(太字)=Pap(太字)(X,G)∪Pap(太字)(Y,G)を特定する(ステップ210)。
 (2)|S(太字)|=n、S(太字)⊆Z(太字)となるすべてのS(太字)について、Test(X;Y|S(太字))を行う(ステップ212)。
 (3)テストの結果がInd(X;Y|S(太字))であれば(ステップ214の「Yes」)、分離集合Sep(太字)をSep(太字)=Sep(太字)∪{<{X,Y},S(太字)>}によって更新し(ステップ216)、グラフGから辺X*-*Yを削除する(ステップ218)。
(1) The latent parent variable set Z (bold) = Pap (bold) (X, G) ∪Pap (bold) (Y, G) of X and Y is specified (step 210).
(2) Test (X; Y | S (bold)) is performed for all S (bold) that becomes | S (bold) | = n, S (bold) ⊆ Z (bold) (step 212).
(3) If the result of the test is Ind (X; Y | S (bold)) (“Yes” in step 214), the separation set Sep (bold) is set to Sep (bold) = Sep (bold) ∪ {<{ X, Y}, S (bold)>} is updated (step 216), and the side X *-* Y is deleted from the graph G (step 218).
 ステップ220において、グラフG内の辺の方向付けを行う。本発明の実施例では、ここで新しい手法の方向付けを行う。本発明においては、v-構造推定の矛盾を衝突辺の発生により検知し、衝突辺の方向を確率的にいずれかに決定する。衝突辺について決定された方向は、個別実行(スレッド)ごとに別々に保持され、管理される。 In step 220, the orientation of the edges in the graph G is performed. In an embodiment of the present invention, a new approach is directed here. In the present invention, the contradiction of v-structure estimation is detected by the occurrence of a collision side, and the direction of the collision side is determined to be one of the probabilities. The direction determined for the collision edge is maintained and managed separately for each individual execution (thread).
 本発明の方向付けは、方向付けの対象となるグラフG及び削除した辺(変数ペア)の分離集合Sep(太字)に加えて、衝突辺の方向をスレッドごとに別々に決定し維持するために、衝突辺と当該辺における親変数の組とを要素として有する辺親集合E(太字)を考慮する。一例として、辺親集合内の要素探索を定数時間のオーダーで実行するために、辺親集合の実装は、向きを無視した辺をキー、当該辺における親変数を値としたハッシュとしてもよい。本発明の実施例における方向付けでは、v-構造の候補となる3つの変数の組X*-*Z*-*Yを探すとき、これら変数間の辺の向きを無視する。これにより、それ以前に推定されたv-構造の影響を受けることなく、現在着目する3つの変数がv-構造であるか否かを判断できる。 The orientation of the present invention is to determine and maintain the direction of the collision edge separately for each thread in addition to the graph G to be oriented and the separated set Sep (bold) of the deleted edges (variable pairs). Consider an edge parent set E p (bold) having a collision edge and a set of parent variables in the edge as elements. As an example, in order to execute element search in the edge parent set in the order of a constant time, the edge parent set may be implemented as a hash with an edge whose direction is ignored as a key and a parent variable in the edge as a value. In the orientation in the embodiment of the present invention, when searching for a set of three variables X *-* Z *-* Y that are candidates for the v-structure, the direction of the edge between these variables is ignored. As a result, it is possible to determine whether or not the three variables of interest are the v-structure without being affected by the previously estimated v-structure.
 v-構造と推定されたそれぞれの辺についてv-構造の2つの辺の向きが決定される。まず、v-構造の推定が正しい場合の親変数Sと子変数Sを考慮する。当該辺についてのv-構造の方向付けの実行が初めてであれば、辺はまだ無向辺なので、推定された通りに親変数をS、子変数をSとして辺の向きを定める。当該辺についての向きの決定が初めてではなく、当該辺が推定されたv-構造とは反対の方向にすでに方向づけられていれば、当該辺は衝突辺であると検知される。この衝突辺を検知したのが初めてであれば、このスレッドにおける向きを所定の確率に従って選択し、辺親集合E(太字)にその決定を追加し、保持する。 For each side estimated to be a v-structure, the orientation of the two sides of the v-structure is determined. First, consider the parent variable S p and the child variable S c where estimation of v- structure is correct. If first time v- directing the execution of structures for the sides, the sides because still undirected edges, the parent variable S p as estimated, determining the edges of the faces child variable as S c. If the direction is not determined for the side for the first time, and the side is already oriented in the opposite direction to the estimated v-structure, the side is detected as a collision side. When this collision edge is detected for the first time, the direction in this thread is selected according to a predetermined probability, and the decision is added to the edge parent set E p (bold) and held.
 その後、DAGの制約と矛盾しないように導出された方向付け規則(orientation rule)と呼ばれる規則に従って、可能な限り辺の方向が決められる。 After that, the direction of the edge is determined as much as possible according to a rule called an orientation rule that is derived so as not to contradict the constraints of the DAG.
 ステップ222において、条件付き独立テストの次数nが1増加される。ステップ224及び226において、グラフG上に残っている辺のすべての変数ペア{X,Y}について、潜在親変数集合を特定する。潜在親変数集合サイズ|Z(太字)|がn以上となる変数ペアがあれば(ステップ228の「Yes」)、条件付き独立テストの繰り返し処理に進み,そのような変数ペアが存在しなければ(ステップ228の「No」)、グラフG を出力して終了する(ステップ230)。 In step 222, the order n of the conditional independent test is incremented by one. In steps 224 and 226, latent parent variable sets are specified for all variable pairs {X, Y} of the remaining edges on the graph G. If there is a variable pair whose latent parent variable set size | Z (bold) | is greater than or equal to n (“Yes” in step 228), the process proceeds to the conditional independent test iteration, and if there is no such variable pair. (“No” in step 228), the graph G is output and the process ends (step 230).
 このように,本発明の実施例は、辺の方向を条件付き独立テストの条件変数集合S(太字)の選択に利用するCIベース学習手法において新規の辺の方向付け処理を行い、方向付けの誤りを検知する。 As described above, the embodiment of the present invention performs a new edge orientation process in the CI-based learning method that uses the edge direction to select the conditional variable set S (bold) in the conditional independent test. Detect errors.
 本発明の実施例は、さらに、上記処理の実行結果を合成することにより、消失辺の少ないスーパーストラクチャを抽出する。すなわち、本発明は、異なるグラフを出力する複数の上述の新しいCIベース学習の結果を重ね合わせることにより、個々のCIベース学習の結果に消失辺があっても、他のCIベース学習により消失辺を補うことができる。 The embodiment of the present invention further extracts a superstructure with few missing edges by synthesizing the execution results of the above processing. In other words, the present invention superimposes a plurality of the above-mentioned new CI-based learning results that output different graphs, so that even if there is an erasure edge in each CI-based learning result, an erasure edge is obtained by other CI-based learning. Can be supplemented.
 図3は、動作の異なる複数の本発明のCIベース学習を実行し、その結果を合成してスーパーストラクチャとして返す主処理の流れを示す。この処理は図1のコンピュータ100やプロセッサによって実行されてもよく、コンピュータ実行可能な命令がコンピュータを図1に示す各コンポーネントとして動作させることによって実行されてもよい。 FIG. 3 shows a flow of main processing in which a plurality of CI-based learnings of the present invention having different operations are executed, and the results are combined and returned as a superstructure. This process may be executed by the computer 100 or the processor of FIG. 1, or may be executed by causing a computer-executable instruction to operate the computer as each component shown in FIG.
 ステップ302において、初期処理が実行される。プログラム制御部102は、データベース接続情報、データ仕様記述ファイル名、条件付き独立テストの有意水準α、スレッド数t(本発明の実施例のCIベース学習の並列実行数)、スーパーストラクチャ記述ファイル名の少なくとも1つを含む動作パラメータをチェックする。プログラム制御部102は、エラーがあれば表示装置などにエラーを表示してプログラムを終了する。正常ならば、プログラム制御部102は処理を続行し、データ仕様解析部104にデータ仕様を解析させる。データ仕様解析部104は、データ仕様記述ファイルを読み取り、データに含まれる各確率変数の名前、確率変数の数、各確率変数が取り得るすべての状態の名前、状態数を保持する。次に、データ仕様解析部104は、データベース接続情報を用いてデータベースにアクセスし、全データの件数を取得してこれを保持する。プログラム制御部102は、CIベース構造学習部106に制御を移す。 In step 302, initial processing is executed. The program control unit 102 includes the database connection information, the data specification description file name, the significance level α of the conditional independent test, the number of threads t (the number of parallel executions of CI-based learning in the embodiment of the present invention), the superstructure description file name Check operating parameters including at least one. If there is an error, the program control unit 102 displays the error on a display device or the like and ends the program. If it is normal, the program control unit 102 continues the processing and causes the data specification analysis unit 104 to analyze the data specification. The data specification analysis unit 104 reads the data specification description file, and holds the names of the random variables, the number of random variables, the names of all the states that can be taken by the random variables, and the number of states. Next, the data specification analyzing unit 104 accesses the database using the database connection information, acquires the number of all data, and holds it. The program control unit 102 transfers control to the CI base structure learning unit 106.
 CIベース構造学習部106は、上述の本発明の実施例によるCIベース学習を実行する。ステップ304において、指定された並列実行数のCIベース学習実行スレッドが生成される。ステップ306において、上述の本発明のCIベース学習スレッドが並列実行される。ステップ308において、CIベース学習を実行する親スレッドは、いずれかの実行スレッドが終了するまで待ち合わせる。ステップ310において、終了したスレッドからの得られたグラフにおける辺集合とそれまでに得られた辺集合との和集合を生成し、これをスーパーストラクチャとする。未処理のスレッドがある場合(ステップ312の「Yes」)、ステップ308に戻る。ステップ314において、グラフ構造構築部112は、CIベース構造学習部106からスーパーストラクチャのグラフ構造を受け取り、スーパーストラクチャ記述ファイルの仕様に則って出力を生成する。処理はステップ316において終了する。 The CI base structure learning unit 106 performs CI base learning according to the above-described embodiment of the present invention. In step 304, CI-based learning execution threads having the specified number of parallel executions are generated. In step 306, the above-described CI-based learning thread of the present invention is executed in parallel. In step 308, the parent thread that executes CI-based learning waits until any execution thread ends. In step 310, a union of the edge set in the graph obtained from the terminated thread and the edge set obtained so far is generated and used as a superstructure. If there is an unprocessed thread (“Yes” in step 312), the process returns to step 308. In step 314, the graph structure construction unit 112 receives the super structure graph structure from the CI base structure learning unit 106, and generates an output in accordance with the specifications of the super structure description file. Processing ends at step 316.
 近年、CIベース手法の推定精度の向上と計算効率向上のために辺の方向付けの結果を利用するRAI(Recursive Autonomy Identification)(Yehezkel, R. and Lerner, B. “Bayesian Network Structure Learning by Recursive Autonomy Identification,”
Journal of Machine Learning Research, Vol. 10, pp. 1527-1570 (2009)) が提案されている。RAIは、従来スーパーストラクチャ抽出に用いられてきたMMPCやHPCと異なり、推定精度及び計算効率の向上のために、グラフ構造学習において辺の方向付け(edge orientation)の結果を利用する。しかし、辺の方向付けは統計的な検定(条件付き独立テスト)の結果に依存するため、有限サンプルの現実的な状況下では、辺が誤って方向付けられる可能性がある。この誤った方向付けは、本来必要のない条件付き独立テストを引き起こし、それによって消失辺を生じさせる。
In recent years, RAI (Recursive Autonomy Identification) using edge orientation results to improve estimation accuracy and computational efficiency of CI-based methods (Yehezkel, R. and Lerner, B. “Bayesian Network Structure Learning by Recursive Autonomy”) Identification, ”
Journal of Machine Learning Research, Vol. 10, pp. 1527-1570 (2009)) has been proposed. Unlike MMPC and HPC conventionally used for superstructure extraction, RAI uses the result of edge orientation in graph structure learning to improve estimation accuracy and calculation efficiency. However, because the orientation of edges depends on the results of statistical tests (conditional independent tests), the edges can be misdirected under realistic conditions with finite samples. This misorientation causes conditional independence tests that are not necessary in nature, thereby causing lost edges.
 本発明の実施例において、基本となるCIベース学習として、RAIを用いることができる。本発明の実施例は、従来の単純にRAIを用いる手法と比較して、消失辺がより少ないスーパーストラクチャの抽出を実現する。単純にRAIを用いると、辺の方向付けは統計的な検定(条件付き独立テスト)の結果に依存する。このため、有限サンプルの現実的な状況下では誤った方向付けが生じ得る。したがって、従来の手法では、誤った方向付けが、本来必要のない条件付き独立テストを引き起こすことにより、消失辺を生じさせる。本発明は、誤った方向付けを方向付けの矛盾に基づいて検知し、ありうる方向付けに基づいてスーパーストラクチャを合成することにより、スーパーストラクチャの消失辺の発生を防ぐ。 In the embodiment of the present invention, RAI can be used as basic CI-based learning. The embodiment of the present invention realizes extraction of a superstructure with fewer erasures compared to the conventional method using simply RAI. Using RAI simply, edge orientation depends on the results of statistical tests (conditional independent tests). This can lead to incorrect orientation under realistic conditions of finite samples. Thus, in the conventional approach, misorientation causes a vanishing edge by causing a conditional independent test that is not necessary in nature. The present invention detects erroneous orientation based on orientation contradictions and synthesizes superstructures based on possible orientations to prevent the occurrence of superstructure disappearance edges.
 ここで、本発明の1つの実施例の基本となるCIベース学習手法として用いることのできるRAIについて説明し、RAIをそのままスーパーストラクチャ抽出に用いる場合の欠点について説明する。 Here, RAI that can be used as a CI-based learning method that is the basis of one embodiment of the present invention will be described, and the disadvantages of using RAI as it is for superstructure extraction will be described.
 一般に、高次の条件付き独立テストは低次のテストよりも統計的な信頼性は低く、計算コストも高い。RAIは、辺の方向付けにより得られる変数間の親子関係を用いることにより、信頼性が低く計算コストの高い高次の条件付き独立テストを避け、精度を向上させて計算量を低減する手法である。RAIは、方向付けにより生じる頂点(変数) の親子関係を用い、グラフを子孫部分構造gとそれ以外の変数からなる先祖部分構造gとに再帰的に分解する。子孫部分構造は、よりフォーマルには自律部分構造(autonomous sub-structure)と定義される(定義2)。先祖部分構造にある親変数は、外生原因(exogenous cause)と定義される(定義1)。 In general, higher-order conditional independent tests are less statistically reliable and computationally expensive than lower-order tests. RAI is a technique that avoids high-order conditional independent testing with low reliability and high calculation cost by using the parent-child relationship between variables obtained by the orientation of edges, and improves the accuracy and reduces the amount of calculation. is there. RAI uses a parent-child relationship of the vertices (variables) caused by orientation, recursively decomposed into the ancestor partial structure g A comprising a graph from the progeny substructure g D and other variables. A descendant substructure is more formally defined as an autonomous sub-structure (Definition 2). The parent variable in the ancestor partial structure is defined as an exogenous cause (Definition 1).
Figure JPOXMLDOC01-appb-I000003
Figure JPOXMLDOC01-appb-I000003
 定義2(自律部分構造(autonomous sub-structure))DAGg=<V(太字),E(太字)>のV(太字)⊂V(太字)かつE(太字)⊂E(太字)なる部分構造g=<V(太字),E(太字)>は、もし∀X∈V(太字)、Pa(太字)(X,g)⊂{V(太字)∪Vex(太字)}ならば、gの外生原因Vex(太字)⊂V(太字)を所与としてg中で自律しているという。 Definition 2 (autonomous sub-structure) DAGg = <V (bold), E (bold)> V A (bold) ⊂ V (bold) and E A (bold) ⊂ E (bold) structure g A = <V A (bold), E A (bold)> that if ∀X∈V A (bold), Pa (bold) (X, g) ⊂ { V A ( bold) ∪V ex (bold )}, It is said that it is autonomous in g given the exogenous cause V ex (bold) ⊂ V (bold) of g A.
 一般に、条件付き独立テスト数の削減は、消失辺の抑制に貢献する。もっとも極端なケースは、条件付き独立テストを一切行わず、したがって辺の削除も行わず完全無向グラフを出力するケースである。この完全無向グラフをスーパーストラクチャと見なす場合、探索空間は全く絞り込まれない。代わりに、スーパーストラクチャの消失辺は一切発生しない。RAIはスーパーストラクチャ抽出を目的として開発された手法ではないが、条件付き独立テストを削減し、結果として、スーパーストラクチャ推定手法として用いる場合にも消失辺を抑制する。 Generally, reducing the number of conditional independent tests contributes to the suppression of lost edges. The most extreme case is a case where no conditional independence test is performed, and therefore no edge deletion is performed, and a completely undirected graph is output. When this completely undirected graph is regarded as a superstructure, the search space is not narrowed down at all. Instead, no superstructure disappearance occurs. Although RAI is not a technique developed for the purpose of superstructure extraction, it reduces conditional independent tests and, as a result, suppresses erasure edges when used as a superstructure estimation technique.
 RAIの辺の方向付けによる高次の条件付き独立テスト削減は、次の2つのメカニズムを通じて行われる。 Higher-order conditional independent test reduction by RAI edge orientation is performed through the following two mechanisms.
 最初のメカニズムは、グラフ分解に基づくテスト順序の制御である。RAIは、辺の方向付けにより推定した変数間の親子関係を用い、グラフを子孫部分構造と先祖部分構造とに再帰的に分解する。RAIは、条件付き独立テストの対象となる辺(変数ペア)を以下の順序で選択する:1)先祖部分構造内部の辺、2)先祖部分構造と子孫部分構造をつなぐ辺、(3)子孫部分構造内部の辺。このように、先祖部分構造と子孫部分構造をつなぐ辺を子孫部分構造内部の辺より先に可能な限り削除しておくことにより、子孫部分構造内部の辺について条件付き独立テストを行う際に、高次の条件付き独立テストを抑制することができる。 The first mechanism is control of the test order based on graph decomposition. RAI recursively decomposes a graph into descendant substructures and ancestor substructures using parent-child relationships between variables estimated by edge orientation. The RAI selects edges (variable pairs) subject to conditional independence tests in the following order: 1) an edge inside the ancestor partial structure, 2) an edge connecting the ancestor partial structure and the descendant partial structure, and (3) a descendant Side inside the substructure. In this way, by deleting the edge connecting the ancestor partial structure and the descendant partial structure as much as possible before the edge inside the descendant partial structure, when performing a conditional independent test on the edge inside the descendant partial structure, Higher-order conditional independent tests can be suppressed.
 2つめのメカニズムは、辺の方向付けに基づく条件変数集合サイズの削減であり、これは以下の補題に基づいている。 The second mechanism is to reduce the condition variable set size based on edge orientation, which is based on the following lemma.
 補題1:DAGにおいて、XとYが隣接しておらずXがYの子孫でなければ、XとYはPa(太字)(Y)を所与として有向分離される。 Lemma 1: In DAG, if X and Y are not adjacent and X is not a descendant of Y, X and Y are directed and separated given Pa (bold) (Y).
 補題1により、X∈gかつY∈gであるときの辺X→Yの存在は、条件変数集合S(太字)をS(太字)⊆Pa(太字)(Y)\{X}に限定できるため、条件付き独立テスト数を限定することができる。これとは対照的に、MMPCなどの他の従来のCIベース手法は、親子関係に基づいた条件変数集合の限定を行わないため、条件変数集合S´(太字)⊆Adj(太字)(Y)\{X}となりRAIより大きい。補題1から導かれる次の補題2により、変数X、Yがともにgの元である場合には、辺X-Yの存在は、同様に、限られた条件変数集合S(太字)⊆Pa(太字)(Y)\{X}をチェックすることにより判定できる。 According to Lemma 1, the existence of an edge X → Y when X∈g A and Y∈g D indicates that the conditional variable set S (bold) is changed to S (bold) ⊆ Pa p (bold) (Y) \ {X} The number of conditional independent tests can be limited. In contrast, other conventional CI-based techniques such as MMPC do not limit the conditional variable set based on the parent-child relationship, so the conditional variable set S ′ (bold) ⊆ Adj (bold) (Y) \ {X}, which is larger than RAI. According to the following lemma 2 derived from lemma 1, if variables X and Y are both elements of g D , the existence of edge XY is similarly limited to a limited variable set S (bold) ⊆ Pa This can be determined by checking p (bold) (Y) \ {X}.
 補題2:DAGg=<V(太字),E(太字)>において、g=<V(太字),E(太字)>がgの外生原因集合Vex(太字)⊂V(太字)を所与とした自律部分構造で、かつX,Y∈V(太字)、S(太字)⊂V(太字)についてInd(X;T|S(太字))ならば、S´(太字)⊂{V(太字)∪Vex(太字)}かつInd(X;Y|S´(太字))なるS´(太字)が存在する。 Lemma 2: In DAGg = <V (bold), E (bold)>, g A = <V A (bold), E A (bold)> is an exogenous cause set Vex (bold) ⊂ V (bold) of g A ), And if Ind (X; T | S (bold)) for X, YεV A (bold), S (bold) ⊂ V (bold), then S ′ (bold ) {V A (bold) ∪ V ex (bold)} and Sd (bold) Ind (X; Y | S ′ (bold)) exists.
Figure JPOXMLDOC01-appb-I000004
Figure JPOXMLDOC01-appb-I000004
 後で説明するように、本発明の実施例は、行10と行15で呼び出される方向付けルーチンを置き換え、動作を変更したRAIを複数動作させる。 As will be described later, the embodiment of the present invention replaces the directing routine called in line 10 and line 15 and operates a plurality of RAIs whose operations are changed.
 ここで、RAIなどの既存のCIベース手法における辺の方向付け(edge orientation)について述べる。従来の方向付けルーチンorientEdgeTradを図5に示す。辺の方向付けルーチンは、方向付けの対象となるグラフと、削除した辺(変数ペア) の分離集合全体Sep(太字)とを入力として用いる。辺の方向付けの基本的な考え方は、条件付き独立テストから得られた分離集合から特定の辺の方向をまず決め、次にDAGの制約と矛盾しないように導出された方向付け規則(orientation rule)と呼ぶ規則に従って可能な限り辺の方向を決めるというものである。分離集合から方向を決める対象となるのは、X-Z-Yなるつながり方(ただしX、Y間に辺がない) をした3つの変数及び2つの辺である。ここで、ZがXとYの分離集合の元でなければ、X-Z-YをX→Z←Yと方向づけることができる。このX→Z←Yをv-構造(v-structure)と呼ぶ。図5では、行2から行5までにおいてv-構造の推定が行われ、それ以降で方向付け規則による方向付けが行われる。 Here, the edge orientation in the existing CI-based method such as RAI will be described. A conventional orientation routine orientEdgeTrad is shown in FIG. The edge orientation routine uses as input the graph to be oriented and the entire separated set Sep (bold) of the deleted edge (variable pair). The basic idea of edge orientation is to first determine the direction of a particular edge from the segregated set obtained from the conditional independence test, and then the orientation rule (orientation rule) derived so as not to conflict with the DAG constraints. The direction of the side is determined as much as possible according to a rule called). The target of determining the direction from the separated set is three variables and two sides with a connection method of XZY (however, there is no side between X and Y). Here, if Z is not an element of a separated set of X and Y, XZY can be oriented as X → Z ← Y. This X → Z ← Y is called a v-structure. In FIG. 5, the v-structure is estimated from line 2 to line 5, and thereafter, orientation is performed according to the orientation rule.
 従来の辺の方向付けの問題点は、v-構造の推定時点で方向付けの誤りが発生しやすいことである。本発明の実施例では、従来の方向付けに代わる新しい手法の方向付けを用いて、v-構造推定時に方向付けの誤りを検知する。 The problem with conventional edge orientation is that orientation errors tend to occur at the time of v-structure estimation. In an embodiment of the present invention, a new method of orientation instead of conventional orientation is used to detect orientation errors during v-structure estimation.
 本発明の実施例は、RAIにおける消失辺発生の原因となる辺の方向付けの誤りを検知し、可能な方向付けを試みる複数のRAIの実行結果を合成することにより、消失辺の少ないスーパーストラクチャを抽出する。 The embodiment of the present invention detects a misorientation of an edge that causes an occurrence of a missing edge in RAI, and combines the execution results of a plurality of RAIs that attempt possible orientation, thereby superstructure having few missing edges. To extract.
 本発明の実施例は、主として、1)学習の誤りが存在することを前提として、消失辺の少ないスーパーストラクチャを抽出し、2)方向付けの誤りを検知する。 The embodiment of the present invention mainly extracts 1) a superstructure with few missing edges, and 2) detects an orientation error, on the premise that there is a learning error.
 以下において、まず、本発明の実施例による、学習の誤りがあることを前提として消失辺の少ないスーパーストラクチャを抽出する方法を説明し、次に、本発明の実施例による、RAIにおける学習の誤りの原因となる方向付け誤りの発生を検知する方法を説明する。 In the following, first, a method for extracting a superstructure with few missing edges on the assumption that there is a learning error according to an embodiment of the present invention will be described. Next, a learning error in RAI according to an embodiment of the present invention will be described. A method for detecting the occurrence of an orientation error causing the above will be described.
 RAIの並列実行
 余剰辺を許容する代わりに消失辺を減らすためのスーパーストラクチャ抽出においては、確実に削除して良い辺以外は残しておくことが望ましい。一方で、CIベース学習の構造推定精度は条件付き独立テストの精度に依存しており、パラメータあたりのサンプルサイズが限られる現実的な状況下では、必ずしも全ての辺の有無を正しく判定できるわけではない。本願発明者らは、異なるグラフを出力する複数のCIベース学習の結果を重ね合わせれば、個々のCIベース学習の結果に消失辺があっても、他のCIベース学習により消失辺が補われると考えるに至った。
Parallel execution of RAI In superstructure extraction for reducing lost edges instead of allowing extra edges, it is desirable to leave only those edges that can be reliably deleted. On the other hand, the structure estimation accuracy of CI-based learning depends on the accuracy of conditional independent tests, and in realistic situations where the sample size per parameter is limited, it is not always possible to correctly determine the presence or absence of all sides. Absent. If the inventors of the present application superimpose a plurality of CI-based learning results that output different graphs, even if there is an erasure edge in each CI-based learning result, the erasure edge is compensated by other CI-based learning. I came to think.
Figure JPOXMLDOC01-appb-I000005
Figure JPOXMLDOC01-appb-I000005
 上記の例では、CIベース学習の並列実行にマルチスレッドを用いる。しかし、他の例において、堅牢性を高めるために、CIベース学習の並列実行をマルチプロセスとして実装しても良いし、負荷分散のために複数計算機による分散並列としても良い。 In the above example, multi-threading is used for parallel execution of CI-based learning. However, in another example, in order to increase robustness, parallel execution of CI-based learning may be implemented as a multi-process, or distributed parallel by a plurality of computers may be used for load distribution.
 また、上記の例では、改造を施したRAIが並列実行されるが、別の手法を実行しても良い。同じ学習手法が個々のスレッドで実行される必要はない。 In the above example, the modified RAI is executed in parallel, but another method may be executed. The same learning technique does not have to be performed on individual threads.
 図7は、図6の処理において呼び出される本発明の実施例の改造版のRAI(RAIEX)の処理を説明する。本実施例は、10行目と15行目で従来の方向付けルーチン(図5)ではなく、本発明の実施例の拡張した辺の方向付けルーチン(図10について後述する)を呼んでいる点で従来のRAIと異なる。 FIG. 7 explains the modified version of RAI (RAIEX) processing of the embodiment of the present invention called in the processing of FIG. The present embodiment calls the extended side orientation routine (described later in FIG. 10) of the embodiment of the present invention instead of the conventional orientation routine (FIG. 5) in the 10th and 15th lines. And different from conventional RAI.
 図7の処理は、条件付き独立テストの次数n(最初はゼロ)、Gstart(最初は完全無向グラフ)、外生原因集合Gex(最初は空集合)、Gall(最初はGall=Gstart)を引数にとり、処理A、B、C及びDを順に実行する。ただし、当該アルゴリズムは、各処理の実行前に、以下の終了条件チェックを実行し、終了条件にあてはまる場合はこのアルゴリズムの呼出しから復帰する。 The processing of FIG. 7 includes the conditional independent test order n (initially zero), G start (initially undirected graph), exogenous cause set G ex (initially empty set), G all (initially G all = G start ) as an argument, processes A, B, C and D are executed in order. However, the algorithm executes the following end condition check before executing each process, and returns from calling this algorithm if the end condition is met.
 終了条件(2行目から5行目):Gstartに含まれるすべての変数にn+1未満の潜在親変数しかなければ、Gallを返す。 Termination condition (2nd to 5th lines): If all the variables included in G start have latent parent variables less than n + 1, G all is returned.
 図7の処理は、処理A(6行目から10行目)を実行する。 7 performs the process A (from the 6th line to the 10th line).
 Gstartに含まれるすべての変数YとGexに含まれるYの親変数Xについて、以下を繰り返す(最初はGexが空集合であるため、処理Aでは何も行われず処理Bに移る)。Gstartに含まれるYの潜在親変数集合とGexに含まれるYの親変数集合との和集合(ただしXを除く)の部分集合S(太字)で、S(太字)の元となる変数がn個でかつXとYがS(太字)を所与として独立となるS(太字)が存在するならば、分離集合Sep(太字)に<{X,Y},S(太字)>を元として追加し、辺X*-*YをGallから削除する。さらに、図10に関連して後述されるGstartの辺の方向付けを行う。具体的には、
(1)X*-*ZとZ*-*YがGstart中の辺集合に含まれ、X*-*Yが含まれないような、X*-*Z*-*Yについて、
(1-1)削除された辺X*-*Yの分離変数集合を得る。
(1-2)Zがこの分離変数集合に含まれない場合、X*-*Z*-*Yの各辺について、
(1-2-1)辺の向きが定められていない場合には推定したとおりに方向づける。
(1-2-2)辺が反対方向に既に方向づけられていれば衝突辺であると判定し、
(1-2-2-1)初めて検知された衝突辺であれば、所定の確率で方向付ける。
(1-2-2-2)初めて検知された衝突辺でなければ、方向は変更されない。
(1-2)図10の8行目から13行目すなわち、方向付け規則による辺の方向付けを、方向づけられる辺がなくなるまで繰り返す。
The following is repeated for all the variables Y included in G start and the parent variable X of Y included in G ex (initially, since G ex is an empty set, nothing is performed in process A and the process proceeds to process B). A variable S (bold) that is a subset S (bold) of the union (excluding X) of the latent parent variable set of Y included in G start and the parent variable set of Y included in G ex If there are n and X and Y are independent S (bold) given S (bold), <{X, Y}, S (bold)> is added to the separation set Sep (bold) Add a source, sides X * - remove * Y from G all. Further, the direction of the side of G start which will be described later with reference to FIG. 10 is performed. In particular,
(1) For X *-* Z *-* Y such that X *-* Z and Z *-* Y are included in the edge set in G start and X *-* Y is not included,
(1-1) A separation variable set of deleted edges X *-* Y is obtained.
(1-2) If Z is not included in this separation variable set, for each side of X *-* Z *-* Y,
(1-2-1) If the direction of the side is not defined, the direction is as estimated.
(1-2-2) If the side is already oriented in the opposite direction, determine that it is a collision side,
(1-2-2-1) If a collision edge is detected for the first time, it is directed with a predetermined probability.
(1-2-2-2) The direction is not changed unless the collision edge is detected for the first time.
(1-2) Repeating the direction of the side from the 8th line to the 13th line in FIG. 10, that is, the direction rule, until there is no side to be directed.
 図7の処理は、処理B(11行目から17行目)を実行する。 7 performs the process B (from the 11th line to the 17th line).
  Gstartに含まれるすべての確率変数Yとその親Xについて、
   図7の13行目を満たすとき、すなわち、G_exに含まれるYの親変数集合とG_startに含まれるYの潜在親変数集合との和集合(ただしXを除く)の部分集合S(太字)Sについて、S(太字)の元となる変数がn個でかつXとYがS(太字)Sを所与として独立となるS(太字)が存在するならば、分離集合Sep(太字)に<{X,Y},S(太字)>を元として追加し、X*-*Yをgallから削除する。
   (gstartの辺の方向付け)X*-*ZとZ*-*Yがgstart中の辺集合に含まれ、X*-*Yが含まれないような、X*-*Z*-*Yについて、
    削除された辺X*-*Yの分離変数集合を得る。
    Zがこの分離変数集合に含まれない場合、X*-*Z*-*Yの各辺について、
     辺の向きが定められていない場合には推定したとおりに方向づける。
     辺が反対方向に既に方向づけられていれば衝突辺であると判定し、
      初めて検知された衝突辺であれば、所定の確率で方向付ける。
      初めて検知された衝突辺でなければ、そのままにする。
   図10の8行目から13行目すなわち,方向付け規則による辺の方向付けを、方向づけられる辺がなくなるまで繰り返す。
   トポロジカル順序の最も低い変数集合を子孫部分集合gDとして、これをgstartから一時的に削除し、残りの互いに接続していない変数集合をそれぞれ先祖部分集合 G_A1,G_A2,...,G_Akとする(先祖部分集合を特定したらG_startから一時的に削除したG_Dは元に戻す)。
For all random variables Y and their parent X included in G start ,
When the 13th line of FIG. 7 is satisfied, that is, a subset S (bold) S of a union set (excluding X) of a parent variable set of Y included in G_ex and a latent parent variable set of Y included in G_start If there are n variables that are the source of S (bold) and X and Y are independent S (bold) given S (bold) S, then the separation set Sep (bold) < Add {X, Y}, S (bold)> as a source, and delete X *-* Y from gall.
(Orienting the edges of gstart) X *-* Z *-* Y such that X *-* Z and Z *-* Y are included in the edge set in gstart, but not X *-* Y about,
A set of separation variables of the deleted side X *-* Y is obtained.
If Z is not included in this separation variable set, for each side of X *-* Z *-* Y,
If the direction of the side is not defined, the direction is as estimated.
If the side is already oriented in the opposite direction, determine that it is a collision side,
If the collision edge is detected for the first time, it is directed with a predetermined probability.
If it is not the first collision detected, leave it alone.
The direction from the 8th line to the 13th line in FIG. 10, that is, the direction of the side according to the orientation rule is repeated until there is no more side to be directed.
The variable set having the lowest topological order is set as a descendant subset gD, which is temporarily deleted from gstart, and the remaining unconnected variable sets are respectively ancestor subsets G_A1, G_A2,. . . , G_Ak (If an ancestor subset is specified, G_D temporarily deleted from G_start is restored).
 図7の処理は、処理C(18行目から20行目)を実行する。 7 performs the process C (from the 18th line to the 20th line).
 変数i=1とし、i=kとなるまで以下を繰り返す。
 先祖部分集合G_AiについてRAIEXを再帰的に呼びだして処理する。すなわち、RAIEX(n=n+1,G_start=G_Ai,G_ex=G_ex,G_all=G_all)を実行する。
The variable i = 1 and the following is repeated until i = k.
RAIEX is recursively called and processed for the ancestor subset G_Ai. That is, RAIEX (n = n + 1, G_start = G_Ai, G_ex = G_ex, G_all = G_all) is executed.
 図7の処理は、処理D(21行目から25行目)を実行する。 7 performs the process D (from the 21st line to the 25th line).
 G_ex_Dを{G_A1,G_A2,...,G_Ak,G_ex}と定義する。子孫部分集合G_DについてRAIEXを再帰的に呼びだして処理する。すなわち、RAIEX(n=n+1,G_start=G_D,G_ex=G_ex_D,G_all=G_all)を実行する。最後にgallを返す。 G_ex_D is changed to {G_A1, G_A2,. . . , G_Ak, G_ex}. RAIEX is recursively called and processed for the descendant subset G_D. That is, RAIEX (n = n + 1, G_start = G_D, G_ex = G_ex_D, G_all = G_all) is executed. Finally, gall is returned.
 辺の向き衝突検知
 ここでは、辺の方向付け誤りの発生の原因、方向付け誤りが消失辺発生に結び付く理由、及び辺の方向付け誤りを検知する方法を説明する。
Edge Direction Collision Detection Here, the cause of the occurrence of an edge orientation error, the reason for the orientation error leading to the disappearance edge occurrence, and the method for detecting the edge orientation error will be described.
Figure JPOXMLDOC01-appb-I000006
Figure JPOXMLDOC01-appb-I000006
 本発明の実施例は、図8について説明した方向付け誤りによる消失辺発生を抑制するために、方向付け誤りをv-構造推定時に検出する。基本的に、本発明の実施例は、単一の辺X*-*Yを共通して持つ複数のv-構造が推定されるとき、X*-*Yに異なる方向付けを与えるv-構造があれば、いずれかのv-構造推定が誤っていると判断する。ここで、複数のv-構造により辺X*-*Yに異なる方向が与えられる状況を、方向付けが衝突したと呼び、この状態を、両方向の辺X⇔Yで表す。X⇔Yを衝突辺と呼ぶ。 The embodiment of the present invention detects an orientation error at the time of v-structure estimation in order to suppress the occurrence of a missing edge due to the orientation error described with reference to FIG. Basically, embodiments of the present invention provide v-structures that give different orientations to X *-* Y when multiple v-structures with a single side X *-* Y are inferred. If there is, it is determined that any v-structure estimation is incorrect. Here, a situation in which different directions are given to the side X *-* Y by a plurality of v-structures is called an orientation collision, and this state is represented by sides X⇔Y in both directions. X⇔Y is called a collision side.
Figure JPOXMLDOC01-appb-I000007
Figure JPOXMLDOC01-appb-I000007
 本発明の実施例は、v-構造推定の矛盾を衝突辺の発生により検知し、衝突辺の方向を確率的にいずれかに決定する。衝突辺について決定された方向は、個別実行(スレッド)ごとに別々に保持・管理される。 In the embodiment of the present invention, a contradiction in v-structure estimation is detected by the occurrence of a collision side, and the direction of the collision side is determined to be one of the probabilities. The direction determined for the collision edge is maintained and managed separately for each individual execution (thread).
 本発明の実施例の新しい方向付けルーチンorientEdgeをAlgorithm5として図10に示す。図11は図10の処理のフローチャートを示す。方向付けルーチンorientEdgeの引数は、すべてスレッドローカルであり、各スレッドごとに初期化されて固有の状態を取る。orientEdgeルーチンは、従来の辺の方向付けルーチンの引数に加え、衝突辺の方向をスレッドごとに別々に決定し維持するために、衝突辺と当該辺における親変数の組を要素とした辺親集合E(太字)を引数に取る。一例として、辺親集合内の要素探索を定数時間のオーダーで実行するために、辺親集合の実装は、向きを無視した辺をキー、当該辺における親変数を値としたハッシュとしてもよい。本発明の実施例における方向付けルーチンorientEdgeでは、v-構造の候補となる3つの変数の組X*-*Z*-*Yを探すとき、これら変数間の辺の向きを無視していることに注意されたい。これにより、それ以前に推定されたv-構造の影響を受けることなく、現在着目する3つの変数がv-構造を構成するか否かを判断できる。ルーチン後半の、方向付け規則に従い方向を決める部分(行7から行14まで)は、従来の方向付けルーチンorientEdgeTradと同様である。従来と異なるのは、それ以前、すなわち各v-構造の2つの辺の向きを決める部分(行5と行6のorientVStructure 呼出し)である。 The new orientation routine orientEdge of the embodiment of the present invention is shown as Algorithm 5 in FIG. FIG. 11 shows a flowchart of the processing of FIG. The arguments of the orientation routine orientEdge are all thread-local and are initialized for each thread to take a unique state. The orientEdge routine, in addition to the arguments of the conventional edge orientation routine, determines the direction of the collision edge separately for each thread, and maintains an edge parent set consisting of the pair of the collision edge and the parent variable on that edge as an element. Take E p (bold) as an argument. As an example, in order to execute element search in the edge parent set in the order of a constant time, the edge parent set may be implemented as a hash with an edge whose direction is ignored as a key and a parent variable in the edge as a value. In the orientation routine orientEdge in the embodiment of the present invention, when searching for a set of three variables X *-* Z *-* Y that are candidates for the v-structure, the direction of the edge between these variables is ignored. Please be careful. As a result, it is possible to determine whether or not the three variables of interest currently form the v-structure without being affected by the previously estimated v-structure. The part of the latter half of the routine that determines the direction according to the orientation rules (from line 7 to line 14) is the same as the conventional orientation routine orientEdgeTrad. What is different from the prior art is the part that determines the orientation of the two sides of each v-structure (orientVStructure call in lines 5 and 6).
 v-構造の2つの辺の向きを決めるorientVStructureルーチンを図12にAlgorithm 6 として示す。図13は図12の処理のフローチャートを示す。orientVStructureルーチンは、v-構造であると推定されたそれぞれの辺について呼び出され、v-構造の推定が正しい場合の親変数Sと子変数Sが渡される。当該辺についてのorientVStructure 呼出しが初めてであれば、呼出し時点で辺はまだ無向辺なので、推定された通りに親変数をS、子変数をSとして辺の向きを定める(行8から行9)。当該辺についてのorientVStructure 呼出しが初めてではなく推定されたv-構造とは反対の方向にすでに方向づけられていれば(行2)、当該辺は衝突辺であると判断される。この衝突辺を検知したのが初めてであれば(行3)、このスレッドにおける向きを確率的に選択し(行4)、辺親集合E(太字)にその決定を追加し、保持する。 The orientationVStructure routine that determines the orientation of the two sides of the v-structure is shown as Algorithm 6 in FIG. FIG. 13 shows a flowchart of the processing of FIG. orientVStructure routine, v- called for each of the sides was estimated to be structured, parent variable S p and the child variable S c where estimation is correct v- structure is passed. If first time orientVStructure calls for the sides, since at the time calling side is a still undirected edges, rows parent variable from S p, the child variable orienting side as S c (rows 8 as estimated 9). If the orientationVStructure call for the edge is already oriented in the opposite direction to the estimated v-structure, not the first time (line 2), the edge is determined to be a collision edge. If this collision edge is detected for the first time (line 3), the direction in this thread is selected stochastically (line 4), and the decision is added to the edge parent set E p (bold) and held.
 上記の例では、単純に、ある辺が最初に衝突辺と判定されたときに確率1/2で方向を決める(図12の行4)。しかし、他の例において、どちらの方向を指示するv-構造推定が多いかによって、多い方のv-構造に従う向きが高い確率で選択されてもよい。 In the above example, when a side is first determined to be a collision side, the direction is determined with a probability of 1/2 (line 4 in FIG. 12). However, in another example, depending on which direction has more v-structure estimations, the direction following the larger v-structure may be selected with a high probability.
 上記の例では、v-構造の推定のために条件付き独立テストの真偽(と分離集合)しか用いていない。しかし、他の例において、条件付き独立テストのp値を条件付き独立が成立している確率とみて、辺の向きが一致するv-構造集合と向きが反対となるv-構造集合とについて、それぞれ、対応するテストのp値の平均を取り、その比に応じた確率で向きを割り当ててもよい。 In the above example, only the true / false (and separate set) of the conditional independent test is used for v-structure estimation. However, in another example, regarding the p-value of the conditional independence test as the probability that conditional independence is established, the v-structure set having the same edge direction and the v-structure set having the opposite direction are: Each may take the average of the p-values of the corresponding test and assign the direction with a probability according to the ratio.
 図14は、本発明の実施例の処理の流れを示す。以下の処理は、図1のコンピュータ100やプロセッサによって実行されてもよく、コンピュータ実行可能な命令がコンピュータを図1に示す各コンポーネントとして動作させることによって実行されてもよい。本発明の実施例は、そのようなコンピュータ実行可能な命令を格納するコンピュータ読み取り可能な記憶媒体であってもよい。 FIG. 14 shows a processing flow of the embodiment of the present invention. The following processing may be executed by the computer 100 or the processor of FIG. 1 or may be executed by causing a computer-executable instruction to operate the computer as each component shown in FIG. An embodiment of the present invention may be a computer-readable storage medium storing such computer-executable instructions.
 ステップ1402において、初期処理が実行される。初期処理において、プログラムの動作パラメータチェックなどの学習の準備が行われる。プログラム制御部102は、コマンドライン引数などから渡された、データベース接続情報、データ仕様記述ファイル名、条件付き独立テストの有意水準α、スレッド数t(実施例のCIベース学習を並列して実行させる数を指定する)、スーパーストラクチャ記述ファイル名などの動作パラメータをチェックする。初期処理においてエラーがあれば、エラーが表示装置などに表示されて処理を終了する。初期処理が正常に実行される場合、処理は続行され、データ仕様解析部104がデータ仕様を解析する。データ仕様解析部104は、データ仕様記述ファイルを読み取り、データに含まれる各確率変数の名前、確率変数の数、各確率変数が取りうるすべての状態の名前、状態数を保持する。次に、データ仕様解析部104は、データベース接続情報を用いてデータベースにアクセスし、全データの件数を取得してこれを保持する。次に、プログラム制御部102は、CIベース構造学習部806に制御を移す。ステップ1404において、初期処理の後に制御を受け取ったCIベース構造学習部106は、本発明の主処理(例えば、図6に対応する処理)を実行する。指定された並列実行数だけRAIEX実行スレッドが生成される。ステップ1406において、本発明の実施例による新しい辺の方向付け手法を用いたRAIEXが各スレッドにおいて並列実行される。ステップ1408において、主処理を実行する親スレッドは、いずれかのRAIEX実行スレッドが終了するまで待ち合わせる。ステップ1410において、終了したスレッドから得られたRAIEXの実行結果であるグラフgoutの辺集合E(太字)(gout)とこれまでの辺集合との和集合としてスーパーストラクチャが生成される。未処理の子スレッドがあれば(ステップ1412の「Yes」)、ステップ1108の実行スレッド待ち合わせに戻る。ステップ1414において、グラフ構造構築部112は、CIベース構造学習部106からスーパーストラクチャのグラフ構造を受け取り、スーパーストラクチャ記述ファイルの仕様に則ってこれを出力する。ステップ1416において処理が終了する。図14のより具体的な処理はすでに説明したとおりである。 In step 1402, initial processing is executed. In the initial process, preparations for learning such as program operation parameter check are performed. The program control unit 102 executes the database connection information, the data specification description file name, the significance level α of the conditional independent test, the number of threads t (CI base learning of the embodiment is executed in parallel) passed from the command line argument or the like. Check the operating parameters such as the superstructure description file name. If there is an error in the initial process, the error is displayed on the display device and the process is terminated. When the initial process is normally executed, the process is continued, and the data specification analysis unit 104 analyzes the data specification. The data specification analysis unit 104 reads the data specification description file, and holds the names of the random variables, the number of random variables, the names of all the states that can be taken by the random variables, and the number of states. Next, the data specification analyzing unit 104 accesses the database using the database connection information, acquires the number of all data, and holds it. Next, the program control unit 102 transfers control to the CI base structure learning unit 806. In step 1404, the CI base structure learning unit 106 that has received control after the initial process executes the main process of the present invention (for example, a process corresponding to FIG. 6). RAIEX execution threads are generated for the specified number of parallel executions. In step 1406, RAIEX using the new edge orientation technique according to an embodiment of the present invention is executed in parallel in each thread. In step 1408, the parent thread that executes the main process waits until one of the RAIEX execution threads ends. In step 1410, the superstructure is generated as the union of the edge set of edge set E of the graph g out an execution result of RAIEX obtained from terminated thread (bold) (g out) so far. If there is an unprocessed child thread (“Yes” in step 1412), the process returns to waiting for an execution thread in step 1108. In step 1414, the graph structure construction unit 112 receives the super structure graph structure from the CI base structure learning unit 106, and outputs it according to the specifications of the super structure description file. In step 1416, the process ends. The more specific processing of FIG. 14 is as already described.
 以下において、本発明の実施例の手法を他のCIベース手法と比較するための実験の結果が説明される。比較対象とした従来のCIベース手法は、HPC(Hybrid Parents and Children)、MMPC(Max-Min Parents and Children)、TPDA(Three Phase Dependency Analysis: Cheng, J., Greiner, R., Kelly, J., Bell, D., and Liu, W., “Learning Bayesian networks from data: an information-theory based approach,” Arti_cial Intelligence, Vol. 137, No. 1-2, pp. 43-90 (2002))、RAI(Recursive Autonomy Identification)の4つの手法である。HPCの実装については、RおよびCの実装として公開されている「Gasse, M., Aussem, A., and Elghazel, H.: An Experimental Comparison of Hybrid Algorithms for Bayesian Network Structure Learning, in ECML PKDD '12: Proceedings of the European conference on Machine Learning and Knowledge Discovery in Databases - Part I, pp. 58-73, Springer-Verlag (2012)」の実装を使用した。MMPCとTPDAについては、Matlab実装として公開されている「Tsamardinos, I., Brown, L. E., and Aliferis, C. F.: The max-min hill-climbing Bayesian network structure learning algorithm, Machine Learning, Vol. 65, pp. 31-78 (2006)」の実装を使用した。RAIと本発明の実施例については、Java(商標登録)により独自に実装したものを使用した。実験手順は次の通りである。 In the following, the results of experiments for comparing the method of the embodiment of the present invention with other CI-based methods will be described. Conventional CI-based methods to be compared are HPC (Hybrid Parents and Children), MMPC (Max-Min Parents and Children), TPDA (Three Dependency Analysis: Cheng, J., Greiner, R., Kelly, J. , Bell, D., and Liu, W., “Learning Bayesian networks from data: an information-theory based approach,” Arti_cial Intelligence, Vol. 137, No. 1-2, pp. 43-90 (2002)), There are four methods of RAI (Recursive Autonomy Identification). Regarding the implementation of HPC, “Gasse, M., Aussem, A., and Elghazel, H .: An Experimental Comparison of Hybrid Algorithms for Bayesian Network Structure Learning, in ECML PKDD 12 : Proceedings of the European conference on Machine Learning and Knowledge Discovery in Databases-Part I, pp. 58-73, Springer-Verlag (2012) For MMPC and TPDA, “Tsamardinos, I., Brown, L. E., and Aliferis, C. F .: The max-min hill-climbing Bayesian network structure learning algorithm, Machine Learning, Vol. 65, pp. 31-78 (2006) ”was used. For RAI and the examples of the present invention, those independently implemented by Java (registered trademark) were used. The experimental procedure is as follows.
 (1)真のベイジアンネットワークから、入力となるデータを10,000件ずつ10 組生成する。
 (2)各CIベース手法により、入力データからスーパーストラクチャを推定する。推定結果に基づき、消失辺、余剰辺、平均次数、最大次数、推定に要した時間をそれぞれ計測する。
 (3)スーパーストラクチャを制約として、手順(2)と同一のデータを用いてスコア学習の厳密解探索を行う。このとき、厳密解探索に要した時間、解となったベイジアンネットワークのスコアをそれぞれ計測する。
(1) From the true Bayesian network, generate 10 sets of input data for every 10,000 records.
(2) Superstructure is estimated from input data by each CI-based method. Based on the estimation result, the missing side, the extra side, the average order, the maximum order, and the time required for the estimation are measured.
(3) An exact solution search for score learning is performed using the same data as in step (2) with the superstructure as a constraint. At this time, the time required for the exact solution search and the score of the Bayesian network that is the solution are measured.
 手順(2)で使用される条件付き独立テストについては、すべての実験で有意水準5%のG検定「Spirtes, P., Glymour, C., and Scheines, R.: Causation, Prediction, and Search, MIT Press, New York, N.Y, 2nd edition (2000)」、「Neapolitan, R. E.: Learning Bayesian Networks, Prentice Hall (2003)」が使用された。手順(3)のスーパーストラクチャを制約としたスコア学習の厳密解探索については、独自のJava実装を用いた。スコアとしては、ベイジアンネットワークの学習に広く用いられるBDeuを用い、そのハイパーパラメータαは近年のBDeuの理論解析結果として推奨されるα=1.0「Ueno, M.: Learning networks determined by the ratio of prior and data, in Proceedings of the Twenty-Sixth Conference Annual Conference on Uncertainty in Arti_cial Intelligence (UAI-10), pp. 598-605, AUAI Press (2010)」を使用した。 For conditional independence test, which is used in step (2), all of the significance level of 5% in the experiment of G 2 test "Spirtes, P., Glymour, C., and Scheines, R .: Causation, Prediction, and Search , MIT Press, New York, NY, 2nd edition (2000) ”,“ Neapolitan, RE: Learning Bayesian Networks, Prentice Hall (2003) ”. The original Java implementation was used for the exact solution search of the score learning with the superstructure of the procedure (3) as a constraint. As a score, BDeu widely used for Bayesian network learning is used, and its hyperparameter α is α = 1.0 “Ueno, M .: Learning networks determined by the ratio of which is recommended as a result of theoretical analysis of BDeu in recent years. prior and data, in Proceedings of the Twenty-Sixth Conference Annual Conference on Uncertainty in Arti_cial Intelligence (UAI-10), pp. 598-605, AUAI Press (2010).
 すべての実験は、3.20GHz Intel Corei7-3930K6コアCPU、64GBメモリのWindows7(登録商標) 64bitマシン上で実施された。 All experiments were performed on a 3.20 GHz Intel Corei 7-3930 K6 core CPU, 64 GB memory Windows 7 (registered trademark) 64-bit machine.
 表1は、実験対象として使用したベイジアンネットワークを示す。ネットワーク構造は図15乃至図18に示される。これらは広く公開されたものがもとになっており.このうちWin95pts はGeNIe & SMILE network repository(http://genie.sis.pitt.edu/index.php/network-repository)から取得したもの、残りのAlarm, Insurance, Water は、Bayesian Network Repository (http://www.cs.huji.ac.il/~galel/Repository/)より取得したものである。スーパーストラクチャ抽出後のスコア学習による厳密解探索を実験用計算機の限られたメモリ上で実行可能とするために、Alarm, Win95pts, Water の3つのネットワークにおいては、変数の数を25個に減らした(そのため、Alarm-25,Win95pts-25, Water-25と表記されている)。変数の削減は、最大入次数(親変数の最大数) が変わらない限り元のネットワークから子を持たない変数を取り除くことによって行った。表2の|V(太字)|は変数の数、|E(太字)|は辺の数、Max In/Out は最大入次数(親変数の最大数)及び最大出次数(子変数の最大数)、Stateは各変数の状態数の下限及び上限、Paramは確率変数のパラメータ数、V.Skew Paramは確率値が0.99以上となるパラメータ数を表している。 Table 1 shows the Bayesian network used as an experiment target. The network structure is shown in FIGS. These are based on widely published ones. Of these, Win95pts was obtained from GeNIe & SMILE network repository (http://genie.sis.pitt.edu/index.php/network-repository), and the remaining Alarm, Insurance, and 、 Water 、 were Bayesian Network Repository (http: //www.cs.huji.ac.il/~galel/Repository/) In order to be able to execute the exact solution search by the score learning after extracting the superstructure on the limited memory of the experimental computer, the number of variables was reduced to 25 in the three networks of Alarm, Win95pts, and Water. (Therefore, it is written as Alarm-25, Win95pts-25, Water-25). The reduction of variables was performed by removing variables that had no children from the original network unless the maximum input order (the maximum number of parent variables) changed. In Table 2, | V (bold) | is the number of variables, | E (bold) | is the number of sides, Max In / Out is the maximum input order (maximum number of parent variables) and maximum output order (maximum number of child variables). ), State represents the lower limit and upper limit of the number of states of each variable, Param represents the number of parameters of the random variable, and V.Skew Param represents the number of parameters having a probability value of 0.99 or more.
Figure JPOXMLDOC01-appb-T000008
Figure JPOXMLDOC01-appb-T000008
 各ベイジアンネットワークにおける実験結果を表3、表4、表5及び表6にそれぞれ示す。表のMissing EdgeからSS Timeまでの各列は、表の左側に示されるアルゴリズムによって抽出されたスーパーストラクチャについて表す。Missing Edgeは消失辺を表し、Extra Edgeは余剰辺を表し、Degreeは平均次数を表し、Max Degreeは最大次数を表し、SS Timeは開始からスーパーストラクチャ出力までに要した秒数を表している。表のScore Time及びBDeuの2つの列は、出力されたスーパーストラクチャを用いて厳密解探索を行った結果を示す。Score Timeは厳密解探索に要した秒数を表し、BDeuは厳密解探索の解となったベイジアンネットワークのBDeuスコアを表している。いずれの値も、10組のデータセットの平均値である。本発明の実施例の手法はProposed-2乃至Proposed-10として表される。ハイフンに続く数字は、並列実行数tを表している。たとえば、Proposed-3は、並列実行数3で実行される本発明の実施例の手法を表す。 The experimental results in each Bayesian network are shown in Table 3, Table 4, Table 5 and Table 6, respectively. Each column from Missing Edge to SS Time in the table represents the superstructure extracted by the algorithm shown on the left side of the table. Missing Edge represents a missing edge, Extra Edge represents a surplus edge, Degree represents an average order, Max Degree represents a maximum order, and SS Time represents the number of seconds required from the start to the superstructure output. The two columns of Score Time and BDeu in the table show the results of an exact solution search using the output superstructure. Score Time represents the number of seconds required for the exact solution search, and BDeu represents the BDeu score of the Bayesian network that is the solution for the exact solution search. All values are average values of 10 data sets. The method of the embodiment of the present invention is expressed as Proposed-2 to Proposed-10. The number following the hyphen represents the parallel execution number t. For example, Proposed-3 represents the method of the embodiment of the present invention executed with the parallel execution number of 3.
Figure JPOXMLDOC01-appb-T000009
Figure JPOXMLDOC01-appb-T000009
Figure JPOXMLDOC01-appb-T000010
Figure JPOXMLDOC01-appb-T000010
Figure JPOXMLDOC01-appb-T000011
Figure JPOXMLDOC01-appb-T000011
Figure JPOXMLDOC01-appb-T000012
Figure JPOXMLDOC01-appb-T000012
 Alarm-25の実行結果(表3)を見ると、本発明の実施例は、並列実行数t=2の場合に、すでに最小のスーパーストラクチャ消失辺を達成したことがわかる。その代償として、本発明の実施例では余剰辺が数倍多くなっている。しかし、スーパーストラクチャの学習時間、スコアによる厳密解の探索時間について、本発明の実施例と従来の手法との間には目立った差がないことがわかる。厳密解探索のスコア(BDeu)を見ると、本発明の実施例の手法は並列実行数t=2の時点ですでに最大のスコアを達成しており、最善の結果を出せることがわかる。 From the execution result of Alarm-25 (Table 3), it can be seen that the embodiment of the present invention has already achieved the minimum superstructure disappearance edge when the number of parallel executions t = 2. In exchange for this, in the embodiment of the present invention, the number of extra edges is several times greater. However, it can be seen that there is no noticeable difference between the embodiment of the present invention and the conventional method in terms of the superstructure learning time and the search time for the exact solution based on the score. Looking at the exact solution search score (BDeu), it can be seen that the method of the embodiment of the present invention has already achieved the maximum score at the time when the number of parallel executions t = 2 and the best result can be obtained.
 次に、Win95pts-25の結果(表4)を見ると、Alarm-25の実行結果(表3)と同様であることがわかる。 Next, looking at the Win95pts-25 result (Table 4), it can be seen that it is the same as the Alarm-25 execution result (Table 3).
 次に、Water-25の結果(表5)を見ると、やはり同様の結果が出ている。ただし、消失辺などの改善度合いはさほど大きくなく、並列実行数を増やす効果もほとんどない。これは、Water-25 は確率が非常に片寄ったパラメータを多く持つネットワークであるため(図11のV.Skew Paramを参照されたい)、因果関係がほぼ決定的であり、そもそも学習が困難なネットワークであることに由来すると考えられる。 Next, looking at the results of Water-25 (Table 5), the same results are obtained. However, the degree of improvement such as lost edges is not so large, and there is almost no effect of increasing the number of parallel executions. This is because Water-25Water is a network with many parameters whose probabilities are greatly offset (see V.Skew Param in Fig. 11), so the causal relationship is almost decisive and it is difficult to learn in the first place. It is thought that it originates in being.
 最後に、Insuranceの結果(表6)を考察する。Insuranceでは、本発明の実施例の手法の並列実行数が6以上である場合、最大次数が本実験環境の上限17を超えることがあった。このため、Insuranceを用いる実験においては、スーパーストラクチャの学習後に、次数が17を超えた変数については、次数が最大17となるよう隣接変数を刈り込んだ。隣接変数の刈り込みは、条件付き独立テスト時に得られる条件付き相互情報量を記録し、条件付き相互情報量が大きい変数から順に最大17個までを隣接変数として残すことにより行われた。実験結果を見ると、Alarm-25やWin95pts-25と同様に、本発明の実施例の手法が消失辺及びBDeuスコアの点で良くなることがわかる。実施例の手法の場合の余剰辺の多さは、スーパーストラクチャ抽出の時間にはほとんど影響を与えないが、次数の増加を通じて厳密解探索時間に影響を与えている。 Finally, consider the Insurance results (Table 6). In Insurance, when the number of parallel executions of the method of the embodiment of the present invention is 6 or more, the maximum order may exceed the upper limit 17 of the experimental environment. For this reason, in the experiment using Insurance, after learning the superstructure, adjacent variables are trimmed so that the order of the variable exceeding 17 is 17 at the maximum. The pruning of the adjacent variables was performed by recording the conditional mutual information obtained at the time of the conditional independent test and leaving up to 17 variables as the adjacent variables in order from the variable with the larger conditional mutual information. From the experimental results, it can be seen that, like Alarm-25 and Win95pts-25, the method of the embodiment of the present invention improves in terms of disappearance and BDeu score. In the case of the method of the embodiment, the number of surplus edges hardly affects the time for superstructure extraction, but affects the exact solution search time through the increase in the order.
 実験に使用したベイジアンネットワークのグラフ構造を図15乃至18に示す。各頂点は確率変数を表し、各頂点の括弧内の数字は変数の状態数を表す。 The graph structure of the Bayesian network used in the experiment is shown in FIGS. Each vertex represents a random variable, and the number in parentheses at each vertex represents the number of states of the variable.
 実験結果から、本発明の手法がスーパーストラクチャの消失辺をもっとも抑制できること、本発明の手法が、スーパーストラクチャを用いたスコア学習の厳密解探索においてもっとも高スコアのベイジアンネットワークを発見できることが示された。 The experimental results show that the method of the present invention can suppress the disappearance edge of the superstructure most, and that the method of the present invention can find the highest score Bayesian network in the exact solution search of the score learning using the superstructure. .
 本明細書において、本発明は特定の実施例に関して説明されたが、本明細書に記載された実施例は、本発明を限定的に解釈することを意図したものではなく、本発明を例示的に説明することを意図したものである。本発明の範囲から逸脱することなく他の代替的な実施例を実施することが可能であることは当業者にとって明らかである。 Although the invention herein has been described with reference to particular embodiments, the embodiments described herein are not intended to be construed as limiting the invention and are exemplary. It is intended to explain. It will be apparent to those skilled in the art that other alternative embodiments can be practiced without departing from the scope of the invention.

Claims (3)

  1.  入力データからスーパーストラクチャを抽出するプログラムであって、コンピュータに、
     (A)各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記述するデータ仕様記述ファイルを入力としてデータベースから受け取るステップと、
     (B)前記データ仕様記述ファイルを解析し、各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記憶部に格納するステップと、
     (C)出力となるべきグラフを完全無向グラフとして初期化し、分離集合を空集合として初期化し、条件付き独立テストの次数を0とし、記憶部に格納するステップと、
     (D)グラフ上に辺を有するすべての変数ペアX,Yについて、
      (D1)|S|=n、S⊆Zである変数集合Sについて条件付き独立テストTest(X;Y|S)を行うステップであって、ZはX及びYの潜在親変数集合であるステップ、
      (D2)条件付き独立テストの結果がInd(X;Y|S)である場合、分離集合をSep=Sep∪{<{X,Y},S>}によって更新して記憶部に格納するステップ、並びに
      (D3)グラフからXとYとの間の辺を削除して該グラフを記憶部に格納するステップ
     を実行するステップと、
     (E)グラフ内に存在する推定されるv-構造の辺について、方向が決定されていない場合、推定されるv-構造のとおりに辺の向きを決定するステップと、
     (F)該辺が推定されたv-構造とは反対の方向に方向付けられている場合、該辺が衝突辺であると決定し、該衝突辺の向きを所定の確率に従って選択し、該辺と該辺の親変数の組とを要素として有する辺親集合を記憶部に格納するステップと、
     (G)DAGの制約と矛盾しない方向付け規則に従って、辺の方向を決定するステップと、
     (H)nをインクリメントするステップと、
     (I)グラフ上に残っている辺のすべての変数ペアX,Yについて、潜在親変数集合のサイズがn以上である場合、ステップ(D)に戻り、潜在親変数集合のサイズがn未満である場合、得られたグラフを記憶部に格納するステップと、
     (J)ステップ(C)乃至(I)を所定の回数繰り返すステップと、
     (K)得られた所定の個数のグラフの和集合をスーパーストラクチャとして出力するステップと
    を実行させるプログラム。
    A program that extracts superstructure from input data.
    (A) receiving from the database as input a data specification description file describing the name of each random variable, the number of random variables, the state name of each random variable, the name of each state that can be taken by each random variable, and the number of states;
    (B) Analyzing the data specification description file, and storing the name of each random variable, the number of random variables, the state name of each random variable, the names of states that each random variable can take, and the number of states in a storage unit; ,
    (C) initializing a graph to be output as a completely undirected graph, initializing a separation set as an empty set, setting the order of a conditional independent test to 0, and storing the result in a storage unit;
    (D) For all variable pairs X, Y having edges on the graph,
    (D1) A step of performing a conditional independent test Test (X; Y | S) for the variable set S in which | S | = n, S⊆Z, where Z is a latent parent variable set of X and Y ,
    (D2) When the result of the conditional independent test is Ind (X; Y | S), the separated set is updated by Sep = Sep∪ {<{X, Y}, S>} and stored in the storage unit And (D3) deleting the edge between X and Y from the graph and storing the graph in the storage unit; and
    (E) determining a direction of an edge according to the estimated v-structure if the direction is not determined for the estimated v-structure edge present in the graph;
    (F) If the side is oriented in the opposite direction to the estimated v-structure, determine that the side is a collision side, select the direction of the collision side according to a predetermined probability, Storing an edge parent set having an edge and a set of parent variables of the edge as elements in a storage unit;
    (G) determining an edge direction according to an orientation rule consistent with DAG constraints;
    (H) incrementing n;
    (I) If the size of the latent parent variable set is greater than or equal to n for all the variable pairs X and Y of the remaining edges on the graph, the process returns to step (D) and the size of the latent parent variable set is less than n. If there is a step of storing the obtained graph in the storage unit;
    (J) repeating steps (C) to (I) a predetermined number of times;
    (K) A program for executing a step of outputting a union of a predetermined number of obtained graphs as a superstructure.
  2.  コンピュータにより実行されると入力データからスーパーストラクチャを抽出する方法をコンピュータに実行させるプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、前記方法は、
     (A)各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記述するデータ仕様記述ファイルを入力としてデータベースから受け取るステップと、
     (B)前記データ仕様記述ファイルを解析し、各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記憶部に格納するステップと、
     (C)出力となるべきグラフを完全無向グラフとして初期化し、分離集合を空集合として初期化し、条件付き独立テストの次数を0とし、記憶部に格納するステップと、
     (D)グラフ上に辺を有するすべての変数ペアX,Yについて、
      (D1)|S|=n、S⊆Zである変数集合Sについて条件付き独立テストTest(X;Y|S)を行うステップであって、ZはX及びYの潜在親変数集合であるステップ、
      (D2)条件付き独立テストの結果がInd(X;Y|S)である場合、分離集合をSep=Sep∪{<{X,Y},S>}によって更新して記憶部に格納するステップ、並びに
      (D3)グラフからXとYとの間の辺を削除して該グラフを記憶部に格納するステップ
     を実行するステップと、
     (E)グラフ内に存在する推定されるv-構造の辺について、方向が決定されていない場合、推定されるv-構造のとおりに辺の向きを決定するステップと、
     (F)該辺が推定されたv-構造とは反対の方向に方向付けられている場合、該辺が衝突辺であると決定し、該衝突辺の向きを所定の確率に従って選択し、該辺と該辺の親変数の組とを要素として有する辺親集合を記憶部に格納するステップと、
     (G)DAGの制約と矛盾しない方向付け規則に従って、辺の方向を決定するステップと、
     (H)nをインクリメントするステップと、
     (I)グラフ上に残っている辺のすべての変数ペアX,Yについて、潜在親変数集合のサイズがn以上である場合、ステップ(D)に戻り、潜在親変数集合のサイズがn未満である場合、得られたグラフを記憶部に格納するステップと、
     (J)ステップ(C)乃至(I)を所定の回数繰り返すステップと、
     (K)得られた所定の個数のグラフの和集合をスーパーストラクチャとして出力するステップと
    を含むコンピュータ読み取り可能な記憶媒体。
    A computer-readable storage medium storing a program that, when executed by a computer, causes a computer to execute a method for extracting a superstructure from input data, the method comprising:
    (A) receiving from the database as input a data specification description file describing the name of each random variable, the number of random variables, the state name of each random variable, the name of each state that can be taken by each random variable, and the number of states;
    (B) Analyzing the data specification description file, and storing the name of each random variable, the number of random variables, the state name of each random variable, the names of states that each random variable can take, and the number of states in a storage unit; ,
    (C) initializing a graph to be output as a completely undirected graph, initializing a separation set as an empty set, setting the order of a conditional independent test to 0, and storing the result in a storage unit;
    (D) For all variable pairs X, Y having edges on the graph,
    (D1) A step of performing a conditional independent test Test (X; Y | S) for the variable set S in which | S | = n, S⊆Z, where Z is a latent parent variable set of X and Y ,
    (D2) When the result of the conditional independent test is Ind (X; Y | S), the separated set is updated by Sep = Sep∪ {<{X, Y}, S>} and stored in the storage unit And (D3) deleting the edge between X and Y from the graph and storing the graph in the storage unit; and
    (E) determining a direction of an edge according to the estimated v-structure if the direction is not determined for the estimated v-structure edge present in the graph;
    (F) If the side is oriented in the opposite direction to the estimated v-structure, determine that the side is a collision side, select the direction of the collision side according to a predetermined probability, Storing an edge parent set having an edge and a set of parent variables of the edge as elements in a storage unit;
    (G) determining an edge direction according to an orientation rule consistent with DAG constraints;
    (H) incrementing n;
    (I) If the size of the latent parent variable set is greater than or equal to n for all the variable pairs X and Y of the remaining edges on the graph, the process returns to step (D) and the size of the latent parent variable set is less than n. If there is a step of storing the obtained graph in the storage unit;
    (J) repeating steps (C) to (I) a predetermined number of times;
    (K) A computer-readable storage medium including a step of outputting a union of a predetermined number of obtained graphs as a superstructure.
  3.  入力データからスーパーストラクチャを抽出するコンピュータにより実施される方法であって、
     (A)各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記述するデータ仕様記述ファイルを入力としてデータベースから受け取るステップと、
     (B)前記データ仕様記述ファイルを解析し、各確率変数の名前、確率変数の数、各確率変数の状態名、各確率変数がとり得る状態の名前及び状態数を記憶部に格納するステップと、
     (C)出力となるべきグラフを完全無向グラフとして初期化し、分離集合を空集合として初期化し、条件付き独立テストの次数を0とし、記憶部に格納するステップと、
     (D)グラフ上に辺を有するすべての変数ペアX,Yについて、
      (D1)|S|=n、S⊆Zである変数集合Sについて条件付き独立テストTest(X;Y|S)を行うステップであって、ZはX及びYの潜在親変数集合であるステップ、
      (D2)条件付き独立テストの結果がInd(X;Y|S)である場合、分離集合をSep=Sep∪{<{X,Y},S>}によって更新して記憶部に格納するステップ、並びに
      (D3)グラフからXとYとの間の辺を削除して該グラフを記憶部に格納するステップ
     を実行するステップと、
     (E)グラフ内に存在する推定されるv-構造の辺について、方向が決定されていない場合、推定されるv-構造のとおりに辺の向きを決定するステップと、
     (F)該辺が推定されたv-構造とは反対の方向に方向付けられている場合、該辺が衝突辺であると決定し、該衝突辺の向きを所定の確率に従って選択し、該辺と該辺の親変数の組とを要素として有する辺親集合を記憶部に格納するステップと、
     (G)DAGの制約と矛盾しない方向付け規則に従って、辺の方向を決定するステップと、
     (H)nをインクリメントするステップと、
     (I)グラフ上に残っている辺のすべての変数ペアX,Yについて、潜在親変数集合のサイズがn以上である場合、ステップ(D)に戻り、潜在親変数集合のサイズがn未満である場合、得られたグラフを記憶部に格納するステップと、
     (J)ステップ(C)乃至(I)を所定の回数繰り返すステップと、
     (K)得られた所定の個数のグラフの和集合をスーパーストラクチャとして出力するステップと
    を含む方法。
    A computer-implemented method for extracting superstructure from input data, comprising:
    (A) receiving from the database as input a data specification description file describing the name of each random variable, the number of random variables, the state name of each random variable, the name of each state that can be taken by each random variable, and the number of states;
    (B) Analyzing the data specification description file, and storing the name of each random variable, the number of random variables, the state name of each random variable, the names of states that each random variable can take, and the number of states in a storage unit; ,
    (C) initializing a graph to be output as a completely undirected graph, initializing a separation set as an empty set, setting the order of a conditional independent test to 0, and storing the result in a storage unit;
    (D) For all variable pairs X, Y having edges on the graph,
    (D1) A step of performing a conditional independent test Test (X; Y | S) for the variable set S in which | S | = n, S⊆Z, where Z is a latent parent variable set of X and Y ,
    (D2) When the result of the conditional independent test is Ind (X; Y | S), the separated set is updated by Sep = Sep∪ {<{X, Y}, S>} and stored in the storage unit And (D3) deleting the edge between X and Y from the graph and storing the graph in the storage unit; and
    (E) determining a direction of an edge according to the estimated v-structure if the direction is not determined for the estimated v-structure edge present in the graph;
    (F) If the side is oriented in the opposite direction to the estimated v-structure, determine that the side is a collision side, select the direction of the collision side according to a predetermined probability, Storing an edge parent set having an edge and a set of parent variables of the edge as elements in a storage unit;
    (G) determining an edge direction according to an orientation rule consistent with DAG constraints;
    (H) incrementing n;
    (I) If the size of the latent parent variable set is greater than or equal to n for all the variable pairs X and Y of the remaining edges on the graph, the process returns to step (D) and the size of the latent parent variable set is less than n. If there is a step of storing the obtained graph in the storage unit;
    (J) repeating steps (C) to (I) a predetermined number of times;
    And (K) outputting the union of the obtained predetermined number of graphs as a superstructure.
PCT/JP2013/076245 2013-09-27 2013-09-27 Method and program for extraction of super-structure in structural learning of bayesian network WO2015045091A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/076245 WO2015045091A1 (en) 2013-09-27 2013-09-27 Method and program for extraction of super-structure in structural learning of bayesian network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/076245 WO2015045091A1 (en) 2013-09-27 2013-09-27 Method and program for extraction of super-structure in structural learning of bayesian network

Publications (1)

Publication Number Publication Date
WO2015045091A1 true WO2015045091A1 (en) 2015-04-02

Family

ID=52742295

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/076245 WO2015045091A1 (en) 2013-09-27 2013-09-27 Method and program for extraction of super-structure in structural learning of bayesian network

Country Status (1)

Country Link
WO (1) WO2015045091A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019527413A (en) * 2016-07-07 2019-09-26 アスペン テクノロジー インコーポレイテッド Computer system and method for performing root cause analysis to build a predictive model of rare event occurrences in plant-wide operations
JP7422946B2 (en) 2020-07-02 2024-01-26 三菱電機株式会社 Automatic construction of neural network architecture using Bayesian graph search

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011016281A2 (en) * 2009-08-06 2011-02-10 株式会社シーエーシー Information processing device and program for learning bayesian network structure
JP2013206016A (en) * 2012-03-28 2013-10-07 Sony Corp Information processor and information processing method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011016281A2 (en) * 2009-08-06 2011-02-10 株式会社シーエーシー Information processing device and program for learning bayesian network structure
JP2013206016A (en) * 2012-03-28 2013-10-07 Sony Corp Information processor and information processing method and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019527413A (en) * 2016-07-07 2019-09-26 アスペン テクノロジー インコーポレイテッド Computer system and method for performing root cause analysis to build a predictive model of rare event occurrences in plant-wide operations
JP7461440B2 (en) 2016-07-07 2024-04-03 アスペンテック・コーポレーション COMPUTER SYSTEM AND METHOD FOR PERFORMING ROOT CAUSE ANALYSIS AND BUILDING PREDICTION MODELS FOR THE OCCURRENCE OF RARE EVENTS IN PLANT-WIDE OPERATIONS - Patent application
JP7422946B2 (en) 2020-07-02 2024-01-26 三菱電機株式会社 Automatic construction of neural network architecture using Bayesian graph search

Similar Documents

Publication Publication Date Title
Vora et al. Kickstarter: Fast and accurate computations on streaming graphs via trimmed approximations
US10692007B2 (en) Behavioral rules discovery for intelligent computing environment administration
JP4839424B2 (en) Method for supporting program analysis, and computer program and computer system thereof
Szárnyas et al. IncQuery-D: A distributed incremental model query framework in the cloud
JP6253555B2 (en) System and method for a high performance graph analysis engine
US20130151536A1 (en) Vertex-Proximity Query Processing
CN111145076B (en) Data parallelization processing method, system, equipment and storage medium
CN115358397A (en) Parallel graph rule mining method and device based on data sampling
JP2018169693A (en) Information processing device, information processing method, and information processing program
WO2015045091A1 (en) Method and program for extraction of super-structure in structural learning of bayesian network
JP5975225B2 (en) Fault tree analysis system, fault tree analysis method and program
Chatain et al. Symbolic diagnosis of partially observable concurrent systems
Filou et al. Towards proved distributed algorithms through refinement, composition and local computations
Wu et al. Subnettrees for strict pattern matching with general gaps and length constraints
US9760835B2 (en) Reasoning over cyclical directed graphical models
TWI686704B (en) Graph-based data processing method and system
Bowie Applications of graph theory in computer systems
CN104737125B (en) For the method and system for the integrality for safeguarding code generator output
Rabbi et al. A model slicing method for workflow verification
Ba-Brahem et al. The proposal of improved inexact isomorphic graph algorithm to detect design patterns
Shao et al. Self-Adaptive Anomaly Detection With Deep Reinforcement Learning and Topology
Fahmi et al. Improving the detection of sequential anomalies associated with a loop
Kłopotek Cyclic Bayesian network–Markov process approach
Hunting A nonlinear presolve algorithm in AIMMS
WO2022219809A1 (en) Abductive reasoning device, abductive reasoning method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13894896

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13894896

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP