JP6452580B2 - パラメータ推定方法、装置、及びプログラム - Google Patents

パラメータ推定方法、装置、及びプログラム 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
English (en)
Other versions
JP2017058852A (ja
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/ja
Publication of JP2017058852A publication Critical patent/JP2017058852A/ja
Application granted granted Critical
Publication of JP6452580B2 publication Critical patent/JP6452580B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、パラメータ推定方法、装置、及びプログラムに係り、特に、確率論理プログラムで用いられる確率パラメータの各々の値を推定するパラメータ推定方法、装置、及びプログラムに関する。
論理プログラムは一階述語論理の節の集まりによって、対象領域における関係性を表現するものである。例えば、
mother(X,Y):- parent(X,Y),female(X).
female(hanako).
parent(hanako,taro).
は3つの節からなる論理プログラムである。X,Yは変数、hanako,taroは定数、mother,parent,femaleは述語記号である。
また、A:−B,...,Bの形の節のうち、Aを頭部、B,...,Bを本体部とよぶ。上記の論理プログラムは、ある事象間の論理的な関係を定めている。
確率論理プログラムは論理プログラムの拡張であり、論理プログラムが確率を扱えるようにしたものである。通常の論理プログラムの枠組みにおいては、ある論理プログラムΓとある質問qが与えられたとき、節の集合からその質問を論理的帰結として導き出せるかどうかを判断するしかできなかった。すなわち、例えば30%の確率でqを導き出すことができるといったような、不確実性を含む関係を表現することができなかった。確率論理プログラムは確率分布を用いることによって、ある質問qをプログラムが導出できる確率
を定義することができるようになる。そのため、確率論理プログラムを用いることでより柔軟に対象領域の関係を記述することが可能となる。
mother(X, Y) :- parent(X, Y), female(X).
0.3::female(hanako).
0.5::parent(hanako, taro).
上記は確率論理プログラムの例である。なお、確率論理プログラムにはいくつかの変種があるが、以下ではその一種であるProbLog(例えば、非特許文献1を参照)に基づいて説明を進める。通常の論理プログラムとの違いは、節female(hanako)., parent(taro).に数値が付与されていることである。この数値は該当の節が論理プログラムに含まれる確率を表すパラメータである。
例えば0.3::female(hanako).は、節female(hanako)が0.3の確率で論理プログラムに含まれることを意味している。確率論理プログラムでは、このように一部の節に[0,1]の間でパラメータを付与することによって、確率分布P(q)を定義する。例えば上記のプログラムでは、
となる。
確率論理プログラムのパラメータが未知のときに、訓練データを入力として与え、訓練データに対する負の対数尤度を最小化するようなパラメータを求める、パラメータ推定手法が提案されている。すなわち、w∈[0,1]を論理プログラムに含まれるi番目の確率の付与された節に対応するパラメータ、すべてのパラメータの集合をw={w,...,w}とすると、論理プログラム、訓練データを入力として受け取り、訓練データに対する負の対数尤度を最小化するようなパラメータの集合^w={^w,...,^w}を求める既存手法が提案されている。例えば、非特許文献2では、Expectation-Maximizationアルゴリズムを用いることでパラメータを推定する方法が提案されている。この手法を用いることによって、推定されるパラメータwの多くを0または1をとるように設定することができる。値が0または1のパラメータをもつ確率つき節は、論理プログラムから削除することができるため、結果としてよりパラメータ数が少なく、そのプログラムを用いた推論が容易であるような確率論理プログラムを得ることができる。
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.
上記の既存のペナルティ項の付与に基づいた確率論理プログラムのパラメータ推定手法では、プログラムに含まれる各パラメータに対して同一のペナルティ項を設定し、すべてのパラメータwが均一に0または1になりやすいように設定していた。しかし、パラメータの中にはそれが0または1になると、他に与える影響が大きなものも存在する。例えば上記の確率論理プログラムの例において、確率つき事実female(hanako).の確率を0.0と設定したとすると、mother(hanako,X).の確率は、他のパラメータの値によらず常に0になる。これは、female(hanako).の確率を0.0とすることが、プログラムが確率を与えることができる事象の種類を減らすことに対応することを表している。既存のペナルティ項を利用した手法では、パラメータによらず均一にペナルティ項を設定するため、このようなプログラムが得られやすくなるという課題があった。
本発明では、上記の事情に鑑みてなされたものであり、確率論理プログラムで用いられる確率パラメータの数を適切に削減することができるパラメータ推定方法、装置、及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明に係るパラメータ推定方法は、訓練例入力手段、及びパラメータ推定手段を含み、確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置におけるパラメータ推定方法であって、前記訓練例入力手段が、前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付けるステップと、前記パラメータ推定手段が、前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くステップと、を含み、前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている。
本発明に係るパラメータ推定装置は、確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置であって、前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付ける訓練例入力手段と、前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くパラメータ推定手段と、を含み、前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている。
本発明に係る前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記節と頭部が等しく、かつ、前記項tを含まない節が存在している前記項tの各々に付与されている前記確率パラメータであって、値が0である前記確率パラメータの数が多いほど小さい値を出力するように定められているようにしてもよい。
本発明に係る前記パラメータ推定手段は、前記確率パラメータの各々の初期値、又は前回更新された前記確率パラメータの各々の値に基づいて、前記目的関数の勾配を計算し、計算された前記目的関数の勾配に基づいて、前記確率パラメータの各々の値を更新することを、予め定められた繰り返し終了条件を満たすまで繰り返すことにより、前記確率論理プログラムの前記確率パラメータの各々の値を推定するようにすることができる。
本発明の前記負の対数尤度関数は、前記複数の訓練例の各々に対する、前記確率論理プログラムにおける前記訓練例の出現確率を用いて表されるようにすることができる。
また、本発明のプログラムは、本発明のパラメータ推定方法の各ステップをコンピュータに実行させるためのプログラムである。
以上説明したように、本発明のパラメータ推定方法、装置、及びプログラムによれば、複数の訓練例と、確率論理プログラムとに基づいて、値が1又は0である確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数と、確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、複数の訓練例に対して最小化するように、確率論理プログラムの確率パラメータの各々の値を推定し、推定された確率パラメータの値が1である事実を表す節から、確率パラメータを取り除いて、確率パラメータが付与されていない節とし、推定された確率パラメータの値が0である事実を表す節を、確率論理プログラムから取り除く際に、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む節に対し、本体部に項t以外の項が存在している項tの各々に付与されている確率パラメータであって、値が1である確率パラメータの数が多いほど小さい値を出力するようにペナルティ関数を定めることにより、事実の確率の影響を考慮しつつ、確率論理プログラムで用いられる確率パラメータの数を適切に削減することができる、という効果が得られる。
本発明の実施の形態に係るパラメータ推定装置の機能的構成を示すブロック図である。 ペナルティ関数の一例を示す図である。 本発明の実施の形態に係るパラメータ推定装置における推定処理ルーチンを示すフローチャート図である。 本発明の実施の形態に係るパラメータ推定装置におけるパラメータ推定処理ルーチンを示すフローチャート図である。
<本発明の実施の形態の概要>
まず、本発明の実施の形態の概要について説明する。本発明の実施の形態では、確率パラメータを付与した論理プログラム(以下、確率論理プログラムと称する。)の確率パラメータを、入力された訓練例より推定する。具体的には、本発明の実施の形態では、負の対数尤度関数を最小化する代わりに、負の対数尤度関数にペナルティ関数を付与した目的関数を最小化することで確率パラメータの推定を行う。推定された確率パラメータの値wが0または1をとったときにペナルティの値が小さくなるようなペナルティ関数を用いることで、推定された確率パラメータがよりw=0またはw=1となりやすいようにする。ここで、本発明の実施の形態では、確率論理プログラムのパラメータ推定を行う際に用いるペナルティ関数を、入力として与えられた確率論理プログラムのひな形における構造を利用して設定する。
そして、推定された確率パラメータがw=0となった節を確率論理プログラムから取り除き、w=1となった節を、確率が付与されていない通常の節に変換することで、より確率パラメータの数が少ない確率論理プログラムを得ることができる。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<パラメータ推定装置の構成>
本発明の実施の形態に係るパラメータ推定装置の構成について説明する。本発明の実施の形態に係るパラメータ推定装置100は、確率パラメータが付与された事実を表す節の集合と、確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる確率パラメータの各々の値を推定する。
本発明の実施の形態に係るパラメータ推定装置100は、CPU(Central Processing Unit)と、CPUが後述する各処理ルーチンを実行するためのプログラム等を記憶したROM(Read Only Memory)と、RAM(Random Access Memory)と、を備えたコンピュータで構成することができる。このパラメータ推定装置100は、機能的には図1に示すようにプログラム入力部10と、訓練例入力部12と、演算部20と、出力部30とを備えている。
プログラム入力部10は、確率論理プログラムを受け付ける。具体的には、プログラム入力部10は、確率パラメータを推定する対象となる確率論理プログラムのひな形の入力を受け付ける。ここで、ひな形とは、いくつかの節の確率パラメータの値が未定義であるような確率論理プログラムのことをいう。例えば、
mother(X, Y):- parent(X, Y), female(X).
w::female(hanako).
w::parent(hanako, taro).
は、2つの確率パラメータつき節の値が定まっていない、ひな形である。
訓練例入力部12は、確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とを含む予め用意された訓練例を複数受け付ける。訓練例は、確率論理プログラムのひな形のパラメータが正しく推定されたときに、生成されると考えられる事実の集合である。以下では、訓練例の集合をD={I,I,...,I}と表現する。各Iは一つの訓練例であり、訓練例Iは、I=(I ,I )というペアから構成されるとする。I は対象の確率論理プログラムから論理的帰結として導出される事実の集合、I は導出されなかった事実の集合である。上記の確率論理プログラムでは、例えば
={parent(hanako, taro)}, I ={female(hanako), mother(hanako, taro)}
などが訓練例となり、これは推定された確率論理プログラムから、parent(hanako, taro)を論理的帰結として導出できるが、female(hanako)とmother(hanako, taro)を導出できないような例が生成されることがあるということを表している。
演算部20は、プログラムデータベース22と、訓練例データベース24と、ペナルティ決定部25と、パラメータ推定部26とを備えている。
プログラムデータベース22には、プログラム入力部10によって受け付けた確率論理プログラムと、後述する代入の集合LT’とが格納される。
訓練例データベース24には、訓練例入力部12によって受け付けた複数の訓練例が格納される。
ペナルティ決定部25は、訓練例データベース24に格納された複数の訓練例に基づいて、確率つき節の頭部の項の集合をHとして、Hの部分集合S及びSを以下のように定義する。まずSは、項t∈Hのうち、項tを本体部に含む全ての節について、その節と頭部が等しく、かつ項tを含まない節が存在しているものの集合と決定する。同様に、Sは、項t∈Hのうち、項tiを本体部に含む全ての節について、本体部にt以外の項が含まれているものの集合と決定する。ペナルティ決定部25は、ここで定義したS及びSを用いて、以下の式に示すように、ペナルティ関数h(w)を決定する。これにより、事実の確率の影響を考慮しつつ、パラメータ推定を行うことができる。
上記(1)式のペナルティ関数は、右辺の二番目の項によって、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む全ての節に対し、本体部に項t以外の項が存在している項tの各々に付与されている確率パラメータであって、値が1である確率パラメータの数が多いほど小さい値を出力するように定められている。
また、上記(1)式のペナルティ関数は、右辺の一番目の項によって、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む全ての節に対し、節と頭部が等しく、かつ、項tを含まない節が存在している項tの各々に付与されている確率パラメータであって、値が0である確率パラメータの数が多いほど小さい値を出力するように定められている。
パラメータ推定部26は、訓練例データベース24に格納された複数の訓練例と、プログラムデータベース22に格納された確率論理プログラムとに基づいて、ペナルティ決定部25により決定されたペナルティ関数と、確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、複数の訓練例に対して最小化するように、確率論理プログラムの確率パラメータの各々の値を推定する。ペナルティ関数は、後述するように、値が1又は0である確率パラメータの数が多いほど小さい値を出力するように予め定められる。
そして、パラメータ推定部26は、推定された確率パラメータの値が1である事実を表す節から、確率パラメータを取り除いて、確率パラメータが付与されていない節とし、推定された確率パラメータの値が0である事実を表す節を、確率論理プログラムから取り除く。
パラメータ推定部26の具体的な処理の内容を説明するために、はじめに、以下で用いる記法および確率論理プログラムについて説明する。
まず、一階述語論理の節の集合である確率論理プログラムを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とする。
次に、Fに含まれる事実f∈Fに対する、代入後の項が変数を含まないような全ての代入を考える。定数記号の数が有限であると仮定すると、事実fに対する全ての代入の集合は
となる。ここでKはfに対する可能な代入の数である。全ての事実f∈Fに対する全ての可能な代入の集合の和集合を
とする。パラメータ推定部26は、プログラムデータベース22に格納された確率論理プログラムに基づいて、全ての事実f∈Fに対する全ての可能な代入の集合の和集合LT’を生成し、プログラムデータベース22に格納する。
ここで、ある論理プログラムTのもとで、質問(リテラル)qが論理的帰結として求められることを
とする。また、ある論理プログラムTのもとで、論理的帰結として求められないことを
とする。そして、δ(T,I)を、すべてのq∈I について
かつすべてのq∈I について
であるなら、δ(T,I)=1、そうでないならばδ(T,I)=0であるような関数として定義する。
以上を用いて、確率論理プログラムT’のもとでの訓練例Iの出現確率P(I|T)を
として定義する。
次に、パラメータ推定部26の具体的な処理を説明する。まず、パラメータ推定部26は、プログラムデータベース22より、確率論理プログラムのひな形を入力として受け取る。次に、パラメータ推定部26は、複数の訓練例を訓練例データベース24より受け取る。ここで、ひな形に含まれる確率パラメータをw={w,w,...,w}とする。また、訓練例の集合をD={I,I,...,I}とする。そして、パラメータ推定部26は、パラメータ推定処理を行う。
パラメータ推定処理において、パラメータ推定部26は、まず、確率パラメータの初期値を与える。確率パラメータの初期値は各i=1,...,nについて、0<w<1となるようにw(0)を与える。次にパラメータ推定部26は、現在のw(k)を用いて目的関数の勾配を計算する。
目的関数は、負の対数尤度とペナルティ関数の和として表現される。全ての訓練例の集合D={I,...,I}に対する負の対数尤度関数l(w)は、
となる。従って、上記(3)式に示すように、負の対数尤度関数は、複数の訓練例の各々に対する、確率論理プログラムにおける当該訓練例の出現確率を用いて表される。通常のパラメータ推定問題では、この負の対数尤度関数を最小化するような^w=(^w,..., ^w)を推定する。一方、本発明の実施の形態では、非特許文献3と同様に射影勾配法に基づいた尤度関数とペナルティ項の和の最小化によってパラメータ推定を行う。
負の対数尤度関数とペナルティ関数の重みづけ和
を目的関数とする。ここでεはw=0またはw=1となったときにh(w)が未定義とならないためのパラメータであり、0<ε<1 とする。λは対数尤度関数とペナルティ関数の影響を調整するパラメータであり、正の実数である。
また、wが一次元のベクトル(スカラー)であるときに、wの値を0から1まで動かしたときの、上記(1)式の右辺の値の変化の一例を図2に示す。
図2に示すように、上記(1)式の右辺の値はwが一番目の項において0または二番目の項において1に近づいたときに小さい値をとることが分かる。すなわち、値が1又は0である確率パラメータの数が多いほどペナルティ関数の値は小さくなる。結果としてg(w)を最小化するパラメータはペナルティ関数を小さくするようにw=0またはw=1となりやすくなる。
そして、パラメータ推定部26は、確率パラメータの各々の初期値、又は前回更新された確率パラメータの各々の値に基づいて、上記(4)式の目的関数の勾配を計算し、計算された目的関数の勾配に基づいて、確率パラメータの各々の値を更新することを、予め定められた繰り返し終了条件を満たすまで繰り返すことにより、確率論理プログラムの確率パラメータの各々の値を推定する。
具体的には、関数l(w)の勾配を∇l(w)、そのi番目の成分を[∇l(w)]とすると、
となる。ここでQ(L,i)は
となる。同様に[∇h(w)]
となる。以上よりg(w)の勾配は
となる。
そして、パラメータ推定部26は、勾配∇g(w(k))を計算した後、新しい確率パラメータw(k+1)
として更新する。このときのαはw(k+1)の更新の際のステップ幅を与えるパラメータであり、例えば参考文献(Dimitri P Bertsekas,“Nonlinear programming.”,1999.)にあるような、Armijo rule 等の手法を用いて定める。
次に、パラメータ推定部26は、更新された確率パラメータw(k+1)の各成分を、0≦w≦1の範囲に収まるように射影する。具体的には、w<0であるならw=0とし、w>1であるならw=1とする。それ以外のときはwをそのまま用いる。
そして、パラメータ推定部26は、例えば、w(k+1)とw(k)との差分が小さいことを繰り返し終了条件として、w(k+1)とw(k)との差分を計算し、差分が十分小さいならば、現在のw(k+1)を出力して処理を終了する。差分が十分小さくないならば、パラメータ推定部26は、現在のw(k+1)をもとにw(k+2)を求める処理を行う。
パラメータ推定部26は、パラメータ推定処理の終了後、推定結果を出力する。ここで、パラメータ推定部26は、入力として与えられたひな形に推定された確率パラメータを付与したものを推定結果とする。このとき、あるwがw=0であったならば、対応する節を出力する確率論理プログラムから取り除く。また、w=1であったならば、Fよりfを取り除き、かつKBにfを追加する。こうして得られた確率論理プログラムを出力して処理を終了する。
出力部30は、パラメータ推定部26によって出力された確率論理プログラムを出力する。
<パラメータ推定装置の作用>
次に、本発明の実施の形態に係るパラメータ推定装置100の作用について説明する。確率論理プログラムと複数の訓練例とがパラメータ推定装置100に入力されると、演算部20によって、図3に示す推定処理ルーチンが実行される。
まず、ステップS100において、プログラム入力部10によって、入力された確率論理プログラムを受け付け、プログラムデータベース22に格納する。
次に、ステップS102において、訓練例入力部12によって、入力された複数の訓練例を受け付け、訓練例データベース24に格納する。
次に、ステップS103において、ペナルティ決定部25によって、上記ステップS102で格納した複数の訓練事例に基づいて、確率つき節の頭部の項の集合をHとして、部分集合S0及びS1を定義し、上記(1)式に従って、ペナルティ関数を決定する。
次に、ステップS104において、パラメータ推定部26によって、上記ステップS100でプログラムデータベース22に格納された確率論理プログラムに基づいて、全ての事実f∈Fに対する全ての可能な代入の集合の和集合LT’を生成し、プログラムデータベース22に格納する。
次に、ステップS106において、パラメータ推定部26によって、ステップS103で決定されたペナルティ関数を用いて、確率パラメータの各々の値を推定する。ステップS106は、図4に示すパラメータ推定処理ルーチンによって実現される。
<パラメータ推定処理ルーチン>
ステップS200において、パラメータ推定部26によって、確率パラメータの各々について、0<w<1となるように当該確率パラメータの初期値w(0)を設定する。
次に、ステップS201において、繰り返し回数kに1を代入する。
次に、ステップS202において、パラメータ推定部26によって、上記ステップS200で設定された確率パラメータの各々の初期値、又は前回のステップS206で更新された確率パラメータの各々の値に基づいて、上記(7)式に示す目的関数の勾配を計算する。
次に、ステップS204において、パラメータ推定部26によって、上記ステップS202で計算された目的関数の勾配に基づいて、上記(8)式に従って、確率パラメータの各々の値を更新し、メモリ(図示省略)に格納する。
次に、ステップS206において、パラメータ推定部26によって、上記ステップS204で更新された確率パラメータw(k+1)の各成分を、0≦w≦1の範囲に収まるように射影し、メモリ(図示省略)に格納する。具体的には、パラメータ推定部26は、w<0であるならw=0とし、w>1であるならw=1とする。それ以外のときはwをそのまま用いる。
次に、ステップS208において、予め定められた繰り返し終了条件を満たしたか否かを判定する。具体的には、上記ステップS206で更新された確率パラメータw(k+1)と、前回のステップS206で更新された確率パラメータw(k)との差分を計算し、w(k+1)とw(k)との差分が十分小さいならば、計算が収束したと判定し、ステップS210へ進む。一方、差分が十分小さくないならば、ステップS209でkをインクリメントして、ステップS202へ戻る。
ステップS210において、パラメータ推定部26によって、上記ステップS206でメモリ(図示省略)に格納された確率パラメータの各々に基づいて、ある確率パラメータwがw=0であったならば、対応する節を出力する確率論理プログラムから取り除く。また、確率パラメータw=1であったならば、Fよりfを取り除き、かつKBにfを追加し、確率論理プログラムを生成する。
ステップS212において、上記ステップS210で生成された確率論理プログラムを出力して、パラメータ推定処理ルーチンを終了する。
次に、推定処理ルーチンに戻り、ステップS108において、出力部30によって、上記ステップS106で出力された確率論理プログラムを出力して、推定処理ルーチンを終了する。
以上説明したように、本発明の実施の形態に係るパラメータ推定装置によれば、複数の訓練例と、確率論理プログラムとに基づいて、値が1又は0である確率パラメータの数が多いほど小さい値を出力するように決定されたペナルティ関数と、確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数との重み付け和である目的関数を、複数の訓練例に対して最小化するように、確率論理プログラムの確率パラメータの各々の値を推定し、推定された確率パラメータの値が1である事実を表す節から、確率パラメータを取り除いて、確率パラメータが付与されていない節とし、推定された確率パラメータの値が0である事実を表す節を、確率論理プログラムから取り除く際に、確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、項tを本体部に含む節に対し、本体部に項t以外の項が存在している項tの各々に付与されている確率パラメータであって、値が1である確率パラメータの数が多いほど小さい値を出力するようにペナルティ関数を決定することにより、事実の確率の影響を考慮しつつ、確率論理プログラムで用いられる確率パラメータの数を適切に削減することができる。
また、訓練例から確率論理プログラムのパラメータを推定する問題において、推定された確率論理プログラムのパラメータ数を少なくすることができる。その結果として、推定された確率論理プログラムを用いて確率推論を行う際の計算回数を削減できるため、計算の高速化に寄与する。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、本実施の形態のパラメータ推定装置100は、プログラムデータベース22及び訓練例データベース24を備えている場合について説明したが、例えばプログラムデータベース22及び訓練例データベース24の少なくとも1つがパラメータ推定装置100の外部装置に設けられ、パラメータ推定装置100は、外部装置と通信手段を用いて通信することにより、プログラムデータベース22及び訓練例データベース24の少なくとも1つを参照するようにしてもよい。
例えば、上述のパラメータ推定装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 プログラム入力部
12 訓練例入力部
20 演算部
22 プログラムデータベース
24 訓練例データベース
25 ペナルティ決定部
26 パラメータ推定部
30 出力部
100 パラメータ推定装置

Claims (7)

  1. 訓練例入力手段、及びパラメータ推定手段を含み、確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置におけるパラメータ推定方法であって、
    前記訓練例入力手段が、前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付けるステップと、
    前記パラメータ推定手段が、前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数により求まる項と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数により求まる項との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くステップと、
    を含み、
    前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている
    パラメータ推定方法。
  2. 前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記節と頭部が等しく、かつ、前記項tを含まない節が存在している前記項tの各々に付与されている前記確率パラメータであって、値が0である前記確率パラメータの数が多いほど小さい値を出力するように定められている請求項1記載のパラメータ推定方法。
  3. 前記パラメータ推定手段によるステップは、前記確率パラメータの各々の初期値、又は前回更新された前記確率パラメータの各々の値に基づいて、前記目的関数の勾配を計算し、計算された前記目的関数の勾配に基づいて、前記確率パラメータの各々の値を更新することを、予め定められた繰り返し終了条件を満たすまで繰り返すことにより、前記確率論理プログラムの前記確率パラメータの各々の値を推定する請求項1又は2記載のパラメータ推定方法。
  4. 前記負の対数尤度関数は、前記複数の訓練例の各々に対する、前記確率論理プログラムにおける前記訓練例の出現確率を用いて表される請求項1〜請求項3の何れか1項記載のパラメータ推定方法。
  5. 確率パラメータが付与された事実を表す節の集合と、前記確率パラメータが付与されていない節の集合とを含む確率論理プログラムであって、かつ、質問として与えられた事実を論理的帰結として導出することができる確率を算出する確率論理プログラムで用いられる前記確率パラメータの各々の値を推定するパラメータ推定装置であって、
    前記確率論理プログラムの論理的帰結として導出されるべき事実の集合と、論理的帰結として導出されるべきではない事実の集合とからなる予め用意された複数の訓練例を受け付ける訓練例入力手段と、
    前記訓練例入力手段によって受け付けた複数の訓練例と、前記確率論理プログラムとに基づいて、値が1又は0である前記確率パラメータの数が多いほど小さい値を出力するように予め定められたペナルティ関数により求まる項と、前記確率パラメータの各々の値の尤もらしさを表す負の対数尤度関数により求まる項との重み付け和である目的関数を、前記複数の訓練例に対して最小化するように、前記確率論理プログラムの前記確率パラメータの各々の値を推定し、推定された前記確率パラメータの値が1である事実を表す節から、前記確率パラメータを取り除いて、前記確率パラメータが付与されていない節とし、推定された前記確率パラメータの値が0である事実を表す節を、前記確率論理プログラムから取り除くパラメータ推定手段と、
    を含み、
    前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記本体部に前記項t以外の項が存在している前記項tの各々に付与されている前記確率パラメータであって、値が1である前記確率パラメータの数が多いほど小さい値を出力するように定められている
    パラメータ推定装置。
  6. 前記ペナルティ関数は、前記確率パラメータが付与された事実を表す節の頭部の項tの集合のうち、前記項tを本体部に含む全ての節に対し、前記節と頭部が等しく、かつ、前記項tを含まない節が存在している前記項tの各々に付与されている前記確率パラメータであって、値が0である前記確率パラメータの数が多いほど小さい値を出力するように定められている請求項5記載のパラメータ推定装置。
  7. 請求項1〜請求項4の何れか1項記載のパラメータ推定方法の各ステップをコンピュータに実行させるためのプログラム。
JP2015182022A 2015-09-15 2015-09-15 パラメータ推定方法、装置、及びプログラム Active JP6452580B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015182022A JP6452580B2 (ja) 2015-09-15 2015-09-15 パラメータ推定方法、装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015182022A JP6452580B2 (ja) 2015-09-15 2015-09-15 パラメータ推定方法、装置、及びプログラム

Publications (2)

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

Family

ID=58390206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015182022A Active JP6452580B2 (ja) 2015-09-15 2015-09-15 パラメータ推定方法、装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP6452580B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2536287B2 (ja) * 1992-07-20 1996-09-18 日本電気株式会社 選言標準形の確率論理を用いる分類装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US20210319362A1 (en) Incentive control for multi-agent systems
Polyak Random algorithms for solving convex inequalities
US11150615B2 (en) Optimization device and control method of optimization device
JP6190771B2 (ja) パラメータ推定方法、装置、及びプログラム
JP2019159782A (ja) 連続最適化問題の大域的探索装置及びプログラム
JP2014041547A (ja) 時系列データ解析装置、方法、及びプログラム
Harmati et al. On the convergence of sigmoidal fuzzy grey cognitive maps
Svensson et al. Utilizing reinforcement learning for de novo drug design
JP6452580B2 (ja) パラメータ推定方法、装置、及びプログラム
Marthaler An overview of mathematical methods for numerical optimization
JP6099099B2 (ja) 収束判定装置、方法、及びプログラム
JP6745507B2 (ja) パラメータ推定装置、方法、及びプログラム
JP7167767B2 (ja) 需要予測装置、需要予測方法及びプログラム
JP5956359B2 (ja) パラメータ推定方法、装置、及びプログラム
JP6799519B2 (ja) 関数学習装置、関数計算装置、関数学習方法、関数計算方法、及びプログラム
JP5503577B2 (ja) データ極性判定装置、方法、及びプログラム
JP6517731B2 (ja) 確率密度関数推定装置、連続値予測装置、方法、及びプログラム
JP6854486B2 (ja) 判定装置、判定方法、およびプログラム
D'Agostino An Efficient Global Optimization Algorithm with Adaptive Estimates of the Local Lipschitz Constants
JP6634000B2 (ja) グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム
JP5713877B2 (ja) 入出力モデル推定装置、方法、及びプログラム
Chen et al. Detecting change-points in epidemic models
JP7127686B2 (ja) 仮説推論装置、仮説推論方法、及びプログラム
Tolonen et al. Population based methods for optimising infinite behaviours of timed automata
JP2018097497A (ja) 解析装置、解析方法、及びプログラム

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