以下、発明を実施するための実施例を、図面を用いて説明する。
<実施例1>
第1の実施例では、データ項目間の確率的依存構造と確率的依存量を表現した推論モデルに含まれる確率的依存量を、新規データに基づき更新し、新たな推論モデルを構築する推論モデル構築システムの例を説明する。
第1の実施例の推論モデル構築システムは、推論モデルに含まれる確率的依存量を、新規データに基づき更新することで、新規データに対し推論性能の高い推論モデルを構築できる。
以下、第1の実施例の推論モデル構築システムの構成について説明する。図1は、第1の実施例の推論モデル構築システムの構成を示すブロック図である。第1の実施例の推論モデル構築システムは、データ分析部101およびデータベース120を有する。データ分析部101は、入力部102、出力部103、演算装置104、メモリ105および記憶媒体106を有する。
入力部102は、マウス、キーボードなどのヒューマンインターフェースであり、データ分析部101への入力を受け付ける。出力部103は、推論モデル構築システムによる演算結果を出力するディスプレイやプリンタである。記憶媒体106は、データ分析部101によるデータ分析処理を実現する各種プログラム、及びデータ分析処理の実行結果等を格納する記憶装置であり、例えば、不揮発性記憶媒体(磁気ディスクドライブ、不揮発性メモリ等)である。メモリ105には、記憶媒体106に格納されているプログラムが展開される。演算装置104は、メモリ105にロードされたプログラムを実行する演算装置であり、例えば、CPU、GPUなどである。以下に説明する処理及び演算は、演算装置104が実行する。
第1の実施例の推論モデル構築システムは、一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
演算装置104によって実行されるプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して各サーバに提供され、非一時的記憶媒体である不揮発性記憶装置に格納される。このため、計算機システムは、リムーバブルメディアを読み込むインターフェースを備えていてもよい。
以下、第1の実施例で扱うデータの種類について説明する。本実施例では、推論モデルを構築および更新するデータとして、ヒトの健康に関する情報が個人毎にまとめられた情報を含むデータを用い、推論モデルとして、ヒトの健康に関する一部の情報に基づきヒトの健康に関する他の情報を推論する推論モデルの構築システムの例を説明するが、扱うデータの種類および推論モデルはこれに限定されない。例えば、ある装置に取り付けられた複数のセンサから取得された情報が、装置の動作状況と併せて取得時期毎にまとめられたデータを用いることで、センサの情報から装置の動作状況を推論する推論モデルを構築および更新することができる。
以下、第1の実施例において推論モデル構築に用いるデータの一例を説明する。図2は、推論モデルの構築に用いるデータの一例を説明する図である。本例では、モデル構築用情報201は、個人と個人毎の健康に関する情報の対応関係を保持する情報を含み、個人ID202、空腹時血糖203、収縮期血圧204、糖尿病有病205、高血圧症有病206を含む。本例では、空腹時血糖203は、「100以上」または「100未満」の2つの状態を有するデータ項目として説明しているが、ここに含まれるデータはより細かな階層でもよい。また連続値を適切に離散化したデータ項目でも良い。収縮期血圧204は「130以上」または「130未満」の2つの状態を有するデータ項目として説明しているが、ここに含まれるデータはより細かな階層でもよい。また連続値を適切に離散化したデータ項目でも良い。糖尿病有病205は「あり」または「なし」の2つの状態を有するデータ項目として説明しているが、ここに含まれるデータはより細かな階層でもよい。高血圧症有病206は「あり」または「なし」の2つの状態を有するデータ項目として説明しているが、ここに含まれるデータはより細かな階層でもよい。モデル構築用情報は、入力部102や、ネットワークなどを介して入力され、データ記憶部121に記憶される。別途取得手段で入手され、事前にデータ記憶部121に記憶されていたものでも良い。
以下、推論モデルを構築するための情報から推論モデルを構築する処理を実施するグラフィカルモデル作成部107について説明する。グラフィカルモデル作成部107では、データ記憶部121に記憶されたモデル構築用情報の各項目を確率変数とし、確率変数をノード、確率変数間の条件付き依存関係をエッジとして表現したグラフ及び条件付き確率テーブルよりなるモデルを作成する。ただし、エッジは有向、無向の2種類がある。ノードの集合をV、エッジの集合をE、グラフをG=(V、E)とおくことにする。グラフィカルモデル作成部107では、モデルとして、ベイジアンネットワークやマルコフネットワークなどのグラフィカルモデルを作成する。
以下ではグラフィカルモデルについて、例を挙げて説明する。
図3(A)は、2つの確率変数X1とX2から成る単純なモデルである。それぞれの確率変数を表すノードを、v1、v2とすると、図3(A)のグラフは、v1、v2、およびv1からv2への有向エッジe1より成る。V=(v1、v2)、E=(e1)とおくと、図3(A)のグラフはG=(V、E)となる。
次に確率テーブルについて説明する。ノードv1、v2が表す確率変数x1とx2について、図3(A)で示されるグラフG301は、x1とx2の同時分布p(x1、x2)がp(x1、x2)=p(x2|x1)p(x1)により与えられることを示している。つまり、x2の確率分布は、x1の値に依存し、x1に関する条件付き確率p(x2|x1)により与えられる。確率変数x1には親ノードがないため、x1の確率分布はp(x1)となる。確率テーブルは、p(x1)とp(x2|x1)の値である。p(x1)の確率テーブルは、x1の各値に対する確率値である。図3(B)の302に例を示した。表302は、例えば、p(x1=1)=a1はx1=1となる確率がa1であることを示す。p(x1)は確率分布であるので、Σp(x1)=1となる。ここで、和はx1の全ての値に対してとる。p(x2|x1)の確率テーブルは、x1、x2の各値に対して、p(x2|x1)を求めることで得られる。図3(C)の303に例を示した。例えば、p(x2=2|x1=1)は、x1=1となる事例のうち、x2=2となっている事例の割合を計算することで得られる。この計算により、確率テーブルが得られる。
図3(A)、図3(B)、図3(C)の例の場合には、図3(A)に示すグラフGと図3(B)と図3(C)に示す確率テーブルがグラフィカルモデルとなる。
図3(D)に示す構造304では、二つの確率変数X1及びX2が無向辺によって結ばれている。無向辺は、確率変数間が独立でないことを示す。確率変数X1とX2とが独立であるとは、X1とX2の同時分布P(X1,X2)がP(X1,X2)=P(X1)P(X2)に分解できることである。確率テーブル302は、P(X1,X2)≠P(X1)P(X2)である状況を示している。但し、確率変数X1とX2が独立であるか不明である場合、確率変数間に依存性がある可能性を考慮して、構造304のように表現する場合がある。この確率分布は、確率テーブル305によって表される(図3(E)参照)。bijは0以上1以下の実数値であり、Σbij=1(Σはiとjの両方に関する和)である。
これによって、確率変数間の依存関係を表現することができる。
上記で説明した小規模なモデルの場合には、確率分布が何に依存しているか、経験や知識に基づいて定義することも可能であるが、規模が大きくなると困難となる。その場合には、確率的依存関係(エッジ)をデータに基づいて自動的に作成してもよい。また、作成時に、経験や知識に基づく依存関係によりエッジの有無や有向、無向を制限してもよい。確率的依存関係の作成には、例えばベイジアンネットワークの構造学習技術などを用いることができる。
以上により、作成したグラフィカルモデルは記憶部122に記憶しておく。具体的には、グラフィカルモデルに含まれるグラフ構造Gを依存構造記憶部123に、確率テーブルは依存量記憶部124に記憶しておく。
図4は図2で示したモデル構築用情報201から構築した有向辺を有するグラフィカルモデルの一例を説明する図である。図4(A)に示すグラフ構造401は、血糖と血圧と糖尿病と高血圧症の4つの確率変数が楕円形状によって示される。さらに、その間の有向辺が矢印によって示される。有向辺は、確率変数「糖尿病」が各状態をとる確率が、確率変数「血糖」および確率変数「血圧」に依存していることを示している。さらに、確率変数「高血圧症」が各状態をとる確率が、確率変数「血糖」および確率変数「血圧」に依存していることを示す。確率変数「血糖」の確率分布P(血糖)、確率変数「血圧」の確率分布P(血圧)、確率変数「糖尿病」の確率分布P(糖尿病|血糖,血圧)、確率変数「高血圧」の確率分布P(高血圧症|血糖、血圧)は、それぞれ、確率テーブル402、403、404、405によって表される(図4(B)、図4(C)、図4(D)、図4(E)参照)。
以下、第1の実施例において、推論モデルを新規データに基づき更新するための情報である信頼度を計算する確率信頼度計算部111と、推論モデルを新規データに基づき更新する処理を実施するグラフィカルモデル更新部108について説明する。
まず、確率信頼度計算部111について説明する。確率信頼度計算部111は依存量記憶部124に記憶された確率テーブルに含まれる確率分布の信頼度を表す指標を、確率テーブル毎かつ事前確率変数によって定められる事象毎に、確率分布の計算に用いた情報を用いて計算する。ここで信頼度とは、確率分布を示す確率値がどの程度のエビデンスにより計算されたかを示す定量的な指標であり、確率テーブルの事前確率変数群の事象空間に含まれる事象毎に計算される値である。信頼度としては例えば、各事象の事例数を用いることができる。
以下、信頼度の計算方法の例を、図4(D)に示した「血糖」、「血圧」、「糖尿病」の3つの確率変数に関するグラフィカルモデル由来の確率テーブル404を用いて説明する。この確率テーブルの事前確率変数群の事象空間には、(血糖,血圧)={(a1,b1),(a2,b1),(a1,b2),(a2,b2)}の4つの事象が存在するため、事象毎に4つの信頼度をそれぞれ計算する。例えば、(血糖,血圧)=(a1,b1)の事象における信頼度は、確率テーブル404の糖尿病の確率分布(なし,あり)=(C111,C112)の値を計算したデータから、該当する事例数を求め、その値を信頼度として格納する。図5は、確率テーブル404に関して、事象毎に信頼度を求めた一例を示す信頼度情報である。例えば、信頼度B11は、モデル構築用の情報の中で、「血糖」がa1で、「血圧」がb1である事象の事例数として計算することができる。計算した信頼度の情報はグラフィカルモデルおよびグラフィカルモデルに含まれる確率テーブルと対応付けて、確率信頼度記憶部126に記憶する。
次にグラフィカルモデル更新部108について説明する。グラフィカル更新部108は、グラフィカルモデル記憶部122に記憶されたグラフィカルモデルを、新規データを用いて更新し、新規データに対して推論性能の高いモデルを構築する。
図6はグラフィカルモデル更新部108で行う処理のフローチャートを示す図である。
以下、各ステップの処理について説明する。
グラフィカルモデル取得ステップ601では、グラフィカルモデル記憶部122に記憶されるグラフィカルモデルに関する情報を取得し、メモリ105または記憶媒体106に記憶する。
モデル更新用データ取得ステップ602では、データ記憶部121に記憶された新規データを取得し、メモリ105または記憶媒体106に記憶する。なお、新規データは、データ記憶部121に記憶されているものだけに限定されず、入力部やその他手段を用いて新しく入力された情報を用いて良い。
図7は新規データに含まれるモデル更新用情報の一例を説明する図である。モデル更新用情報701は、個人ID702、空腹時血糖703、収縮期血圧704、糖尿病有病705、高血圧症有病706を含む。これらの項目はそれぞれ、モデル構築用情報201に含まれる個人ID202、空腹時血糖203、収縮期血圧204、糖尿病有病205、高血圧症有病206と同じ種類の情報を含む。なお、モデル更新用情報701に含まれるデータ項目は、モデル構築用情報201およびグラフィカルモデル取得部108で取得したグラフィカルモデルに含まれるノードの項目と必ずしも全て一致する必要はない。例えば、グラフィカルモデルに含まれる複数の確率表のうち、少なくとも一つの確率表に含まれる確率変数群を、データ項目として含んでいれば良い。
確率テーブル計算ステップ603では、グラフィカルモデル取得ステップ601で取得したグラフィカルモデルの確率テーブルに基づき、モデル更新用データ取得ステップ602で取得した新規データを用いて新たな確率情報を含む確率テーブルを作成する。
図8は、確率テーブル計算ステップ603で実施する処理のフローチャートである。以下、各ステップの処理について説明する。
ステップ801では、更新する対象のグラフィカルモデルに含まれる確率テーブルと、新規データに含まれるデータ項目を比較し、新規データから計算可能な確率テーブルが存在するかを判定する。例えば、図4(B)で示した確率テーブルは、確率変数「血糖」のみで定義された確率情報を含むため、新規データに「血糖」が項目として含まれていれば、計算可能な確率テーブルとして判定される。例えば、図4(D)に示した確率テーブルは、確率変数として「血糖」、「血圧」、「糖尿病」の3つの確率変数により定義された確率情報を含むため、新規データに「血糖」、「血圧」、「糖尿病」の3つの項目が含まれていれば、計算可能な確率テーブルとして判定される。計算可能な確率テーブルが存在すると判定した場合は、当該の確率テーブルをひとつ選択し、確率テーブル作成ステップ802に進む。計算可能な確率テーブルが存在しないと判定した場合は、終了に進み、確率距離計算ステップ603を終了する。
確率表作成ステップ802では、ステップ801で計算可能と判定された確率テーブルに対して、新規データを用いて、確率値を計算する。確率値の計算はグラフィカルモデル作成部で確率テーブルの確率値計算に用いた方法と同様の方法を用いて実施する。また、他の手法を用いることもできる。
図9は、図7のモデル更新用情報701から計算した確率テーブルの一例を説明する図である。表901は、「血糖」と「血圧」と「糖尿病」の3つの確率変数間の確率的な依存量を示す確率テーブルであり、図4の表404で示す確率テーブルに、図7のモデル更新用データ701から計算した確率値を格納したテーブルである。本処理ステップで作成した確率テーブルはメモリ105または記憶媒体106に記憶する。
以下、図6のグラフィカルモデル更新処理フローの説明に戻る。
確率距離計算ステップ604では、グラフィカルモデル取得ステップ601で取得したグラフィカルモデルの確率テーブルと、確率テーブル計算ステップ603で計算した確率テーブルとの間の確率的な距離を計算する。確率的な距離は、確率表毎かつ事前確率変数によって定められる事象ごとに計算する。ここで確率的な距離とは、2つの確率分布の間の差異を表現する定量的な指標であり、確率テーブルの事前確率変数群の事象空間に含まれる事象毎に計算される値である。
以下、確率的な距離の計算方法の例を、図4(D)に示した「血糖」、「血圧」、「糖尿病」の3つの確率変数に関するグラフィカルモデル由来の確率テーブル404と、図9に示した「血糖」、「血圧」、「糖尿病」の3つの確率変数に関する新規データ由来の確率テーブル901の、2つの確率テーブルを用いて説明する。これらの確率テーブルの事前確率変数群の事象空間には、(血糖,血圧)={(a1,b1),(a2,b1),(a1,b2),(a2,b2)}の4つの事象が存在するため、事象毎に関して4つの距離をそれぞれ計算する。例えば、(血糖,血圧)=(a1,b1)の事象における距離は、確率テーブル404の糖尿病の確率分布(なし,あり)=(C111,C112)と確率テーブル901の糖尿病の確率分布(なし,あり)=(c111´、C112´)の2つの確率分布を用いて計算する。
距離の計算方法の1つ目の例を説明する。確率分布を、確率変数が取りうる状態数の次元を有する空間内の座標を示すベクトルとして表現し、2つの確率分布の距離を、それらベクトルの内積より定義される値で計算する。例えば、例えば、(血糖,血圧)=(a1,b1)の事象における確率距離は、確率テーブル404の糖尿病の確率分布(なし,あり)=(C111,C112)と確率テーブル901の糖尿病の確率分布(なし,あり)=(c111´、C112´)の2つの確率分布を用いて、(C111×C111´+C112×C112´)÷(√(C111×C111+C112×C112)×√(C111´×C111´+C112´×C112´))で表されるコサイン類似度を用いて計算することができる。
距離の計算方法の2つ目の例を説明する。2つの確率分布から計算されるカルバック・ライブラー・ダイバージェンスに基づき計算した値を、距離として用いる。例えば、(血糖,血圧)=(a1,b1)の事象における距離は、確率テーブル404の糖尿病の確率分布(なし,あり)=(C111,C112)と確率テーブル901の糖尿病の確率分布(なし,あり)=(c111´、C112´)の2つの確率分布を用いて、C111×lоg(c111÷c111´)+C112×lоg(c112÷c112´)で表されるカルバック・ライブラー・ダイバージェンスを用いることができる。また、ジェンセン・シャノン・ダイバージェンスなどの指標を確率距離として用いても良い。
事象毎に計算した距離は事象空間と対応づけられた確率距離情報テーブルとして、確率距離記憶部125に記憶される。
図10は、確率距離計算ステップ703で作成した確率距離と事象空間とが対応付けられた確率距離情報テーブルの一例である。糖尿病確率距離の項目には、事象毎に確率距離計算ステップで計算された距離の情報が格納される。
確率信頼度計算ステップ605では、確率テーブル計算ステップ603で計算した確率テーブルに含まれる確率分布の信頼度を示す情報を、モデル更新用データ取得ステップ602で取得した新規データに基づき、確率信頼度計算部111を用いて計算する。計算した信頼度の情報は確率テーブルと対応付けて、確率信頼度記憶部126に記憶する。
確率テーブル更新ステップ606では、更新する対象のグラフィカルモデルに含まれる確率テーブルの確率情報と、新規データから計算した確率テーブルの確率情報の2つの確率情報から、更新後のモデルの確率テーブルの確率情報を計算し、確率テーブルを更新する。確率テーブルの更新には、確率信頼度記憶部126に記憶された、グラフィカルモデルに含まれる確率テーブルの確率情報の信頼度と、新規データから計算した確率テーブルの確率情報の信頼度と、確率距離記憶部125に記憶された2つの確率情報の距離情報と、を用いる。
このようにして、過去のグラフィカルモデルに含まれる有用な情報を新規データに対して適切に活用して、確率構造を変えずに新たな確率的依存量を計算することで新たなグラフィカルモデルを構築することができる。
以下、更新方法の例を詳細に説明する。以下の説明では、対象のグラフィカルモデルに含まれる、ある確率テーブルをTとし、Tに基づき新規データから計算した確率テーブルをT´とする。さらに、TおよびT´に共通に含まれる、ある事象Eに関する確率情報を更新する場合における、Tに含まれる事象Eに関する確率分布をP(E)、T´に含まれる事象Eに関する確率分布をP(E)´、P(E)の信頼度をB(E)、P(E)´の信頼度をB(E)´、P(E)とP(E)´との確率的な距離をD(E)、として更新方法の例を説明する。また、更新処理によって新たに作成する事象Eに関する確率分布をP(E)´´とする。
更新方法の1つ目の例を説明する。事象Eに関する更新後の確率分布P(E)´´の値は、B(E)とB(E)´とD(E)の3つの変数に基づいて一意に定められるパラメータに対する閾値判定によって、P(E)またはP(E)´のいずれかの値を採用する。本処理を、図11を用いて説明する。
図11は、B(E)´とB(E)の比率と、D(E)の2つの値によって定義される二次元空間上における確率分布の選択境界線の一例を示す図である。直線1101は、事象Eに関する信頼度B(E)´と信頼度B(E)の比率の値に関する軸である。直線1102は、事象空間Eに関する距離D(E)の値に関する軸である。曲線1103は、信頼度B(E)´と信頼度B(E)の比率と、距離D(E)との2つの値によって定義される確率分布の選択境界線を示す。選択境界線は,例えば,D(E)=t/(B(E)´/B(E))のように,D(E)とB(E)´/B(E)の2つの指標の関連を示す曲線の数式として定義することができる。ここでtは定数である。本例では、D(E)と、信頼度B(E)´と信頼度B(E)の比率の2つの値で決定する二次元空間上の座標位置が選択境界線よりも上側に存在する場合、P(E)´´の値にP(E)´の値を採用する。このとき、D(E)およびB(E)´/B(E)は、判定式D(E)>t/(B(E)´/B(E))を満たす。信頼度B(E)´と信頼度B(E)の比率の2つの値で決定する二次元空間上の座標位置が選択境界線よりも下側に存在する場合は、P(E)´´の値にP(E)の値を採用する。このとき、D(E)およびB(E)´/B(E)は、判定式D(E)<t/(B(E)´/B(E))を満たす。D(E)と、信頼度B(E)´と信頼度B(E)の比率の2つの値で決定する二次元空間上の座標位置が選択境界線上に存在する場合は、事前に決めたルールに従い、P(E)´またはP(E)の値を採用する。更新方法の1つ目の例の効果を説明する。
信頼度に基づき更新する効果を説明する。B(E)´がB(E)に比べて大きい場合、更新対象のグラフィカルモデルに含まれる確率テーブルTの元々の確率情報P(E)よりも、新規データから計算した確率テーブルT´の確率情報P(E)´の方が、より信頼できる情報であるため、P(E)´を採用することで、新規データに対する推論性能向上に繋がる。一方、B(E)がB(E)´に比べて大きい場合、新規データから計算した確率テーブルT´の確率情報P(E)´よりも、更新対象のグラフィカルモデルに含まれる確率テーブルTの元々の確率情報P(E)の方が、より信頼できる情報であるため、P(E)を採用することで、新規データに対する推論性能向上に繋がる。
距離に基づき更新する効果を説明する。P(E)とP(E)´の距離D(E)が大きい場合、グラフィカルモデルに含まれる確率テーブルTの元々の確率情報P(E)と新規データから計算した確率テーブルT´の確率情報P(E)´は大きく異なることを示す。このとき、P(E)´は、元のP(E)とは異なる新規データの特徴に関する情報を含む確率分布であるため、P(E)´を採用することで、新規データに対する推論性能向上に繋がる。一方、距離D(E)が小さい場合は、確率表としてP(E)を採用することが、推論性能に与える影響は小さくなる。
信頼度と距離の両方に基づき更新する効果を説明する。信頼度だけを考慮して更新する場合、常に信頼度の高い確率テーブルが採用される。しかし、例えば、信頼度B(E)´がB(E)と比べて小さい場合でも、D(E)が大きい、つまりP(E)´とP(E)が異なる確率分布である場合は、信頼度が小さくても、新規データ由来の確率分布P(E)を採用することで、新規データに対する推論性能は向上する。このように、信頼度と距離の両方の指標に基づき更新することで、新規データの特長を捉えつつ、推論性能の高いモデルを構築できる。
更新方法の2つ目の例を説明する。事象Eに関する更新後の確率分布P(E)´´は、B(E)とB(E)´とD(E)の3つの変数に基づいて一意に定められるパラメータkの値に基づき、P(E)とP(E)´を混合して計算した確率分布の値とする。
図12を用いて説明する。図12は、B(E)´とB(E)の比率と、D(E)の2つの値によって定義される二次元空間上において一意に定められる確率分布混合パラメータおよびパラメータ値間の境界線を示す図である。直線1201は、事象Eに関する信頼度B(E)´と信頼度B(E)の比率の値に関する軸である。直線1202は、事象空間Eに関する距離D(E)の値に関する軸である。曲線1203と曲線1204は、信頼度B(E)´と信頼度B(E)の比率と、距離D(E)との2つの値によって定義される確率分布混合パラメータ値の境界線を示す。選択境界線は,例えば,D(E)=t/(B(E)´/B(E))のように,D(E)とB(E)´/B(E)の2つの指標の関連を示す曲線の数式として定義することができる。ここでtは定数であり、曲線ごとに異なる値を用いることができる。本例では例えば事象Eから計算した距離D(E)および信頼度の比率B(E)´/B(E)によって計算される座標が曲線1203と1204の間に存在する場合、パラメータkの値は0.5となる。パラメータkはP(E)とP(E)´の情報の混合度合いを調整するためのパラメータであって、値が大きいほどP(E)の情報を、値が小さいほどP(E)´の情報を、より多く用いて、P(E)´´を計算する。
次に混合パラメータkに基づき、パラメータを混合する方法について説明する。
混合方法の1つ目の例を説明する。確率分布P(E)と確率分布P(E)´をベクトルと捉えて、これらをkにより重みづけ加算したベクトルを、P(E)´´の確率値とする。例えばkが0以上1以下の値であるとき、P(E)´´の確率変数を表すベクトルを、P(E)×k+P(E)´×(1−k)で計算されたベクトルとする。
混合方法の2つ目の例を説明する。P(E)´´をベイズ推定する際の事前分布のハイパーパラメータとしてkを利用する。以下、まずベイズ推定の概要について説明した後、詳細な計算例を説明する。ベイズ推定では、事象をモデル化した事前確率分布と、事象に基づく新たな観測データと、が存在する場合に、データ観測後の事後確率分布を「事後確率∝尤度関数×事前確率」として定式化し、推定することができる。例えば、あるモデルパラメータμを有する事前確率分布P(μ)と、新たなデータDが観測された場合、データ観測後の事後確率P(μ|D)は、P(μ|D)∝P(D|μ)×P(μ)として定式化できる。ここで、P(D|μ)は、パラメータμに関し、観測データがどのくらい発生しやすいかを表現する尤度関数である。P(u)は、パラメータμに関する事前確率分布である。ここで、P(u)が、モデルパラメータμの分布を制御する更なるパラメータであるハイパーパラメータαを有する場合を考える。このとき、事前分布はP(μ|α)と表現できる。ハイパーパラメータαは、モデルパラメータμに関する事前分布の精度を表すパラメータであり、事前分布と観測データDのそれぞれが、事後分布に与える影響を調整する性能を有する。例えば事前分布の精度が高い場合は、新たなデータDが観測されても、元々の事前分布がより支配的に事後分布を決定する。逆に事前分布の精度が低い場合には、新たなデータDがより支配的に事後分布を決定する。このように、ハイパーパラメータの値を調整することで、事前分布の情報と、新たな情報とを所望の配分で混合した確率分布を生成することが可能になる。以下、詳細な計算例について説明する。例えば、推定対象であるP(E)´´を、パラメータμにより規定される多項分布Multi(μ)とし、新規データDに関するパラメータμの尤度関数を、条件付き多項分布Multi(D|μ)とし、P(E)を事前確率として、ハイパーパラメータαを有するディリクレ分布Dir(μ|α)とした場合、確率分布P(E)´´は、P(E)´´=Multi(μ)∝Multi(D|μ)Dir(μ|α)と定式化できる。ここで、Dir(μ|α)は、P(E)とB(E)を用いて式化可能な事前確率分布である。Multi(D|μ)におけるDは新規データであり、Multi(D|μ)はP(E)とB(E)を用いて式化可能な尤度関数である。ここで、混合パラメータkを用いて、事前分布のパラメータαを調整する。例えば、Multi(μ)∝Multi(D|μ)Dir(μ|α×k)とし、kの値に応じて、ハイパーパラメータの値も変化するように設定する。P(E)´´は例えば、最大事後確率推定法などの方法を用いて計算する。
更新方法の2つ目の例の効果を説明する。ハイパーパラメータは事前分布の分布形状を調整し、事後分布であるP(E)´´に与える影響の強さを調整する。例えば、前述の例では、kが大きくなると、事前分布の影響が大きくなるため、更新元のグラフィカルモデルに含まれる確率テーブルの情報が優位に影響を与えて混合される。kが小さくなると、事前分布の影響が小さくなるため、新規データの確率テーブルの情報が優位に影響を与えて混合される。これにより、新規データの特長を捉え、かつ信頼度の高いモデルを構築する際に、新規データの情報と、元のモデルの情報のいずれかを選択するのではなく、両方の情報を適切に混合でき、より推論性能の高いモデルを構築できる。
更新した確率テーブルは、モデル構造と併せて、グラフィカルモデル記憶部122に記憶する。
図15は、グラフィカルモデル記憶部122が記憶する、構築または更新したグラフィカルモデルに関する記憶情報の例を説明する図である。本例では、グラフィカルモデル記憶情報1501は、構築または更新したグラフィカルモデルに関する情報を含み、モデルID1502、モデル構造ID1503、確率表ID1504、構築元データ1505、更新元データ1506、を含む。モデルID1502は、グラフィカルモデル毎に固有のIDであって、グラフィカルモデルを一意に識別するための識別情報である。モデル構造ID1503は、当該のグラフィカルモデルが有する構造を示すIDであり、依存構造記憶部123に記憶されたグラフG=(V、E)のひとつに対応づけられた識別情報である。確率表ID1504は、当該のグラフィカルモデルが有する確率表を示すIDであり、依存量記憶部124に記憶された確率表のなかで、対象のグラフィカルモデルに関する確率表に対応付けられた識別情報である。構造元データID1505は、当該のグラフィカルモデルを構築する元となったデータを示すIDであり、データ記憶部121に記憶されたモデル構築用データに対応付けられた識別情報である。更新元モデルID1506は、当該のグラフィカルモデルの更新元のグラフィカルモデルを示すIDであり、グラフィカルモデル記憶部120に記憶されたグラフィカルモデルに対応付けられたモデルIDである。更新元データID1507は、当該のグラフィカルモデルの更新に用いたデータを示すIDであり、データ記憶部121に記憶された新規データに対応付けられた識別情報である。確率信頼度ID1508は、当該のモデルに含まれる確率テーブルに関し計算した確率信頼度に対応付けられたIDであり、確率信頼度記憶部126に記憶された確率信頼度に対応付けられた識別情報である。グラフィカルモデル記憶部情報1501を用いることで、これまでに構築したモデルの構造、確率表、構築元のデータ、更新元のモデル、更新に用いたデータ、確率信頼度に関する情報にアクセスすることが可能になる。なお、情報が存在しない箇所は、その旨をデータとして記録する。例えば、更新して構築したモデルでない場合、更新元データID1507には、当該のデータが存在しない旨を示す「―」などの記号を格納する。
図13は本実施例を実現する形態の一例を示すユーザインターフェイスの画面例である。ここでは、構築済みのグラフィカルモデルの確率テーブルに含まれる情報を、新規データを用いて更新するための画面の例を示す。1301は、確率情報を更新する対象のグラフィカルモデルを選択するためのボタンである。1302は、グラフィカルモデルを更新するための新規データを選択するためのボタンである。1303は、新規データを用いて確率表を計算する処理を実行するボタンである。1304は、確率表の事象毎の確率情報の信頼度を計算する処理を実行するボタンである。1305は、グラフィカルモデルに含まれる確率テーブルと新規データから計算した確率テーブルの、事象毎の確率分布の距離を計算する処理を実行するボタンである。1306は、確率情報の信頼度と距離の情報に基づき、事象毎の確率分布の混合度合いを決定する混合係数を計算する処理を実行するボタンである。1307は、計算した混合係数に基づきグラフィカルモデルに含まれる確率テーブルと新規データから計算した確率テーブルから新たな確率表の情報を作成する処理を実行するボタンである。1308は、確率表更新処理を実行した後の新しいグラフィカルモデルを保存する処理を実行するボタンである。1309は、確率情報を更新する対象として選択したグラフィカルモデルの構造を表示する画面である。本例では、糖尿病と高血圧症と血糖値と血圧の4つの確率変数から構成されるグラフィカルモデルが表示されている。1310は、選択した新規データのデータ項目と各項目の値を示す表である。1311は、選択したグラフィカルモデルの中の確率表に含まれる確率情報と、当該の確率表の確率情報を新規データから計算し作成した確率表に含まれる確率情報と、事象毎の確率情報の信頼度と、2つの確率テーブルの事象毎の確率的な距離と、2つの信頼度と距離とから計算した混合係数を表示する表である。本例では、1311で表示対象とする確率テーブルは、1309の画面で選択した確率変数に関する確率テーブルとする例を示しており、ここでは糖尿病に関する確率テーブルが選択されている。1312は、グラフィカルモデルに含まれる確率情報と、新規データに含まれる確率情報と混合係数に基づき、更新した後の確率表に含まれる確率情報を表示する表である。
ユーザは本例で示す画面を用いることにより、更新対象のグラフィカルモデルの構造と確率テーブルに関する情報を把握できる。新規データに含まれるデータ項目とデータの値を把握できる。新規データから既存のグラフィカルモデルに含まれる確率テーブルの確率値を計算でき、その値を把握できる。グラフィカルモデルに含まれる確率テーブルの確率情報と、新規データから計算した確率テーブルの確率情報の信頼度を計算でき、その値を把握できる。グラフィカルモデルに含まれる確率テーブルと、新規データから計算した確率テーブルとの確率的な距離を計算でき、その値を把握できる。確率情報の信頼度と距離に基づき、2つの確率テーブルを混合するための混合パラメータを計算でき、その値を把握できる。グラフィカルモデルに含まれる確率テーブルを、新規データで更新でき、更新した後の確率テーブルに含まれる確率情報を把握できる。
以下、第1の実施例の変形例について説明する。
第1の実施例では、グラフィカルモデル作成部107を備え、モデル構築用データからグラフィカルモデルを構築し、構築したグラフィカルモデルを新規データを用いて更新する推論モデル構築システムの例を説明したが、新規データを用いて更新する推論モデルは、必ずしも本システムで構築する必要はなく、予め作成されたグラフィカルモデルを用いても良い。例えば、別のシステムで構築されたグラフィカルモデルを記憶したデータベースにアクセス可能であっても良い。
図14に、グラフィカルモデル構築部107を備えない、推論モデル構築システムの例を示す。グラフィカル記憶部122は、予め作成されたグラフィカルモデルを記憶しておくことで、グラフィカルモデル更新部108により、推論モデル更新処理を実施することができる。このような推論モデル構築システムは、事前に他の手段で構築されたグラフィカルモデルに対し、更新処理を実施することが可能である。
第1の実施例では、グラフィカルモデル更新部108の処理において、確率テーブルに含まれる事前確率変数の事象毎に計算された信頼度と距離とに基づき、確率テーブルの値を更新する推論モデル構築システムの例を説明したが、信頼度と距離とは両方の指標を用いる必要はなく、片方の指標だけを用いて、確率テーブルを更新しても良い。また、指標を計算しない場合、指標を計算および保存する部位を有しなくて良い。例えば、信頼度を確率テーブルの更新に用いない場合、確率信頼度計算部111および確率信頼度記憶部126は、必ずしも備えなくて良い。また、距離を確率テーブルの更新に用いない場合、確率距離計算部109および確率距離記憶部125を必ずしも備えなくてよい。このような推論モデル構築システムは、確率情報の更新処理をより高速に実施することが可能となる。
第1の実施例では、グラフィカルモデル更新部108の処理において、確率テーブルに含まれる事前確率変数の事象毎に計算された信頼度と距離とに基づき定められた確率分布混合パラメータに基づいて、確率テーブルを更新する推論モデル構築システムの例を説明したが、識別分布選択境界線または確率分布混合パラメータの定義方法は、第1の実施例で説明した方法に限定されない。例えば、確率分布混合パラメータは、信頼度と距離とによってグリッド上に分割された空間の、分割領域ごとに、その分割領域が対応する確率分布混合パラメータを対応づけて定義しても良い。この場合、分割領域の境界を表す境界線は、信頼度のパラメータまたは距離のいずれかによって表現される。例えば、距離をD(E)とするとき、グリッドを構成する境界線の中で、信頼度を表す軸と平行な境界線は、D(E)=t、という式で表現することができる。ここでtは境界線の位置を示す定数である。
以上のように、本実施例に係る推論モデル構築システムは、データ項目間の確率的な依存関係として依存構造と依存量を表現する推論モデルの依存量を、新規データを用いて更新し、新たな推論モデルを構築することができる。
<実施例2>
第1の実施例では、データ項目間の確率的依存構造と確率的依存量を表現した推論モデルに含まれる確率的依存量を、新規データに基づき更新し、新たな推論モデルを構築する推論モデル構築システムの例を説明した。第2の実施例では、新規データが存在し、過去に構築済みの推論モデルが少なくともひとつ以上存在する場合に、推論目的に応じた推論モデルを選択し、新たな推論モデルを構築する推論モデル構築システムの例を説明する。
第2の実施例の推論モデル構築システムは、推論目的に応じた推論モデルを候補の中から選択することで、推論目的に応じた推論モデルを構築することができる。
以下、第2の実施例の推論モデル構築システムの構成について説明する。図16は、第2の実施例の推論モデル構築システムの構成を示すブロック図である。第2の実施例の推論モデル構築システムは、構成や処理などは、グラフィカルモデル更新部108、グラフィカルモデル評価部1601、グラフィカルモデル活用部1602、推論条件記憶部1603、評価項目記憶部1604、推論結果記憶部1605、評価結果記憶部1606、共有情報記憶部1607を除き、実施例1と同様であるため、説明を省略する。
以下、グラフィカルモデル評価部1601で行う処理について説明する。グラフィカルモデル評価部1601では、グラフィカルモデルの推論性能を評価用のデータを用いて評価する。
図17は、グラフィカルモデル評価部1601で行う処理のフローチャートを示す図である。以下、各ステップの処理について説明する。なお、以下で説明する処理ステップのうち、ステップ1701とステップ1702は、処理の順番に任意性を有する。ステップ1703とステップ1704は、処理の順番に任意性を有する。
グラフィカルモデル取得ステップ1701では、グラフィカルモデル記憶部122に記憶されるグラフィカルモデルから、評価する対象のグラフィカルモデルをひとつ取得する。取得したグラフィカルモデルはメモリ105または記憶媒体106に記憶する。
評価用データ取得ステップ1702では、データ記憶部121に記憶されるデータから、グラフィカルモデルの評価に用いるデータを取得する。取得したデータはメモリ105または記憶媒体106に記憶する。なお評価に用いるデータは、入力部102から入力されたデータでも良い。
推論条件設定ステップ1703では、グラフィカルモデルを用いて推論する処理における推論条件を指定する。推論条件については後に説明する。
グラフィカルモデルを用いた推論について説明する。グラフィカルモデルは、グラフィカルモデルに含まれるノードに関し、エビデンスとなる情報を与えることで、他のノードに関する確率分布を推論できる。確率分布の推論の例を、図3を用いて説明する。図3(A)で示したグラフィカルモデルは、確率変数「X1」に関するエビデンスが取得できれば、図3(C)で示す確率テーブルに基づき確率変数「X2」に関する確率分布を推論できる。例えば、「X1=1」という情報を取得できれば、図3(C)で示した確率テーブルより、確率分布「X2=1」となる確率は「a11」であることが分かる。このように、親となるノードに関するエビデンスを取得できれば、子となるノードの確率分布を推論できる。また、子となるノードに関するエビデンスに基づき、親となるノードの確率分布を推論することもできる。これら、エビデンスに基づくノードの確率分布の推論は、ジャクション・ツリーアルゴリズムなどの方法を用いることで実現できる。
推論条件設定ステップ1703では、推論に用いる確率変数と、推論する対象の確率変数に関する情報を設定する。図18は、推論条件ステップ1703で設定する推論条件情報の一例を説明する図である。推論条件情報1801は、推論条件ID1802、項目種類1803、項目1804をデータ項目として有する。推論条件ID1802は、複数の推論条件を一意にまとめるための識別情報である。項目種類1803は、各レコードで指定する条件が、推論にエビデンスとして用いる確率変数に関するものか、または、推論する対象となる確率変数に関するものか、を指定する情報である。例えば、「観測」という情報が含まれるレコードは、観測するエビデンスの確率変数を指定するレコードである。例えば、「推論」という情報が含まれるレコードは、推論する対象の確率変数を指定するレコードである。項目1804は、各レコードで条件を指定した確率変数の項目名である。本例では、推論条件IDが「IC0001」である推論条件は、観測する確率変数として、「血糖」と「血圧」の2つの確率変数を指定し、推論対象の確率変数として「糖尿病重症度」の1つの確率変数を指定していることが示されている。
推論条件設定ステップ1703では、グラフィカルモデル取得ステップ1701で取得したグラフィカルモデルと、評価用データ取得ステップ1702で取得した評価用データを用いて推論を行うための条件を指定する。そのため、当該のグラフィカルモデルに含まれない確率変数、および、当該の評価用データに含まれない項目に関する確率変数は設定しなくてもよい。推論条件情報1801の設定は、例えば入力部102で入力された情報に基づき実施する。
推論条件設定ステップ1703で設定した推論条件は、推論条件記憶部1603に記憶する。
評価項目設定ステップ1704では、推論する対象の項目に関し、評価項目を設定する。図19は、評価項目設定ステップ1704で設定する評価項目情報の一例を説明する図である。評価項目情報1901は、評価項目ID1902と評価項目1903を項目として含む。評価項目ID1902は各評価項目を一意に識別するための識別情報である。評価項目1903は、評価項目の名称を示す。評価項目情報1901の設定は、例えば入力部102で入力された情報に基づき実施する。評価項目としては、例えば、推論誤差やC統計量などの統計的な指標などを広く用いることができる。評価項目設定ステップ1704で設定可能な評価項目は、評価項目として用いる指標の計算方法と併せて、評価項目記憶部1604にあらかじめ記憶されている。
推論処理ステップ1705では、推論条件設定ステップ1703で指定した推論条件に基づき、評価用データ取得ステップ1702で取得した評価用データをエビデンスとして、推論を実施する。具体的には、評価用データの1レコードごとに、推論条件情報で観測対象として指定した確率変数に対応する項目の値をグラフィカルモデルにエビデンスとして与えて、推論条件情報で推論対象として指定した確率変数の確率分布を推論する。推論結果は、推論結果記憶部1605に記憶する。推論した結果は、確率分布として各状態の確率値として記憶しても良いし、確率分布に基づく統計値を計算して記憶しても良い。例えば、確率変数ごとに中央値や期待値などの値を計算して記憶しても良い。
図20は、推論結果記憶部1605に記憶される推論結果の一例を説明する図である。ここでは、図18で示した推論条件情報のうち、推論条件IDが「IC0001」で示した推論条件で推論した場合の推論結果情報の例を示す。本例では、推論結果情報2001は項目として、個人ID2002、糖尿病有病2003を含む。個人ID2002は、個人を一意に識別するための識別情報である。匿名化された上で識別子を付与してもよい。糖尿病有病2003は、確率変数「糖尿病有病」の確率を予測した結果である。本例では、確率分布より計算した統計値が格納されている例を示す。
推論結果評価ステップ1706では、設定ステップ1704で設定した評価項目に基づき、推論処理ステップ1705で推論した推論結果の情報を評価する。推論結果評価ステップ1706は、評価項目設定ステップ1704で設定した評価項目の評価条件IDに基づき、評価項目記憶部1604に記憶された、予め定められた評価手続きを経て、推論結果を評価する。評価手続きとしては、推論誤差やC統計量などの統計的な指標を計算し、求めることができる。評価手続きを経て評価した結果は、評価結果記憶部1606に記憶する。
図21は、評価結果記憶部1606に記憶される評価結果の一例を説明する図である。評価結果情報2101は項目として、推論ID2102、モデルID2103、推論条件2104、推論項目2105、評価項目2106、評価結果2107、評価データID2108を有する。推論ID2102は、推論結果を一意に識別するためのIDであり、推論結果記憶部1604に記憶された推論結果情報に一意に対応付けられた識別情報である。モデルID2103は、推論に用いたグラフィカルモデルを一意に識別するためのIDであり、グラフィカルモデル記憶部122に記憶されたグラフィカルモデルに一意に対応付けられた識別情報である。推論条件ID2104は、推論条件を一意に識別するためのIDであり、推論条件記憶部1603に記憶された推論条件に一意に対応付けられた識別情報である。推論項目2105は、推論対象の項目を示す情報である。評価項目ID2106は、評価項目を一意に識別するためのIDであり、評価項目記憶部1604に記憶された評価項目に一意に対応付けられた識別情報である。評価結果2107は、本ステップで計算した評価項目の値である。この例では推論IDが「IR0001」である情報の、評価結果2107の値5%とは、糖尿病の有病者数の予測結果に関する推論誤差をあらわす評価項目の値を意味する。推論IDが「IR0002」である情報の、評価結果2107の値0.8とは、高血圧症の有病の予測に関し、評価用データから計算したC統計量の値を意味する。
評価データID2108は、評価用データ取得ステップ1702で取得した評価用データを一意に識別するためのIDあり、データ記憶部121に記憶されたデータに一意に対応付けられた識別情報である。
以下、グラフィカルモデル共有部1602で行う処理について説明する。グラフィカルモデル共有部1602では、グラフィカルモデル評価部で評価したグラフィカルモデルおよび評価結果について、その情報の一部を絞込み、モデル更新に必要となる情報だけを共有する。
図22は、グラフィカルモデル共有部1602で行う処理のフローチャートを示す図である。以下、各ステップの処理について説明する。
評価結果情報取得ステップ2201では、評価結果記憶部1606に記憶された評価結果情報を取得する。取得した情報はメモリ105または記憶媒体106に記憶する。
グラフィカルモデル取得ステップ2202では、評価結果情報取得ステップ2201で取得した評価結果情報に含まれるモデルIDに基づき、グラフィカルモデル記憶部122に記憶される当該のグラフィカルモデルを取得する。取得したグラフィカルモデルはメモリ105または記憶媒体106に記憶する。
グラフィカルモデル情報修正ステップ2203では、グラフィカルモデルに含まれる情報のうちの一部を修正する。例えば、グラフィカルモデルに含まれる確率テーブルの確率情報の一部の情報を削除する。修正したグラフィカルモデルの情報はグラフィカルモデル記憶部122に記憶する。
共有情報作成ステップ2204では、グラフィカルモデル情報修正ステップ2203で修正したグラフィカルモデルと、評価結果情報取得ステップ2201で取得した評価結果情報とに基づき、推論結果共有情報を作成する。推論結果共有情報は、グラフィカルモデルと、グラフィカルモデルを用いて推論した評価結果とを合わせた情報であって、モデル更新時に、利用するグラフィカルモデルを決定するために用いる情報である。
図23は、共有情報作成ステップ2204で作成する推論結果共有情報の一例を説明する図である。
推論結果共有情報2301は、項目として、モデルID2302、推論条件2303、項目種類2304、評価項目ID2305、評価結果2306、評価データID2307を含む。
モデルID2302は、推論に用いたグラフィカルモデルを一意に識別するためのIDであり、グラフィカルモデル記憶部122に記憶されたグラフィカルモデルに一意に対応付けられた識別情報である。推論条件ID2303は、推論条件を一意に識別するためのIDであり、推論条件記憶部1603に記憶された推論条件に一意に対応付けられた識別情報である。推論項目2304は、推論対象の項目を示す情報である。評価項目ID2305は、評価項目を一意に識別するためのIDであり、評価項目記憶部1604に記憶された評価項目に一意に対応付けられた識別情報である。評価結果2306は、評価項目に関する評価項目の値である。評価データID2307は、評価用データ取得ステップ1702で取得した評価用データを一意に識別するためのIDあり、データ記憶部121に記憶されたデータに一意に対応付けられた識別情報である。なお、評価対象のデータを共有しない場合は、IDの情報を削除して良い。また、データの代わりにデータから取得可能な統計量を評価データに関する情報として加えて良い。例えば、データのサンプル数などの情報を加えることができる。
作成した評価結果共有情報は、共有情報記憶部1607に記憶する。
以下、グラフィカルモデル更新部108で行う処理について説明する。グラフィカルモデル更新部108では、共有情報記憶部1607に記憶された評価結果共有情報に基づき、対象の新規データから更新するグラフィカルモデルを選択する。
図24は、グラフィカルモデル更新部108で行う処理のフローチャートである。本処理のステップは、ステップ2401とステップ2402を除き、実施例1で説明したグラフィカルモデル更新部108で行う処理のフローチャートと同様なので、説明を省略する。
モデル条件決定ステップ2401では、構築したグラフィカルモデルで実施する推論の推論条件を決定する。推論条件は、例えば、グラフィカルモデルで推論する際にエビデンスとして値を格納する確率変数と、推論対象の確率変数の組として表現される。推論条件は例えば、入力部102により入力された情報に基づき決定する。決定した推論条件は、推論条件記憶部1603に記憶する。
グラフィカルモデル取得ステップ2402では、推論条件決定ステップ2401で決定した推論条件に基づき、共有情報記憶部1607に記憶された推論結果共有情報から、適切なグラフィカルモデルに関する情報を取得する。推論条件決定ステップ2401で決定した推論条件に含まれる推論対象の確率変数と、共有情報記憶部1607に記憶された推論結果共有情報の推論項目とを比較し、同一の推論項目を有するレコードを共有情報記憶部1607から選択する。このとき、評価項目や評価結果に条件または閾値を設定し、レコードを絞り込んでも良い。また、選択は一意に絞り込まず、候補を複数選択し、その中から一意に絞り込むための情報を入力部102から受付け、その情報に基づき、絞り込んでも良い。
グラフィカルモデル取得ステップ2402で取得したグラフィカルモデルを、ステップ603、604,605,606の処理で更新し、新規データ向けのグラフィカルモデルを構築する。
以下、第2の実施例の効果の例について説明する。
一般に推論を実施する場合、推論対象のデータ項目と、エビデンスとなるデータ項目の両方を決定する必要がある。このとき、エビデンスに用いる項目は、推論に大きく貢献する項目であることが望ましい。例えば、グラフ上で、推論対象とエビデンス項目が直接繋がっている場合、このエビデンスは推論に大きく貢献すると期待される。一方、エビデンス項目がふたつ存在し、ひとつ目のエビデンスが、ふたつ目のエビデンス項目と推論対象をグラフ内で繋ぐ唯一の経路上に存在する場合、ふたつ目のエビデンスは、推論に貢献していない可能性がある。このように、グラフィカルモデルでは、エビデンスと推論対象の組に対し、エビデンスが推論に活用されているか否かが、その構造に依存して変化する。そのため、グラフの構造によっては、推論の性能が低下してしまう可能性がある。本実施例では、過去に構築済みのグラフィカルモデルと、その推論条件と、推論評価結果とを対応付けて管理し、新規データに対する新たなグラフィカルモデルの作成時に、管理するグラフィカルモデルの中から、推論条件および推論結果評価結果に基づき選択したグラフィカルモデルを、新規データを用いて更新して新たなグラフィカルモデルを作成することで、推論目的にあったグラフィカルモデルを構築することができる。
以下、第2の実施例の変形例について説明する。
第2の実施例では、グラフィカルモデル共有部で作成した推論結果共有情報を、元々のグラフィカルモデルを記憶していたデータベースと同じデータベースに保存する例を説明したが、これらデータベースは別々のデータベースとして実現することができ、さらに、推論結果共有情報を保存する側のデータベースを、他の推論モデル構築システムからアクセス可能なデータベースとして実現することができる。
図25は、第2の実施例の推論モデル構築システムの別の構成例を示す図である。データベース2500は、グラフィカルモデル記憶部2501、依存構造記憶部2502、依存量記憶部2503、確率信頼度記憶部2504、推論条件記憶部2505、評価項目記憶部2506、共有情報記憶部2507を有する。グラフィカルモデル記憶部2501、依存構造記憶部2502、依存量記憶部2503は、グラフィカルモデル共有部1602のグラフィカルモデル情報修正処理を実施し作成したグラフィカルモデルに関する情報を記憶する。確率信頼度記憶部2504は、当該のグラフィカルモデルに対応する確率信頼度情報を記憶する。共有情報記憶部2507は、グラフィカルモデル共有部1602の共有情報作成ステップで作成した共有情報を記憶する。推論条件記憶部2505と評価項目記憶部2506は、共有情報記憶部2507に記憶される共有情報に含まれる推論条件および評価項目に対応する情報をそれぞれ記憶する。共有する情報を別々のデータベースに保存し、他の推論モデル構築システムからアクセス可能なデータベースとして実現することで、推論モデル構築に必要な情報だけを、複数の推論モデル構築システムで共有できる。これにより例えば、自分以外のユーザが、自分以外のユーザの有するデータから構築した推論モデルの情報に基づき、自分のデータに対して推論性能の高い推論モデルを構築することが可能となる。
図26は、第2の実施例を実現する形態の一例を示すユーザインターフェイスの画面例である。ここでは、図17で示した、グラフィカルモデル評価部1601で実行するグラフィカルモデル評価処理フロー、および、図22で示した、グラフィカルモデル共有部1602で実行するグラフィカルモデル共有処理フローを実行するための画面の例を示す。2601は、評価する対象のグラフィカルモデルを選択するためのボタンである。2602は、グラフィカルモデルの評価を実施するための用いるデータを選択するためのボタンである。2603は、グラフィカルモデル評価処理を実行するためのボタンである。2604はグラフィカルに含まれる情報の修正を実行するためのボタンである。2605は、グラフィカルモデル共有処理を実行するためのボタンである。
2606は、評価するグラフィカルモデルの構造と、グラフィカルモデルに含まれる確率表の情報を表示する画面である。2607は、評価に用いるデータのデータ項目と各項目の値を示す表である。2608は、評価に用いる推論条件を入力する表であり、項目種類と項目をプルダウンで入力可能である。2609は、評価項目を入力する表であり、項目毎に、評価項目をプルダウンで入力可能である。2610は、推論結果を評価した結果を示す表である。2611は、推論結果を評価した結果を示す表である。
ユーザは本例で示す画面を用いることにより、評価対象のグラフィカルモデルの構造と確率テーブルに関する情報を把握できる。評価用データに含まれるデータ項目とデータの値を把握できる。評価に用いる推論条件と評価項目を決定できる。決定した推論条件に基づき、推論した結果を把握できる。決定した評価項目に基づき評価した結果を把握できる。グラフィカルモデルに含まれる情報を修正できる。修正したグラフィカルモデルと評価結果を共有可能な形式に変換し、共有できる。
図27は、第2の実施例を実現する形態の一例を示すユーザインターフェイスの画面例である。ここでは、図24で示した、第2の実施例のグラフィカルモデル更新部108で実行するグラフィカルモデル更新処理フローを実行するための画面の例を示す。2701は、グラフィカルモデルを更新するために用いるデータを選択するボタンである。2702は、グラフィカルモデル更新処理を実行するためのボタンである。2703は、グラフィカルモデルの更新に用いるデータのデータ項目と各項目の値を示す表である。2704は、更新に用いるグラフィカルモデルを選択するために入力する推論条件を入力する表であり、項目種類と項目をプルダウンで入力可能である。2705は、評価項目を入力する表であり、評価対象の項目毎に、評価項目をプルダウンで入力可能である。2706は、入力した推論条件を満たす推論結果共有情報を選択した結果を表示する表である。
ユーザは本例で示す画面を用いることにより、更新用データに含まれるデータ項目とデータの値を把握できる。更新に用いるグラフィカルモデルを選択するための推論条件と評価項目を入力できる。入力した推論条件と評価項目に一致する推論結果共有情報を把握でき、推論結果共有情報に対応付けられたグラフィカルモデルと更新用データを用いて、グラフィカルモデルを更新し、推論条件および評価項目に適した新たなグラフィカルモデルを構築できる。
以上のように本実施例にかかる推論モデル構築システムは、新規データが存在し、過去に構築済みの推論モデルが少なくともひとつ以上存在する場合に、推論目的に応じた推論モデルを選択し、新たな推論モデルを構築する。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることもできる。また、ある実施例の構成に他の実施例の構成を加えることもできる。また、各実施例の構成の一部について、他の構成を追加・削除・置換することもできる。