JP6452580B2 - Parameter estimation method, apparatus, and program - Google Patents

Parameter estimation method, apparatus, and program Download PDF

Info

Publication number
JP6452580B2
JP6452580B2 JP2015182022A JP2015182022A JP6452580B2 JP 6452580 B2 JP6452580 B2 JP 6452580B2 JP 2015182022 A JP2015182022 A JP 2015182022A JP 2015182022 A JP2015182022 A JP 2015182022A JP 6452580 B2 JP6452580 B2 JP 6452580B2
Authority
JP
Japan
Prior art keywords
probability
parameter
value
logic program
parameter estimation
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015182022A
Other languages
Japanese (ja)
Other versions
JP2017058852A (en
Inventor
正彬 西野
正彬 西野
山本 章博
章博 山本
慧 山口
慧 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015182022A priority Critical patent/JP6452580B2/en
Publication of JP2017058852A publication Critical patent/JP2017058852A/en
Application granted granted Critical
Publication of JP6452580B2 publication Critical patent/JP6452580B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、パラメータ推定方法、装置、及びプログラムに係り、特に、確率論理プログラムで用いられる確率パラメータの各々の値を推定するパラメータ推定方法、装置、及びプログラムに関する。   The present invention relates to a parameter estimation method, apparatus, and program, and more particularly, to a parameter estimation method, apparatus, and program for estimating each value of a probability parameter used in a stochastic logic program.

論理プログラムは一階述語論理の節の集まりによって、対象領域における関係性を表現するものである。例えば、   A logic program represents a relationship in a target area by a collection of first-order logic clauses. For example,

mother(X,Y):- parent(X,Y),female(X).
female(hanako).
parent(hanako,taro).
mother (X, Y):-parent (X, Y), female (X).
female (hanako).
parent (hanako, taro).

は3つの節からなる論理プログラムである。X,Yは変数、hanako,taroは定数、mother,parent,femaleは述語記号である。 Is a logic program consisting of three sections. X and Y are variables, hanako and taro are constants, and mother, parent, and female are predicate symbols.

また、A:−B,...,Bの形の節のうち、Aを頭部、B,...,Bを本体部とよぶ。上記の論理プログラムは、ある事象間の論理的な関係を定めている。 In addition, A: -B 1, ..., out of the section in the form of B N, the head of the A, B 1, ..., the B N referred to as the main body. The above logic program defines a logical relationship between certain events.

確率論理プログラムは論理プログラムの拡張であり、論理プログラムが確率を扱えるようにしたものである。通常の論理プログラムの枠組みにおいては、ある論理プログラムΓとある質問qが与えられたとき、節の集合からその質問を論理的帰結として導き出せるかどうかを判断するしかできなかった。すなわち、例えば30%の確率でqを導き出すことができるといったような、不確実性を含む関係を表現することができなかった。確率論理プログラムは確率分布を用いることによって、ある質問qをプログラムが導出できる確率   A stochastic logic program is an extension of a logic program that allows the logic program to handle probabilities. In a normal logic program framework, when a logic program Γ and a question q are given, it is only possible to determine whether the question can be derived as a logical consequence from a set of clauses. That is, it is impossible to express a relationship including uncertainty, for example, q can be derived with a probability of 30%. Probability logic programs use probability distributions to determine the probability that a program can derive a certain question q

を定義することができるようになる。そのため、確率論理プログラムを用いることでより柔軟に対象領域の関係を記述することが可能となる。 Can be defined. Therefore, it becomes possible to describe the relationship between the target areas more flexibly by using the stochastic logic program.

mother(X, Y) :- parent(X, Y), female(X).
0.3::female(hanako).
0.5::parent(hanako, taro).
mother (X, Y):-parent (X, Y), female (X).
0.3 :: female (hanako).
0.5 :: parent (hanako, taro).

上記は確率論理プログラムの例である。なお、確率論理プログラムにはいくつかの変種があるが、以下ではその一種であるProbLog(例えば、非特許文献1を参照)に基づいて説明を進める。通常の論理プログラムとの違いは、節female(hanako)., parent(taro).に数値が付与されていることである。この数値は該当の節が論理プログラムに含まれる確率を表すパラメータである。   The above is an example of a stochastic logic program. There are several variations of the stochastic logic program, but the following description will proceed based on ProbLog (see, for example, Non-Patent Document 1), which is one type. The difference from normal logic programs is that numerical values are assigned to the clauses female (hanako)., Parent (taro). This numerical value is a parameter representing the probability that the corresponding section is included in the logic program.

例えば0.3::female(hanako).は、節female(hanako)が0.3の確率で論理プログラムに含まれることを意味している。確率論理プログラムでは、このように一部の節に[0,1]の間でパラメータを付与することによって、確率分布P(q)を定義する。例えば上記のプログラムでは、   For example, 0.3 :: female (hanako). Means that the clause female (hanako) is included in the logic program with a probability of 0.3. In the stochastic logic program, the probability distribution P (q) is defined by assigning parameters to [0, 1] in some sections in this way. For example, in the above program,

となる。 It becomes.

確率論理プログラムのパラメータが未知のときに、訓練データを入力として与え、訓練データに対する負の対数尤度を最小化するようなパラメータを求める、パラメータ推定手法が提案されている。すなわち、w∈[0,1]を論理プログラムに含まれるi番目の確率の付与された節に対応するパラメータ、すべてのパラメータの集合をw={w,...,w}とすると、論理プログラム、訓練データを入力として受け取り、訓練データに対する負の対数尤度を最小化するようなパラメータの集合^w={^w,...,^w}を求める既存手法が提案されている。例えば、非特許文献2では、Expectation-Maximizationアルゴリズムを用いることでパラメータを推定する方法が提案されている。この手法を用いることによって、推定されるパラメータwの多くを0または1をとるように設定することができる。値が0または1のパラメータをもつ確率つき節は、論理プログラムから削除することができるため、結果としてよりパラメータ数が少なく、そのプログラムを用いた推論が容易であるような確率論理プログラムを得ることができる。 A parameter estimation method has been proposed in which, when parameters of a stochastic logic program are unknown, training data is given as an input and a parameter that minimizes the negative log likelihood for the training data is obtained. That is, w i ∈ [0, 1] is a parameter corresponding to the node with the i-th probability included in the logic program, and a set of all parameters is w = {w 1 ,..., W n }. Then, an existing method for receiving a logic program, training data as input, and obtaining a set of parameters ^ w = {^ w 1 , ..., ^ w n } that minimizes the negative log likelihood for the training data is provided. Proposed. For example, Non-Patent Document 2 proposes a method for estimating parameters by using an Expectation-Maximization algorithm. By using this method, most of the estimated parameters w i can be set to take 0 or 1. A probabilistic clause with a parameter of 0 or 1 can be deleted from the logic program, resulting in a stochastic logic program with fewer parameters and easier inference using that program. Can do.

Luc De Raedt, Angelika Kimmig, and Hannu Toivonen.,"Problog: A probabilistic prolog and its application in link discovery.", In IJCAI, p.2462-2467, 2007.Luc De Raedt, Angelika Kimmig, and Hannu Toivonen., "Problog: A probabilistic prolog and its application in link discovery.", In IJCAI, p.2462-2467, 2007. Bernd Gutmann, Ingo Thon, and Luc De Raedt. "Learning the parameters of probabilistic logic programs from interpretations. ", In ECML/PKDD, p.581-596,2011.Bernd Gutmann, Ingo Thon, and Luc De Raedt. "Learning the parameters of probabilistic logic programs from interpretations.", In ECML / PKDD, p.581-596, 2011.

上記の既存のペナルティ項の付与に基づいた確率論理プログラムのパラメータ推定手法では、プログラムに含まれる各パラメータに対して同一のペナルティ項を設定し、すべてのパラメータwが均一に0または1になりやすいように設定していた。しかし、パラメータの中にはそれが0または1になると、他に与える影響が大きなものも存在する。例えば上記の確率論理プログラムの例において、確率つき事実female(hanako).の確率を0.0と設定したとすると、mother(hanako,X).の確率は、他のパラメータの値によらず常に0になる。これは、female(hanako).の確率を0.0とすることが、プログラムが確率を与えることができる事象の種類を減らすことに対応することを表している。既存のペナルティ項を利用した手法では、パラメータによらず均一にペナルティ項を設定するため、このようなプログラムが得られやすくなるという課題があった。 In the parameter estimation method of the stochastic logic program based on the above existing penalty term setting, the same penalty term is set for each parameter included in the program, and all the parameters w i are uniformly 0 or 1. It was set to be easy. However, some parameters have a great influence on others when they are 0 or 1. For example, in the above example of the stochastic logic program, if the probability of the probability fact (hanako). Is set to 0.0, the probability of mother (hanako, X). 0. This means that setting the probability of female (hanako). To 0.0 corresponds to reducing the types of events that the program can give probabilities. In the method using the existing penalty term, since the penalty term is set uniformly regardless of the parameters, there is a problem that it is easy to obtain such a program.

本発明では、上記の事情に鑑みてなされたものであり、確率論理プログラムで用いられる確率パラメータの数を適切に削減することができるパラメータ推定方法、装置、及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a parameter estimation method, apparatus, and program capable of appropriately reducing the number of probability parameters used in a stochastic logic program. .

上記目的を達成するために、本発明に係るパラメータ推定方法は、訓練例入力手段、及びパラメータ推定手段を含み、確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置におけるパラメータ推定方法であって、前記訓練例入力手段が、前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付けるステップと、前記パラメータ推定手段が、前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くステップと、を含み、前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている。 In order to achieve the above object, a parameter estimation method according to the present invention includes a training example input unit and a parameter estimation unit, and includes a set of clauses representing facts to which a probability parameter is assigned and the probability parameter. Each value of the probability parameter used in the stochastic logic program that calculates a probability that can be derived as a logical consequence of a fact given as a question, A parameter estimation method in a parameter estimation device to estimate, wherein the training example input means includes a set of facts to be derived as a logical result of the probability logic program and a fact that should not be derived as a logical result Receiving a plurality of training examples prepared in advance consisting of a set, and the parameter estimating means, Based on a plurality of training examples accepted by the practice input means and the probability logic program, a penalty function that is set in advance to output a smaller value as the number of the probability parameters having a value of 1 or 0 increases. And an objective function that is a weighted sum of a negative logarithmic likelihood function that represents the likelihood of each value of the probability parameter to minimize the objective function for the plurality of training examples. Estimate each value of the probability parameter, remove the probability parameter from the node representing the fact that the estimated value of the probability parameter is 1, and make the node to which the probability parameter is not assigned to be estimated Removing a clause representing the fact that the value of the probability parameter is 0 from the probability logic program, wherein the penalty function includes the probability Of the set of terms t i of the sections of the head representing the fact that parameter is assigned, the term t i for all nodes, including the main body portion, section other than the section t i is present in the body portion The probability parameter assigned to each of the terms t i is set such that a smaller value is output as the number of the probability parameters having a value of 1 increases.

本発明に係るパラメータ推定装置は、確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置であって、前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付ける訓練例入力手段と、前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くパラメータ推定手段と、を含み、前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている。 The parameter estimation apparatus according to the present invention is a stochastic logic program including a set of clauses representing facts to which probability parameters are assigned and a set of clauses to which the probability parameters are not given, and is given as a question. A parameter estimation device for estimating the value of each of the probability parameters used in a probability logic program for calculating a probability that can derive a fact that can be derived as a logical consequence, wherein the parameter estimation device is derived as a logical consequence of the probability logic program. Training example input means for receiving a plurality of training examples prepared in advance consisting of a set of facts that should be derived and a set of facts that should not be derived as a logical consequence, and a plurality of trainings received by the training example input means Based on the example and the probability logic program, the larger the number of the probability parameters whose values are 1 or 0, the smaller An objective function that is a weighted sum of a penalty function that is predetermined to output and a negative logarithmic likelihood function that represents the likelihood of each value of the probability parameter is minimized with respect to the plurality of training examples. To estimate each value of the probability parameter of the probability logic program, remove the probability parameter from the clause representing the fact that the estimated value of the probability parameter is 1, and the probability parameter becomes Parameter estimation means for removing from the probability logic program a clause representing the fact that the value of the estimated probability parameter is 0, and the penalty function is assigned the probability parameter. of the set of terms t i of the sections of the head representing the facts, to all sections including the term t i to the body portion, the other terms t i to said body portion A the probability parameter term is applied to each of the terms t i being present, the value is defined so as to output the smaller value the larger the number of the probability parameter is 1.

本発明に係る前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記節と頭部が等しく、かつ、前記項tを含まない節が存在している前記項tの各々に付与されている前記確率パラメータであって、値が0である前記確率パラメータの数が多いほど小さい値を出力するように定められているようにしてもよい。 The penalty function according to the present invention includes, for all clauses including the term t i in the main body portion among the set of term heads t i of the clauses representing the facts to which the probability parameter is assigned, the clauses and There are a large number of probability parameters that have the same head and are assigned to each of the terms t i in which there is a node that does not include the term t i and have a value of 0. It may be determined to output a smaller value.

本発明に係る前記パラメータ推定手段は、前記確率パラメータの各々の初期値、又は前回更新された前記確率パラメータの各々の値に基づいて、前記目的関数の勾配を計算し、計算された前記目的関数の勾配に基づいて、前記確率パラメータの各々の値を更新することを、予め定められた繰り返し終了条件を満たすまで繰り返すことにより、前記確率論理プログラムの前記確率パラメータの各々の値を推定するようにすることができる。   The parameter estimation means according to the present invention calculates the gradient of the objective function based on the initial value of each of the probability parameters or the value of each of the probability parameters updated last time, and the calculated objective function Updating each value of the probability parameter based on the gradient of the probability parameter so as to estimate each value of the probability parameter of the probability logic program by repeating until a predetermined repetition termination condition is satisfied. can do.

本発明の前記負の対数尤度関数は、前記複数の訓練例の各々に対する、前記確率論理プログラムにおける前記訓練例の出現確率を用いて表されるようにすることができる。   The negative log-likelihood function of the present invention may be expressed using the appearance probability of the training example in the probability logic program for each of the plurality of training examples.

また、本発明のプログラムは、本発明のパラメータ推定方法の各ステップをコンピュータに実行させるためのプログラムである。   Moreover, the program of this invention is a program for making a computer perform each step of the parameter estimation method of this invention.

以上説明したように、本発明のパラメータ推定方法、装置、及びプログラムによれば、複数の訓練例と、確率論理プログラムとに基づいて、値が1又は0である確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数と、確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、複数の訓練例に対して最小化するように、確率論理プログラムの確率パラメータの各々の値を推定し、推定された確率パラメータの値が1である事実を表す節から、確率パラメータを取り除いて、確率パラメータが付与されていない節とし、推定された確率パラメータの値が0である事実を表す節を、確率論理プログラムから取り除く際に、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む節に対し、本体部に項t以外の項が存在している項tの各々に付与されている確率パラメータであって、値が1である確率パラメータの数が多いほど小さい値を出力するようにペナルティ関数を定めることにより、事実の確率の影響を考慮しつつ、確率論理プログラムで用いられる確率パラメータの数を適切に削減することができる、という効果が得られる。 As described above, according to the parameter estimation method, apparatus, and program of the present invention, the smaller the number of probability parameters whose value is 1 or 0, the smaller the number based on a plurality of training examples and the probability logic program. Minimize the objective function, which is a weighted sum of the penalty function set to output a value and the negative log likelihood function representing the likelihood of each value of the probability parameter, for multiple training examples As described above, each value of the probability parameter of the probability logic program is estimated, and the probability parameter is removed from the clause representing the fact that the estimated probability parameter value is 1, and the probability parameter is not assigned to the clause. The head of the node representing the fact to which the probability parameter is assigned when the node representing the fact that the value of the estimated probability parameter is 0 is removed from the probability logic program. Of the set of terms t i of, with respect to the section containing the term t i to the body portion, a probability parameter that is given to each of the terms t i being present terms other than the terms t i to the body portion By determining the penalty function so that the smaller the number of probability parameters whose value is 1, the smaller the value is output, the number of probability parameters used in the stochastic logic program is appropriately determined while considering the effect of the probability of facts. The effect that it can reduce is acquired.

本発明の実施の形態に係るパラメータ推定装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the parameter estimation apparatus which concerns on embodiment of this invention. ペナルティ関数の一例を示す図である。It is a figure which shows an example of a penalty function. 本発明の実施の形態に係るパラメータ推定装置における推定処理ルーチンを示すフローチャート図である。It is a flowchart figure which shows the estimation process routine in the parameter estimation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るパラメータ推定装置におけるパラメータ推定処理ルーチンを示すフローチャート図である。It is a flowchart figure which shows the parameter estimation processing routine in the parameter estimation apparatus which concerns on embodiment of this invention.

<本発明の実施の形態の概要>
まず、本発明の実施の形態の概要について説明する。本発明の実施の形態では、確率パラメータを付与した論理プログラム(以下、確率論理プログラムと称する。)の確率パラメータを、入力された訓練例より推定する。具体的には、本発明の実施の形態では、負の対数尤度関数を最小化する代わりに、負の対数尤度関数にペナルティ関数を付与した目的関数を最小化することで確率パラメータの推定を行う。推定された確率パラメータの値wが0または1をとったときにペナルティの値が小さくなるようなペナルティ関数を用いることで、推定された確率パラメータがよりw=0またはw=1となりやすいようにする。ここで、本発明の実施の形態では、確率論理プログラムのパラメータ推定を行う際に用いるペナルティ関数を、入力として与えられた確率論理プログラムのひな形における構造を利用して設定する。
<Outline of Embodiment of the Present Invention>
First, an outline of an embodiment of the present invention will be described. In the embodiment of the present invention, a probability parameter of a logic program to which a probability parameter is assigned (hereinafter referred to as a probability logic program) is estimated from an input training example. Specifically, in the embodiment of the present invention, instead of minimizing the negative log-likelihood function, the probability parameter is estimated by minimizing the objective function obtained by adding a penalty function to the negative log-likelihood function. I do. By using a penalty function that reduces the penalty value when the estimated probability parameter value w i takes 0 or 1, the estimated probability parameter becomes w i = 0 or w i = 1. Make it easy. Here, in the embodiment of the present invention, the penalty function used when estimating the parameters of the stochastic logic program is set using the structure of the model of the stochastic logic program given as an input.

そして、推定された確率パラメータがw=0となった節を確率論理プログラムから取り除き、w=1となった節を、確率が付与されていない通常の節に変換することで、より確率パラメータの数が少ない確率論理プログラムを得ることができる。 Then, the node with the estimated probability parameter w i = 0 is removed from the stochastic logic program, and the node with w i = 1 is converted into a normal node to which no probability is given. A stochastic logic program with a small number of parameters can be obtained.

以下、図面を参照して本発明の実施の形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<パラメータ推定装置の構成>
本発明の実施の形態に係るパラメータ推定装置の構成について説明する。本発明の実施の形態に係るパラメータ推定装置100は、確率パラメータが付与された事実を表す節の集合と、確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる確率パラメータの各々の値を推定する。
<Configuration of parameter estimation device>
A configuration of the parameter estimation apparatus according to the embodiment of the present invention will be described. The parameter estimation apparatus 100 according to the embodiment of the present invention is a probability logic program including a set of clauses representing facts to which probability parameters are assigned and a set of clauses to which no probability parameters are assigned, and Estimate the value of each probability parameter used in a probability logic program that calculates the probability that a fact given as a question can be derived as a logical consequence.

本発明の実施の形態に係るパラメータ推定装置100は、CPU(Central Processing Unit)と、CPUが後述する各処理ルーチンを実行するためのプログラム等を記憶したROM(Read Only Memory)と、RAM(Random Access Memory)と、を備えたコンピュータで構成することができる。このパラメータ推定装置100は、機能的には図1に示すようにプログラム入力部10と、訓練例入力部12と、演算部20と、出力部30とを備えている。   A parameter estimation apparatus 100 according to an embodiment of the present invention includes a CPU (Central Processing Unit), a ROM (Read Only Memory) storing a program for the CPU to execute each processing routine described later, a RAM (Random Access Memory). Functionally, the parameter estimation apparatus 100 includes a program input unit 10, a training example input unit 12, a calculation unit 20, and an output unit 30 as shown in FIG.

プログラム入力部10は、確率論理プログラムを受け付ける。具体的には、プログラム入力部10は、確率パラメータを推定する対象となる確率論理プログラムのひな形の入力を受け付ける。ここで、ひな形とは、いくつかの節の確率パラメータの値が未定義であるような確率論理プログラムのことをいう。例えば、   The program input unit 10 receives a stochastic logic program. Specifically, the program input unit 10 receives an input of a model of a stochastic logic program that is a target for estimating a probability parameter. Here, the model refers to a stochastic logic program in which the values of probability parameters in some sections are undefined. For example,

mother(X, Y):- parent(X, Y), female(X).
w::female(hanako).
w::parent(hanako, taro).
mother (X, Y):-parent (X, Y), female (X).
w 1 :: female (hanako).
w 2 :: parent (hanako, taro).

は、2つの確率パラメータつき節の値が定まっていない、ひな形である。 Is a template in which the values of the nodes with two probability parameters are not fixed.

訓練例入力部12は、確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とを含む予め用意された訓練例を複数受け付ける。訓練例は、確率論理プログラムのひな形のパラメータが正しく推定されたときに、生成されると考えられる事実の集合である。以下では、訓練例の集合をD={I,I,...,I}と表現する。各Iは一つの訓練例であり、訓練例Iは、I=(I ,I )というペアから構成されるとする。I は対象の確率論理プログラムから論理的帰結として導出される事実の集合、I は導出されなかった事実の集合である。上記の確率論理プログラムでは、例えば The training example input unit 12 accepts a plurality of training examples prepared in advance including a set of facts to be derived as logical consequences of the stochastic logic program and a set of facts that should not be derived as logical consequences. A training example is a set of facts that are considered to be generated when the model parameters of a stochastic logic program are correctly estimated. In the following, a set of training examples is expressed as D = {I 1 , I 2 ,..., I m }. Each I i is one training example, and the training example I i is composed of a pair of I i = (I + i , I i ). I + i is a set of facts derived as logical consequences from the target probabilistic logic program, and I i is a set of facts not derived. In the above stochastic logic program, for example

={parent(hanako, taro)}, I ={female(hanako), mother(hanako, taro)} I + i = {parent (hanako, taro)}, I - i = {female (hanako), mother (hanako, taro)}

などが訓練例となり、これは推定された確率論理プログラムから、parent(hanako, taro)を論理的帰結として導出できるが、female(hanako)とmother(hanako, taro)を導出できないような例が生成されることがあるということを表している。 This is an example of training, and this can be derived from an estimated probability logic program where parent (hanako, taro) can be derived as a logical outcome, but female (hanako) and mother (hanako, taro) cannot be derived. It means that it is sometimes done.

演算部20は、プログラムデータベース22と、訓練例データベース24と、ペナルティ決定部25と、パラメータ推定部26とを備えている。   The calculation unit 20 includes a program database 22, a training example database 24, a penalty determination unit 25, and a parameter estimation unit 26.

プログラムデータベース22には、プログラム入力部10によって受け付けた確率論理プログラムと、後述する代入の集合LT’とが格納される。 The program database 22, a probability logic programs accepted by the program input unit 10, and a set L T 'assignment to be described later is stored.

訓練例データベース24には、訓練例入力部12によって受け付けた複数の訓練例が格納される。   The training example database 24 stores a plurality of training examples received by the training example input unit 12.

ペナルティ決定部25は、訓練例データベース24に格納された複数の訓練例に基づいて、確率つき節の頭部の項の集合をHとして、Hの部分集合S及びSを以下のように定義する。まずSは、項t∈Hのうち、項tを本体部に含む全ての節について、その節と頭部が等しく、かつ項tを含まない節が存在しているものの集合と決定する。同様に、Sは、項t∈Hのうち、項tiを本体部に含む全ての節について、本体部にt以外の項が含まれているものの集合と決定する。ペナルティ決定部25は、ここで定義したS及びSを用いて、以下の式に示すように、ペナルティ関数h(w)を決定する。これにより、事実の確率の影響を考慮しつつ、パラメータ推定を行うことができる。 Based on a plurality of training examples stored in the training example database 24, the penalty determining unit 25 sets the set of head terms of probable clauses as H, and sets the subsets S 0 and S 1 of H as follows. Define. First, S 0 is a set of terms t i ∈H in which all the clauses including the term t i in the main body have the same head as the clause and the clause not including the term t i. decide. Similarly, S 1 determines that all clauses including the term ti in the main body portion of the term t i εH are a set of terms including a term other than t i in the main body portion. The penalty determining unit 25 uses S 0 and S 1 defined here to determine a penalty function h (w) as shown in the following equation. As a result, parameter estimation can be performed while taking into consideration the influence of the probability of facts.

上記(1)式のペナルティ関数は、右辺の二番目の項によって、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む全ての節に対し、本体部に項t以外の項が存在している項tの各々に付与されている確率パラメータであって、値が1である確率パラメータの数が多いほど小さい値を出力するように定められている。 The penalty function of the above equation (1) is that all of the sets of the term t i of the head of the clause representing the fact to which the probability parameter is given by the second term on the right side include the term t i in the main body. For a clause, a probability parameter assigned to each of the terms t i for which there is a term other than the term t i in the main body, and a smaller value is output as the number of probability parameters having a value of 1 increases. It is stipulated to do.

また、上記(1)式のペナルティ関数は、右辺の一番目の項によって、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む全ての節に対し、節と頭部が等しく、かつ、項tを含まない節が存在している項tの各々に付与されている確率パラメータであって、値が0である確率パラメータの数が多いほど小さい値を出力するように定められている。 In addition, the penalty function of the above formula (1) includes the term t i in the body portion of the set of term heads t i of the node representing the fact to which the probability parameter is given by the first term on the right side. A probability parameter that is assigned to each of the terms t i in which there is a clause that has the same node and head and does not include the term t i for all the clauses, and has a value of 0. It is determined that a smaller value is output as the number of is larger.

パラメータ推定部26は、訓練例データベース24に格納された複数の訓練例と、プログラムデータベース22に格納された確率論理プログラムとに基づいて、ペナルティ決定部25により決定されたペナルティ関数と、確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、複数の訓練例に対して最小化するように、確率論理プログラムの確率パラメータの各々の値を推定する。ペナルティ関数は、後述するように、値が1又は0である確率パラメータの数が多いほど小さい値を出力するように予め定められる。   The parameter estimation unit 26 includes a penalty function determined by the penalty determination unit 25 based on a plurality of training examples stored in the training example database 24 and a probability logic program stored in the program database 22, and a probability parameter Estimate the value of each probability parameter of the stochastic logic program so that the objective function, which is a weighted sum with a negative log-likelihood function representing the likelihood of each value, is minimized for multiple training examples . As will be described later, the penalty function is predetermined so that a smaller value is output as the number of probability parameters having a value of 1 or 0 increases.

そして、パラメータ推定部26は、推定された確率パラメータの値が1である事実を表す節から、確率パラメータを取り除いて、確率パラメータが付与されていない節とし、推定された確率パラメータの値が0である事実を表す節を、確率論理プログラムから取り除く。   Then, the parameter estimation unit 26 removes the probability parameter from the node representing the fact that the value of the estimated probability parameter is 1, and sets the node to which the probability parameter is not given, and the value of the estimated probability parameter is 0. Remove the clauses that represent the facts from the stochastic logic program.

パラメータ推定部26の具体的な処理の内容を説明するために、はじめに、以下で用いる記法および確率論理プログラムについて説明する。   In order to explain the specific processing contents of the parameter estimation unit 26, the notation and the stochastic logic program used below will be described first.

まず、一階述語論理の節の集合である確率論理プログラムをT’とする。さらにT’に含まれる節を、確率パラメータが付与された事実の集合Fと、確率パラメータが付与されていない節の集合KBとに分ける。すなわち、T’=F∪KBかつF∩KB=Oである。上述の例では、F={female(hanako)., parent(hanako, taro).}, KB={mother(X,Y):-parent(X,Y) ,female(X).}である。以下ではFに含まれている事実の集合をf,...,fとし、それぞれの事実に対応する確率パラメータの各々をw,...,wとする。 First, let T ′ be a stochastic logic program that is a set of first-order predicate logic clauses. Further, the nodes included in T ′ are divided into a set F of facts to which probability parameters are assigned and a set KB of clauses to which no probability parameters are assigned. That is, T ′ = F∪KB and F∩KB = O. In the above example, F = {female (hanako)., Parent (hanako, taro).}, KB = {mother (X, Y):-parent (X, Y), female (X).}. F 1 the set of facts that are included in F in the following, ..., and f n, w 1 of each of the probability parameter corresponding to each of the facts, ..., and w n.

次に、Fに含まれる事実f∈Fに対する、代入後の項が変数を含まないような全ての代入を考える。定数記号の数が有限であると仮定すると、事実fに対する全ての代入の集合は Next, consider all substitutions for the facts f i εF included in F such that the term after substitution does not include a variable. Assuming that the number of constant symbols is finite, the set of all substitutions for fact f i is

となる。ここでKはfに対する可能な代入の数である。全ての事実f∈Fに対する全ての可能な代入の集合の和集合を It becomes. Where K i is the number of possible substitutions for f i . The union of the set of all possible substitutions for all facts f i ∈F

とする。パラメータ推定部26は、プログラムデータベース22に格納された確率論理プログラムに基づいて、全ての事実f∈Fに対する全ての可能な代入の集合の和集合LT’を生成し、プログラムデータベース22に格納する。 And Parameter estimation unit 26, based on the probability logic program stored in the program database 22, and generates all the facts f i union of the set of all possible assignments to ∈F L T ', stored in the program database 22 To do.

ここで、ある論理プログラムTのもとで、質問(リテラル)qが論理的帰結として求められることを   Here, under a certain logic program T, the question (literal) q is calculated as a logical consequence.

とする。また、ある論理プログラムTのもとで、論理的帰結として求められないことを And Also, under a certain logic program T, what is not required as a logical consequence

とする。そして、δ(T,I)を、すべてのq∈I について And And δ (T, I i ) for all qεI + i

かつすべてのq∈I について And for all q∈I i

であるなら、δ(T,I)=1、そうでないならばδ(T,I)=0であるような関数として定義する。 Is defined as a function such that δ (T, I i ) = 1, otherwise δ (T, I i ) = 0.

以上を用いて、確率論理プログラムT’のもとでの訓練例Iの出現確率P(I|T)を Using the above, the appearance probability P (I i | T) of the training example I i under the probability logic program T ′ is calculated.

として定義する。 Define as

次に、パラメータ推定部26の具体的な処理を説明する。まず、パラメータ推定部26は、プログラムデータベース22より、確率論理プログラムのひな形を入力として受け取る。次に、パラメータ推定部26は、複数の訓練例を訓練例データベース24より受け取る。ここで、ひな形に含まれる確率パラメータをw={w,w,...,w}とする。また、訓練例の集合をD={I,I,...,I}とする。そして、パラメータ推定部26は、パラメータ推定処理を行う。 Next, specific processing of the parameter estimation unit 26 will be described. First, the parameter estimation unit 26 receives from the program database 22 a model of a stochastic logic program as an input. Next, the parameter estimation unit 26 receives a plurality of training examples from the training example database 24. Here, the probability parameter included in the template is assumed to be w = {w 1 , w 2 ,..., W n }. A set of training examples is D = {I 1 , I 2 ,..., I m }. The parameter estimation unit 26 performs parameter estimation processing.

パラメータ推定処理において、パラメータ推定部26は、まず、確率パラメータの初期値を与える。確率パラメータの初期値は各i=1,...,nについて、0<w<1となるようにw(0)を与える。次にパラメータ推定部26は、現在のw(k)を用いて目的関数の勾配を計算する。 In the parameter estimation process, the parameter estimation unit 26 first gives an initial value of the probability parameter. The initial value of the probability parameter is given as w (0) so that 0 <w i <1 for each i = 1,. Next, the parameter estimation unit 26 calculates the gradient of the objective function using the current w (k) .

目的関数は、負の対数尤度とペナルティ関数の和として表現される。全ての訓練例の集合D={I,...,I}に対する負の対数尤度関数l(w)は、 The objective function is expressed as the sum of a negative log likelihood and a penalty function. The negative log-likelihood function l (w) for the set D = {I 1 , ..., I m } of all training examples is

となる。従って、上記(3)式に示すように、負の対数尤度関数は、複数の訓練例の各々に対する、確率論理プログラムにおける当該訓練例の出現確率を用いて表される。通常のパラメータ推定問題では、この負の対数尤度関数を最小化するような^w=(^w,..., ^w)を推定する。一方、本発明の実施の形態では、非特許文献3と同様に射影勾配法に基づいた尤度関数とペナルティ項の和の最小化によってパラメータ推定を行う。 It becomes. Therefore, as shown in the above equation (3), the negative log-likelihood function is expressed using the appearance probability of the training example in the probability logic program for each of the plurality of training examples. In an ordinary parameter estimation problem, ^ w = (^ w 1 ,..., ^ W n ) that minimizes the negative log likelihood function is estimated. On the other hand, in the embodiment of the present invention, parameter estimation is performed by minimizing the sum of the likelihood function and the penalty term based on the projection gradient method, as in Non-Patent Document 3.

負の対数尤度関数とペナルティ関数の重みづけ和   Weighted sum of negative log-likelihood function and penalty function

を目的関数とする。ここでεはw=0またはw=1となったときにh(w)が未定義とならないためのパラメータであり、0<ε<1 とする。λは対数尤度関数とペナルティ関数の影響を調整するパラメータであり、正の実数である。 Is the objective function. Here, ε is a parameter for preventing h (w) from being undefined when w i = 0 or w i = 1, and 0 <ε <1. λ is a parameter for adjusting the influence of the log likelihood function and the penalty function, and is a positive real number.

また、wが一次元のベクトル(スカラー)であるときに、wの値を0から1まで動かしたときの、上記(1)式の右辺の値の変化の一例を図2に示す。   FIG. 2 shows an example of a change in the value on the right side of the above equation (1) when w is moved from 0 to 1 when w is a one-dimensional vector (scalar).

図2に示すように、上記(1)式の右辺の値はwが一番目の項において0または二番目の項において1に近づいたときに小さい値をとることが分かる。すなわち、値が1又は0である確率パラメータの数が多いほどペナルティ関数の値は小さくなる。結果としてg(w)を最小化するパラメータはペナルティ関数を小さくするようにw=0またはw=1となりやすくなる。 As shown in FIG. 2, it can be seen that the value on the right side of the above equation (1) takes a small value when w approaches 0 in the first term or 1 in the second term. That is, the larger the number of probability parameters whose value is 1 or 0, the smaller the value of the penalty function. As a result, the parameter for minimizing g (w) is likely to be w i = 0 or w i = 1 so as to reduce the penalty function.

そして、パラメータ推定部26は、確率パラメータの各々の初期値、又は前回更新された確率パラメータの各々の値に基づいて、上記(4)式の目的関数の勾配を計算し、計算された目的関数の勾配に基づいて、確率パラメータの各々の値を更新することを、予め定められた繰り返し終了条件を満たすまで繰り返すことにより、確率論理プログラムの確率パラメータの各々の値を推定する。   Then, the parameter estimation unit 26 calculates the gradient of the objective function of the above equation (4) based on each initial value of the probability parameter or each value of the probability parameter updated last time. Each value of the probability parameter of the probability logic program is estimated by repeating updating each value of the probability parameter on the basis of the gradient until a predetermined repetition end condition is satisfied.

具体的には、関数l(w)の勾配を∇l(w)、そのi番目の成分を[∇l(w)]とすると、 Specifically, if the gradient of the function l (w) is ∇l (w) and its i-th component is [∇l (w)] i ,

となる。ここでQ(L,i)は   It becomes. Where Q (L, i) is

となる。同様に[∇h(w)]It becomes. Similarly, [∇h (w)] i is

となる。以上よりg(w)の勾配は It becomes. From the above, the gradient of g (w) is

となる。 It becomes.

そして、パラメータ推定部26は、勾配∇g(w(k))を計算した後、新しい確率パラメータw(k+1)Then, the parameter estimation unit 26 calculates the gradient ∇g (w (k) ), and then calculates a new probability parameter w (k + 1) .

として更新する。このときのαはw(k+1)の更新の際のステップ幅を与えるパラメータであり、例えば参考文献(Dimitri P Bertsekas,“Nonlinear programming.”,1999.)にあるような、Armijo rule 等の手法を用いて定める。 Update as. Α k at this time is a parameter that gives a step width when w (k + 1) is updated. For example, a technique such as Armijo rule as described in the reference (Dimitri P Bertsekas, “Nonlinear programming.”, 1999.) Determined using

次に、パラメータ推定部26は、更新された確率パラメータw(k+1)の各成分を、0≦w≦1の範囲に収まるように射影する。具体的には、w<0であるならw=0とし、w>1であるならw=1とする。それ以外のときはwをそのまま用いる。 Next, the parameter estimation unit 26 projects each component of the updated probability parameter w (k + 1) so that it falls within the range of 0 ≦ w i ≦ 1. More specifically, <and w i = 0 if it is 0, w i> w i and w i = 1 if it is 1. The other is used as it is the w i is when.

そして、パラメータ推定部26は、例えば、w(k+1)とw(k)との差分が小さいことを繰り返し終了条件として、w(k+1)とw(k)との差分を計算し、差分が十分小さいならば、現在のw(k+1)を出力して処理を終了する。差分が十分小さくないならば、パラメータ推定部26は、現在のw(k+1)をもとにw(k+2)を求める処理を行う。 The parameter estimation unit 26, for example, as the end condition repeats the difference is small and w (k + 1) and w (k), w (k + 1) and calculates the difference between w (k), sufficient difference If it is smaller, the current w (k + 1) is output and the process is terminated. If the difference is not sufficiently small, the parameter estimation unit 26 performs processing for obtaining w (k + 2) based on the current w (k + 1) .

パラメータ推定部26は、パラメータ推定処理の終了後、推定結果を出力する。ここで、パラメータ推定部26は、入力として与えられたひな形に推定された確率パラメータを付与したものを推定結果とする。このとき、あるwがw=0であったならば、対応する節を出力する確率論理プログラムから取り除く。また、w=1であったならば、Fよりfを取り除き、かつKBにfを追加する。こうして得られた確率論理プログラムを出力して処理を終了する。 The parameter estimation unit 26 outputs an estimation result after the parameter estimation process is completed. Here, the parameter estimation unit 26 uses an estimated result obtained by adding the estimated probability parameter to the template given as an input. At this time, if a certain w i is w i = 0, it is removed from the stochastic logic program that outputs the corresponding clause. If w i = 1, then remove f i from F and add f i to KB. The stochastic logic program obtained in this way is output and the process is terminated.

出力部30は、パラメータ推定部26によって出力された確率論理プログラムを出力する。   The output unit 30 outputs the probability logic program output by the parameter estimation unit 26.

<パラメータ推定装置の作用>
次に、本発明の実施の形態に係るパラメータ推定装置100の作用について説明する。確率論理プログラムと複数の訓練例とがパラメータ推定装置100に入力されると、演算部20によって、図3に示す推定処理ルーチンが実行される。
<Operation of parameter estimation device>
Next, the operation of the parameter estimation apparatus 100 according to the embodiment of the present invention will be described. When the probability logic program and a plurality of training examples are input to the parameter estimation device 100, the calculation processing routine shown in FIG.

まず、ステップS100において、プログラム入力部10によって、入力された確率論理プログラムを受け付け、プログラムデータベース22に格納する。   First, in step S <b> 100, the input logic program is received by the program input unit 10 and stored in the program database 22.

次に、ステップS102において、訓練例入力部12によって、入力された複数の訓練例を受け付け、訓練例データベース24に格納する。   Next, in step S <b> 102, the training example input unit 12 receives a plurality of input training examples and stores them in the training example database 24.

次に、ステップS103において、ペナルティ決定部25によって、上記ステップS102で格納した複数の訓練事例に基づいて、確率つき節の頭部の項の集合をHとして、部分集合S0及びS1を定義し、上記(1)式に従って、ペナルティ関数を決定する。   Next, in step S103, the penalty determining unit 25 defines subsets S0 and S1 with the set of head terms of probable knots as H based on the plurality of training cases stored in step S102, A penalty function is determined according to the above equation (1).

次に、ステップS104において、パラメータ推定部26によって、上記ステップS100でプログラムデータベース22に格納された確率論理プログラムに基づいて、全ての事実f∈Fに対する全ての可能な代入の集合の和集合LT’を生成し、プログラムデータベース22に格納する。 Next, in step S104, the parameter estimation unit 26 calculates the union L of all possible substitution sets for all facts f i εF based on the probability logic program stored in the program database 22 in step S100. T ′ is generated and stored in the program database 22.

次に、ステップS106において、パラメータ推定部26によって、ステップS103で決定されたペナルティ関数を用いて、確率パラメータの各々の値を推定する。ステップS106は、図4に示すパラメータ推定処理ルーチンによって実現される。   Next, in step S106, the parameter estimation unit 26 estimates each value of the probability parameter using the penalty function determined in step S103. Step S106 is realized by the parameter estimation processing routine shown in FIG.

<パラメータ推定処理ルーチン>
ステップS200において、パラメータ推定部26によって、確率パラメータの各々について、0<w<1となるように当該確率パラメータの初期値w(0)を設定する。
<Parameter estimation processing routine>
In step S200, the parameter estimation unit 26 sets the initial value w (0) of the probability parameter such that 0 <w i <1 for each probability parameter.

次に、ステップS201において、繰り返し回数kに1を代入する。   Next, in step S201, 1 is substituted for the number of repetitions k.

次に、ステップS202において、パラメータ推定部26によって、上記ステップS200で設定された確率パラメータの各々の初期値、又は前回のステップS206で更新された確率パラメータの各々の値に基づいて、上記(7)式に示す目的関数の勾配を計算する。   Next, in step S202, the parameter estimation unit 26 performs the above (7) based on the initial values of the probability parameters set in step S200 or the values of the probability parameters updated in the previous step S206. ) Calculate the gradient of the objective function shown in the equation.

次に、ステップS204において、パラメータ推定部26によって、上記ステップS202で計算された目的関数の勾配に基づいて、上記(8)式に従って、確率パラメータの各々の値を更新し、メモリ(図示省略)に格納する。   Next, in step S204, each parameter of the probability parameter is updated by the parameter estimation unit 26 according to the equation (8) based on the gradient of the objective function calculated in step S202, and the memory (not shown). To store.

次に、ステップS206において、パラメータ推定部26によって、上記ステップS204で更新された確率パラメータw(k+1)の各成分を、0≦w≦1の範囲に収まるように射影し、メモリ(図示省略)に格納する。具体的には、パラメータ推定部26は、w<0であるならw=0とし、w>1であるならw=1とする。それ以外のときはwをそのまま用いる。 Next, in step S206, the parameter estimation unit 26 projects each component of the probability parameter w (k + 1) updated in step S204 so as to be within the range of 0 ≦ w i ≦ 1, and the memory (not shown) ). Specifically, the parameter estimation unit 26, <and w i = 0 if a 0, w i> w i and w i = 1 If 1. The other is used as it is the w i is when.

次に、ステップS208において、予め定められた繰り返し終了条件を満たしたか否かを判定する。具体的には、上記ステップS206で更新された確率パラメータw(k+1)と、前回のステップS206で更新された確率パラメータw(k)との差分を計算し、w(k+1)とw(k)との差分が十分小さいならば、計算が収束したと判定し、ステップS210へ進む。一方、差分が十分小さくないならば、ステップS209でkをインクリメントして、ステップS202へ戻る。 Next, in step S208, it is determined whether a predetermined repetition end condition is satisfied. Specifically, the difference between the probability parameter w (k + 1) updated in step S206 and the probability parameter w (k) updated in the previous step S206 is calculated, and w (k + 1) and w (k) If the difference is sufficiently small, it is determined that the calculation has converged, and the process proceeds to step S210. On the other hand, if the difference is not sufficiently small, k is incremented in step S209, and the process returns to step S202.

ステップS210において、パラメータ推定部26によって、上記ステップS206でメモリ(図示省略)に格納された確率パラメータの各々に基づいて、ある確率パラメータwがw=0であったならば、対応する節を出力する確率論理プログラムから取り除く。また、確率パラメータw=1であったならば、Fよりfを取り除き、かつKBにfを追加し、確率論理プログラムを生成する。 In step S210, based on each of the probability parameters stored in the memory (not shown) in step S206 by the parameter estimation unit 26, if a certain probability parameter w i is w i = 0, the corresponding clause Is removed from the stochastic logic program that outputs If the probability parameter w i = 1, f i is removed from F and f i is added to KB to generate a probability logic program.

ステップS212において、上記ステップS210で生成された確率論理プログラムを出力して、パラメータ推定処理ルーチンを終了する。   In step S212, the probability logic program generated in step S210 is output, and the parameter estimation processing routine ends.

次に、推定処理ルーチンに戻り、ステップS108において、出力部30によって、上記ステップS106で出力された確率論理プログラムを出力して、推定処理ルーチンを終了する。   Next, returning to the estimation processing routine, in step S108, the output unit 30 outputs the probability logic program output in step S106, and the estimation processing routine ends.

以上説明したように、本発明の実施の形態に係るパラメータ推定装置によれば、複数の訓練例と、確率論理プログラムとに基づいて、値が1又は0である確率パラメータの数が多いほど小さい値を出力するように決定されたペナルティ関数と、確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、複数の訓練例に対して最小化するように、確率論理プログラムの確率パラメータの各々の値を推定し、推定された確率パラメータの値が1である事実を表す節から、確率パラメータを取り除いて、確率パラメータが付与されていない節とし、推定された確率パラメータの値が0である事実を表す節を、確率論理プログラムから取り除く際に、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む節に対し、本体部に項t以外の項が存在している項tの各々に付与されている確率パラメータであって、値が1である確率パラメータの数が多いほど小さい値を出力するようにペナルティ関数を決定することにより、事実の確率の影響を考慮しつつ、確率論理プログラムで用いられる確率パラメータの数を適切に削減することができる。 As described above, according to the parameter estimation device according to the embodiment of the present invention, the smaller the number of probability parameters whose values are 1 or 0 based on a plurality of training examples and the probability logic program, the smaller the number. Minimize the objective function, which is a weighted sum of the penalty function determined to output the value and the negative log likelihood function representing the likelihood of each value of the probability parameter, for multiple training examples Thus, estimating each value of the probability parameter of the probability logic program, removing the probability parameter from the node representing the fact that the value of the estimated probability parameter is 1, and setting the node to which the probability parameter is not given, When the node representing the fact that the value of the estimated probability parameter is 0 is removed from the probability logic program, the term t i of the head of the node representing the fact to which the probability parameter is given. Of the set of relative clauses containing term t i to the body portion, a probability parameter that is given to each of the terms t i being present terms other than the terms t i to the body portion, the value is 1 By determining the penalty function so that the smaller the number of probability parameters is, the smaller the number of probability parameters used in the stochastic logic program, while considering the effect of the probability of facts. Can do.

また、訓練例から確率論理プログラムのパラメータを推定する問題において、推定された確率論理プログラムのパラメータ数を少なくすることができる。その結果として、推定された確率論理プログラムを用いて確率推論を行う際の計算回数を削減できるため、計算の高速化に寄与する。   Further, in the problem of estimating the parameters of the probability logic program from the training examples, the estimated number of parameters of the probability logic program can be reduced. As a result, it is possible to reduce the number of calculations when performing probabilistic reasoning using the estimated stochastic logic program, which contributes to speeding up the calculation.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

例えば、本実施の形態のパラメータ推定装置100は、プログラムデータベース22及び訓練例データベース24を備えている場合について説明したが、例えばプログラムデータベース22及び訓練例データベース24の少なくとも1つがパラメータ推定装置100の外部装置に設けられ、パラメータ推定装置100は、外部装置と通信手段を用いて通信することにより、プログラムデータベース22及び訓練例データベース24の少なくとも1つを参照するようにしてもよい。   For example, the parameter estimation apparatus 100 of the present embodiment has been described for the case where the program database 22 and the training example database 24 are provided. For example, at least one of the program database 22 and the training example database 24 is external to the parameter estimation apparatus 100. The parameter estimation apparatus 100 provided in the apparatus may refer to at least one of the program database 22 and the training example database 24 by communicating with an external apparatus using a communication unit.

例えば、上述のパラメータ推定装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。   For example, the parameter estimation device described above has a computer system inside, but the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.

また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。   In the present specification, the embodiment has been described in which the program is installed in advance. However, the program can be provided by being stored in a computer-readable recording medium.

10 プログラム入力部
12 訓練例入力部
20 演算部
22 プログラムデータベース
24 訓練例データベース
25 ペナルティ決定部
26 パラメータ推定部
30 出力部
100 パラメータ推定装置
DESCRIPTION OF SYMBOLS 10 Program input part 12 Training example input part 20 Calculation part 22 Program database 24 Training example database 25 Penalty determination part 26 Parameter estimation part 30 Output part 100 Parameter estimation apparatus

Claims (7)

訓練例入力手段、及びパラメータ推定手段を含み、確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置におけるパラメータ推定方法であって、
前記訓練例入力手段が、前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付けるステップと、
前記パラメータ推定手段が、前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数により求まる項と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数により求まる項との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くステップと、
を含み、
前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている
パラメータ推定方法。
A probabilistic logic program including a training example input means and a parameter estimation means, including a set of clauses representing facts to which probability parameters are assigned and a set of clauses to which the probability parameters are not given, and a question A parameter estimation method in a parameter estimation device for estimating each value of the probability parameter used in a probability logic program for calculating a probability that can be derived as a logical consequence of the fact given as:
The training example input means includes a plurality of training examples prepared in advance comprising a set of facts to be derived as a logical consequence of the stochastic logic program and a set of facts that should not be derived as a logical consequence. Accepting steps,
Based on a plurality of training examples received by the training example input unit and the probability logic program, the parameter estimation unit outputs a smaller value as the number of the probability parameters having a value of 1 or 0 increases. in the terms determined by the predetermined penalty function, the objective function is a weighted sum of the terms obtained by a negative log likelihood function representing the likelihood of each value of the probability parameter, the plurality of training examples to Estimating the value of each of the probability parameters of the probability logic program so as to minimize and removing the probability parameter from a clause representing the fact that the estimated value of the probability parameter is 1, From the probability logic program, a clause representing a fact that a parameter is not assigned and the estimated probability parameter value is 0 is obtained. And step except Ri,
Including
The penalty function of a set of terms t i of the head section which represents the fact that the probability parameter is assigned, for all nodes, including the terms t i to the body portion, the term t in the body portion The probability parameter assigned to each of the terms t i in which there is a term other than i , and is determined to output a smaller value as the number of the probability parameters having a value of 1 increases. The parameter estimation method.
前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記節と頭部が等しく、かつ、前記項tを含まない節が存在している前記項tの各々に付与されている前記確率パラメータであって、値が0である前記確率パラメータの数が多いほど小さい値を出力するように定められている請求項1記載のパラメータ推定方法。 The penalty function is the same for all the clauses including the term t i in the body portion of the set of term heads t i of the clause representing the fact to which the probability parameter is given. And the probability parameter assigned to each of the terms t i where there is a clause not including the term t i , and the smaller the number of the probability parameters whose value is 0, the smaller the value is. The parameter estimation method according to claim 1, wherein the parameter estimation method is set to output. 前記パラメータ推定手段によるステップは、前記確率パラメータの各々の初期値、又は前回更新された前記確率パラメータの各々の値に基づいて、前記目的関数の勾配を計算し、計算された前記目的関数の勾配に基づいて、前記確率パラメータの各々の値を更新することを、予め定められた繰り返し終了条件を満たすまで繰り返すことにより、前記確率論理プログラムの前記確率パラメータの各々の値を推定する請求項1又は2記載のパラメータ推定方法。   The step by the parameter estimation means calculates the gradient of the objective function based on the initial value of each of the probability parameters or the value of each of the probability parameters updated last time, and the calculated gradient of the objective function The value of each of the probability parameters of the probability logic program is estimated by repeating updating the value of each of the probability parameters based on the above until a predetermined repetition termination condition is satisfied. 2. The parameter estimation method according to 2. 前記負の対数尤度関数は、前記複数の訓練例の各々に対する、前記確率論理プログラムにおける前記訓練例の出現確率を用いて表される請求項1〜請求項3の何れか1項記載のパラメータ推定方法。   The parameter according to claim 1, wherein the negative log-likelihood function is expressed using an appearance probability of the training example in the probability logic program for each of the plurality of training examples. Estimation method. 確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置であって、
前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付ける訓練例入力手段と、
前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数により求まる項と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数により求まる項との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くパラメータ推定手段と、
を含み、
前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている
パラメータ推定装置。
A stochastic logic program including a set of clauses representing facts to which a probability parameter is assigned and a set of clauses to which the probability parameter is not given, and derives a fact given as a question as a logical consequence A parameter estimation device for estimating each value of the probability parameter used in a probability logic program for calculating a probability that can be obtained,
A training example input means for receiving a plurality of training examples prepared in advance consisting of a set of facts to be derived as a logical consequence of the stochastic logic program and a set of facts that should not be derived as a logical consequence;
Based on a plurality of training examples received by the training example input means and the probability logic program, a predetermined penalty is set to output a smaller value as the number of the probability parameters having a value of 1 or 0 increases. a term which is obtained by the function, the objective function is a weighted sum of the terms obtained by a negative log likelihood function representing the likelihood of each value of the probability parameter, so as to minimize for the plurality of training examples , Estimating the value of each of the probability parameters of the probability logic program, removing the probability parameter from the clause representing the fact that the estimated value of the probability parameter is 1, and the probability parameter is not assigned A parameter estimation means that removes from the probability logic program a clause representing the fact that the estimated value of the probability parameter is 0 ,
Including
The penalty function of a set of terms t i of the head section which represents the fact that the probability parameter is assigned, for all nodes, including the terms t i to the body portion, the term t in the body portion The probability parameter assigned to each of the terms t i in which there is a term other than i , and is determined to output a smaller value as the number of the probability parameters having a value of 1 increases. A parameter estimation device.
前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記節と頭部が等しく、かつ、前記項tを含まない節が存在している前記項tの各々に付与されている前記確率パラメータであって、値が0である前記確率パラメータの数が多いほど小さい値を出力するように定められている請求項5記載のパラメータ推定装置。 The penalty function is the same for all the clauses including the term t i in the body portion of the set of term heads t i of the clause representing the fact to which the probability parameter is given. And the probability parameter assigned to each of the terms t i where there is a clause not including the term t i , and the smaller the number of the probability parameters whose value is 0, the smaller the value is. 6. The parameter estimation apparatus according to claim 5, wherein the parameter estimation apparatus is determined to output. 請求項1〜請求項4の何れか1項記載のパラメータ推定方法の各ステップをコンピュータに実行させるためのプログラム。   The program for making a computer perform each step of the parameter estimation method of any one of Claims 1-4.
JP2015182022A 2015-09-15 2015-09-15 Parameter estimation method, apparatus, and program Active JP6452580B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015182022A JP6452580B2 (en) 2015-09-15 2015-09-15 Parameter estimation method, apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015182022A JP6452580B2 (en) 2015-09-15 2015-09-15 Parameter estimation method, apparatus, and program

Publications (2)

Publication Number Publication Date
JP2017058852A JP2017058852A (en) 2017-03-23
JP6452580B2 true JP6452580B2 (en) 2019-01-16

Family

ID=58390206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015182022A Active JP6452580B2 (en) 2015-09-15 2015-09-15 Parameter estimation method, apparatus, and program

Country Status (1)

Country Link
JP (1) JP6452580B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2536287B2 (en) * 1992-07-20 1996-09-18 日本電気株式会社 A classifier using disjunctive normal form stochastic logic

Also Published As

Publication number Publication date
JP2017058852A (en) 2017-03-23

Similar Documents

Publication Publication Date Title
US20210319362A1 (en) Incentive control for multi-agent systems
US11150615B2 (en) Optimization device and control method of optimization device
JP6190771B2 (en) Parameter estimation method, apparatus, and program
JP2019159782A (en) Global search device and program for continuous optimization problem
JP2014041547A (en) Time series data analysis device, method and program
Harmati et al. On the convergence of sigmoidal fuzzy grey cognitive maps
JP2017227994A (en) Human flow prediction device, parameter estimation device, method and program
Svensson et al. Utilizing reinforcement learning for de novo drug design
JP6452580B2 (en) Parameter estimation method, apparatus, and program
Marthaler An overview of mathematical methods for numerical optimization
JP6099099B2 (en) Convergence determination apparatus, method, and program
JP6745507B2 (en) Parameter estimation device, method, and program
JP7167767B2 (en) Demand forecasting device, demand forecasting method and program
JP5956359B2 (en) Parameter estimation method, apparatus, and program
JP6799519B2 (en) Function learning device, function calculation device, function learning method, function calculation method, and program
JP5503577B2 (en) Data polarity determination apparatus, method, and program
JP6517731B2 (en) Probability density function estimation device, continuous value prediction device, method, and program
JP6854486B2 (en) Judgment device, judgment method, and program
D'Agostino An Efficient Global Optimization Algorithm with Adaptive Estimates of the Local Lipschitz Constants
JP6634000B2 (en) Graph structure estimation device, graph structure estimation method, and graph structure estimation program
JP5713877B2 (en) I / O model estimation apparatus, method, and program
Chen et al. Detecting change-points in epidemic models
JP7127686B2 (en) Hypothetical Inference Device, Hypothetical Inference Method, and Program
Tolonen et al. Population based methods for optimising infinite behaviours of timed automata
Schaarschmidt Multiple time–scale dynamics of stage structured populations and derivative–free optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170905

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181211

R150 Certificate of patent or registration of utility model

Ref document number: 6452580

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150