説明

推論装置、推論方法、及び推論プログラム

【課題】 連続的な確率変数を離散化してステートとしたノードがある場合に、そのノードを推論ノードとして推論を行なうときに、具体的な推論値を得ることができる推論装置を提供する。
【解決手段】 推論装置100は、観測値が得られた観測ノードから、ベイジアンネットワークの確率モデルを用いて、連続的な値が観測される事象を離散的なステートをとる確率変数で表現した未観測ノードの推論を行なう装置であって、観測ノードの観測値を入力する入力部40と、入力部40に入力された観測ノードの観測値に基づいて未観測ノードの事後確率の分布を求める事後確率計算部31と、事後確率の分布に基づいて、未観測ノードの推論値を求める復元部32と、復元部32にて求めた推論値を出力する出力部50とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ベイジアンネットワークの確率モデルを用いて推論を行なう推論装置に関するものである。
【背景技術】
【0002】
従来、複数の要因の依存関係に基づいて確率計算を行う情報処理モデルとしてベイジアンネットが知られている。ベイジアンネットとは、確率変数、確率変数間の条件付依存関係、及びその条件付確率の3つによって定義されるネットワーク状の確率モデルである。
【0003】
確率変数はノード、確率変数間の条件付依存関係はノード間に張った有向リンクで表され、リンクの先に来るノードを子ノード、リンクの元にあるノードを親ノードと呼ぶ。条件付確率は、親ノードがある値をとった時に、子ノードがある値をとる確率であり、離散変数の場合にはP(子ノード=y|親ノード=x1,x2,...)=pのような、子ノードと親ノードがとる全ての状態のそれぞれにおける確率値を列挙した表(条件付き確率表)の形で表現される(非特許文献1)。
【0004】
図2は、親ノードである「曜日」及び「時刻」からそれぞれ子ノードである「番組総時間」に有向リンクが張られたベイジアンモデルを示す図であり、図3は、このベイジアンモデルの条件付確率表を示す図である。図3に示すように、条件付確率表では、「時刻」が2時間ごとに離散化されており、各曜日及び時刻について、30分間ごとに離散化された「番組総時間」の確率値が列挙されている。
【0005】
ベイジアンネットワークの確率モデルを用いて推論を行なう従来の推論装置では、観測ノードの観測値が得られると、推論ノードについて事後確率表を作成して、推論ノードのステートのうち、事後確率が最大であるステートを推定して出力し、又は作成した推論ノードの事後確率表を出力する。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】本村陽一「ベイジアンネットソフトウェア」、人工知能学会論文誌、第17巻 5号a(2002年)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、推論ノードが本来は連続的な値が観測される確率変数である場合も、ベイジアンネットワークで扱うためには、それを離散的なステートをとる確率変数にする必要がある。例えば、観測ノード「曜日」及び「時間」に対する推論ノードが「番組総時間」である場合には、「番組総時間」は、例えば30分ごとに離散化される。
【0008】
従って、推論によって事後確率が最大であるステートが推定されたとしても、そのステートには30分の幅があり、具体的な時間を予想できない。また、作成した推論ノードの事後確率表そのまま推論結果として出力しても、同様に30分単位でしか可能性を予測できない。
【0009】
本発明は、上記の問題に鑑みてなされたものであり、連続的な確率変数を離散化してステートとしたノードがある場合に、そのノードを推論ノードとして推論を行なうときに、具体的な推論値を得ることができる推論装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の推論装置は、観測値が得られた観測ノードから、ベイジアンネットワークの確率モデルを用いて、連続的な値が観測される事象を離散的なステートをとる確率変数で表現した未観測ノードの推論を行なう推論装置であって、前記観測ノードの観測値を入力する入力部と、前記入力部に入力された前記観測ノードの観測値に基づいて、未観測ノードの推論値を求める推論部と、前記推論部が求めた推論値を出力する出力部とを備えた構成を有している。
【0011】
この構成によれば、連続的な確率変数を離散化してステートとしたノードを未観測ノードとして推論を行なうときに、その未観測ノードについて、具体的な推論値を得ることができる。
【0012】
また、本発明の推論装置において、前記推論部は、前記観測ノードの観測値に基づいて前記未観測ノードの事後確率の分布を求める事後確率計算部と、前記事後確率の分布に基づいて、前記未観測ノードの前記推論値を求める復元部とを備えていてよい。
【0013】
この構成によれば、観測ノードの観測値に基づいて求められた未観測ノードの事後確率分布に基づいて、その未観測ノードの推論値を得ることができる。
【0014】
また、本発明の推論装置において、前記復元部は、前記事後確率の分布のパラメータを前記推論値として求めてよい。
【0015】
また、本発明の推論装置において、前記事後確率の分布のパラメータは、事後確率の平均値であってよい。
【0016】
また、本発明の推論装置において、前記復元部は、前記未観測ノードの各ステートの代表値と前記事後確率との積の全ステートについての総和を前記推論値として求めてよい。
【0017】
また、本発明の推論装置において、前記未観測ノードの各ステートの代表値は、前記未観測ノードの各ステートの中央値であってよい。
【0018】
また、本発明の推論装置において、前記観測ノードは、連続的な値が観測される事象を離散的なステートをとる確率変数で表現したノードであってよく、前記事後確率計算部は、前記観測ノードの観測値をパラメータとする分布を前記観測ノードの事後確率分布として、前記観測ノードの事後確率分布に基づいて前記未観測ノードの事後確率分布を求めてよい。
【0019】
また、本発明の推論装置において、前記前記観測ノードの事後確率分布は、前記観測値を平均値とする分布であってよい。
【0020】
また、本発明の推論装置において、前記観測ノードの事後確率分布の散らばりに関するパラメータは、予め定められた値であってよい。
【0021】
また、本発明の推論装置において、前記観測ノードの事後確率分布の散らばりに関するパラメータは、複数の前記観測値の統計計算により求められてよい。
【0022】
また、本発明の推論装置において、前記観測ノードの事後確率分布の散らばりに関するパラメータは、予め定められた値に対して、複数の前記観測値の統計計算により求められる推定値を、前記観測値の数が増加するに従って重みを増すように重み付けして更新した値であってよい。
【0023】
また、本発明の推論装置において、前記観測ノードの事後確率分布は正規分布であり、前記観測ノードの事後確率分布の散らばりに関するパラメータは、前記正規分布の分散であってよい。
【0024】
本発明の別の態様は、観測値が得られた観測ノードから、ベイジアンネットワークの確率モデルを用いて、連続的な値が観測される事象を離散的なステートをとる確率変数で表現した未観測ノードの推論を行なう推論方法であって、前記観測ノードの観測値を入力する入力ステップと、前記入力ステップで入力された前記観測ノードの観測値に基づいて前記未観測ノードの事後確率の分布を求める事後確率計算ステップと、前記事後確率の分布に基づいて、前記未観測ノードの前記推論値を求める復元ステップと、前記復元ステップにて求めた推論値を出力する出力ステップとを含む構成を有している。
【0025】
この構成によっても、連続的な確率変数を離散化してステートとしたノードを未観測ノードとして推論を行なうときに、その未観測ノードについて、具体的な推論値を得ることができる。
【0026】
本発明のさらに別の態様は、コンピュータに、上記の推論方法を実行させるための推論プログラムである。
【発明の効果】
【0027】
本発明によれば、連続的な確率変数を離散化してステートとしたノードを未観測ノードとして推論を行なうときに、その未観測ノードについて、具体的な推論値を得ることができる。
【図面の簡単な説明】
【0028】
【図1】本発明の実施の形態における推論装置の構成を示すブロック図
【図2】本発明の実施の形態におけるベイジアンネットワークのグラフ構造を示す図
【図3】本発明の実施の形態における条件付確率表を示す図
【図4】本発明の実施の形態における条件付観測回数表を示す図
【図5】本発明の実施の形態における条件付確率の学習例を示す図
【図6】本発明の実施の形態における更新された条件付確率表を示す図
【図7】本発明の実施の形態における事後確率分布の計算の例を示す図
【図8】本発明の実施の形態における事後確率分布の計算の変形例を示す図
【図9】本発明の実施の形態における推論値を求める他の例を示す図
【図10】本発明の実施の形態におけるベイジアンネットワークのグラフ構造の他の例を示す図
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態の推論装置について、図面を参照しながら説明する。図1は、本発明の実施の形態の推論装置の構成を示すブロック図である。図1に示すように本実施の形態の推論装置100は、学習部10、モデル記憶部20、推論部30、入力部40、及び出力部50を備えている。なお、学習部10及び推論部30は、コンピュータがプログラムを実行することによって実現されてよい。
【0030】
モデル記憶部20は、ベイジアンネットワークの確率モデルを記憶している。学習部10は、学習によってモデル記憶部20に記憶された確率モデルを更新する。推論部20は、あるノードについて観測値が得られたときに(以下、観測値が得られたノードを「観測ノード」という。)、推論すべき未観測のノード(以下、「推論ノード」という。)の推論値を求める。入力部40は、学習の際には親ノードとその子ノードの観測値を外部から入力し、推論の際には任意の観測ノードの観測値を外部から入力する。出力部50は、推論部30にて推論した結果を出力する。
【0031】
モデル記憶部20は、ベイジアンネットワークの確率モデルを記憶している。この確率モデルは、「曜日」と「時間」に基づいて、「番組総時間」、即ちユーザに提供する映像コンテンツや音楽コンテンツの提供時間を推論するモデルである。推論装置100によって推論された番組総時間の推論値は、コンテンツを提供するAVシステムに提供され、AVシステムは番組総時間の推論値に従って、コンテンツの提供時間がその推論値になるようにコンテンツを編集ないしは構成して出力する。
【0032】
モデル記憶部20は、具体的は、確率変数間の条件付依存関係21(即ち、ベイジアンネットワークのグラフ構造)と、条件付確率表22と、条件付確率表22を作成するための条件付観測回数表23を記憶している。
【0033】
図2は、条件付依存関係21の例を示す図である。本実施の形態では、モデル記憶部20には、条件付依存関係21として、親ノードである「曜日」及び「時刻」から子ノードである「番組総時間」に有向リンクが張られたグラフ構造が記憶されている。
【0034】
ここで、「時刻」及び「番組総時間」は、本来は連続的な値である。このような連続的な値が観測される事象は、ベイジアンネットワークの条件付確率表を作成する際に、所定の間隔で離散化されて、離散的なステートをとる確率変数で表現される。
【0035】
図3は、条件付確率表22の例を示す図である。上述のように「時刻」及び「番組総時間」は連続的な値であるので、離散化されている。具体的には、「時刻」については2時間ごとに離散化され、「番組総時間」については30分ごとに離散化される。各セルには、該当するステートの条件付確率が規定されている。このような条件付確率表22は、条件付観測回数表23に基づいて作成され、更新される。
【0036】
図4は、条件付観測回数表23を示す図である。条件付観測回数表23の構成は、条件付確率表22の構成に対応している。各セルには、該当するステートの観測回数値が規定されている。条件付観測回数表23において、子ノードの各ステートの観測回数値の、そのステートの合計観測回数値に対する百分率を計算することで、条件付確率表22の各セルの条件付確率が計算されて、条件付確率表22が作成される。
【0037】
入力部40は、ある事象が観測された場合に、学習による条件付確率表の更新のために、その事象の観測値として、確率変数の値を入力する。具体的には、入力部40には、親ノードの観測値として曜日及び時刻、子ノードの観測値としてその曜日及び時刻における番組総時間が入力される。
【0038】
学習部10は、配分割合決定部11、条件付観測回数表更新部12、及び条件付確率表更新部13を備えている。学習部10は、ある事象が観測された場合に、入力部40から観測値を取得する。配分割合決定部11は、条件付確率表22においてその事象に該当するセル及びその周辺のセルへの学習の配分割合を決定する。条件付観測回数表更新部12は、条件付観測回数表23を更新する。条件付確率表更新部13は、条件付確率表22を更新する。
【0039】
図5は、条件付確率22の学習例を示す図である。この例では、1回の観測につき、条件付観測回数表23に観測回数加算値として100を加算する。この例では、日曜日の10時15分に、1時間50分という番組総時間が観測されている。従来の手法によって学習に基づいて条件付観測回数表23を更新する場合には、この事象が属するセルである日曜日の10時〜12時の列の1時間30分〜2時間の行のセルにのみ、観測回数加算値(即ち100)が加算される。
【0040】
本実施の形態では、事象が観測されて、学習部10が入力部40から観測値を取得すると、配分割合決定部11は、条件付観測回数表23に対して、観測値を平均値μとして、標準偏差σの正規分布を設定し、その分布の累積密度関数を利用して、各ステートに配分する割合を求める。
【0041】
具体的には、配分割合決定部11は、「時刻」については、図5に示すように、観測値10時15分を平均値μ1として、標準偏差σ1の正規分布を設定する。そうすると、この分布の累積密度関数は、例えば、6時〜8時は4%、8時〜10時は38%、10時〜12時は45%、12時〜14時は13%となる。配分割合決定部11は、この累積密度関数を、10時15分という観測値が所属するステート(10時〜12時)及び他の近隣のステートを含む各ステートへの配分割合とする。
【0042】
なお、分布の散らばりに関するパラメータ(分散等)は、予め定められた任意の値であってもよいし、実際の観測値の分布に基づいて統計計算により求めた(推定された)値であってもよい。さらに、最初は予め定められた値を採用するとともに、観測値から推定される分布の散らばりを、実際の観測値の数が増加するに従って重みを増すように重み付けして最初は予め定められた値を更新していってもよい。また、分布は正規分布以外の他の分布であってもよい。例えば、分布が一次関数であってもよい。
【0043】
配分割合決定部11は、番組総時間についても同様に、図5に示すように、観測値である1時間50分を平均値μ2として、標準偏差σ2の正規分布を設定する。そうすると、この分布の累積密度関数は、例えば、1時間〜1時間30分は16%、1時間30分〜2時間は47%、2時間〜2時間30分は35%、2時間30分〜3時間は2%となる。配分割合決定部11は、この累積密度関数を、番組総時間1時間50分という観測値が所属するステート(1時間30分〜2時間)及び他の近隣ステートを含むステートへの配分割合とする。
【0044】
なお、分布の散らばりに関するパラメータ(分散等)は、予め定められた任意の値であってもよいし、実際の観測値の分布に基づいて統計計算により求めた(推定された)値であってもよい。さらに、最初は予め定められた値を採用するとともに、観測値から推定される分布の散らばりを、実際の観測値の数が増加するに従って重みを増すように重み付けして最初は予め定められた値を更新していってもよい。また、分布は正規分布以外の他の分布であってもよい。例えば、分布が一次関数であってもよい。
【0045】
条件付観測回数表更新部12は、配分割合決定部11が決定した配分割合に基づいて、観測値が属するセルとその周辺のセルに、観測回数加算値を配分する。上述のように、条件付観測回数表更新部12は、条件付観測回数表23に対して、1回の観測につき観測回数加算値100を加算するが、日曜日の10時15分に観測された1時間50分という番組総時間については、上記のようにして配分割合が決定された結果、図5に示す太枠で囲まれた複数のセルに、観測回数加算値100が配分される。
【0046】
具体的には、上記のように、4時〜6時の配分割合が4%であり、1時間〜1時間30分の配分割合が16%である場合には、太枠領域の左上のセル(4時〜6時/1時間〜1時間30分)の配分割合は、4%×16%=0.64%となる。従って、このセルには、100×0.64%=0.64が加算されることになる。太枠内の他のセルについても、同様にして回数加算値100を各セルの配分割合に応じて配分する。条件付観測回数表更新部12は、このようにして、条件付観測回数表23を更新する。なお、各セルへの加算値は一般的には少数になるが、これを所定の位で四捨五入して加算してもよい。例えば、小数点以下を四捨五入して整数として、加算してもよい。
【0047】
条件付確率表更新部13は、上記のようにして更新された条件付観測回数表23に基づいて、各セルの条件付確率を計算し、条件付確率表22を更新する。これにより、日曜日の10時15分に観測された1時間50分という番組総時間という1回の観測によって、複数のセルが更新される。図6は、更新された条件付確率表を示す図である。
【0048】
このように、本実施の形態の学習部10によれば、連続的な値が離散化されて条件付確率表が作成されている場合において、観測に基づく学習を行なうときに、学習効果を観測されたセルだけでなく所定の分布で周りのセルにも配分することで、連続的な値である観測値の情報を有効に活用して学習効果を得ることができる。また、1回の観測により複数の条件付確率表の複数のセルが更新されるので、観測に基づく学習の回数が少ない段階でも、より多くのセルに条件付確率を規定することができる。
【0049】
なお、上記の実施の形態では、条件付確率表22は、条件付観測回数表23に基づいて作成されており、条件付確率表22を更新する場合にも、条件付観測回数表23に所定の観測回数加算値を配分して更新した後に、この更新された条件付観測回数表23に基づいて条件付確率表22を作成しなおすことで条件付確率表22を更新したが、条件付確率表22を更新する方法はこれに限られない。
【0050】
条件付確率表22を更新するために配分割合決定部11が決定した配分割合に応じて観測値が得られた条件付確率表22のセルとその周辺のセルに所定の確率加算値(例えば3%)を配分してもよい。この場合には、子ノードの各ステートに対する親ノードの条件付確率の合計が100%を超えることになるので、確率加算値を配分した後に子ノードのステートごとに正規化を行なう。
【0051】
また、上記の実施の形態では、「時刻」及び「番組総時間」の2つの事象が、連続的な値が観測される事象であり、観測回数加算値又は確率加算値は、時刻の周辺ステートにも番組総時間の周辺ステートにも配分した(2次元状に配分した)が、条件付確率表において1つの確率変数のみが連続的な値が観測される事象の確率変数であってもよい。この場合には、当該連続的な値が観測される事象についてのみ、観測値を平均値とする分布を設定して、配分を行なってよい。
【0052】
例えば、上記の実施の形態において、「番組総時間」のノードの代わりに、「曜日」及び「時刻」を親ノードとする「シーン」(レジャー、買い物、通勤等)という子ノードがあった場合には、これらの事象のうち、「時刻」のみが連続的な値として観測される事象となる。この場合に、ある時刻におけるあるシーンの観測値が得られ、この観測に基づいて条件付確率表を更新するときは、時刻についてのみ、周辺のステートに対しても配分を行い、例えば、「シーン」について「レジャー」という観測値が得られたからといって、「買い物」にも加算値を配分することはしない。
【0053】
次に、推論部30について説明する。推論部30は、モデル記憶部20に記憶されたベイジアンネットワークの確率モデルを用いて推論を行なう。推論部30は、事後確率計算部31と復元部32とを備えている。入力部40は、ある観測ノードの観測値を入力する。事後確率計算部31は、入力部40に入力された観測ノードの観測値を受けて、この観測値について、ベイジアンネットワークの計算に従って、推論ノードの事後確率を算出する。
【0054】
事後確率計算部31は、ベイジアンネットワークにおける既知の手法で事後確率を計算する。具体的には、以下の通りである。いま、ノードXから先の親ノードに与えられる観測値(evidence)をE+Xとし、ノードXから先の子ノードに与えられる観測値(evidence)をE-Xとすると、次式(1)が成立する。
【数1】

【0055】
式(1)にベイズの定理を適用すると、次式(2)が得られる。
【数2】

Xが与えられると、E+X及びE-Xは条件付独立になるので、式(2)は次式(3)で表される。
【数3】

次式(4)を正規化定数とすると、式(1)は次式(5)で表される。
【数4】

【数5】

従って、P(E-X|X)と、P(X|E+X)の2項だけを計算すればよいことになる。
【0056】
ここで、親ノードUの値をuとすると、P(X|E+X)について次式(6)が成り立つ。
【数6】

uが与えられると、E+X及びXは条件付独立になり、独立変数の連言の確率が個々の確率の積に等しいことを利用して、式(6)は、次式(7)のように表される。
【数7】

【0057】
ここで、X以外でUに接続されているすべての観測値をEU\Xと表すことにすると、E+XをEU1\X,EU2\X,...EUm\Xに分解することにより、式(7)は、次式(8)で表される。
【数8】

式(8)において、P(X|u)は条件付確率表のデータに格納された条件付確率であり、P(X|EUi\X)はP(X|E+X)の再起的確率である。
【0058】
次に、P(E-X|X)については、Xの子ノードYのX以外の親ノードZも考慮する必要がある。即ち、P(E-X|X)は次式(9)のように表される。
【数9】

の値をyとし、Zの値をzとすると、式(9)は、次式(10)で表され
る。
【数10】

Yi\Xを2つの独立な要素E-YiとE+Yi\Xに分解すると、式(10)は
、次式(11)で表される。
【数11】

【0059】
が与えられると、E-YiはXとzに対して条件付独立になり、zが与えら
れると、E+Yi\XはXとyに対して条件付独立になり、さらに、zについての
和からzを持たない項を抜き出すことにより、式(11)は、次式(12)となる。

【数12】

P(E+Yi\X|z)にベイズの定理を適用すると、式(12)は、次式(13
)で表される。
【数13】

とzの連言を書き換えると、式(13)は、次式(14)となる。
【数14】

【0060】
条件付独立の関係P(z|X)=P(z)により、P(z)を消去でき、E+
Yi\Xは正規化定数βとおくと、式(14)は、次式(15)となる。
【数15】

の親ノードzijは互いに独立であり、独立変数の連言の確率が個々の確率の積
に等しいことを利用して、さらに、βをまとめて1つの正規化定数βとおくと、P(
-X|X)は、次式(16)にて表される。
【数16】

【0061】
式(16)において、P(y|X,z)は条件付確率表のデータに格納された条
件付確率であり、P(E-Yi|y)はP(E-X|X)の再起的確率であり、P(
ij|EZij\Yi)は式(8)におけるP(X|E+X)の再起的確率である。
即ち、観測したノードに観測値をセットした後、まず、式(8)により、条件付確率表の条件付確率と再起的確率計算により、子ノードの方向にP(X|E+X)を計算していく。次に、式(16)により、条件付確率表の条件付確率と式(8)のP(X|E+X)も利用して、再起的確率計算により、親ノードの方向にP(E-X|X)を計算していく。そして最後に、各ノードについて、P(X|E+X)とP(E-X|X)が求まったところで、式(5)により、各ノードにおける観測値の下での事後確率P(X|E)を算出する。
【0062】
図7は、本実施の形態の事後確率分布の計算の例を示す図である。図7の例では、「曜日」及び「時刻」という観測ノードについて、日曜日の10時15分という観測値が与えられている。事後確率計算部31は、上記で説明した計算手法によって、この観測値に対する「番組総時間」という推論ノードの事後確率分布を計算する。
【0063】
図7において、「曜日」及び「時刻」という観測ノードについての表は、観測ノードの事後確率表であり、観測ノードの事後確率の分布を示しており、本実施の形態では、図7に示すように、日曜日の10時15分という観測値が与えられた場合は、事後確率計算部31は、曜日のノードの事後確率表については、日曜日を100%として他の曜日は0%とし、時刻のノードの事後確率表については、10時〜12時を100%として他の時間帯は0%として、即ち、事後確率に分布がないものとして、この場合の番組総時間の事後確率分布を計算する。
【0064】
復元部32は、事後確率計算部31が算出した事後確率を用いて、推論ノードの値(推論値)を復元し、出力部50がこれを出力する。事後確率計算部31によって図7に示す事後確率分布が得られた場合に、従来の手法では、推論ノードの「1時間30分〜2時間」というステートが事後確率最大のステートであるとして推論されるだけであり、具体的な時間は復元されない。これに対して、本実施の形態の復元部32は、推論ノードの事後確率における各ステートについて、中央値×事後確率の計算を行い、それらの総和を復元値(推論値)とする。即ち、復元値=Σ(ステートの中央値×事後確率)とする。
【0065】
図7の例では、30分〜1時間の事後確率が8%、1時間〜1時間30分の事後確率が17%、1時間30分〜2時間の事後確率が29%、2時間〜2時間30分の事後確率が24%、2時間30分から3時間の事後確率が12%、3時間以上の事後確率が10%であるので、復元される時刻は、(45分×8%)+(1時間15分×17%)+(1時間45分×29%)+(2時間15分×24%)+(2時間45分×121%)+(3時間15分×10%)=約1時間57分となる。なお、3時間以上のステートの中央値は、3時間15分とした。
【0066】
以上のように、本実施の形態の推論部30によれば、推論ノードが連続値である場合に、最大事後確率のステートを求めるのではなく、具体的な値を推論するので、推論値として具体的な値が復元される。
【0067】
なお、上記の説明では、推論部30は、日曜日の10時15分という観測ノードの観測値が与えられたときに、曜日のノードの事後確率表については、日曜日を100%とし、他の曜日をすべて0%とし、また、時刻のノードの事後確率表については、10時〜12時を100%とし、他の時間帯を全て0%として、番組総時間の事後確率分布を計算したが、時刻は連続値であるので、時刻のノードについては、分布を持たせてもよい。
【0068】
図8は、本実施の形態の事後確率分布の計算の変形例を示す図である。図8に示すように、時刻のノードの事後確率表に、観測値である10時15分を平均値μ3として、標準偏差σ3の正規分布が設定されている。時刻のノードの事後確率表に設定されたこの分布の累積密度関数は、図8の例では、6時〜8時は4%、8時〜10時は38%、10時〜12時は45%、12時〜14時は13%となる。時刻の観測値をこのように分布させた上で番組総時間の事後確率分布を求めてもよい。
【0069】
なお、分布の散らばりに関するパラメータ(分散等)は、予め定められた任意の値であってもよいし、実際の観測値の分布に基づいて統計計算により求めた(推定された)値であってもよい。さらに、最初は予め定められた値を採用するとともに、観測値から推定される分布の散らばりを、実際の観測値の数が増加するに従って重みを増すように重み付けして最初は予め定められた値を更新していってもよい。また、分布は正規分布以外の他の分布であってもよい。例えば、分布が一次関数であってもよい。
【0070】
以上、本発明の実施の形態の推論装置100について説明したが、本発明の推論装置は、上記の実施の形態に限られない。例えば、上記の実施の形態では、簡単のために、「番組総時間」の親ノードとして、「曜日」及び「時刻」があり、そのうちの「時刻」について分布を学習させたが、例えば、図9に示すように、「番組総時間」の親ノードとしてさらに「月」があり、この「月」についても分布を学習させてよい。この場合には、2個の親ノードで分布を学習させるので、3次元の分布計算が行なわれて、条件付確率表や条件付観測回数表が更新される。
【0071】
また、上記の実施の形態では、復元部32は、推論ノードを復元(推論)する際に、推論ノードの事後確率における各ステートについて、中央値×事後確率の計算を行い、それらの総和を復元値(推論値)としたが、推論ノードの値を復元する(推論値を求める)方法は、これに限られない。
【0072】
即ち、上記の実施の形態では、推論ノードの各ステートについて、各ステートの代表値として中央値を採用し、中央値×事後確率の計算を行って、それらの総和を復元値としたが、復元値を計算するための各ステートの代表値は中央値に限られない。代表値は、例えば、各ステートの最大値又は最小値であってもよい。さらに、復元値(推論値)は、Σ(代表値×事後確率)に限られない。
【0073】
図10は、推論値を求める他の例を示す図である。復元部32は、事後確率計算部31にて番組総時間の事後確率が得られると、その分布を求める。復元部32は、この分布のパラメータに基づいて、推論値を求める。具体的には、復元部32は、この分布の平均値μ4を求めて、この平均値μ4を推論値とすることができる。このようにしても、番組総時間を復元することができる。
【0074】
なお、上記の実施の形態では、学習部10において、観測に基づく学習によって条件付確率表22を更新したが、本発明の推論装置は、学習部10を有しなくてもよく、また学習部10を有する場合にも、任意の方法で学習による条件付確率表22の更新を行なってよい。
【産業上の利用可能性】
【0075】
本発明は、連続的な確率変数を離散化してステートとしたノードを未観測ノードとして推論を行なうときに、その未観測ノードについて、具体的な推論値を得ることができる効果を有し、ベイジアンネットワークの確率モデルを用いて推論を行なう推論装置等として有用である。
【符号の説明】
【0076】
10 学習部
11 配分割合決定部
12 条件付観測回数表更新部
13 条件付確率表更新部
20 モデル記憶部
21 条件付依存関係
22 条件付確率表
23 条件付観測回数表
30 推論部
31 事後確率計算部
32 復元部
40 入力部
50 出力部
100 推論装置

【特許請求の範囲】
【請求項1】
観測値が得られた観測ノードから、ベイジアンネットワークの確率モデルを用いて、連続的な値が観測される事象を離散的なステートをとる確率変数で表現した未観測ノードの推論を行なう推論装置であって、
前記観測ノードの観測値を入力する入力部と、
前記入力部に入力された前記観測ノードの観測値に基づいて、未観測ノードの推論値を求める推論部と、
前記推論部が求めた推論値を出力する出力部と、
を備えたことを特徴とする推論装置。
【請求項2】
前記推論部は、
前記観測ノードの観測値に基づいて前記未観測ノードの事後確率の分布を求める事後確率計算部と、
前記事後確率の分布に基づいて、前記未観測ノードの前記推論値を求める復元部と、
を備えたことを特徴とする請求項1に記載の推論装置。
【請求項3】
前記復元部は、前記事後確率の分布のパラメータを前記推論値として求めることを特徴とする請求項2に記載の推論装置。
【請求項4】
前記事後確率の分布のパラメータは、事後確率の平均値であるとことを特徴とする請求項3に記載の推論装置。
【請求項5】
前記復元部は、前記未観測ノードの各ステートの代表値と前記事後確率との積の全ステートについての総和を前記推論値として求めることを特徴とする請求項2に記載の推論装置。
【請求項6】
前記未観測ノードの各ステートの代表値は、前記未観測ノードの各ステートの中央値であるとことを特徴とする請求項5に記載の推論装置。
【請求項7】
前記観測ノードは、連続的な値が観測される事象を離散的なステートをとる確率変数で表現したノードであり、
前記事後確率計算部は、前記観測ノードの観測値をパラメータとする分布を前記観測ノードの事後確率分布として、前記観測ノードの事後確率分布に基づいて前記未観測ノードの事後確率分布を求める
ことを特徴とする請求項2ないし6のいずれか一項に記載の推論装置。
【請求項8】
前記観測ノードの事後確率分布は、前記観測値を平均値とする分布であることを特徴とする請求項7に記載の推論装置。
【請求項9】
前記観測ノードの事後確率分布の散らばりに関するパラメータは、予め定められた値であることを特徴とする請求項7又は8に記載の推論装置。
【請求項10】
前記観測ノードの事後確率分布の散らばりに関するパラメータは、複数の前記観測値の統計計算により求められることを特徴とする請求項7又は8に記載の推論装置。
【請求項11】
前記観測ノードの事後確率分布の散らばりに関するパラメータは、予め定められた値に対して、複数の前記観測値の統計計算により求められる推定値を、前記観測値の数が増加するに従って重みを増すように重み付けして更新した値であることを特徴とする請求項7又は8に記載の推論装置。
【請求項12】
前記観測ノードの事後確率分布は正規分布であり、前記観測ノードの事後確率分布の散らばりに関するパラメータは、前記正規分布の分散であることを特徴とする請求項7又は8に記載の推論装置。
【請求項13】
観測値が得られた観測ノードから、ベイジアンネットワークの確率モデルを用いて、連続的な値が観測される事象を離散的なステートをとる確率変数で表現した未観測ノードの推論を行なう推論方法であって、
前記観測ノードの観測値を入力する入力ステップと、
前記入力ステップで入力された前記観測ノードの観測値に基づいて前記未観測ノードの事後確率の分布を求める事後確率計算ステップと、
前記事後確率の分布に基づいて、前記未観測ノードの前記推論値を求める復元ステップと、
前記復元ステップにて求めた推論値を出力する出力ステップと、
を備えたことを特徴とする推論方法。
【請求項14】
コンピュータに、請求項13に記載の推論方法を実行させるための推論プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−212275(P2012−212275A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−76959(P2011−76959)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(502324066)株式会社デンソーアイティーラボラトリ (332)