特表-16121054IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

再表2016-121054計算機システム及びグラフィカルモデルの補正方法
<>
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000021
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000022
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000023
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000024
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000025
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000026
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000027
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000028
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000029
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000030
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000031
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000032
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000033
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000034
  • 再表WO2016121054-計算機システム及びグラフィカルモデルの補正方法 図000035
< >
(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO/0
(43)【国際公開日】2016年8月4日
【発行日】2017年12月21日
(54)【発明の名称】計算機システム及びグラフィカルモデルの補正方法
(51)【国際特許分類】
   G06N 7/00 20060101AFI20171124BHJP
【FI】
   G06N7/00 150
【審査請求】有
【予備審査請求】未請求
【全頁数】34
【出願番号】特願2016-571598(P2016-571598)
(21)【国際出願番号】PCT/0/0
(22)【国際出願日】2015年1月29日
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】ショウ ヨウ
(72)【発明者】
【氏名】三好 利昇
(72)【発明者】
【氏名】長谷川 泰隆
(72)【発明者】
【氏名】伴 秀行
(57)【要約】
演算装置及びメモリを有する計算機を備え、グラフィカルモデルを管理する計算機システムであって、グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、補充データを用いてグラフィカルモデルを補正する補正部と、を備え、補正部は、複数のノードの各々の確率テーブルの中から、補正が必要な確率値を選択し、選択された確率値の確率変数の状態値に基づいて、補充データから、選択された確率値の補正に用いる補正用レコードを選択し、補正用レコードを用いて前記選択された確率値を補正する。
【特許請求の範囲】
【請求項1】
プログラムを実行する演算装置、及び前記プログラムを格納するメモリを有する一つ以上の計算機を備え、グラフィカルモデルを管理する計算機システムであって、
前記グラフィカルモデルは、
確率変数に対応する複数の項目を含むレコードから構成される学習データを用いて生成され、
前記確率変数に対応するノード、前記ノード間の依存関係を示すエッジ、及び前記ノードに対応する前記確率変数の状態値の組み合わせから定まる確率値の分布を示す確率テーブルから構成され、
前記計算機システムは、
前記グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、
前記確率変数に対応する複数の項目を含むレコードから構成され、前記グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、
前記補充データを用いて、少なくとも一つ以上の前記確率テーブルに含まれる前記確率値を補正することによって、前記グラフィカルモデルを補正するグラフィカルモデル補正部と、
を備え、
前記グラフィカルモデル補正部は、
前記グラフィカルモデルを解析し、前記グラフィカルモデルの解析の結果に基づいて複数のノードの各々の前記確率テーブルの中から、前記補充データを用いた補正が必要な確率値を選択し、
前記選択された確率値の前記確率変数の状態値に基づいて、前記補充データから、前記選択された確率値の補正に用いる補正用レコードを選択し、
前記補正用レコードを用いて前記選択された確率値を補正し、前記補正された確率値を前記確率テーブルに格納することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記確率変数に対応する複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する推論部と、
前記確率テーブルの確率値、及び前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を対応付けた影響度管理情報を前記ノードの前記確率テーブル毎に管理する影響度記憶部と、
を備え、
前記推論部は、
前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を算出する影響度算出部と、
前記影響評価値の算出に用いられ、前記推論対象のノードと依存関係を有するノードの確率値の微小変化に対する前記推論対象のノードの確率値の変化量である確率値微分量を算出する確率値微分量算出部と、
を含み、
前記グラフィカルモデル補正部は、
処理対象のノードの前記確率テーブルを選択し、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を選択し、
前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択することを特徴とする計算機システム。
【請求項3】
請求項1に記載の計算機システムであって、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数を示すサンプル数を対応付けて格納し、
前記グラフィカルモデル補正部は、
処理対象のノードの前記確率テーブルを選択し、
前記選択された確率テーブルの前記サンプル数を参照して、前記選択された確率テーブルから、統計的な信頼性が低い確率値を選択し、
前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択することを特徴とする計算機システム。
【請求項4】
請求項1に記載の計算機システムであって、
前記確率変数に対応する複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する推論部と、
前記確率テーブルの確率値、及び前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を対応付けた影響度管理情報を前記ノードの前記確率テーブル毎に管理する影響度記憶部と、
を備え、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数を示すサンプル数を対応付けて格納し、
前記グラフィカルモデル補正部は、
処理対象のノードの前記確率テーブルを選択し、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を抽出し、
前記確率テーブルの前記抽出された確率値に対応する前記サンプル数を参照して、前記抽出された確率値の中から、統計的な信頼性が低い確率値を選択し、
前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択することを特徴とする計算機システム。
【請求項5】
一つ以上の計算機を備える計算機システムにおけるグラフィカルモデルの補正方法であって、
前記グラフィカルモデルは、
確率変数に対応する複数の項目を含むレコードから構成される学習データを用いて生成され、
前記確率変数に対応するノード、前記ノード間の依存関係を示すエッジ、及び前記ノードに対応する前記確率変数の状態値の組み合わせから定まる確率値の分布を示す確率テーブルから構成され、
前記一つ以上の計算機は、プログラムを実行する演算装置、及び前記プログラムを格納するメモリを有し、
前記計算機システムは、
前記グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、
前記確率変数に対応する複数の項目を含むレコードから構成され、前記グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、
を備え、
前記グラフィカルモデルの補正方法は、
前記演算装置が、前記グラフィカルモデルを解析し、前記グラフィカルモデルの解析の結果に基づいて複数のノードの各々の前記確率テーブルの中から、前記補充データを用いた補正が必要な確率値を選択する第1のステップと、
前記演算装置が、前記選択された確率値の前記確率変数の状態値に基づいて、前記補充データに含まれるレコードの中から前記選択された確率値の補正に用いる補正用レコードを選択する第2のステップと、
前記演算装置が、前記補正用レコードを用いて前記選択された確率値を補正し、前記補正された確率値を前記確率テーブルに格納する第3のステップと、ことを特徴とするグラフィカルモデルの補正方法。
【請求項6】
請求項5に記載のグラフィカルモデルの補正方法であって、
前記グラフィカルモデルの補正方法は、
前記演算装置が、前記確率変数となる複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する第4のステップと、
前記演算装置が、前記推論対象のノードと依存関係を有するノードの確率値の微小変化に対する前記推論対象のノードの確率値の変化量である確率値微分量を算出する第5のステップと、
前記演算装置が、前記確率値微分量を用いて、前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を算出する第6のステップと、
前記演算装置が、前記ノードの前記確率テーブル毎に、前記確率テーブルの確率値と、前記影響評価値とを対応付けた影響度管理情報を生成し、前記メモリに格納する第7のステップと、
を含み、
前記第1のステップは、
前記第4のステップから前記第7のステップの処理が終了した後に、処理対象のノードの前記確率テーブルを選択するステップと、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を選択するステップと、を含み、
前記第2のステップは、前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択するステップを含むことを特徴とするグラフィカルモデルの補正方法。
【請求項7】
請求項5に記載のグラフィカルモデルの補正方法であって、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数であるサンプル数を対応付けて格納し、
前記第1のステップは、前記選択された確率テーブルの前記サンプル数を参照して、前記選択された確率テーブルから、統計的な信頼性が低い確率値を選択するステップを含み、
前記第2のステップは、前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択するステップを含むことを特徴とするグラフィカルモデルの補正方法。
【請求項8】
請求項5に記載のグラフィカルモデルの補正方法であって、
前記確率テーブルは、前記確率値、前記確率値の前記確率変数の状態値の組み合わせ、及び前記確率値の前記確率変数の状態値の組み合わせに一致する前記学習データの前記レコードの数を示すサンプル数を対応付けて格納し、
前記グラフィカルモデルの補正方法は、
前記演算装置が、前記確率変数となる複数の項目を含むレコードから構成され、少なくとも一つの項目に値が格納されるエビデンスデータの入力を受け付け、推論対象のノードが所定の状態値になる確率値の分布である推論結果を算出する第8のステップと、
前記演算装置が、前記推論対象のノードと依存関係を有するノードの確率値の微小変化に対する前記推論対象のノードの確率値の変化量である確率値微分量を算出する第9のステップと、
前記演算装置が、前記確率値微分量を用いて、前記推論対象のノードと依存関係を有するノードの確率値が前記推論対象のノードの確率値に与える影響の大きさを示す影響評価値を算出する第10のステップと、
前記演算装置が、前記ノードの前記確率テーブル毎に、前記確率テーブルの確率値及び前記影響評価値を対応付けた影響度管理情報を生成し、前記メモリに格納する第11のステップと、
を含み、
前記第1のステップは、
前記第8のステップから前記第11のステップの処理が完了した後に、処理対象のノードの前記確率テーブルを選択するステップと、
前記処理対象のノードに対応する前記影響度管理情報の前記影響評価値を参照して、前記選択された確率テーブルから、前記推論結果の確率値に与える影響が大きい確率値を抽出するステップと、
前記確率テーブルの前記抽出された確率値に対応する前記サンプル数を参照して、前記抽出された確率値の中から、統計的な信頼性が低い確率値を選択するステップと、を含み、
前記第2のステップは、前記選択された確率値の前記確率変数の状態値の組み合わせと、前記補充データの前記レコードに含まれる前記複数の項目の値の組み合わせとを比較することによって、前記補正用レコードを選択するステップを含むことを特徴とするグラフィカルモデルの補正方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフィカルモデルの精度を向上させる技術に関する。
【背景技術】
【0002】
グラフィカルモデルは、事象を確率変数として扱い、当該事象をノードとして表現し、また事象間の依存関係をエッジとして表現したグラフとして記述するモデルであり、ベイジアンネットワーク及びマルコフモデルなどがある。グラフィカルモデルでは、ノード毎に当該ノードの状態値がある値になる条件付確率値の分布を示す条件付確率テーブルが与えられる。
【0003】
グラフィカルモデルは、予測、識別、事象間の因果関係分析、可視化などに広く用いられる。より具体的には、グラフィカルモデルは、物体追跡、ジェスチャ認識、画像の領域分割、異常検知などに用いられる。
【0004】
例えば、ある構造物の状態を検知する複数のセンサ(音、温度等)があり、センサの異常値の有無から構造物の故障を判定する異常検知を考える。この場合、センサの状態(センサが異常値を示しているか否か)、及び構造物の状態(構造物が故障しているか否か)の各々が事象となる。このとき、グラフィカルモデルを用いて事象間の確率的な関係を記述できる。グラフィカルモデルを用いれば、センサの状態から、確率的に構造物の故障の有無を予測できる。
【0005】
グラフィカルモデルは、専門家等に人手によって作成される場合もある。また、事象に関するデータが入手できる場合、データから自動的にモデルを構築する機械学習という方法もある。機械学習に用いるデータを学習データと呼ぶ。なお、学習データには、一つ以上の項目から構成される複数のレコードが含まれる。
【0006】
一般的に、機械学習によってグラフィカルモデルを構築する場合、学習データが多いほど、構築されたグラフィカルモデルの予測精度及び識別精度などの性能がよくなる。そのため、学習データの数が少ない場合、十分な性能を担保できないグラフィカルモデルとなる。
【0007】
このような場合、解こうとしている問題と関連したデータを機械学習に用いることによって、性能を担保する転移学習という技術が知られている。本明細書では、このような関連したデータを補充データと呼ぶ。なお、補充データには、一つ以上の項目から構成される複数のレコードが含まれる。
【0008】
例えば、ニュース記事を、スポーツ、政治などのカテゴリに分類する問題を考えた場合、ニュース記事の内容は刻々と変化するため、直近の記事を学習データとして用いた機械学習を行うべきである。しかし、直近の記事の数は少ない。そこで、過去の記事を補充データとして用いることによって、十分な性能が担保されたグラフィカルモデルを構築できる。
【0009】
本明細書では、グラフィカルモデルを用いた予測対象の確率変数を推論対象と呼び、条件付確率テーブルを用いて推論対象の確率値の分布(確率分布)を算出することを推論と呼び、推論対象の確率分布を推論結果と呼ぶ。また、本明細書では、推論対象の確率分布における各確率値の信頼区間を信頼区間と呼ぶ。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2014−225176号公報
【非特許文献】
【0011】
【非特許文献1】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
【発明の概要】
【発明が解決しようとする課題】
【0012】
前述のしたような補充データを用いた機械学習を行う場合、補充データは、必ずしも学習データとして適切なデータとは限らない。そのため、補充データのデータ値が学習データのデータ値と大きく相違する場合、補充データが与える影響が大きくなり、補充データに引きずられたグラフィカルモデルが構築される可能性がある。したがって、補充データを用いることによって、逆にグラフィカルモデルの精度の悪化を招く。
【0013】
また、グラフィカルモデルの精度は、一部のノードの確率テーブルの確率値が影響する。確率値はノード間の接続関係、すなわち、エッジを示す。そのため、全てのエッジについて補充データを用いた機械学習を行う必要はない。本明細書では、補充データを用いた機械学習の対象となる確率値のことを補正箇所と呼ぶ。
【0014】
本発明は、グラフィカルモデルの精度の低下の要因となる補正箇所を、適切なデータを用いて補正することによって、グラフィカルモデルの精度を向上させるシステム及び方法を提供する。
【課題を解決するための手段】
【0015】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラムを実行する演算装置、及び前記プログラムを格納するメモリを有する一つ以上の計算機を備え、グラフィカルモデルを管理する計算機システムであって、前記グラフィカルモデルは、確率変数に対応する複数の項目を含むレコードから構成される学習データを用いて生成され、前記確率変数に対応するノード、前記ノード間の依存関係を示すエッジ、及び前記ノードに対応する前記確率変数の状態値の組み合わせから定まる確率値の分布を示す確率テーブルから構成され、前記計算機システムは、前記グラフィカルモデルの構造情報、及び前記グラフィカルモデルに含まれる複数のノードの各々の前記確率テーブルを管理するモデル情報記憶部と、前記確率変数に対応する複数の項目を含むレコードから構成され、前記グラフィカルモデルの補正に用いられる補充データを管理する補充データ記憶部と、前記補充データを用いて、少なくとも一つ以上の前記確率テーブルに含まれる前記確率値を補正することによって、前記グラフィカルモデルを補正するグラフィカルモデル補正部と、を備え、前記グラフィカルモデル補正部は、前記グラフィカルモデルを解析し、前記グラフィカルモデルの解析の結果に基づいて複数のノードの各々の前記確率テーブルの中から、前記補充データを用いた補正が必要な確率値を選択し、前記選択された確率値の前記確率変数の状態値に基づいて、前記補充データから、前記選択された確率値の補正に用いる補正用レコードを選択し、前記補正用レコードを用いて前記選択された確率値を補正し、前記補正された確率値を前記確率テーブルに格納することを特徴とする。
【発明の効果】
【0016】
本発明によれば、計算機システムが、グラフィカルモデルを構成する確率テーブルにおいて補正が必要な確率値を選択し、かつ、補充データの適切なレコードを用いて確率値を補正する。これによって、効率的かつグラフィカルモデルの精度を低下させることなく、グラフィカルモデルの精度を向上できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0017】
図1】実施例1の計算機のグラフィカルモデル補正部が実行する処理の一例を説明するフローチャートである。
図2】実施例1の計算機システムの構成の一例を示すブロック図である。
図3】実施例1のデータベースに格納される学習データの一例を示す説明図である。
図4】実施例1のグラフィカルモデルの一例を示す説明図である。
図5A】実施例1のグラフィカルモデルの構造情報の一例を示す説明図である。
図5B】実施例1のグラフィカルモデルの構造情報の一例を示す説明図である。
図6】実施例1の条件付確率テーブルの一例を示す説明図である。
図7】実施例1のエビデンスデータの一例を示す説明図である。
図8】実施例1の推論結果管理情報の一例を示す説明図である。
図9A】実施例1の影響度管理情報の一例を示す説明図である。
図9B】実施例1の影響度管理情報の一例を示す説明図である。
図10】実施例1の計算機のグラフィカルモデル構築部が実行する処理の一例を説明するフローチャートである。
図11】実施例1の計算機の推論部が実行する処理の一例を説明するフローチャートである。
図12】実施例2の実計算機システムの構成の一例を示すブロック図である。
図13】実施例2のグラフィカルモデル補正部が実行する処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0018】
本発明では、グラフィカルモデルの統計的な信頼性、及びあるノードがグラフィカルモデルを用いた予測へ与える影響の大きさの二つの基準に基づいて、グラフィカルモデルの補正箇所が選択される。
【0019】
(1)ノードの確率分布の統計的な信頼性
グラフィカルモデルの統計的な信頼性の基準は、学習データに含まれるレコードの数、すなわち、サンプル数を意味する。以下の説明では、レコードの数を単にサンプル数とも記載する。ここで、確率変数X及びYから構成されるグラフィカルモデルを例にグラフィカルモデルの統計的な信頼性について説明する。なお、確率変数X及びYはそれぞれ、「0」又は「1」のいずれかの状態値をとるものとする。
【0020】
前述のグラフィカルモデルは、同時確率分布P(X,Y)、又は、条件付確率分布P(X|Y)、P(Y|X)などの確率分布(確率テーブル)を持つ。確率分布は、学習データに含まれるレコードに基づいて算出される。例えば、P(X=0|Y=0)は、Yが「0」の場合に、Xが「0」となる確率値を表し、当該確率値は下式(1)により算出される。
【0021】
【数1】
【0022】
Yが「0」となるサンプル数が少ない場合、前述した確率値P(X=0|Y=0)の統計的な信頼性は低い。このように、グラフィカルモデルの統計的な信頼性は、条件付確率分布の条件付確率値、又は、同時確率分布の確率値を算出する場合に用いられる学習データのサンプル数に依存する。
【0023】
(2)グラフィカルモデルを用いた予測への影響度
グラフィカルモデルが統計的な信頼性が低い場合であっても、必ずしも当該グラフィカルモデルを用いた予測の精度に影響しないことがある。ここで、確率変数X、Y、Zから構成されるグラフィカルモデルを用いた予測への影響について説明する。なお、予測したい確率変数はZとする。また、XとZが独立であり、グラフィカルモデル上では各確率変数に対応するノードが接続されていないものとする。
【0024】
前述したようなグラフィカルモデルの場合、確率変数Zの確率分布には確率変数Xの確率分布を考慮する必要がないため、確率変数Xの確率分布の統計的な信頼性は、確率変数Zの確率分布の予測の信頼性には影響しない。
【0025】
このように、グラフィカルモデルにおいて、各々の確率変数と、予測対象となる確率変数とは複雑に関連しているため、単純にある確率変数の確率分布の統計的な信頼性の高低だけが予測の信頼性を決定するものではない。
【実施例1】
【0026】
実施例1では、計算機システムが、グラフィカルモデルを用いた予測への影響度に基づいてグラフィカルモデルの補正箇所を選択する。また、計算機システムは、補充データに含まれる複数のレコードの中から補正箇所の学習に用いられた学習データのレコードと類似するレコードを選択し、選択されたレコードを用いてグラフィカルモデル400を再構築する。
【0027】
非特許文献1に記載されているように、確率テーブルにおける確率値が推論対象に与える影響は、下式(2)に示すように与えられる。なお、式(2)は非特許文献1の式(8)に対応する。
【0028】
【数2】
【0029】
ここで、確率値微分量は、条件付確率値の微小変化に対する推論結果の確率値の変化量を表す。式(2)に示すように、影響評価値は確率値微分量の関数として与えられる。
【0030】
ここで、非特許文献1には、確率値微分量が下式(3)のように定義され、具体的には下式(4)を算出すればよいことが記載されている。なお、式(3)は非特許文献1の式(6)に対応し、式(4)は非特許文献1の式(14)に対応する。
【0031】
【数3】
【0032】
【数4】
【0033】
式(4)に示すような従来の変数消去法の中間結果を用いた計算機方法の場合、グラフィカルモデルの規模が大きくなると、厳密推論法である変数消去法における計算コストが大きくなり、実際に計算できないという問題がある。
【0034】
そこで、本実施例では別の算出方法を用いて確率値微分量を算出する。確率値微分量の具体的な算出方法については後述する。
【0035】
図2は、実施例1の計算機システムの構成の一例を示すブロック図である。
【0036】
計算機システムは、計算機200及びデータベース206から構成される。
【0037】
計算機200は、グラフィカルモデルを構築し、また、グラフィカルモデルを用いて推論結果及び推論結果における確率値の信頼区間等を算出する。本実施例の計算機200は、演算装置201、メモリ202、記憶媒体203、入力装置204、及び出力装置205を有し、内部バス等を介して互いに接続される。
【0038】
演算装置201は、メモリ202に格納されるプログラムを実行する演算装置であり、例えば、CPU及びGPU等がある。以下の、機能部を主語として処理及び機能を説明する場合、演算装置201によって当該機能部を実現するプログラムが実行されていることを示す。メモリ202は、演算装置201によって実行されるプログラム及び当該プログラムによって使用される情報を格納する。メモリ202は、揮発性のメモリ及び不揮発性のメモリのいずれであってもよい。
【0039】
記憶媒体203は、計算機200が有する各種機能を実現するプログラム等を格納する。本実施例では、演算装置201が、記憶媒体203からプログラムを読み出し、読み出されたプログラムをメモリ202上にロードし、さらに、ロードされたプログラムを実行する。本実施例の記憶媒体203に格納されるプログラム等については後述する。
【0040】
なお、記憶媒体203に格納されるプログラムは、CD−ROM及びフラッシュメモリ等のリムーバブルメディア又はネットワークを介して接続される配信サーバから取得する方法が考えられる。リムーバブルメディアからプログラムを取得する場合、計算機200は、リムーバブルメディアに接続されるインタフェースを備える。
【0041】
入力装置204は、計算機200に各種情報を入力するための装置であり、例えば、キーボード、マウス、及びタッチパネル等が含まれる。出力装置205は、計算機200が実行した処理結果を出力する装置であり、例えばディスプレイ等が含まれる。
【0042】
データベース206は、計算機200が管理する各種データを格納する。本実施例では、図示しないストレージシステムを用いてデータベース206が構築されるものとする。ストレージシステムは、コントローラ、外部インタフェース、及び複数の記憶媒体を備える。ストレージシステムは、複数の記憶媒体を用いてRAIDを構成することができる。また、ストレージシステムは、RAIDボリュームを用いて複数の論理的な記憶領域を提供することもできる。
【0043】
データベース206は、学習データ記憶部241、モデル情報記憶部242、エビデンスデータ記憶部243、推論結果記憶部244、影響度記憶部245、及び補充データ記憶部246を含む。
【0044】
学習データ記憶部241は、グラフィカルモデルの構築時に用いられる学習データ300を記憶する。学習データ300の詳細は図3を用いて説明する。モデル情報記憶部242は、グラフィカルモデルの構造を示す構造情報500、510、及び条件付確率テーブル600を記憶する。構造情報500、510の詳細については図5A及び図5Bを用いて説明し、また、条件付確率テーブル600の詳細については図6を用いて説明する。
【0045】
エビデンスデータ記憶部243は、エビデンスデータ700を記憶する。ここで、エビデンスデータ700は、健康検診等を行う患者等から取得される検査値及び画像データ等の健康に関する情報、並びに、医師による診断情報、処置及び処方薬等の診療に関する情報等を示す。エビデンスデータ700の詳細は図7を用いて説明する。推論結果記憶部244は、推論結果管理情報800を記憶する。推論結果管理情報800の詳細は図8を用いて説明する。影響度記憶部245は、影響度管理情報900を記憶する。影響度管理情報900の詳細は図9を用いて説明する。補充データ記憶部246は、グラフィカルモデルの補正箇所の再学習に用いられる補充データを記憶する。なお、補充データのデータ形式は学習データと同一のものである。
【0046】
ここで、記憶媒体203に格納されるプログラムについて説明する。
【0047】
記憶媒体203は、グラフィカルモデル構築部210、推論部220、及びグラフィカルモデル補正部230を実現するプログラムを格納する。
【0048】
グラフィカルモデル構築部210は、グラフィカルモデルを構築し、また、構築されたグラフィカルモデルに関する各種情報を生成する。グラフィカルモデル構築部210は複数のモジュールから構成される。本実施例のグラフィカルモデル構築部210は、モデル構造学習部211、サンプル数算出部212、及び確率テーブル算出部213を含む。
【0049】
モデル構造学習部211は、学習データ300を用いて、グラフィカルモデル(ベイジアンネットワーク)を構築する。また、モデル構造学習部211は、モデル情報記憶部242を介してデータベース206に構築されたグラフィカルモデルの構造情報500、510を格納する。ここで、モデル構造学習部211は、ベイジアンネットワークの既存の構造学習アルゴリズムを用いてグラフィカルモデルを構築するものとする。ベイジアンネットワークの既存の構造学習アルゴリズムとしては、例えば、Hill Climbing法等がある。
【0050】
サンプル数算出部212は、学習データ300に含まれるレコードの中から所定の条件に合致するレコードの数をサンプル数として算出する。サンプル数算出部212は、影響度記憶部245を介して、影響度管理情報900に算出されたサンプル数を格納する。
【0051】
確率テーブル算出部213は、構築されたグラフィカルモデルの各ノードの条件付確率テーブル600を算出する。確率テーブル算出部213は、モデル情報記憶部242を介して、条件付確率テーブル600を格納する。
【0052】
推論部220は、推論対象の入力を受け付け、入力された推論対象の条件付確率値の分布(推論結果)を算出する。また、本実施例の推論部220は、ある条件付確率値が推論結果の確率値に与える影響の大きさを影響評価値として算出し、算出された影響評価値に基づいて推論結果の確率値の信頼区間を算出する。推論部220は、複数のモジュールから構成される。本実施例の推論部220は、推論結果算出部221、確率値微分量算出部222、影響度算出部223、及び信頼区間算出部224を含む。
【0053】
推論結果算出部221は、変数消去法等の厳密推論手法、又は、Loopy Belief Propagation等の近似推論手法を用いて、推論対象の確率分布を算出する。
【0054】
確率値微分量算出部222は、影響評価値を算出するために必要となる確率値微分量を算出する。ここで、確率値微分量は、条件付確率値の微小な変化量に対する推論結果の確率値の変化量であり、式(3)のように表される。
【0055】
本実施例では、確率値微分量を下式(5)で与える。厳密推論を用いて式(5)に含まれる同時確率分布を算出する場合、非特許文献1に記載する確率値微分量の計算結果と一致する。なお、影響評価値及び確率値微分量の具体的な算出方法については後述する。
【0056】
【数5】
【0057】
ここで、式(5)の導出について説明する。以下の説明では、推論対象をTとし、条件付確率値の子ノードに対応する確率変数をAとし、親ノードに対応する確率変数をBとする。なお、iは1からmまでの整数であるものとする。また、Tの取り得る値の集合をR(T)とし、Aの取り得る値の集合をR(A)とし、Bの取り得る値の集合をR(B)とする。このとき、下式(6)が成り立つ。
【0058】
【数6】
【0059】
下式(7)、(8)に示すようなベイズの定理の式を用いると、式(6)は下式(9)のようになる。
【0060】
【数7】
【0061】
【数8】
【0062】
【数9】
【0063】
ここで、tをR(T)の任意の値、aをR(A)の任意の値、bi,jをR(B)の任意の値として下式(10)を計算する。
【0064】
【数10】
【0065】
このとき、右辺には下式(11)に示す項以外に下式(12)を含む項がないため、式(10)は式(13)に示すようになる。
【0066】
【数11】
【0067】
【数12】
【0068】
【数13】
【0069】
式(13)の右辺にベイズの定理を用いて変形すると下式(14)のようになる。したがって、式(13)は式(15)に示すような形に表せる。すなわち、式(4)に一致する。以上が、式(4)の導出方法の説明である。
【0070】
【数14】
【0071】
【数15】
【0072】
影響度算出部223は、確率値微分量を用いて影響評価値を算出する。信頼区間算出部224は、影響評価値及びサンプル数に基づいて、推論結果の確率値の信頼区間を算出する。
【0073】
グラフィカルモデル補正部230は、構築されたグラフィカルモデルの補正箇所を選択し、選択された補正箇所の補正に用いる補充データのレコードを選択する。以下、補充データから選択されたレコードを補正用レコードと呼ぶ。また、グラフィカルモデル補正部230は、補正用レコードを用いて確率値を補正する。グラフィカルモデル補正部230は複数のモジュールから構成される。本実施例のグラフィカルモデル補正部230は、補正箇所選択部231、補充データ選択部232及び確率値補正部233を含む。
【0074】
補正箇所選択部231は、影響評価値に基づいて、構築されたグラフィカルモデルの補正箇所を選択する。補充データ選択部232は、選択された補正箇所に適用する補正用レコードを補充データから選択する。確率値補正部233は、選択されたレコードを用いてグラフィカルモデルを再構築する。
【0075】
図3は、実施例1のデータベース206に格納される学習データ300の一例を示す説明図である。
【0076】
学習データ300は、識別情報、及び確率変数に対応する複数のカラムから構成されるレコードを含む。本実施例のレコードは、患者ID301、BMI値302、血圧値303、血糖値304、心臓病305、及び糖尿病306を含む。
【0077】
患者ID301は、患者の識別情報である。BMI値302、血圧値303、及び血糖値304は、患者のBMI値、血圧値、及び血糖値である。心臓病305及び糖尿病306は、患者が心臓病及び糖尿病に該当するか否かを示す情報である。患者ID301がレコードの識別情報であり、BMI値302、血圧値303、血糖値304、心臓病305、及び糖尿病306は、確率変数である。
【0078】
患者が心臓病又は糖尿病に該当する場合には、心臓病305又は糖尿病306には「Yes」が格納され、患者が心臓病又は糖尿病に該当しない場合には、心臓病305又は糖尿病306には「No」が格納される。
【0079】
図3の上から1行目のレコードは、患者ID301が「K0001」、BMI値が「32」、血圧値が「90」、及び血糖値が「5」であり、また、心臓病及び糖尿病のいずれにも該当しないことを示す。
【0080】
なお、BMI値302、血圧値303、血糖値304、心臓病305、及び糖尿病306には、必ずしも値が格納されていなくてもよい。この場合、当該カラムにはデータが欠損していることを示す情報が格納される。データの欠損を示す情報は、数値、文字、及びブール値のいずれであってもよい。
【0081】
次に、図3に示す学習データ300に対応するグラフィカルモデル及び構造情報500、510について説明する。
【0082】
図4は、実施例1のグラフィカルモデル400の一例を示す説明図である。
【0083】
グラフィカルモデル400は、複数のノード410、及びノード410間を接続するエッジ420から構成される。図4に示すグラフィカルモデル400の各ノード410は、学習データ300のBMI値302、血圧値303、血糖値304、心臓病305、及び糖尿病306に対応する。
【0084】
本実施例ではベイジアンネットワークを想定しているため、ノード410を接続するエッジ420には向きが存在する。また、エッジ420の始点に対応するノード410を親ノードと呼び、エッジ420の終点に対応するノード410を子ノードと呼ぶ。例えば、「糖尿病」のノード410は「血糖値」のノードの子ノードであり、「血糖値」のノードは「糖尿病」のノードに対する親ノードである。各ノード410には条件付確率テーブルが与えられる。ベイジアンネットワークでは、子ノードの確率分布は親ノードの確率値に依存する。
【0085】
図5A及び図5Bは、実施例1のグラフィカルモデル400の構造情報500、510の一例を示す説明図である。本実施例のグラフィカルモデル400の構造情報には、ノード410の情報及びエッジ420の情報が含まれる。
【0086】
図5Aは、グラフィカルモデル400におけるノード410に関する構造情報500を示す。構造情報500は、一つのノード410に対して一つのレコードを含み、レコードはノードID501及び項目名502を含む。
【0087】
ノードID501は、ノード410を一意に識別するための識別情報である。項目名502は、ノード410に対応する確率変数の識別情報である。項目名502は、学習データ300の項目名に対応する。
【0088】
図5Bは、グラフィカルモデル400におけるエッジ420に関する構造情報510を示す。構造情報510は、一つのエッジ420に対して一つのレコードを含み、レコードはエッジID511、親ノード512、及び子ノード513を含む。
【0089】
エッジID511は、エッジ420を一意に識別するための識別情報である。親ノード512は、親ノードに対応するノード410の識別情報である。子ノード513は、子ノードに対応するノード410の識別情報である。親ノード512及び子ノード513には項目名502と同一の情報が格納される。なお、親ノード512及び子ノード513にはノードID501と同一の情報が格納されてもよい。
【0090】
図6は、実施例1の条件付確率テーブル600の一例を示す説明図である。
【0091】
条件付確率テーブル600は、親ノードの状態値に対して子ノードが任意の状態値を取る条件付確率値を格納する。条件付確率テーブル600は、子ノードに対応するノード410に与えられるものである。
【0092】
条件付確率テーブル600は、親ノード601、子ノード602、条件付確率603、及びサンプル数604を含む。
【0093】
親ノード601は、親ノードの状態値である。親ノードが複数存在する場合、親ノード601には親ノードの数だけカラムが存在する。子ノード602は、子ノードの状態値である。条件付確率603は、親ノード601に設定された状態値に対して、子ノード602に設定された状態値を取る確率値である。サンプル数604は、学習データ300に含まれるレコードのうち、親ノード601の状態値と一致するレコードの数である。
【0094】
なお、サンプル数は、条件付確率テーブル600とは別のテーブルにて管理されてもよい。
【0095】
図6の一番上のレコードの場合、血圧値が「90」かつ血糖値が「5」である場合に、心臓病になる確率が「9%」であることを示す。また、図6の一番上のレコードの場合、親ノードである血圧値及び血糖値の状態値がそれぞれ「90」及び「5」であるレコードの数が「1563」であることを示す。条件付確率603は、学習データ300に含まれる親ノード601の状態値に一致するレコードの数と、親ノード601及び子ノード602の状態値に一致するレコードの数とから求めることができる。
【0096】
一般的に、サンプル数604の値が大きいほど条件付確率603が示す信頼性は高くなる。
【0097】
図7は、実施例1のエビデンスデータ700の一例を示す説明図である。
【0098】
実施例1のエビデンスデータ700は、学習データ300に含まれるレコードと同一の構成である。具体的には、エビデンスデータ700は、患者ID701、BMI値702、血圧値703、血糖値704、心臓病705、及び糖尿病706を含む。なお、患者から取得されていない項目の値には、データが欠損していることを示す記号が格納される。
【0099】
図8は、実施例1の推論結果管理情報800の一例を示す説明図である。
【0100】
推論結果管理情報800は、グラフィカルモデル400及びエビデンスデータ700を用いて算出された推論対象のノード410が任意の状態値となる条件付確率値を格納する。実施例1の推論結果管理情報800は、エビデンス801、推論対象802、条件付確率803、及び信頼区間804を含む。
【0101】
エビデンス801は、エビデンスデータ700のうち、推論対象802に関連するノード410と依存関係のあるノード410の状態値である。推論対象802は、推論対象であるノード410の状態値である。
【0102】
推論結果管理情報800には、エビデンスデータ700に含まれる一つのレコードに対して、推論対象のノード410が取り得る状態値の数だけレコードが生成される。本実施例では、「心臓病」に対応するノード410は「Yes」又は「No」のいずれかの状態値を取るため、推論結果管理情報800には、エビデンスデータ700の一つのレコードに対して、二つのレコードが格納される。例えば、エビデンスデータ700のレコードの数が「M」の場合、推論結果管理情報800のレコードの数は「2M」となる。
【0103】
条件付確率803は、推論対象の条件付確率値である。エビデンスデータ700の一つのレコードに対応する推論結果管理情報800の二つのレコードの条件付確率803の集合が、当該エビデンスデータ700の一つのレコードにおける推論結果となる。
【0104】
信頼区間804は、条件付確率値の信頼性を評価する信頼区間である。本実施例では、信頼区間804には、95%信頼区間の値を格納されるものとする。
【0105】
図8に示す一番上のレコードは、BMI値が「21」、血圧値が「90」、かつ血糖値が「5」である患者が心臓病となる確率は、95%の確率で5%から9%であることを示す。
【0106】
図9A及び図9Bは、実施例1の影響度管理情報900の一例を示す説明図である。なお、影響度管理情報900のレコード数が多いため、図9A及び図9Bの二つに分けて影響度管理情報900を示している。
【0107】
影響度管理情報900は、条件付確率603の推論結果への影響度を示す影響評価値を管理する。影響度管理情報900は、親ノード901、子ノード902、条件付確率903、サンプル数904、推論対象905、同時確率906、確率値微分量907、及び影響評価値908を含む。
【0108】
親ノード901、子ノード902、条件付確率903、及びサンプル数904は、親ノード601、子ノード602、条件付確率603、及びサンプル数604と同一のものである。
【0109】
なお、推論対象と依存関係を有するノード410の条件付確率テーブル600に対して一つの影響度管理情報900が存在する。図9は血糖値のノード410に対応する影響度管理情報900である。また、影響度管理情報900には、一つの条件付確率値に対して、推論対象が取り得る状態値の数だけレコードが生成される。「心臓病」に対応するノード410は「Yes」又は「No」の二つの状態値を取るため、影響度管理情報900には、条件付確率テーブル600の一つのレコードに対して、二つのレコードが格納される。例えば、条件付確率テーブル600のレコードの数が「N」の場合、影響度管理情報900のレコードの数は「2N」となる。
【0110】
推論対象905は、推論対象の状態値である。同時確率906は、当該レコードに対応する状態値の組み合わせにおける関連確率変数の同時確率値である。確率値微分量907は、条件付確率903の確率値微分量である。影響評価値908は、条件付確率903が推論結果の確率値に与える影響度である。
【0111】
例えば、図9の一番目のレコードは、BMI値が「20」及び血糖値が「5」である場合に心臓病となる条件付確率値「9%」が推論結果の確率値に与える影響の大きさ、すなわち、影響評価値が「0.2」であることを示す。
【0112】
影響評価値908に格納される値は、条件付確率603の微小変化に対する推論結果の確率値の変化量の関数の値として与えられる。影響評価値を算出するための関数は、推論部220に予め設定されているものとする。また、推論結果管理情報800の信頼区間804に格納される値は、後述するようにサンプル数及び影響評価値に基づいて算出される。
【0113】
次に、計算機200が実行する処理について説明する。まず、グラフィカルモデル400の構築処理について図10を用いて説明する。図10は、実施例1の計算機200のグラフィカルモデル構築部210が実行する処理の一例を説明するフローチャートである。
【0114】
計算機200は、グラフィカルモデル400の構築が指示された場合等に以下で説明する処理を開始する。
【0115】
計算機200は、学習データ300の入力を受け付ける(ステップS1001)。学習データ300は、例えば、入力装置204等を用いて入力する方法が考えられる。
【0116】
このとき、計算機200は、データベース206の学習データ記憶部241を介して入力された学習データ300をデータベース206に格納する。なお、様々なデータ形式の学習データ300が入力される場合、学習データ記憶部241は、入力されたデータを図3に示すような形式に変換した後、変換された学習データ300を格納してもよい。
【0117】
次に、計算機200は、学習データ300の離散化処理を実行する(ステップS1002)。具体的には、グラフィカルモデル構築部210のモデル構造学習部211が、学習データ300のレコードの項目のうち、当該項目に格納される状態値が連続値をとる項目について状態値を離散化する。例えば、血糖値の状態値として整数のみを扱うように離散化する。この場合、小数点以下の数は、四捨五入、切り捨て、切り上げ等が行われる。なお、離散化の粒度は任意に設定できる。
【0118】
次に、計算機200は、グラフィカルモデル400の構築に用いられる制限条件の設定処理を実行する(ステップS1003)。例えば、グラフィカルモデル構築部210のモデル構造学習部211が、入力装置204等を用いて入力された制限条件を受け付け、当該制約条件をメモリ202に格納する。
【0119】
ここで、制限条件としては、ノード410間の依存関係等が考えられる。例えば、「第1のノードと第2のノードとの間にはエッジなし」、「第3のノードと第4のノードとの間にはエッジあり」等の情報が制限情報として入力される。
【0120】
次に、計算機200は、学習データ300を用いたモデル構造の学習処理を実行する(ステップS1004)。具体的には、グラフィカルモデル構築部210のモデル構造学習部211が、学習データ300及び制約条件に基づいて、ノード410の構造情報500及びエッジ420の構造情報510を生成することによって、グラフィカルモデル400を構築する。なお、ベイジアンネットワークの構造学習アルゴリズムとしてHill Climbing法等が知られている。本実施例は、どのような学習アルゴリズムを用いてもよい。
【0121】
次に、計算機200は、データ照合処理を実行する(ステップS1005)。具体的には、グラフィカルモデル構築部210のサンプル数算出部212が、学習データ300に含まれるレコードの中から、あるノード410を子ノードとした場合における、子ノードの状態値、及び親ノードの状態値の組み合わせと一致するレコードを抽出する。
【0122】
次に、計算機200は、サンプル数算出処理を実行する(ステップS1006)。具体的には、グラフィカルモデル構築部210のサンプル数算出部212が、データ照合処理において抽出されたレコードの数をサンプル数として算出し、算出されたサンプル数を子ノードの状態値及び親ノードの状態値と対応付けて、メモリ202に一時的に格納する。
【0123】
次に、計算機200は、条件付確率テーブル600の算出処理を実行する(ステップS1007)。具体的には、以下のような処理が実行される。
【0124】
グラフィカルモデル構築部210の確率テーブル算出部213が、処理対象のノード410を選択し、構造情報500、510に基づいて、選択されたノード410に対する親ノードを特定し、条件付確率テーブル600に子ノード及び親ノードの状態値の組み合わせの数だけレコードを生成する。さらに、確率テーブル算出部213は、生成されたレコードのサンプル数604に、ステップS1006において算出されたサンプル数を格納する。
【0125】
また、確率テーブル算出部213は、学習データ300に含まれるレコードのうち、子ノード602の状態値が所定値になるレコードの割合を条件付確率値として算出する。さらに、確率テーブル算出部213は、算出された条件付確率値を条件付確率テーブル600の所定のレコードの条件付確率603に格納する。
【0126】
以上の処理によって、図5A及び図5Bに示すような構造情報500、510、並びに、図6に示すような条件付確率テーブル600が生成される。すなわち、図4に示すようなグラフィカルモデル400が構築される。
【0127】
次に、推論結果を算出するための処理について図11を用いて説明する。図11は、実施例1の計算機200の推論部220が実行する処理の一例を説明するフローチャートである。
【0128】
推論部220は、処理の開始を指示される場合、以下で説明する処理を開始する。このとき、推論部220には、エビデンスデータ700が入力される。なお、エビデンスデータ700を用いた推論結果の算出方法は公知のものであるため、説明を省略する。ここでは、推論結果算出部221が、変数消去法等の厳密推論手法、又は、Loopy Belief Propagation等の近似推論法を用いて、推論結果が算出されているものとする。
【0129】
推論部220は、推論対象を選択する(ステップS1101)。具体的には、推論部220の確率値微分量算出部222が、入力装置204を介してユーザ等からノード410の識別情報を受け付け、当該ノード410を推論対象として設定する。
【0130】
次に、推論部220は、処理対象となる条件付確率テーブル600を選択する(ステップS1102)。具体的には、以下のような処理が実行される。
【0131】
推論部220の確率値微分量算出部222は、構造情報500、510を参照して、推論対象を葉ノードとして、根ノードまでエッジ420に沿ってグラフィカルモデル400を辿ることによって、推論対象と依存関係のある複数のノード410を抽出する。確率値微分量算出部222は、抽出された複数のノード410の各々に対応する条件付確率テーブル600をデータベース206から読み出し、メモリ202に格納する。
【0132】
確率値微分量算出部222は、抽出された複数のノード410の中から処理対象のノード410を一つ選択する。例えば、推論対象を子ノードとした場合の親ノード、さらにその親ノードの順に選択する方法が考えられる。なお、本実施例は、処理対象のノード410の選択方法に依存しない。以下、選択されたノード410を選択ノード410とも記載する。
【0133】
確率値微分量算出部222は、メモリ202に格納された複数の条件付確率テーブル600の中から、選択ノード410に対応する条件付確率テーブル600を取得する。また、確率値微分量算出部222は、取得された条件付確率テーブル600に基づいて、図9A及び図9Bに示すような影響度管理情報900を生成する。具体的には、親ノード及び子ノードの状態値の組み合わせに対して、推論対象が取り得る状態値毎にレコードを生成する。推論対象が「心臓病」の場合、状態値は二つであるため、条件付確率テーブル600の一つのレコードに対して、二つのレコードが影響度管理情報900に生成される。
【0134】
確率値微分量算出部222は、生成されたレコードの親ノード901、子ノード902、条件付確率903、及びサンプル数904に、選択された条件付確率テーブル600の親ノード601、子ノード602、条件付確率603、サンプル数604の値を格納し、また、推論対象に推論対象が取り得る状態値を格納する。この時点では、同時確率906、確率値微分量907、及び影響評価値908には値が格納されない。以上がステップS1102の処理の説明である。
【0135】
次に、推論部220は、関連確率変数を抽出する(ステップS1103)。具体的には、推論部220の確率値微分量算出部222は、構造情報500、510を参照して、選択ノード410を葉ノードとして、根ノードまでエッジに沿ってグラフィカルモデル400を辿ることによって、選択ノード410と依存関係があるノード410の集合を家族ノード410として抽出する。さらに、推論部220は、推論対象、選択ノード410、及び抽出された家族ノード410を関連確率変数として抽出する。
【0136】
次に、推論部220は、関連確率変数の同時確率分布を算出する(ステップS1104)。具体的には、推論部220の確率値微分量算出部222が、推論対象、選択ノード410、及び抽出された家族ノード410の条件付確率テーブル600を用いた、Loopy Belief Propagation等の近似推論法に基づいて、関連確率変数の同時確率分布を算出する。このとき、確率値微分量算出部222は、算出された同時確率分布に基づいて、親ノード、子ノード、及び推論対象905の状態値の組み合わせが一致するレコードの同時確率906に同時確率値を格納する。
【0137】
次に、推論部220は、選択された条件付確率テーブル600及び算出された同時確率分布を用いて、確率値微分量を算出する(ステップS1105)。具体的には、以下のような処理が実行される。
【0138】
推論部220の確率値微分量算出部222は、選択された条件付確率テーブル600の親ノード601及び子ノード602の状態値を参照して、算出された同時確率分布における任意の状態値の組み合わせと一致するレコードを選択する。確率値微分量算出部222は、検索されたレコードの条件付確率903及び同時確率906の値を読み出す。
【0139】
確率値微分量算出部222は、条件付確率903及び同時確率906の値を式(5)に代入することによって確率値微分量を算出する。確率値微分量算出部222は、選択されたレコードの確率値微分量907に算出された確率値微分量を格納する。以上がステップS1105の処理の説明である。
【0140】
次に、推論部220は、確率値微分量を用いて、選択ノード410の条件付確率値が推論結果の確率値に与える影響度の大きさを影響評価値として算出する(ステップS1106)。
【0141】
一般的に影響評価値は確率値微分量の関数として与えられ、また、様々な条件に応じて任意の関数として設定できる。本実施例では、確率値微分量そのものが影響評価値となるように定義する。なお、重み付き関数を用いて複数の確率値微分量の関数を平均化し、当該関数を影響評価値として用いてもよい。
【0142】
ステップS1106では、推論部220の確率値微分量算出部222が、所定のレコードの確率値微分量907の値を予め設定された関数に代入することによって影響評価値を算出し、当該レコードの影響評価値908に算出された影響評価値を格納する。
【0143】
次に、推論部220は、読み出された全ての条件付確率テーブル600について処理が完了したか否かを判定する(ステップS1107)。
【0144】
読み出された全ての条件付確率テーブル600について処理が完了していないと判定された場合、推論部220は、ステップS1102に戻り同様の処理を実行する。
【0145】
読み出された全ての条件付確率テーブル600について処理が完了していると判定された場合、推論部220は、サンプル数904及び影響評価値908に基づいて、推論結果の確率値の信頼区間を算出する(ステップS1108)。例えば、下式(16)のような公知の方法を用いて信頼区間を算出できる。なお、式(16)の分散は、推論結果の確率値の分散を示し、また、分散の2乗は、下式(17)のように与えられる。
【0146】
【数16】
【0147】
【数17】
【0148】
ここで、ノードD、ノードDの親ノードであるノードC、ノードCの親ノードであるノードB、ノードBの親ノードであるノードAという直列的なベイジアンネットワークを例に図1の処理の具体的な流れについて説明する。このとき、ノードAの条件付確率テーブル600は条件付確率P(A)の分布、ノードBの条件付確率テーブル600は条件付確率P(B|A)の分布、ノードCの条件付確率テーブル600は条件付確率P(C|B)の分布、ノードDの条件付確率テーブル600は条件付確率P(D|C)の分布として与えられる。
【0149】
ステップS1101において、推論部220は、ノードDを推論対象として選択する。ステップS1102において、推論部220は、ノードA、ノードB、及びノードCを推論対象と依存関係のあるノード410として抽出する。また、推論部220は、ノードCを選択ノード410として選択する。
【0150】
ステップS1103において、推論部220は、ノードB及びノードCを家族ノード410として抽出し、また、ノードB、ノードC、及びノードDを関連確率変数として抽出する。ステップS1104において、推論部220は、同時確率P(B,C,D)の分布を算出する。
【0151】
ステップS1105において、推論部220は、ノードB、ノードC、及びノードDの状態値の組み合わせ毎に、同時確率P(B=b,C=c,D=d)を条件付確率P(C=c|B=b)で除算して、確率微分量を算出する。ステップS1106において、推論部220は、確率微分量を用いて影響評価値を算出する。これによって、ノードCの条件付確率値がノードDの確率値に与える影響の大きさを見積もることができる。
【0152】
ステップS1107において、推論部220は、全ての条件付確率テーブル600について処理が完了していないと判定する。そのため、推論部220は、ステップS1102に戻り、ノードBを選択ノード410として選択する。ステップS1103において、推論部220は、ノードA及びノードBを家族ノードとして抽出し、また、ノードA、ノードB、及びノードDを関連確率変数として抽出する。ステップS1104において、推論部220は、同時確率P(A,B,D)の分布を算出する。
【0153】
ステップS1105において、推論部220は、ノードA、ノードB、及びノードDの状態値の組み合わせ毎に、同時確率P(A=a’,B=b’,D=d’)を条件付確率P(B=b’|A=a’)で除算して、確率微分量を算出する。ステップS1106において、推論部220は、確率微分量を用いて影響評価値を算出する。これによって、ノードBの条件付確率値がノードDの確率値に与える影響の大きさを見積もることができる。
【0154】
ステップS1107において、推論部220は、全ての条件付確率テーブル600について処理が完了していないと判定する。そのため、推論部220は、ステップS1102に戻り、ノードAを選択ノード410として選択する。ステップS1103において、推論部220は、ノードAは根ノード410であるため親ノード410が存在しないため、ノードA及びノードDを関連確率変数として抽出する。ステップS1104において、推論部220は、同時確率P(A,D)の分布を算出する。
【0155】
ステップS1105において、推論部220は、ノードA及びノードDの状態値の組み合わせ毎に、同時確率P(A=a’’,D=d’’)を条件付確率P(A=a’’)で除算して、確率微分量を算出する。ステップS1106において、推論部220は、確率微分量を用いて影響評価値を算出する。これによって、ノードAの条件付確率値がノードDの確率値に与える影響の大きさを見積もることができる。
【0156】
ステップS1107において、推論部220は、全ての条件付確率テーブル600について処理が完了したと判定する。ステップS1108において、推論部220は、算出された影響評価値を用いて推論結果の確率値の影響度を算出する。以上が、図11の処理の具体的な流れの説明である。
【0157】
次に、グラフィカルモデルを補正するための処理について図1を用いて説明する。図1は、実施例1の計算機200のグラフィカルモデル補正部230が実行する処理の一例を説明するフローチャートである。
【0158】
グラフィカルモデル補正部230は、図11に示す処理が終了した後に、以下で説明する処理を開始する。
【0159】
まず、グラフィカルモデル補正部230は、推論結果の信頼度が目標値に達しているか否かを判定する(ステップS101)。例えば、グラフィカルモデル補正部230は、下式(18)を満たすか否かを判定する。式(18)を満たす場合、推論結果の信頼度が目標値に達していると判定される。なお、分散の自乗は式(17)を用いて求めることができる。
【0160】
【数18】
【0161】
推論結果の信頼度が目標値に達していると判定された場合、グラフィカルモデル補正部230は処理を終了する。
【0162】
推論結果の信頼度が目標値に達していないと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、処理対象のノード410の条件付確率テーブル600を選択する(ステップS102)。例えば、推論対象から根ノードまでの経路に含まれるノード410順に選択する方法が考えられる。このとき、補正箇所選択部231は、データベース206から、選択された条件付確率テーブル600に対応する影響度管理情報900を読み出す。
【0163】
グラフィカルモデル補正部230の補正箇所選択部231は、読み出された影響度管理情報900の影響評価値908に基づいて、選択された条件付確率テーブル600の確率値(レコード)の中から補正箇所となる確率値を選択する(ステップS103)。すなわち、補正箇所選択部231は、選択された条件付確率テーブル600の確率値の中から、推論結果の確率値に与える影響が大きい確率値を選択する。
【0164】
ここで、影響度管理情報900には、条件付確率テーブル600の一つの確率値(レコード)に対して二つのレコードが存在する。そのため、本実施例では、影響度管理情報900の二つのレコードの影響評価値908の合計値又は平均値を、条件付確率テーブル600の一つの確率値(レコード)の影響評価値として扱う。
【0165】
ここで、ステップS103では、例えば以下のような処理が実行される。一つの処理としては、補正箇所選択部231は、条件付確率テーブル600の確率値(レコード)の影響評価値が所定の閾値以上である確率値(レコード)を選択する。他の処理としては、補正箇所選択部231は、選択された条件付確率テーブル600の確率値(レコード)を確率値(レコード)の影響評価値が大きい順にソートし、条件付確率テーブル600の上から順に、所定数のレコードを選択する。
【0166】
次に、グラフィカルモデル補正部230の補正箇所選択部231は、選択された確率値の中から処理対象の確率値を選択する(ステップS104)。
【0167】
次に、グラフィカルモデル補正部230の補充データ選択部232は、補充データのレコードの中から、選択された確率値を補正するための補正用レコードを選択する(ステップS105)。具体的には、以下のような処理が実行される。
【0168】
補充データ選択部232は、選択された確率値の確率変数の状態値、及び補充データの各レコードの確率変数の状態値とを比較して、選択された確率値の確率変数の状態値に対する補充データのレコードの類似度を算出する。例えば、確率値及び補充データのレコードを、状態値をベクトルの成分とするベクトルとして扱い、二つのベクトルの距離を類似度として算出する方法が考えられる。なお、本実施例は、類似度の算出方法に限定されない。
【0169】
補充データ選択部232は、算出された類似度に基づいて補正用レコードを選択する。例えば、以下のような方法が考えられる。一つの方法は、補充データ選択部232が、算出された類似度が所定の閾値以上のレコードを選択する方法である。他の方法は、補充データ選択部232が、補充データのレコードを類似度の大きい順にソートし、補充データの上から順に、所定数の補正用レコードを選択する。以上がステップS105の処理の説明である。
【0170】
次に、グラフィカルモデル補正部230の補正箇所選択部231は、ステップS103において選択された全ての確率値について処理が完了したか否かを判定する(ステップS106)。
【0171】
ステップS103において選択された全ての確率値について処理が完了していないと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、ステップS104に戻り同様の処理を実行する。
【0172】
ステップS103において選択された全ての確率値について処理が完了したと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、グラフィカルモデル400の全ての条件付確率テーブル600について処理が完了したか否かを判定する(ステップS107)。
【0173】
グラフィカルモデル400の全ての条件付確率テーブル600について処理が完了していないと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、ステップS102に戻り同様の処理を実行する。
【0174】
グラフィカルモデル400の全ての条件付確率テーブル600について処理が完了したと判定された場合、グラフィカルモデル補正部230の確率値補正部233は、選択された補正用レコードを用いて、グラフィカルモデル400の補正箇所を補正する(ステップS108)。このとき、確率値補正部233は、選択された条件付確率テーブル600の条件付確率603に補正された確率値を上書きする。また、確率値補正部233は、サンプル数604の値に、確率値の補正に使用された補正用レコードの数を加算する。その後、グラフィカルモデル補正部230はステップS101に戻り同様の処理を実行する。
【0175】
例えば、グラフィカルモデル補正部230は、式(1)に示すような数式の分母に補正用レコードの数を加算し、分子に補正用レコードの数を加算することによって補正された確率値を算出する。例えば、式(1)の分子が「1000」、分母が「10000」である場合、補正前の確率値は「10%」である。補正用レコードの数が「500」の場合、分子が「1500」、分母が「10500」となるため、補正後の確率値は「14.3%」と算出される。
【0176】
また、他の方法としては、グラフィカルモデル補正部230は、補正用レコードを学習データ300に追加することによって、学習データ300を更新し、その後、グラフィカルモデル構築部210にグラフィカルモデル400の構築指示を送信する。この場合、グラフィカルモデル構築部210は、更新された学習データ300を用いて図10に示す処理を実行する。
【0177】
以上のように実施例1によれば、計算機200は、推論対象の確率値に与える影響の大きさを示す影響評価値に基づいて、グラフィカルモデルの補正箇所(確率値)を選択するため、グラフィカルモデル400を用いた予測に影響が大きい箇所(確率値)を効率的に補正することができる。また、計算機200は、補充データの中から補正箇所の補正するために適したレコードを選択するため、補充データの不要なレコードが起因するグラフィカルモデルの精度の低下を抑止することができる。
【実施例2】
【0178】
実施例2では、計算機システムが、ノード410の確率分布の統計的な信頼性に基づいてグラフィカルモデルの補正箇所を選択する。また、計算機システムは、補充データに含まれる複数のレコードの中から補正箇所の学習に用いられた学習データのレコードと類似するレコードを選択し、選択されたレコード(補正用レコード)を用いてグラフィカルモデル400を再構築する。以下、実施例1との差異を中心に実施例2について説明する。
【0179】
図12は、実施例2の実計算機システムの構成の一例を示すブロック図である。
【0180】
実施例2の計算機システムでは、計算機200の記憶媒体203に推論部220が存在しない点が実施例1の計算機システムと異なる。また、実施例2のデータベース206は、エビデンスデータ記憶部243、推論結果記憶部244、及び影響度記憶部245を含まない点が実施例1のデータベース206と異なる。したがって、実施例2のデータベース206には、エビデンスデータ700、推論結果管理情報800及び影響度管理情報900が含まれない。
【0181】
実施例2の計算機システムのその他の構成は、実施例1の計算機システムと同一である。
【0182】
実施例2のグラフィカルモデル構築部210が実行する処理は、実施例1と同一であるため説明を省略する。実施例2では、グラフィカルモデル補正部230が実行する処理が異なる。
【0183】
図13は、実施例2のグラフィカルモデル補正部230が実行する処理の一例を説明するフローチャートである。
【0184】
グラフィカルモデル補正部230は、グラフィカルモデル400の構築後、ユーザからグラフィカルモデル400の再構築指示を受信した場合、又は、周期的に、以下で説明する処理を開始する。
【0185】
グラフィカルモデル補正部230の補正箇所選択部231は、処理対象のノード410の条件付確率テーブル600を選択する(ステップS1301)。例えば、推論対象から根ノードまでの経路に含まれるノード410順に選択する方法が考えられる。
【0186】
グラフィカルモデル補正部230の補正箇所選択部231は、選択された条件付確率テーブル600の各レコードのサンプル数604に基づいて、当該条件付確率テーブル600の確率値(レコード)の中から補正箇所となる確率値を選択する(ステップS1302)。すなわち、補正箇所選択部231は、選択された条件付確率テーブル600の確率値の中から、統計的な信頼性が低い確率値を選択する。ステップS1302では、例えば以下のような処理が実行される。
【0187】
一つの処理としては、補正箇所選択部231は、サンプル数604が所定の閾値以下である確率値(レコード)を選択する。他の処理としては、補正箇所選択部231は、選択された条件付確率テーブル600のレコードをサンプル数604の小さい順にソートし、条件付確率テーブル600の上から順に、所定数のレコードを選択する。
【0188】
次に、グラフィカルモデル補正部230の補正箇所選択部231は、選択された確率値の中から処理対象の確率値を選択する(ステップS1303)。さらに、グラフィカルモデル補正部230の補充データ選択部232は、補充データのレコードの中から、選択された確率値を補正するための補正用レコードを選択する(ステップS1304)。ステップS1303及びステップS1304の処理は、ステップS104及びステップS105と同一の処理であるため説明を省略する。
【0189】
次に、グラフィカルモデル補正部230の補正箇所選択部231は、ステップS1302において選択された全ての確率値について処理が完了したか否かを判定する(ステップS1305)。
【0190】
ステップS1302において選択された全ての確率値について処理が完了していないと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、ステップS1303に戻り同様の処理を実行する。
【0191】
ステップS1302において選択された全ての確率値について処理が完了したと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、グラフィカルモデル400の全ての条件付確率テーブル600について処理が完了したか否かを判定する(ステップS1306)。
【0192】
グラフィカルモデル400の全ての条件付確率テーブル600について処理が完了していないと判定された場合、グラフィカルモデル補正部230の補正箇所選択部231は、ステップS1301に戻り同様の処理を実行する。
【0193】
グラフィカルモデル400の全ての条件付確率テーブル600について処理が完了したと判定された場合、グラフィカルモデル補正部230の確率値補正部233は、選択された補正用レコードを用いて、グラフィカルモデル400の補正箇所を補正する(ステップS1307)。ステップS1307の処理はステップS108と同一の処理であるため説明を省略する。
【0194】
グラフィカルモデル補正部230の確率値補正部233は、構築されたグラフィカルモデル400の信頼性評価値が所定の閾値以上であるか否かを判定する(ステップS1308)。グラフィカルモデル400の信頼性評価値としては、例えば、サンプル数が考えられる。この場合、確率値補正部233は、各条件付確率テーブル600の全てのレコードのサンプル数604が所定の閾値以上であるか否かを判定する。なお、前述した処理は一例であって、本実施例は判定処理の内容に限定されない。
【0195】
構築されたグラフィカルモデル400の信頼性評価値が所定の閾値より小さい場合、グラフィカルモデル補正部230は、ステップS1301に戻り同様の処理を実行する。
【0196】
構築されたグラフィカルモデル400の信頼性評価値が所定の閾値以上である場合、グラフィカルモデル補正部230は、処理を終了する。
【0197】
以上のように実施例2によれば、計算機200は、サンプル数に基づいて、グラフィカルモデルの補正箇所(確率値)を検索するため、ノード410の確率分布の統計的な信頼性が低い箇所(確率値)を効率的に補正することができる。また、計算機200は、補充データの中から補正箇所の補正に適したレコードを選択するため、補充データの不要なレコードが起因するグラフィカルモデルの精度の低下を抑止することができる。
【実施例3】
【0198】
実施例3では、計算機システムが、グラフィカルモデルを用いた予測への影響度、及び、ノード410の確率分布の統計的な信頼性に基づいて、グラフィカルモデルの補正箇所を選択する。以下、実施例1との差異を中心に実施例3について説明する。
【0199】
実施例3の計算機システムは、実施例1と同一であるため説明を省略する。また、実施例3のデータベース206に格納される情報も実施例1と同一であるため説明を省略する。また、実施例3のグラフィカルモデル構築部210及び実施例3の推論部220が実行する処理は、実施例1と同一であるため説明を省略する。実施例3のグラフィカルモデル補正部230が実行する処理の流れは実施例1と同一であるが、一部処理の内容が異なる。
【0200】
具体的には、ステップS103において、補正箇所選択部231は、選択された条件付確率テーブル600のサンプル数604、及び読み出された影響度管理情報900の影響評価値908に基づいて、選択された条件付確率テーブル600の確率値(レコード)の中から補正箇所となる確率値を選択する。例えば以下のような処理が実行される。
【0201】
補正箇所選択部231は、まず、サンプル数604に基づいて条件付確率テーブル600から所定数のレコードを抽出する。
【0202】
例えば、補正箇所選択部231は、サンプル数604が所定の閾値以下である確率値(レコード)を抽出する。また、他の処理としては、補正箇所選択部231は、選択された条件付確率テーブル600の確率値(レコード)をサンプル数604が小さい順にソートし、条件付確率テーブル600の上から順に、所定数の確率値(レコード)を抽出する。
【0203】
さらに、補正箇所選択部231は、抽出された確率値(レコード)の中から、確率値の影響評価値が所定の閾値以上である確率値(レコード)を抽出する。なお、確率値の影響評価値は実施例1と同一の物である。
【0204】
また、他の処理としては、補正箇所選択部231は、抽出された確率値(レコード)を確率値の影響評価値が大きい順にソートし、条件付確率テーブル600の上から順に、所定数の確率値(レコード)を抽出する。
【0205】
なお、補正箇所選択部231は、条件付確率テーブル600から、確率値の影響評価値が所定の閾値以上である確率値(レコード)を抽出し、さらに、抽出された確率値(レコード)の中からサンプル数604が所定の閾値以下である確率値(レコード)を抽出してもよい。
【0206】
なお、前述した処理は一例であって、サンプル数604及び影響評価値908を用いた処理であればどのような処理であってもよい。
【0207】
ステップS103以外の処理は実施例1と同一であるため説明を省略する。
【0208】
以上のように実施例3によれば、計算機200は、サンプル数及び影響評価値に基づいて、グラフィカルモデルの補正箇所(確率値)を検索するため、ノード410の確率分布の統計的な信頼性が低く、かつ、グラフィカルモデル400を用いた予測に影響が大きい箇所(確率値)を効率的に補正することができる。
【0209】
また、計算機200は、補充データの中から補正箇所の補正に適したレコードを選択するため、補充データの不要なレコードが起因するグラフィカルモデルの精度の低下を抑止することができる。
【実施例4】
【0210】
実施例4は、計算機システムが、グラフィカルモデル構築部210を有する計算機200、推論部220を有する計算機200、及びグラフィカルモデル補正部230を有する計算機200から構成される点が実施例1と異なる。以下、実施例1との差異を中心に実施例4について説明する。
【0211】
前述した三つの計算機200のハードウェア構成は実施例1の計算機200と同一であるため説明を省略する。
【0212】
実施例4の三つの計算機200にはそれぞれデータベース206が接続される。三つのデータベース206に格納される情報が異なる。
【0213】
具体的には、グラフィカルモデル構築部210を有する計算機200に接続されるデータベース206には、学習データ記憶部241及びモデル情報記憶部242が含まれる。推論部220を有する計算機200に接続されるデータベース206には、モデル情報記憶部242、エビデンスデータ記憶部243、推論結果記憶部244、及び影響度記憶部245が含まれる。グラフィカルモデル補正部230を有する計算機200に接続されるデータベース206には、モデル情報記憶部242、推論結果記憶部244、影響度記憶部245、及び補充データ記憶部246が含まれる。
【0214】
なお、実施例2の計算機200が有する機能を複数の計算機200に分散させる場合、計算機システムは、グラフィカルモデル構築部210を有する計算機200及びグラフィカルモデル補正部230を有する計算機200から構成される。このとき、グラフィカルモデル補正部230を有する計算機200に接続されるデータベース206には、モデル情報記憶部242及び補充データ記憶部246が含まれる。
【0215】
なお、各データベースに格納されるデータの具体的なデータ形式は、実施例1と同一であるため説明を省略する。また、実施例4のグラフィカルモデル構築部210、推論部220、及びグラフィカルモデル補正部230が実行する処理は実施例1と同一であるため説明を省略する。
【0216】
以上のように、実施例4によれば、推論部220を有する計算機200に接続されるデータベース206は、学習データ300及び補充データを格納する必要がない。そのため、ユーザが推論部220を有する計算機200を用いて、推論結果を取得するシステムを考えた場合、ユーザが、個人情報等を含む学習データ300及び補充データを取得する危険性がないため、情報保護の観点から有益である。また、各計算機200の処理負荷が低減し、また、各計算機200に接続されるデータベースに格納されるデータの容量を減らすことができる。
【0217】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0218】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0219】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
【0220】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0221】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9A
図9B
図10
図11
図12
図13
【国際調査報告】