(57)【要約】  演算装置及びメモリを有する計算機を備え、グラフィカルモデルを管理する計算機システムであって、グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、補充データを用いてグラフィカルモデルを補正する補正部と、を備え、補正部は、複数のノードの各々の確率テーブルの中から、補正が必要な確率値を選択し、選択された確率値の確率変数の状態値に基づいて、補充データから、選択された確率値の補正に用いる補正用レコードを選択し、補正用レコードを用いて前記選択された確率値を補正する。
2016121054.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行する演算装置、及び前記プログラムを格納するメモリを有する一つ以上の計算機を備え、グラフィカルモデルを管理する計算機システムであって、
前記グラフィカルモデルは、
確率変数に対応する複数の項目を含むレコードから構成される学習データを用いて生成され、
前記確率変数に対応するノード、前記ノード間の依存関係を示すエッジ、及び前記ノードに対応する前記確率変数の状態値の組み合わせから定まる確率値の分布を示す確率テーブルから構成され、
前記計算機システムは、
前記グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、
前記確率変数に対応する複数の項目を含むレコードから構成され、前記グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、
前記補充データを用いて、少なくとも一つ以上の前記確率テーブルに含まれる前記確率値を補正することによって、前記グラフィカルモデルを補正するグラフィカルモデル補正部と、
を備え、
前記グラフィカルモデル補正部は、
前記グラフィカルモデルを解析し、前記グラフィカルモデルの解析の結果に基づいて複数のノードの各々の前記確率テーブルの中から、前記補充データを用いた補正が必要な確率値を選択し、
前記選択された確率値の前記確率変数の状態値に基づいて、前記補充データから、前記選択された確率値の補正に用いる補正用レコードを選択し、
前記補正用レコードを用いて前記選択された確率値を補正し、前記補正された確率値を前記確率テーブルに格納することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記確率変数に対応する複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する推論部と、
前記確率テーブルの確率値、及び前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を対応付けた影響度管理情報を前記ノードの前記確率テーブル毎に管理する影響度記憶部と、
を備え、
前記推論部は、
前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を算出する影響度算出部と、
前記影響評価値の算出に用いられ、前記推論対象のノードと依存関係を有するノードの確率値の微小変化に対する前記推論対象のノードの確率値の変化量である確率値微分量を算出する確率値微分量算出部と、
を含み、
前記グラフィカルモデル補正部は、
処理対象のノードの前記確率テーブルを選択し、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を選択し、
前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数を示すサンプル数を対応付けて格納し、
前記グラフィカルモデル補正部は、
処理対象のノードの前記確率テーブルを選択し、
前記選択された確率テーブルの前記サンプル数を参照して、前記選択された確率テーブルから、統計的な信頼性が低い確率値を選択し、
前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択することを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記確率変数に対応する複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する推論部と、
前記確率テーブルの確率値、及び前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を対応付けた影響度管理情報を前記ノードの前記確率テーブル毎に管理する影響度記憶部と、
を備え、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数を示すサンプル数を対応付けて格納し、
前記グラフィカルモデル補正部は、
処理対象のノードの前記確率テーブルを選択し、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を抽出し、
前記確率テーブルの前記抽出された確率値に対応する前記サンプル数を参照して、前記抽出された確率値の中から、統計的な信頼性が低い確率値を選択し、
前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択することを特徴とする計算機システム。
【請求項５】
一つ以上の計算機を備える計算機システムにおけるグラフィカルモデルの補正方法であって、
前記グラフィカルモデルは、
確率変数に対応する複数の項目を含むレコードから構成される学習データを用いて生成され、
前記確率変数に対応するノード、前記ノード間の依存関係を示すエッジ、及び前記ノードに対応する前記確率変数の状態値の組み合わせから定まる確率値の分布を示す確率テーブルから構成され、
前記一つ以上の計算機は、プログラムを実行する演算装置、及び前記プログラムを格納するメモリを有し、
前記計算機システムは、
前記グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、
前記確率変数に対応する複数の項目を含むレコードから構成され、前記グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、
を備え、
前記グラフィカルモデルの補正方法は、
前記演算装置が、前記グラフィカルモデルを解析し、前記グラフィカルモデルの解析の結果に基づいて複数のノードの各々の前記確率テーブルの中から、前記補充データを用いた補正が必要な確率値を選択する第１のステップと、
前記演算装置が、前記選択された確率値の前記確率変数の状態値に基づいて、前記補充データに含まれるレコードの中から前記選択された確率値の補正に用いる補正用レコードを選択する第２のステップと、
前記演算装置が、前記補正用レコードを用いて前記選択された確率値を補正し、前記補正された確率値を前記確率テーブルに格納する第３のステップと、ことを特徴とするグラフィカルモデルの補正方法。
【請求項６】
請求項５に記載のグラフィカルモデルの補正方法であって、
前記グラフィカルモデルの補正方法は、
前記演算装置が、前記確率変数となる複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する第４のステップと、
前記演算装置が、前記推論対象のノードと依存関係を有するノードの確率値の微小変化に対する前記推論対象のノードの確率値の変化量である確率値微分量を算出する第５のステップと、
前記演算装置が、前記確率値微分量を用いて、前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を算出する第６のステップと、
前記演算装置が、前記ノードの前記確率テーブル毎に、前記確率テーブルの確率値と、前記影響評価値とを対応付けた影響度管理情報を生成し、前記メモリに格納する第７のステップと、
を含み、
前記第１のステップは、
前記第４のステップから前記第７のステップの処理が終了した後に、処理対象のノードの前記確率テーブルを選択するステップと、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を選択するステップと、を含み、
前記第２のステップは、前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択するステップを含むことを特徴とするグラフィカルモデルの補正方法。
【請求項７】
請求項５に記載のグラフィカルモデルの補正方法であって、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数であるサンプル数を対応付けて格納し、
前記第１のステップは、前記選択された確率テーブルの前記サンプル数を参照して、前記選択された確率テーブルから、統計的な信頼性が低い確率値を選択するステップを含み、
前記第２のステップは、前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択するステップを含むことを特徴とするグラフィカルモデルの補正方法。
【請求項８】
請求項５に記載のグラフィカルモデルの補正方法であって、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数を示すサンプル数を対応付けて格納し、
前記グラフィカルモデルの補正方法は、
前記演算装置が、前記確率変数となる複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する第８のステップと、
前記演算装置が、前記推論対象のノードと依存関係を有するノードの確率値の微小変化に対する前記推論対象のノードの確率値の変化量である確率値微分量を算出する第９のステップと、
前記演算装置が、前記確率値微分量を用いて、前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を算出する第１０のステップと、
前記演算装置が、前記ノードの前記確率テーブル毎に、前記確率テーブルの確率値及び前記影響評価値を対応付けた影響度管理情報を生成し、前記メモリに格納する第１１のステップと、
を含み、
前記第１のステップは、
前記第８のステップから前記第１１のステップの処理が完了した後に、処理対象のノードの前記確率テーブルを選択するステップと、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を抽出するステップと、
前記確率テーブルの前記抽出された確率値に対応する前記サンプル数を参照して、前記抽出された確率値の中から、統計的な信頼性が低い確率値を選択するステップと、を含み、
前記第２のステップは、前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択するステップを含むことを特徴とするグラフィカルモデルの補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルモデルの精度を向上させる技術に関する。
【背景技術】
【０００２】
グラフィカルモデルは、事象を確率変数として扱い、当該事象をノードとして表現し、また事象間の依存関係をエッジとして表現したグラフとして記述するモデルであり、ベイジアンネットワーク及びマルコフモデルなどがある。グラフィカルモデルでは、ノード毎に当該ノードの状態値がある値になる条件付確率値の分布を示す条件付確率テーブルが与えられる。【０００３】
グラフィカルモデルは、予測、識別、事象間の因果関係分析、可視化などに広く用いられる。より具体的には、グラフィカルモデルは、物体追跡、ジェスチャ認識、画像の領域分割、異常検知などに用いられる。【０００４】
例えば、ある構造物の状態を検知する複数のセンサ（音、温度等）があり、センサの異常値の有無から構造物の故障を判定する異常検知を考える。この場合、センサの状態（センサが異常値を示しているか否か）、及び構造物の状態（構造物が故障しているか否か）の各々が事象となる。このとき、グラフィカルモデルを用いて事象間の確率的な関係を記述できる。グラフィカルモデルを用いれば、センサの状態から、確率的に構造物の故障の有無を予測できる。【０００５】
グラフィカルモデルは、専門家等に人手によって作成される場合もある。また、事象に関するデータが入手できる場合、データから自動的にモデルを構築する機械学習という方法もある。機械学習に用いるデータを学習データと呼ぶ。なお、学習データには、一つ以上の項目から構成される複数のレコードが含まれる。【０００６】
一般的に、機械学習によってグラフィカルモデルを構築する場合、学習データが多いほど、構築されたグラフィカルモデルの予測精度及び識別精度などの性能がよくなる。そのため、学習データの数が少ない場合、十分な性能を担保できないグラフィカルモデルとなる。【０００７】
このような場合、解こうとしている問題と関連したデータを機械学習に用いることによって、性能を担保する転移学習という技術が知られている。本明細書では、このような関連したデータを補充データと呼ぶ。なお、補充データには、一つ以上の項目から構成される複数のレコードが含まれる。【０００８】
例えば、ニュース記事を、スポーツ、政治などのカテゴリに分類する問題を考えた場合、ニュース記事の内容は刻々と変化するため、直近の記事を学習データとして用いた機械学習を行うべきである。しかし、直近の記事の数は少ない。そこで、過去の記事を補充データとして用いることによって、十分な性能が担保されたグラフィカルモデルを構築できる。【０００９】
本明細書では、グラフィカルモデルを用いた予測対象の確率変数を推論対象と呼び、条件付確率テーブルを用いて推論対象の確率値の分布（確率分布）を算出することを推論と呼び、推論対象の確率分布を推論結果と呼ぶ。また、本明細書では、推論対象の確率分布における各確率値の信頼区間を信頼区間と呼ぶ。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１４−２２５１７６号公報
【非特許文献】
【００１１】
【非特許文献１】Tim Van Allen, Ajit Singh, Russell Greiner, Peter Hooper、“Quantifying the uncertainty of a belief net response: Bayesian error-bars for belief net inference”、Artificial Intelligence 172 (2008) 483-513
【発明の概要】
【発明が解決しようとする課題】
【００１２】
前述のしたような補充データを用いた機械学習を行う場合、補充データは、必ずしも学習データとして適切なデータとは限らない。そのため、補充データのデータ値が学習データのデータ値と大きく相違する場合、補充データが与える影響が大きくなり、補充データに引きずられたグラフィカルモデルが構築される可能性がある。したがって、補充データを用いることによって、逆にグラフィカルモデルの精度の悪化を招く。【００１３】
また、グラフィカルモデルの精度は、一部のノードの確率テーブルの確率値が影響する。確率値はノード間の接続関係、すなわち、エッジを示す。そのため、全てのエッジについて補充データを用いた機械学習を行う必要はない。本明細書では、補充データを用いた機械学習の対象となる確率値のことを補正箇所と呼ぶ。【００１４】
本発明は、グラフィカルモデルの精度の低下の要因となる補正箇所を、適切なデータを用いて補正することによって、グラフィカルモデルの精度を向上させるシステム及び方法を提供する。
【課題を解決するための手段】
【００１５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラムを実行する演算装置、及び前記プログラムを格納するメモリを有する一つ以上の計算機を備え、グラフィカルモデルを管理する計算機システムであって、前記グラフィカルモデルは、確率変数に対応する複数の項目を含むレコードから構成される学習データを用いて生成され、前記確率変数に対応するノード、前記ノード間の依存関係を示すエッジ、及び前記ノードに対応する前記確率変数の状態値の組み合わせから定まる確率値の分布を示す確率テーブルから構成され、前記計算機システムは、前記グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、前記確率変数に対応する複数の項目を含むレコードから構成され、前記グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、前記補充データを用いて、少なくとも一つ以上の前記確率テーブルに含まれる前記確率値を補正することによって、前記グラフィカルモデルを補正するグラフィカルモデル補正部と、を備え、前記グラフィカルモデル補正部は、前記グラフィカルモデルを解析し、前記グラフィカルモデルの解析の結果に基づいて複数のノードの各々の前記確率テーブルの中から、前記補充データを用いた補正が必要な確率値を選択し、前記選択された確率値の前記確率変数の状態値に基づいて、前記補充データから、前記選択された確率値の補正に用いる補正用レコードを選択し、前記補正用レコードを用いて前記選択された確率値を補正し、前記補正された確率値を前記確率テーブルに格納することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、計算機システムが、グラフィカルモデルを構成する確率テーブルにおいて補正が必要な確率値を選択し、かつ、補充データの適切なレコードを用いて確率値を補正する。これによって、効率的かつグラフィカルモデルの精度を低下させることなく、グラフィカルモデルの精度を向上できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】実施例１の計算機のグラフィカルモデル補正部が実行する処理の一例を説明するフローチャートである。
【図２】実施例１の計算機システムの構成の一例を示すブロック図である。
【図３】実施例１のデータベースに格納される学習データの一例を示す説明図である。
【図４】実施例１のグラフィカルモデルの一例を示す説明図である。
【図５Ａ】実施例１のグラフィカルモデルの構造情報の一例を示す説明図である。
【図５Ｂ】実施例１のグラフィカルモデルの構造情報の一例を示す説明図である。
【図６】実施例１の条件付確率テーブルの一例を示す説明図である。
【図７】実施例１のエビデンスデータの一例を示す説明図である。
【図８】実施例１の推論結果管理情報の一例を示す説明図である。
【図９Ａ】実施例１の影響度管理情報の一例を示す説明図である。
【図９Ｂ】実施例１の影響度管理情報の一例を示す説明図である。
【図１０】実施例１の計算機のグラフィカルモデル構築部が実行する処理の一例を説明するフローチャートである。
【図１１】実施例１の計算機の推論部が実行する処理の一例を説明するフローチャートである。
【図１２】実施例２の実計算機システムの構成の一例を示すブロック図である。
【図１３】実施例２のグラフィカルモデル補正部が実行する処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
本発明では、グラフィカルモデルの統計的な信頼性、及びあるノードがグラフィカルモデルを用いた予測へ与える影響の大きさの二つの基準に基づいて、グラフィカルモデルの補正箇所が選択される。
【００１９】
（１）ノードの確率分布の統計的な信頼性
グラフィカルモデルの統計的な信頼性の基準は、学習データに含まれるレコードの数、すなわち、サンプル数を意味する。以下の説明では、レコードの数を単にサンプル数とも記載する。ここで、確率変数Ｘ及びＹから構成されるグラフィカルモデルを例にグラフィカルモデルの統計的な信頼性について説明する。なお、確率変数Ｘ及びＹはそれぞれ、「０」又は「１」のいずれかの状態値をとるものとする。
【００２０】
前述のグラフィカルモデルは、同時確率分布Ｐ（Ｘ，Ｙ）、又は、条件付確率分布Ｐ（Ｘ｜Ｙ）、Ｐ（Ｙ｜Ｘ）などの確率分布（確率テーブル）を持つ。確率分布は、学習データに含まれるレコードに基づいて算出される。例えば、Ｐ（Ｘ＝０｜Ｙ＝０）は、Ｙが「０」の場合に、Ｘが「０」となる確率値を表し、当該確率値は下式（１）により算出される。
【００２１】
【数１】
2016121054.tif 000003
【００２２】
Ｙが「０」となるサンプル数が少ない場合、前述した確率値Ｐ（Ｘ＝０｜Ｙ＝０）の統計的な信頼性は低い。このように、グラフィカルモデルの統計的な信頼性は、条件付確率分布の条件付確率値、又は、同時確率分布の確率値を算出する場合に用いられる学習データのサンプル数に依存する。
【００２３】
（２）グラフィカルモデルを用いた予測への影響度
グラフィカルモデルが統計的な信頼性が低い場合であっても、必ずしも当該グラフィカルモデルを用いた予測の精度に影響しないことがある。ここで、確率変数Ｘ、Ｙ、Ｚから構成されるグラフィカルモデルを用いた予測への影響について説明する。なお、予測したい確率変数はＺとする。また、ＸとＺが独立であり、グラフィカルモデル上では各確率変数に対応するノードが接続されていないものとする。
【００２４】
前述したようなグラフィカルモデルの場合、確率変数Ｚの確率分布には確率変数Ｘの確率分布を考慮する必要がないため、確率変数Ｘの確率分布の統計的な信頼性は、確率変数Ｚの確率分布の予測の信頼性には影響しない。
【００２５】
このように、グラフィカルモデルにおいて、各々の確率変数と、予測対象となる確率変数とは複雑に関連しているため、単純にある確率変数の確率分布の統計的な信頼性の高低だけが予測の信頼性を決定するものではない。
【実施例１】
【００２６】
実施例１では、計算機システムが、グラフィカルモデルを用いた予測への影響度に基づいてグラフィカルモデルの補正箇所を選択する。また、計算機システムは、補充データに含まれる複数のレコードの中から補正箇所の学習に用いられた学習データのレコードと類似するレコードを選択し、選択されたレコードを用いてグラフィカルモデル４００を再構築する。【００２７】
非特許文献１に記載されているように、確率テーブルにおける確率値が推論対象に与える影響は、下式（２）に示すように与えられる。なお、式（２）は非特許文献１の式（８）に対応する。【００２８】
【数２】
2016121054.tif 000004
【００２９】
ここで、確率値微分量は、条件付確率値の微小変化に対する推論結果の確率値の変化量を表す。式（２）に示すように、影響評価値は確率値微分量の関数として与えられる。【００３０】
ここで、非特許文献１には、確率値微分量が下式（３）のように定義され、具体的には下式（４）を算出すればよいことが記載されている。なお、式（３）は非特許文献１の式（６）に対応し、式（４）は非特許文献１の式（１４）に対応する。【００３１】
【数３】
2016121054.tif 000005
【００３２】
【数４】
2016121054.tif 000006
【００３３】
式（４）に示すような従来の変数消去法の中間結果を用いた計算機方法の場合、グラフィカルモデルの規模が大きくなると、厳密推論法である変数消去法における計算コストが大きくなり、実際に計算できないという問題がある。【００３４】
そこで、本実施例では別の算出方法を用いて確率値微分量を算出する。確率値微分量の具体的な算出方法については後述する。【００３５】
図２は、実施例１の計算機システムの構成の一例を示すブロック図である。【００３６】
計算機システムは、計算機２００及びデータベース２０６から構成される。【００３７】
計算機２００は、グラフィカルモデルを構築し、また、グラフィカルモデルを用いて推論結果及び推論結果における確率値の信頼区間等を算出する。本実施例の計算機２００は、演算装置２０１、メモリ２０２、記憶媒体２０３、入力装置２０４、及び出力装置２０５を有し、内部バス等を介して互いに接続される。【００３８】
演算装置２０１は、メモリ２０２に格納されるプログラムを実行する演算装置であり、例えば、ＣＰＵ及びＧＰＵ等がある。以下の、機能部を主語として処理及び機能を説明する場合、演算装置２０１によって当該機能部を実現するプログラムが実行されていることを示す。メモリ２０２は、演算装置２０１によって実行されるプログラム及び当該プログラムによって使用される情報を格納する。メモリ２０２は、揮発性のメモリ及び不揮発性のメモリのいずれであってもよい。【００３９】
記憶媒体２０３は、計算機２００が有する各種機能を実現するプログラム等を格納する。本実施例では、演算装置２０１が、記憶媒体２０３からプログラムを読み出し、読み出されたプログラムをメモリ２０２上にロードし、さらに、ロードされたプログラムを実行する。本実施例の記憶媒体２０３に格納されるプログラム等については後述する。【００４０】
なお、記憶媒体２０３に格納されるプログラムは、ＣＤ−ＲＯＭ及びフラッシュメモリ等のリムーバブルメディア又はネットワークを介して接続される配信サーバから取得する方法が考えられる。リムーバブルメディアからプログラムを取得する場合、計算機２００は、リムーバブルメディアに接続されるインタフェースを備える。【００４１】
入力装置２０４は、計算機２００に各種情報を入力するための装置であり、例えば、キーボード、マウス、及びタッチパネル等が含まれる。出力装置２０５は、計算機２００が実行した処理結果を出力する装置であり、例えばディスプレイ等が含まれる。【００４２】
データベース２０６は、計算機２００が管理する各種データを格納する。本実施例では、図示しないストレージシステムを用いてデータベース２０６が構築されるものとする。ストレージシステムは、コントローラ、外部インタフェース、及び複数の記憶媒体を備える。ストレージシステムは、複数の記憶媒体を用いてＲＡＩＤを構成することができる。また、ストレージシステムは、ＲＡＩＤボリュームを用いて複数の論理的な記憶領域を提供することもできる。【００４３】
データベース２０６は、学習データ記憶部２４１、モデル情報記憶部２４２、エビデンスデータ記憶部２４３、推論結果記憶部２４４、影響度記憶部２４５、及び補充データ記憶部２４６を含む。【００４４】
学習データ記憶部２４１は、グラフィカルモデルの構築時に用いられる学習データ３００を記憶する。学習データ３００の詳細は図３を用いて説明する。モデル情報記憶部２４２は、グラフィカルモデルの構造を示す構造情報５００、５１０、及び条件付確率テーブル６００を記憶する。構造情報５００、５１０の詳細については図５Ａ及び図５Ｂを用いて説明し、また、条件付確率テーブル６００の詳細については図６を用いて説明する。【００４５】
エビデンスデータ記憶部２４３は、エビデンスデータ７００を記憶する。ここで、エビデンスデータ７００は、健康検診等を行う患者等から取得される検査値及び画像データ等の健康に関する情報、並びに、医師による診断情報、処置及び処方薬等の診療に関する情報等を示す。エビデンスデータ７００の詳細は図７を用いて説明する。推論結果記憶部２４４は、推論結果管理情報８００を記憶する。推論結果管理情報８００の詳細は図８を用いて説明する。影響度記憶部２４５は、影響度管理情報９００を記憶する。影響度管理情報９００の詳細は図９を用いて説明する。補充データ記憶部２４６は、グラフィカルモデルの補正箇所の再学習に用いられる補充データを記憶する。なお、補充データのデータ形式は学習データと同一のものである。【００４６】
ここで、記憶媒体２０３に格納されるプログラムについて説明する。【００４７】
記憶媒体２０３は、グラフィカルモデル構築部２１０、推論部２２０、及びグラフィカルモデル補正部２３０を実現するプログラムを格納する。【００４８】
グラフィカルモデル構築部２１０は、グラフィカルモデルを構築し、また、構築されたグラフィカルモデルに関する各種情報を生成する。グラフィカルモデル構築部２１０は複数のモジュールから構成される。本実施例のグラフィカルモデル構築部２１０は、モデル構造学習部２１１、サンプル数算出部２１２、及び確率テーブル算出部２１３を含む。【００４９】
モデル構造学習部２１１は、学習データ３００を用いて、グラフィカルモデル（ベイジアンネットワーク）を構築する。また、モデル構造学習部２１１は、モデル情報記憶部２４２を介してデータベース２０６に構築されたグラフィカルモデルの構造情報５００、５１０を格納する。ここで、モデル構造学習部２１１は、ベイジアンネットワークの既存の構造学習アルゴリズムを用いてグラフィカルモデルを構築するものとする。ベイジアンネットワークの既存の構造学習アルゴリズムとしては、例えば、Ｈｉｌｌ  Ｃｌｉｍｂｉｎｇ法等がある。【００５０】
サンプル数算出部２１２は、学習データ３００に含まれるレコードの中から所定の条件に合致するレコードの数をサンプル数として算出する。サンプル数算出部２１２は、影響度記憶部２４５を介して、影響度管理情報９００に算出されたサンプル数を格納する。【００５１】
確率テーブル算出部２１３は、構築されたグラフィカルモデルの各ノードの条件付確率テーブル６００を算出する。確率テーブル算出部２１３は、モデル情報記憶部２４２を介して、条件付確率テーブル６００を格納する。【００５２】
推論部２２０は、推論対象の入力を受け付け、入力された推論対象の条件付確率値の分布（推論結果）を算出する。また、本実施例の推論部２２０は、ある条件付確率値が推論結果の確率値に与える影響の大きさを影響評価値として算出し、算出された影響評価値に基づいて推論結果の確率値の信頼区間を算出する。推論部２２０は、複数のモジュールから構成される。本実施例の推論部２２０は、推論結果算出部２２１、確率値微分量算出部２２２、影響度算出部２２３、及び信頼区間算出部２２４を含む。【００５３】
推論結果算出部２２１は、変数消去法等の厳密推論手法、又は、Ｌｏｏｐｙ  Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ等の近似推論手法を用いて、推論対象の確率分布を算出する。【００５４】
確率値微分量算出部２２２は、影響評価値を算出するために必要となる確率値微分量を算出する。ここで、確率値微分量は、条件付確率値の微小な変化量に対する推論結果の確率値の変化量であり、式（３）のように表される。【００５５】
本実施例では、確率値微分量を下式（５）で与える。厳密推論を用いて式（５）に含まれる同時確率分布を算出する場合、非特許文献１に記載する確率値微分量の計算結果と一致する。なお、影響評価値及び確率値微分量の具体的な算出方法については後述する。【００５６】
【数５】
2016121054.tif 000007
【００５７】
ここで、式（５）の導出について説明する。以下の説明では、推論対象をＴとし、条件付確率値の子ノードに対応する確率変数をＡとし、親ノードに対応する確率変数をＢｉとする。なお、ｉは１からｍまでの整数であるものとする。また、Ｔの取り得る値の集合をＲ（Ｔ）とし、Ａの取り得る値の集合をＲ（Ａ）とし、Ｂｉの取り得る値の集合をＲ（Ｂｉ）とする。このとき、下式（６）が成り立つ。【００５８】
【数６】
2016121054.tif 000008
【００５９】
下式（７）、（８）に示すようなベイズの定理の式を用いると、式（６）は下式（９）のようになる。【００６０】
【数７】
2016121054.tif 000009
【００６１】
【数８】
2016121054.tif 000010
【００６２】
【数９】
2016121054.tif 000011
【００６３】
ここで、ｔｌをＲ（Ｔ）の任意の値、ａｋをＲ（Ａ）の任意の値、ｂｉ,ｊをＲ（Ｂｉ）の任意の値として下式（１０）を計算する。【００６４】
【数１０】
2016121054.tif 000012
【００６５】
このとき、右辺には下式（１１）に示す項以外に下式（１２）を含む項がないため、式（１０）は式（１３）に示すようになる。【００６６】
【数１１】
2016121054.tif 000013
【００６７】
【数１２】
2016121054.tif 000014
【００６８】
【数１３】
2016121054.tif 000015
【００６９】
式（１３）の右辺にベイズの定理を用いて変形すると下式（１４）のようになる。したがって、式（１３）は式（１５）に示すような形に表せる。すなわち、式（４）に一致する。以上が、式（４）の導出方法の説明である。【００７０】
【数１４】
2016121054.tif 000016
【００７１】
【数１５】
2016121054.tif 000017
【００７２】
影響度算出部２２３は、確率値微分量を用いて影響評価値を算出する。信頼区間算出部２２４は、影響評価値及びサンプル数に基づいて、推論結果の確率値の信頼区間を算出する。【００７３】
グラフィカルモデル補正部２３０は、構築されたグラフィカルモデルの補正箇所を選択し、選択された補正箇所の補正に用いる補充データのレコードを選択する。以下、補充データから選択されたレコードを補正用レコードと呼ぶ。また、グラフィカルモデル補正部２３０は、補正用レコードを用いて確率値を補正する。グラフィカルモデル補正部２３０は複数のモジュールから構成される。本実施例のグラフィカルモデル補正部２３０は、補正箇所選択部２３１、補充データ選択部２３２及び確率値補正部２３３を含む。【００７４】
補正箇所選択部２３１は、影響評価値に基づいて、構築されたグラフィカルモデルの補正箇所を選択する。補充データ選択部２３２は、選択された補正箇所に適用する補正用レコードを補充データから選択する。確率値補正部２３３は、選択されたレコードを用いてグラフィカルモデルを再構築する。【００７５】
図３は、実施例１のデータベース２０６に格納される学習データ３００の一例を示す説明図である。【００７６】
学習データ３００は、識別情報、及び確率変数に対応する複数のカラムから構成されるレコードを含む。本実施例のレコードは、患者ＩＤ３０１、ＢＭＩ値３０２、血圧値３０３、血糖値３０４、心臓病３０５、及び糖尿病３０６を含む。【００７７】
患者ＩＤ３０１は、患者の識別情報である。ＢＭＩ値３０２、血圧値３０３、及び血糖値３０４は、患者のＢＭＩ値、血圧値、及び血糖値である。心臓病３０５及び糖尿病３０６は、患者が心臓病及び糖尿病に該当するか否かを示す情報である。患者ＩＤ３０１がレコードの識別情報であり、ＢＭＩ値３０２、血圧値３０３、血糖値３０４、心臓病３０５、及び糖尿病３０６は、確率変数である。【００７８】
患者が心臓病又は糖尿病に該当する場合には、心臓病３０５又は糖尿病３０６には「Ｙｅｓ」が格納され、患者が心臓病又は糖尿病に該当しない場合には、心臓病３０５又は糖尿病３０６には「Ｎｏ」が格納される。【００７９】
図３の上から１行目のレコードは、患者ＩＤ３０１が「Ｋ０００１」、ＢＭＩ値が「３２」、血圧値が「９０」、及び血糖値が「５」であり、また、心臓病及び糖尿病のいずれにも該当しないことを示す。【００８０】
なお、ＢＭＩ値３０２、血圧値３０３、血糖値３０４、心臓病３０５、及び糖尿病３０６には、必ずしも値が格納されていなくてもよい。この場合、当該カラムにはデータが欠損していることを示す情報が格納される。データの欠損を示す情報は、数値、文字、及びブール値のいずれであってもよい。【００８１】
次に、図３に示す学習データ３００に対応するグラフィカルモデル及び構造情報５００、５１０について説明する。【００８２】
図４は、実施例１のグラフィカルモデル４００の一例を示す説明図である。【００８３】
グラフィカルモデル４００は、複数のノード４１０、及びノード４１０間を接続するエッジ４２０から構成される。図４に示すグラフィカルモデル４００の各ノード４１０は、学習データ３００のＢＭＩ値３０２、血圧値３０３、血糖値３０４、心臓病３０５、及び糖尿病３０６に対応する。【００８４】
本実施例ではベイジアンネットワークを想定しているため、ノード４１０を接続するエッジ４２０には向きが存在する。また、エッジ４２０の始点に対応するノード４１０を親ノードと呼び、エッジ４２０の終点に対応するノード４１０を子ノードと呼ぶ。例えば、「糖尿病」のノード４１０は「血糖値」のノードの子ノードであり、「血糖値」のノードは「糖尿病」のノードに対する親ノードである。各ノード４１０には条件付確率テーブルが与えられる。ベイジアンネットワークでは、子ノードの確率分布は親ノードの確率値に依存する。【００８５】
図５Ａ及び図５Ｂは、実施例１のグラフィカルモデル４００の構造情報５００、５１０の一例を示す説明図である。本実施例のグラフィカルモデル４００の構造情報には、ノード４１０の情報及びエッジ４２０の情報が含まれる。【００８６】
図５Ａは、グラフィカルモデル４００におけるノード４１０に関する構造情報５００を示す。構造情報５００は、一つのノード４１０に対して一つのレコードを含み、レコードはノードＩＤ５０１及び項目名５０２を含む。【００８７】
ノードＩＤ５０１は、ノード４１０を一意に識別するための識別情報である。項目名５０２は、ノード４１０に対応する確率変数の識別情報である。項目名５０２は、学習データ３００の項目名に対応する。【００８８】
図５Ｂは、グラフィカルモデル４００におけるエッジ４２０に関する構造情報５１０を示す。構造情報５１０は、一つのエッジ４２０に対して一つのレコードを含み、レコードはエッジＩＤ５１１、親ノード５１２、及び子ノード５１３を含む。【００８９】
エッジＩＤ５１１は、エッジ４２０を一意に識別するための識別情報である。親ノード５１２は、親ノードに対応するノード４１０の識別情報である。子ノード５１３は、子ノードに対応するノード４１０の識別情報である。親ノード５１２及び子ノード５１３には項目名５０２と同一の情報が格納される。なお、親ノード５１２及び子ノード５１３にはノードＩＤ５０１と同一の情報が格納されてもよい。【００９０】
図６は、実施例１の条件付確率テーブル６００の一例を示す説明図である。【００９１】
条件付確率テーブル６００は、親ノードの状態値に対して子ノードが任意の状態値を取る条件付確率値を格納する。条件付確率テーブル６００は、子ノードに対応するノード４１０に与えられるものである。【００９２】
条件付確率テーブル６００は、親ノード６０１、子ノード６０２、条件付確率６０３、及びサンプル数６０４を含む。【００９３】
親ノード６０１は、親ノードの状態値である。親ノードが複数存在する場合、親ノード６０１には親ノードの数だけカラムが存在する。子ノード６０２は、子ノードの状態値である。条件付確率６０３は、親ノード６０１に設定された状態値に対して、子ノード６０２に設定された状態値を取る確率値である。サンプル数６０４は、学習データ３００に含まれるレコードのうち、親ノード６０１の状態値と一致するレコードの数である。【００９４】
なお、サンプル数は、条件付確率テーブル６００とは別のテーブルにて管理されてもよい。【００９５】
図６の一番上のレコードの場合、血圧値が「９０」かつ血糖値が「５」である場合に、心臓病になる確率が「９％」であることを示す。また、図６の一番上のレコードの場合、親ノードである血圧値及び血糖値の状態値がそれぞれ「９０」及び「５」であるレコードの数が「１５６３」であることを示す。条件付確率６０３は、学習データ３００に含まれる親ノード６０１の状態値に一致するレコードの数と、親ノード６０１及び子ノード６０２の状態値に一致するレコードの数とから求めることができる。【００９６】
一般的に、サンプル数６０４の値が大きいほど条件付確率６０３が示す信頼性は高くなる。【００９７】
図７は、実施例１のエビデンスデータ７００の一例を示す説明図である。【００９８】
実施例１のエビデンスデータ７００は、学習データ３００に含まれるレコードと同一の構成である。具体的には、エビデンスデータ７００は、患者ＩＤ７０１、ＢＭＩ値７０２、血圧値７０３、血糖値７０４、心臓病７０５、及び糖尿病７０６を含む。なお、患者から取得されていない項目の値には、データが欠損していることを示す記号が格納される。【００９９】
図８は、実施例１の推論結果管理情報８００の一例を示す説明図である。【０１００】
推論結果管理情報８００は、グラフィカルモデル４００及びエビデンスデータ７００を用いて算出された推論対象のノード４１０が任意の状態値となる条件付確率値を格納する。実施例１の推論結果管理情報８００は、エビデンス８０１、推論対象８０２、条件付確率８０３、及び信頼区間８０４を含む。【０１０１】
エビデンス８０１は、エビデンスデータ７００のうち、推論対象８０２に関連するノード４１０と依存関係のあるノード４１０の状態値である。推論対象８０２は、推論対象であるノード４１０の状態値である。【０１０２】
推論結果管理情報８００には、エビデンスデータ７００に含まれる一つのレコードに対して、推論対象のノード４１０が取り得る状態値の数だけレコードが生成される。本実施例では、「心臓病」に対応するノード４１０は「Ｙｅｓ」又は「Ｎｏ」のいずれかの状態値を取るため、推論結果管理情報８００には、エビデンスデータ７００の一つのレコードに対して、二つのレコードが格納される。例えば、エビデンスデータ７００のレコードの数が「Ｍ」の場合、推論結果管理情報８００のレコードの数は「２Ｍ」となる。【０１０３】
条件付確率８０３は、推論対象の条件付確率値である。エビデンスデータ７００の一つのレコードに対応する推論結果管理情報８００の二つのレコードの条件付確率８０３の集合が、当該エビデンスデータ７００の一つのレコードにおける推論結果となる。【０１０４】
信頼区間８０４は、条件付確率値の信頼性を評価する信頼区間である。本実施例では、信頼区間８０４には、９５％信頼区間の値を格納されるものとする。【０１０５】
図８に示す一番上のレコードは、ＢＭＩ値が「２１」、血圧値が「９０」、かつ血糖値が「５」である患者が心臓病となる確率は、９５％の確率で５％から９％であることを示す。【０１０６】
図９Ａ及び図９Ｂは、実施例１の影響度管理情報９００の一例を示す説明図である。なお、影響度管理情報９００のレコード数が多いため、図９Ａ及び図９Ｂの二つに分けて影響度管理情報９００を示している。【０１０７】
影響度管理情報９００は、条件付確率６０３の推論結果への影響度を示す影響評価値を管理する。影響度管理情報９００は、親ノード９０１、子ノード９０２、条件付確率９０３、サンプル数９０４、推論対象９０５、同時確率９０６、確率値微分量９０７、及び影響評価値９０８を含む。【０１０８】
親ノード９０１、子ノード９０２、条件付確率９０３、及びサンプル数９０４は、親ノード６０１、子ノード６０２、条件付確率６０３、及びサンプル数６０４と同一のものである。【０１０９】
なお、推論対象と依存関係を有するノード４１０の条件付確率テーブル６００に対して一つの影響度管理情報９００が存在する。図９は血糖値のノード４１０に対応する影響度管理情報９００である。また、影響度管理情報９００には、一つの条件付確率値に対して、推論対象が取り得る状態値の数だけレコードが生成される。「心臓病」に対応するノード４１０は「Ｙｅｓ」又は「Ｎｏ」の二つの状態値を取るため、影響度管理情報９００には、条件付確率テーブル６００の一つのレコードに対して、二つのレコードが格納される。例えば、条件付確率テーブル６００のレコードの数が「Ｎ」の場合、影響度管理情報９００のレコードの数は「２Ｎ」となる。【０１１０】
推論対象９０５は、推論対象の状態値である。同時確率９０６は、当該レコードに対応する状態値の組み合わせにおける関連確率変数の同時確率値である。確率値微分量９０７は、条件付確率９０３の確率値微分量である。影響評価値９０８は、条件付確率９０３が推論結果の確率値に与える影響度である。【０１１１】
例えば、図９の一番目のレコードは、ＢＭＩ値が「２０」及び血糖値が「５」である場合に心臓病となる条件付確率値「９％」が推論結果の確率値に与える影響の大きさ、すなわち、影響評価値が「０．２」であることを示す。【０１１２】
影響評価値９０８に格納される値は、条件付確率６０３の微小変化に対する推論結果の確率値の変化量の関数の値として与えられる。影響評価値を算出するための関数は、推論部２２０に予め設定されているものとする。また、推論結果管理情報８００の信頼区間８０４に格納される値は、後述するようにサンプル数及び影響評価値に基づいて算出される。【０１１３】
次に、計算機２００が実行する処理について説明する。まず、グラフィカルモデル４００の構築処理について図１０を用いて説明する。図１０は、実施例１の計算機２００のグラフィカルモデル構築部２１０が実行する処理の一例を説明するフローチャートである。【０１１４】
計算機２００は、グラフィカルモデル４００の構築が指示された場合等に以下で説明する処理を開始する。【０１１５】
計算機２００は、学習データ３００の入力を受け付ける（ステップＳ１００１）。学習データ３００は、例えば、入力装置２０４等を用いて入力する方法が考えられる。【０１１６】
このとき、計算機２００は、データベース２０６の学習データ記憶部２４１を介して入力された学習データ３００をデータベース２０６に格納する。なお、様々なデータ形式の学習データ３００が入力される場合、学習データ記憶部２４１は、入力されたデータを図３に示すような形式に変換した後、変換された学習データ３００を格納してもよい。【０１１７】
次に、計算機２００は、学習データ３００の離散化処理を実行する（ステップＳ１００２）。具体的には、グラフィカルモデル構築部２１０のモデル構造学習部２１１が、学習データ３００のレコードの項目のうち、当該項目に格納される状態値が連続値をとる項目について状態値を離散化する。例えば、血糖値の状態値として整数のみを扱うように離散化する。この場合、小数点以下の数は、四捨五入、切り捨て、切り上げ等が行われる。なお、離散化の粒度は任意に設定できる。【０１１８】
次に、計算機２００は、グラフィカルモデル４００の構築に用いられる制限条件の設定処理を実行する（ステップＳ１００３）。例えば、グラフィカルモデル構築部２１０のモデル構造学習部２１１が、入力装置２０４等を用いて入力された制限条件を受け付け、当該制約条件をメモリ２０２に格納する。【０１１９】
ここで、制限条件としては、ノード４１０間の依存関係等が考えられる。例えば、「第１のノードと第２のノードとの間にはエッジなし」、「第３のノードと第４のノードとの間にはエッジあり」等の情報が制限情報として入力される。【０１２０】
次に、計算機２００は、学習データ３００を用いたモデル構造の学習処理を実行する（ステップＳ１００４）。具体的には、グラフィカルモデル構築部２１０のモデル構造学習部２１１が、学習データ３００及び制約条件に基づいて、ノード４１０の構造情報５００及びエッジ４２０の構造情報５１０を生成することによって、グラフィカルモデル４００を構築する。なお、ベイジアンネットワークの構造学習アルゴリズムとしてＨｉｌｌ  Ｃｌｉｍｂｉｎｇ法等が知られている。本実施例は、どのような学習アルゴリズムを用いてもよい。【０１２１】
次に、計算機２００は、データ照合処理を実行する（ステップＳ１００５）。具体的には、グラフィカルモデル構築部２１０のサンプル数算出部２１２が、学習データ３００に含まれるレコードの中から、あるノード４１０を子ノードとした場合における、子ノードの状態値、及び親ノードの状態値の組み合わせと一致するレコードを抽出する。【０１２２】
次に、計算機２００は、サンプル数算出処理を実行する（ステップＳ１００６）。具体的には、グラフィカルモデル構築部２１０のサンプル数算出部２１２が、データ照合処理において抽出されたレコードの数をサンプル数として算出し、算出されたサンプル数を子ノードの状態値及び親ノードの状態値と対応付けて、メモリ２０２に一時的に格納する。【０１２３】
次に、計算機２００は、条件付確率テーブル６００の算出処理を実行する（ステップＳ１００７）。具体的には、以下のような処理が実行される。【０１２４】
グラフィカルモデル構築部２１０の確率テーブル算出部２１３が、処理対象のノード４１０を選択し、構造情報５００、５１０に基づいて、選択されたノード４１０に対する親ノードを特定し、条件付確率テーブル６００に子ノード及び親ノードの状態値の組み合わせの数だけレコードを生成する。さらに、確率テーブル算出部２１３は、生成されたレコードのサンプル数６０４に、ステップＳ１００６において算出されたサンプル数を格納する。【０１２５】
また、確率テーブル算出部２１３は、学習データ３００に含まれるレコードのうち、子ノード６０２の状態値が所定値になるレコードの割合を条件付確率値として算出する。さらに、確率テーブル算出部２１３は、算出された条件付確率値を条件付確率テーブル６００の所定のレコードの条件付確率６０３に格納する。【０１２６】
以上の処理によって、図５Ａ及び図５Ｂに示すような構造情報５００、５１０、並びに、図６に示すような条件付確率テーブル６００が生成される。すなわち、図４に示すようなグラフィカルモデル４００が構築される。【０１２７】
次に、推論結果を算出するための処理について図１１を用いて説明する。図１１は、実施例１の計算機２００の推論部２２０が実行する処理の一例を説明するフローチャートである。【０１２８】
推論部２２０は、処理の開始を指示される場合、以下で説明する処理を開始する。このとき、推論部２２０には、エビデンスデータ７００が入力される。なお、エビデンスデータ７００を用いた推論結果の算出方法は公知のものであるため、説明を省略する。ここでは、推論結果算出部２２１が、変数消去法等の厳密推論手法、又は、Ｌｏｏｐｙ  Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ等の近似推論法を用いて、推論結果が算出されているものとする。【０１２９】
推論部２２０は、推論対象を選択する（ステップＳ１１０１）。具体的には、推論部２２０の確率値微分量算出部２２２が、入力装置２０４を介してユーザ等からノード４１０の識別情報を受け付け、当該ノード４１０を推論対象として設定する。【０１３０】
次に、推論部２２０は、処理対象となる条件付確率テーブル６００を選択する（ステップＳ１１０２）。具体的には、以下のような処理が実行される。【０１３１】
推論部２２０の確率値微分量算出部２２２は、構造情報５００、５１０を参照して、推論対象を葉ノードとして、根ノードまでエッジ４２０に沿ってグラフィカルモデル４００を辿ることによって、推論対象と依存関係のある複数のノード４１０を抽出する。確率値微分量算出部２２２は、抽出された複数のノード４１０の各々に対応する条件付確率テーブル６００をデータベース２０６から読み出し、メモリ２０２に格納する。【０１３２】
確率値微分量算出部２２２は、抽出された複数のノード４１０の中から処理対象のノード４１０を一つ選択する。例えば、推論対象を子ノードとした場合の親ノード、さらにその親ノードの順に選択する方法が考えられる。なお、本実施例は、処理対象のノード４１０の選択方法に依存しない。以下、選択されたノード４１０を選択ノード４１０とも記載する。【０１３３】
確率値微分量算出部２２２は、メモリ２０２に格納された複数の条件付確率テーブル６００の中から、選択ノード４１０に対応する条件付確率テーブル６００を取得する。また、確率値微分量算出部２２２は、取得された条件付確率テーブル６００に基づいて、図９Ａ及び図９Ｂに示すような影響度管理情報９００を生成する。具体的には、親ノード及び子ノードの状態値の組み合わせに対して、推論対象が取り得る状態値毎にレコードを生成する。推論対象が「心臓病」の場合、状態値は二つであるため、条件付確率テーブル６００の一つのレコードに対して、二つのレコードが影響度管理情報９００に生成される。【０１３４】
確率値微分量算出部２２２は、生成されたレコードの親ノード９０１、子ノード９０２、条件付確率９０３、及びサンプル数９０４に、選択された条件付確率テーブル６００の親ノード６０１、子ノード６０２、条件付確率６０３、サンプル数６０４の値を格納し、また、推論対象に推論対象が取り得る状態値を格納する。この時点では、同時確率９０６、確率値微分量９０７、及び影響評価値９０８には値が格納されない。以上がステップＳ１１０２の処理の説明である。【０１３５】
次に、推論部２２０は、関連確率変数を抽出する（ステップＳ１１０３）。具体的には、推論部２２０の確率値微分量算出部２２２は、構造情報５００、５１０を参照して、選択ノード４１０を葉ノードとして、根ノードまでエッジに沿ってグラフィカルモデル４００を辿ることによって、選択ノード４１０と依存関係があるノード４１０の集合を家族ノード４１０として抽出する。さらに、推論部２２０は、推論対象、選択ノード４１０、及び抽出された家族ノード４１０を関連確率変数として抽出する。【０１３６】
次に、推論部２２０は、関連確率変数の同時確率分布を算出する（ステップＳ１１０４）。具体的には、推論部２２０の確率値微分量算出部２２２が、推論対象、選択ノード４１０、及び抽出された家族ノード４１０の条件付確率テーブル６００を用いた、Ｌｏｏｐｙ  Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ等の近似推論法に基づいて、関連確率変数の同時確率分布を算出する。このとき、確率値微分量算出部２２２は、算出された同時確率分布に基づいて、親ノード、子ノード、及び推論対象９０５の状態値の組み合わせが一致するレコードの同時確率９０６に同時確率値を格納する。【０１３７】
次に、推論部２２０は、選択された条件付確率テーブル６００及び算出された同時確率分布を用いて、確率値微分量を算出する（ステップＳ１１０５）。具体的には、以下のような処理が実行される。【０１３８】
推論部２２０の確率値微分量算出部２２２は、選択された条件付確率テーブル６００の親ノード６０１及び子ノード６０２の状態値を参照して、算出された同時確率分布における任意の状態値の組み合わせと一致するレコードを選択する。確率値微分量算出部２２２は、検索されたレコードの条件付確率９０３及び同時確率９０６の値を読み出す。【０１３９】
確率値微分量算出部２２２は、条件付確率９０３及び同時確率９０６の値を式（５）に代入することによって確率値微分量を算出する。確率値微分量算出部２２２は、選択されたレコードの確率値微分量９０７に算出された確率値微分量を格納する。以上がステップＳ１１０５の処理の説明である。【０１４０】
次に、推論部２２０は、確率値微分量を用いて、選択ノード４１０の条件付確率値が推論結果の確率値に与える影響度の大きさを影響評価値として算出する（ステップＳ１１０６）。【０１４１】
一般的に影響評価値は確率値微分量の関数として与えられ、また、様々な条件に応じて任意の関数として設定できる。本実施例では、確率値微分量そのものが影響評価値となるように定義する。なお、重み付き関数を用いて複数の確率値微分量の関数を平均化し、当該関数を影響評価値として用いてもよい。【０１４２】
ステップＳ１１０６では、推論部２２０の確率値微分量算出部２２２が、所定のレコードの確率値微分量９０７の値を予め設定された関数に代入することによって影響評価値を算出し、当該レコードの影響評価値９０８に算出された影響評価値を格納する。【０１４３】
次に、推論部２２０は、読み出された全ての条件付確率テーブル６００について処理が完了したか否かを判定する（ステップＳ１１０７）。【０１４４】
読み出された全ての条件付確率テーブル６００について処理が完了していないと判定された場合、推論部２２０は、ステップＳ１１０２に戻り同様の処理を実行する。【０１４５】
読み出された全ての条件付確率テーブル６００について処理が完了していると判定された場合、推論部２２０は、サンプル数９０４及び影響評価値９０８に基づいて、推論結果の確率値の信頼区間を算出する（ステップＳ１１０８）。例えば、下式（１６）のような公知の方法を用いて信頼区間を算出できる。なお、式（１６）の分散は、推論結果の確率値の分散を示し、また、分散の２乗は、下式（１７）のように与えられる。【０１４６】
【数１６】
2016121054.tif 000018
【０１４７】
【数１７】
2016121054.tif 000019
【０１４８】
ここで、ノードＤ、ノードＤの親ノードであるノードＣ、ノードＣの親ノードであるノードＢ、ノードＢの親ノードであるノードＡという直列的なベイジアンネットワークを例に図１の処理の具体的な流れについて説明する。このとき、ノードＡの条件付確率テーブル６００は条件付確率Ｐ（Ａ）の分布、ノードＢの条件付確率テーブル６００は条件付確率Ｐ（Ｂ｜Ａ）の分布、ノードＣの条件付確率テーブル６００は条件付確率Ｐ（Ｃ｜Ｂ）の分布、ノードＤの条件付確率テーブル６００は条件付確率Ｐ（Ｄ｜Ｃ）の分布として与えられる。【０１４９】
ステップＳ１１０１において、推論部２２０は、ノードＤを推論対象として選択する。ステップＳ１１０２において、推論部２２０は、ノードＡ、ノードＢ、及びノードＣを推論対象と依存関係のあるノード４１０として抽出する。また、推論部２２０は、ノードＣを選択ノード４１０として選択する。【０１５０】
ステップＳ１１０３において、推論部２２０は、ノードＢ及びノードＣを家族ノード４１０として抽出し、また、ノードＢ、ノードＣ、及びノードＤを関連確率変数として抽出する。ステップＳ１１０４において、推論部２２０は、同時確率Ｐ（Ｂ，Ｃ，Ｄ）の分布を算出する。【０１５１】
ステップＳ１１０５において、推論部２２０は、ノードＢ、ノードＣ、及びノードＤの状態値の組み合わせ毎に、同時確率Ｐ（Ｂ＝ｂ，Ｃ＝ｃ，Ｄ＝ｄ）を条件付確率Ｐ（Ｃ＝ｃ｜Ｂ＝ｂ）で除算して、確率微分量を算出する。ステップＳ１１０６において、推論部２２０は、確率微分量を用いて影響評価値を算出する。これによって、ノードＣの条件付確率値がノードＤの確率値に与える影響の大きさを見積もることができる。【０１５２】
ステップＳ１１０７において、推論部２２０は、全ての条件付確率テーブル６００について処理が完了していないと判定する。そのため、推論部２２０は、ステップＳ１１０２に戻り、ノードＢを選択ノード４１０として選択する。ステップＳ１１０３において、推論部２２０は、ノードＡ及びノードＢを家族ノードとして抽出し、また、ノードＡ、ノードＢ、及びノードＤを関連確率変数として抽出する。ステップＳ１１０４において、推論部２２０は、同時確率Ｐ（Ａ，Ｂ，Ｄ）の分布を算出する。【０１５３】
ステップＳ１１０５において、推論部２２０は、ノードＡ、ノードＢ、及びノードＤの状態値の組み合わせ毎に、同時確率Ｐ（Ａ＝ａ’，Ｂ＝ｂ’，Ｄ＝ｄ’）を条件付確率Ｐ（Ｂ＝ｂ’｜Ａ＝ａ’）で除算して、確率微分量を算出する。ステップＳ１１０６において、推論部２２０は、確率微分量を用いて影響評価値を算出する。これによって、ノードＢの条件付確率値がノードＤの確率値に与える影響の大きさを見積もることができる。【０１５４】
ステップＳ１１０７において、推論部２２０は、全ての条件付確率テーブル６００について処理が完了していないと判定する。そのため、推論部２２０は、ステップＳ１１０２に戻り、ノードＡを選択ノード４１０として選択する。ステップＳ１１０３において、推論部２２０は、ノードＡは根ノード４１０であるため親ノード４１０が存在しないため、ノードＡ及びノードＤを関連確率変数として抽出する。ステップＳ１１０４において、推論部２２０は、同時確率Ｐ（Ａ，Ｄ）の分布を算出する。【０１５５】
ステップＳ１１０５において、推論部２２０は、ノードＡ及びノードＤの状態値の組み合わせ毎に、同時確率Ｐ（Ａ＝ａ’’，Ｄ＝ｄ’’）を条件付確率Ｐ（Ａ＝ａ’’）で除算して、確率微分量を算出する。ステップＳ１１０６において、推論部２２０は、確率微分量を用いて影響評価値を算出する。これによって、ノードＡの条件付確率値がノードＤの確率値に与える影響の大きさを見積もることができる。【０１５６】
ステップＳ１１０７において、推論部２２０は、全ての条件付確率テーブル６００について処理が完了したと判定する。ステップＳ１１０８において、推論部２２０は、算出された影響評価値を用いて推論結果の確率値の影響度を算出する。以上が、図１１の処理の具体的な流れの説明である。【０１５７】
次に、グラフィカルモデルを補正するための処理について図１を用いて説明する。図１は、実施例１の計算機２００のグラフィカルモデル補正部２３０が実行する処理の一例を説明するフローチャートである。【０１５８】
グラフィカルモデル補正部２３０は、図１１に示す処理が終了した後に、以下で説明する処理を開始する。【０１５９】
まず、グラフィカルモデル補正部２３０は、推論結果の信頼度が目標値に達しているか否かを判定する（ステップＳ１０１）。例えば、グラフィカルモデル補正部２３０は、下式（１８）を満たすか否かを判定する。式（１８）を満たす場合、推論結果の信頼度が目標値に達していると判定される。なお、分散の自乗は式（１７）を用いて求めることができる。【０１６０】
【数１８】
2016121054.tif 000020
【０１６１】
推論結果の信頼度が目標値に達していると判定された場合、グラフィカルモデル補正部２３０は処理を終了する。【０１６２】
推論結果の信頼度が目標値に達していないと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、処理対象のノード４１０の条件付確率テーブル６００を選択する（ステップＳ１０２）。例えば、推論対象から根ノードまでの経路に含まれるノード４１０順に選択する方法が考えられる。このとき、補正箇所選択部２３１は、データベース２０６から、選択された条件付確率テーブル６００に対応する影響度管理情報９００を読み出す。【０１６３】
グラフィカルモデル補正部２３０の補正箇所選択部２３１は、読み出された影響度管理情報９００の影響評価値９０８に基づいて、選択された条件付確率テーブル６００の確率値（レコード）の中から補正箇所となる確率値を選択する（ステップＳ１０３）。すなわち、補正箇所選択部２３１は、選択された条件付確率テーブル６００の確率値の中から、推論結果の確率値に与える影響が大きい確率値を選択する。【０１６４】
ここで、影響度管理情報９００には、条件付確率テーブル６００の一つの確率値（レコード）に対して二つのレコードが存在する。そのため、本実施例では、影響度管理情報９００の二つのレコードの影響評価値９０８の合計値又は平均値を、条件付確率テーブル６００の一つの確率値（レコード）の影響評価値として扱う。【０１６５】
ここで、ステップＳ１０３では、例えば以下のような処理が実行される。一つの処理としては、補正箇所選択部２３１は、条件付確率テーブル６００の確率値（レコード）の影響評価値が所定の閾値以上である確率値（レコード）を選択する。他の処理としては、補正箇所選択部２３１は、選択された条件付確率テーブル６００の確率値（レコード）を確率値（レコード）の影響評価値が大きい順にソートし、条件付確率テーブル６００の上から順に、所定数のレコードを選択する。【０１６６】
次に、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、選択された確率値の中から処理対象の確率値を選択する（ステップＳ１０４）。【０１６７】
次に、グラフィカルモデル補正部２３０の補充データ選択部２３２は、補充データのレコードの中から、選択された確率値を補正するための補正用レコードを選択する（ステップＳ１０５）。具体的には、以下のような処理が実行される。【０１６８】
補充データ選択部２３２は、選択された確率値の確率変数の状態値、及び補充データの各レコードの確率変数の状態値とを比較して、選択された確率値の確率変数の状態値に対する補充データのレコードの類似度を算出する。例えば、確率値及び補充データのレコードを、状態値をベクトルの成分とするベクトルとして扱い、二つのベクトルの距離を類似度として算出する方法が考えられる。なお、本実施例は、類似度の算出方法に限定されない。【０１６９】
補充データ選択部２３２は、算出された類似度に基づいて補正用レコードを選択する。例えば、以下のような方法が考えられる。一つの方法は、補充データ選択部２３２が、算出された類似度が所定の閾値以上のレコードを選択する方法である。他の方法は、補充データ選択部２３２が、補充データのレコードを類似度の大きい順にソートし、補充データの上から順に、所定数の補正用レコードを選択する。以上がステップＳ１０５の処理の説明である。【０１７０】
次に、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、ステップＳ１０３において選択された全ての確率値について処理が完了したか否かを判定する（ステップＳ１０６）。【０１７１】
ステップＳ１０３において選択された全ての確率値について処理が完了していないと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、ステップＳ１０４に戻り同様の処理を実行する。【０１７２】
ステップＳ１０３において選択された全ての確率値について処理が完了したと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、グラフィカルモデル４００の全ての条件付確率テーブル６００について処理が完了したか否かを判定する（ステップＳ１０７）。【０１７３】
グラフィカルモデル４００の全ての条件付確率テーブル６００について処理が完了していないと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、ステップＳ１０２に戻り同様の処理を実行する。【０１７４】
グラフィカルモデル４００の全ての条件付確率テーブル６００について処理が完了したと判定された場合、グラフィカルモデル補正部２３０の確率値補正部２３３は、選択された補正用レコードを用いて、グラフィカルモデル４００の補正箇所を補正する（ステップＳ１０８）。このとき、確率値補正部２３３は、選択された条件付確率テーブル６００の条件付確率６０３に補正された確率値を上書きする。また、確率値補正部２３３は、サンプル数６０４の値に、確率値の補正に使用された補正用レコードの数を加算する。その後、グラフィカルモデル補正部２３０はステップＳ１０１に戻り同様の処理を実行する。【０１７５】
例えば、グラフィカルモデル補正部２３０は、式（１）に示すような数式の分母に補正用レコードの数を加算し、分子に補正用レコードの数を加算することによって補正された確率値を算出する。例えば、式（１）の分子が「１０００」、分母が「１００００」である場合、補正前の確率値は「１０％」である。補正用レコードの数が「５００」の場合、分子が「１５００」、分母が「１０５００」となるため、補正後の確率値は「１４．３％」と算出される。【０１７６】
また、他の方法としては、グラフィカルモデル補正部２３０は、補正用レコードを学習データ３００に追加することによって、学習データ３００を更新し、その後、グラフィカルモデル構築部２１０にグラフィカルモデル４００の構築指示を送信する。この場合、グラフィカルモデル構築部２１０は、更新された学習データ３００を用いて図１０に示す処理を実行する。【０１７７】
以上のように実施例１によれば、計算機２００は、推論対象の確率値に与える影響の大きさを示す影響評価値に基づいて、グラフィカルモデルの補正箇所（確率値）を選択するため、グラフィカルモデル４００を用いた予測に影響が大きい箇所（確率値）を効率的に補正することができる。また、計算機２００は、補充データの中から補正箇所の補正するために適したレコードを選択するため、補充データの不要なレコードが起因するグラフィカルモデルの精度の低下を抑止することができる。
【実施例２】
【０１７８】
実施例２では、計算機システムが、ノード４１０の確率分布の統計的な信頼性に基づいてグラフィカルモデルの補正箇所を選択する。また、計算機システムは、補充データに含まれる複数のレコードの中から補正箇所の学習に用いられた学習データのレコードと類似するレコードを選択し、選択されたレコード（補正用レコード）を用いてグラフィカルモデル４００を再構築する。以下、実施例１との差異を中心に実施例２について説明する。【０１７９】
図１２は、実施例２の実計算機システムの構成の一例を示すブロック図である。【０１８０】
実施例２の計算機システムでは、計算機２００の記憶媒体２０３に推論部２２０が存在しない点が実施例１の計算機システムと異なる。また、実施例２のデータベース２０６は、エビデンスデータ記憶部２４３、推論結果記憶部２４４、及び影響度記憶部２４５を含まない点が実施例１のデータベース２０６と異なる。したがって、実施例２のデータベース２０６には、エビデンスデータ７００、推論結果管理情報８００及び影響度管理情報９００が含まれない。【０１８１】
実施例２の計算機システムのその他の構成は、実施例１の計算機システムと同一である。【０１８２】
実施例２のグラフィカルモデル構築部２１０が実行する処理は、実施例１と同一であるため説明を省略する。実施例２では、グラフィカルモデル補正部２３０が実行する処理が異なる。【０１８３】
図１３は、実施例２のグラフィカルモデル補正部２３０が実行する処理の一例を説明するフローチャートである。【０１８４】
グラフィカルモデル補正部２３０は、グラフィカルモデル４００の構築後、ユーザからグラフィカルモデル４００の再構築指示を受信した場合、又は、周期的に、以下で説明する処理を開始する。【０１８５】
グラフィカルモデル補正部２３０の補正箇所選択部２３１は、処理対象のノード４１０の条件付確率テーブル６００を選択する（ステップＳ１３０１）。例えば、推論対象から根ノードまでの経路に含まれるノード４１０順に選択する方法が考えられる。【０１８６】
グラフィカルモデル補正部２３０の補正箇所選択部２３１は、選択された条件付確率テーブル６００の各レコードのサンプル数６０４に基づいて、当該条件付確率テーブル６００の確率値（レコード）の中から補正箇所となる確率値を選択する（ステップＳ１３０２）。すなわち、補正箇所選択部２３１は、選択された条件付確率テーブル６００の確率値の中から、統計的な信頼性が低い確率値を選択する。ステップＳ１３０２では、例えば以下のような処理が実行される。【０１８７】
一つの処理としては、補正箇所選択部２３１は、サンプル数６０４が所定の閾値以下である確率値（レコード）を選択する。他の処理としては、補正箇所選択部２３１は、選択された条件付確率テーブル６００のレコードをサンプル数６０４の小さい順にソートし、条件付確率テーブル６００の上から順に、所定数のレコードを選択する。【０１８８】
次に、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、選択された確率値の中から処理対象の確率値を選択する（ステップＳ１３０３）。さらに、グラフィカルモデル補正部２３０の補充データ選択部２３２は、補充データのレコードの中から、選択された確率値を補正するための補正用レコードを選択する（ステップＳ１３０４）。ステップＳ１３０３及びステップＳ１３０４の処理は、ステップＳ１０４及びステップＳ１０５と同一の処理であるため説明を省略する。【０１８９】
次に、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、ステップＳ１３０２において選択された全ての確率値について処理が完了したか否かを判定する（ステップＳ１３０５）。【０１９０】
ステップＳ１３０２において選択された全ての確率値について処理が完了していないと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、ステップＳ１３０３に戻り同様の処理を実行する。【０１９１】
ステップＳ１３０２において選択された全ての確率値について処理が完了したと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、グラフィカルモデル４００の全ての条件付確率テーブル６００について処理が完了したか否かを判定する（ステップＳ１３０６）。【０１９２】
グラフィカルモデル４００の全ての条件付確率テーブル６００について処理が完了していないと判定された場合、グラフィカルモデル補正部２３０の補正箇所選択部２３１は、ステップＳ１３０１に戻り同様の処理を実行する。【０１９３】
グラフィカルモデル４００の全ての条件付確率テーブル６００について処理が完了したと判定された場合、グラフィカルモデル補正部２３０の確率値補正部２３３は、選択された補正用レコードを用いて、グラフィカルモデル４００の補正箇所を補正する（ステップＳ１３０７）。ステップＳ１３０７の処理はステップＳ１０８と同一の処理であるため説明を省略する。【０１９４】
グラフィカルモデル補正部２３０の確率値補正部２３３は、構築されたグラフィカルモデル４００の信頼性評価値が所定の閾値以上であるか否かを判定する（ステップＳ１３０８）。グラフィカルモデル４００の信頼性評価値としては、例えば、サンプル数が考えられる。この場合、確率値補正部２３３は、各条件付確率テーブル６００の全てのレコードのサンプル数６０４が所定の閾値以上であるか否かを判定する。なお、前述した処理は一例であって、本実施例は判定処理の内容に限定されない。【０１９５】
構築されたグラフィカルモデル４００の信頼性評価値が所定の閾値より小さい場合、グラフィカルモデル補正部２３０は、ステップＳ１３０１に戻り同様の処理を実行する。【０１９６】
構築されたグラフィカルモデル４００の信頼性評価値が所定の閾値以上である場合、グラフィカルモデル補正部２３０は、処理を終了する。【０１９７】
以上のように実施例２によれば、計算機２００は、サンプル数に基づいて、グラフィカルモデルの補正箇所（確率値）を検索するため、ノード４１０の確率分布の統計的な信頼性が低い箇所（確率値）を効率的に補正することができる。また、計算機２００は、補充データの中から補正箇所の補正に適したレコードを選択するため、補充データの不要なレコードが起因するグラフィカルモデルの精度の低下を抑止することができる。
【実施例３】
【０１９８】
実施例３では、計算機システムが、グラフィカルモデルを用いた予測への影響度、及び、ノード４１０の確率分布の統計的な信頼性に基づいて、グラフィカルモデルの補正箇所を選択する。以下、実施例１との差異を中心に実施例３について説明する。【０１９９】
実施例３の計算機システムは、実施例１と同一であるため説明を省略する。また、実施例３のデータベース２０６に格納される情報も実施例１と同一であるため説明を省略する。また、実施例３のグラフィカルモデル構築部２１０及び実施例３の推論部２２０が実行する処理は、実施例１と同一であるため説明を省略する。実施例３のグラフィカルモデル補正部２３０が実行する処理の流れは実施例１と同一であるが、一部処理の内容が異なる。【０２００】
具体的には、ステップＳ１０３において、補正箇所選択部２３１は、選択された条件付確率テーブル６００のサンプル数６０４、及び読み出された影響度管理情報９００の影響評価値９０８に基づいて、選択された条件付確率テーブル６００の確率値（レコード）の中から補正箇所となる確率値を選択する。例えば以下のような処理が実行される。【０２０１】
補正箇所選択部２３１は、まず、サンプル数６０４に基づいて条件付確率テーブル６００から所定数のレコードを抽出する。【０２０２】
例えば、補正箇所選択部２３１は、サンプル数６０４が所定の閾値以下である確率値（レコード）を抽出する。また、他の処理としては、補正箇所選択部２３１は、選択された条件付確率テーブル６００の確率値（レコード）をサンプル数６０４が小さい順にソートし、条件付確率テーブル６００の上から順に、所定数の確率値（レコード）を抽出する。【０２０３】
さらに、補正箇所選択部２３１は、抽出された確率値（レコード）の中から、確率値の影響評価値が所定の閾値以上である確率値（レコード）を抽出する。なお、確率値の影響評価値は実施例１と同一の物である。【０２０４】
また、他の処理としては、補正箇所選択部２３１は、抽出された確率値（レコード）を確率値の影響評価値が大きい順にソートし、条件付確率テーブル６００の上から順に、所定数の確率値（レコード）を抽出する。【０２０５】
なお、補正箇所選択部２３１は、条件付確率テーブル６００から、確率値の影響評価値が所定の閾値以上である確率値（レコード）を抽出し、さらに、抽出された確率値（レコード）の中からサンプル数６０４が所定の閾値以下である確率値（レコード）を抽出してもよい。【０２０６】
なお、前述した処理は一例であって、サンプル数６０４及び影響評価値９０８を用いた処理であればどのような処理であってもよい。【０２０７】
ステップＳ１０３以外の処理は実施例１と同一であるため説明を省略する。【０２０８】
以上のように実施例３によれば、計算機２００は、サンプル数及び影響評価値に基づいて、グラフィカルモデルの補正箇所（確率値）を検索するため、ノード４１０の確率分布の統計的な信頼性が低く、かつ、グラフィカルモデル４００を用いた予測に影響が大きい箇所（確率値）を効率的に補正することができる。【０２０９】
また、計算機２００は、補充データの中から補正箇所の補正に適したレコードを選択するため、補充データの不要なレコードが起因するグラフィカルモデルの精度の低下を抑止することができる。
【実施例４】
【０２１０】
実施例４は、計算機システムが、グラフィカルモデル構築部２１０を有する計算機２００、推論部２２０を有する計算機２００、及びグラフィカルモデル補正部２３０を有する計算機２００から構成される点が実施例１と異なる。以下、実施例１との差異を中心に実施例４について説明する。【０２１１】
前述した三つの計算機２００のハードウェア構成は実施例１の計算機２００と同一であるため説明を省略する。【０２１２】
実施例４の三つの計算機２００にはそれぞれデータベース２０６が接続される。三つのデータベース２０６に格納される情報が異なる。【０２１３】
具体的には、グラフィカルモデル構築部２１０を有する計算機２００に接続されるデータベース２０６には、学習データ記憶部２４１及びモデル情報記憶部２４２が含まれる。推論部２２０を有する計算機２００に接続されるデータベース２０６には、モデル情報記憶部２４２、エビデンスデータ記憶部２４３、推論結果記憶部２４４、及び影響度記憶部２４５が含まれる。グラフィカルモデル補正部２３０を有する計算機２００に接続されるデータベース２０６には、モデル情報記憶部２４２、推論結果記憶部２４４、影響度記憶部２４５、及び補充データ記憶部２４６が含まれる。【０２１４】
なお、実施例２の計算機２００が有する機能を複数の計算機２００に分散させる場合、計算機システムは、グラフィカルモデル構築部２１０を有する計算機２００及びグラフィカルモデル補正部２３０を有する計算機２００から構成される。このとき、グラフィカルモデル補正部２３０を有する計算機２００に接続されるデータベース２０６には、モデル情報記憶部２４２及び補充データ記憶部２４６が含まれる。【０２１５】
なお、各データベースに格納されるデータの具体的なデータ形式は、実施例１と同一であるため説明を省略する。また、実施例４のグラフィカルモデル構築部２１０、推論部２２０、及びグラフィカルモデル補正部２３０が実行する処理は実施例１と同一であるため説明を省略する。【０２１６】
以上のように、実施例４によれば、推論部２２０を有する計算機２００に接続されるデータベース２０６は、学習データ３００及び補充データを格納する必要がない。そのため、ユーザが推論部２２０を有する計算機２００を用いて、推論結果を取得するシステムを考えた場合、ユーザが、個人情報等を含む学習データ３００及び補充データを取得する危険性がないため、情報保護の観点から有益である。また、各計算機２００の処理負荷が低減し、また、各計算機２００に接続されるデータベースに格納されるデータの容量を減らすことができる。【０２１７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。【０２１８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。【０２１９】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ等の広範囲のプログラム又はスクリプト言語で実装できる。【０２２０】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。【０２２１】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【図１】
2016121054.tif 000021
【図２】
2016121054.tif 000022
【図３】
2016121054.tif 000023
【図４】
2016121054.tif 000024
【図５Ａ】
2016121054.tif 000025
【図５Ｂ】
2016121054.tif 000026
【図６】
2016121054.tif 000027
【図７】
2016121054.tif 000028
【図８】
2016121054.tif 000029
【図９Ａ】
2016121054.tif 000030
【図９Ｂ】
2016121054.tif 000031
【図１０】
2016121054.tif 000032
【図１１】
2016121054.tif 000033
【図１２】
2016121054.tif 000034
【図１３】
2016121054.tif 000035
【国際調査報告】
2016121054.tif 000036
2016121054.tif 000037