説明

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

【課題】 連続的な確率変数を離散化してステートとした条件付確率表について、連続値として得られる観測値の情報を有効に活かして、学習により更新させることができる学習装置を提供する。
【解決手段】 推論装置100の学習部10は、連続的な値が観測される事象を離散的なステートをとる確率変数で表現した連続値ノードを含むベイジアンネットワークの連続値ノードに係る条件付確率表を観測に基づく学習によって更新する学習装置であって、連続値ノードとその親ノード又は子ノードの観測値が得られたときに、連続値ノードについて、観測値を平均値とする分布に基づいて各ステートへの配分割合を決定する配分割合決定部11と、その配分割合に応じて、条件付確率表22の連続値ノードの複数のステートに対して条件付確率の更新を行う条件付確率表更新部12とを備えている。

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

【0065】
式(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項だけを計算すればよいことになる。
【0066】
ここで、親ノードUの値をuとすると、P(X|E+X)について次式(6)が成り立つ。
【数6】

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

【0067】
ここで、X以外でUに接続されているすべての観測値をEUXと表すことにすると、E+XをEU1X,EU2X,...EUmXに分解することにより、式(7)は、次式(8)で表される。
【数8】

式(8)において、P(X|u)は条件付確率表のデータに格納された条件付確率であり、P(X|EUi\X)はP(X|E+X)の再起的確率である。
【0068】
次に、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】

【0069】
が与えられると、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】

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

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

【0071】
式(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)を算出する。
【0072】
図7は、本実施の形態の事後確率分布の計算の例を示す図である。図7の例では、「曜日」及び「時刻」という観測ノードについて、日曜日の10時15分という観測値が与えられている。事後確率計算部31は、上記で説明した計算手法によって、この観測値に対する「番組総時間」という推論ノードの事後確率分布を計算する。
【0073】
図7において、「曜日」及び「時刻」という観測ノードについての表は、事前確率表であり、事前確率の分布を示しており、本実施の形態では、図7に示すように、日曜日の10時15分という観測値が与えられた場合は、事後確率計算部31は、曜日のノードの事前確率表については、日曜日を100%として他の曜日は0%とし、時刻のノードの事前確率表については、10時〜12時を100%として他の時間帯は0%として、即ち、事前確率に分布がないものとして、この場合の番組総時間の事後確率分布を計算する。
【0074】
復元部32は、事後確率計算部31が算出した事後確率を用いて、推論ノードの値(推論値)を復元し、出力部50がこれを出力する。事後確率計算部31によって図7に示す事後確率分布が得られた場合に、従来の手法では、推論ノードの「1時間30分〜2時間」というステートが事後確率最大のステートであるとして推論されるだけであり、具体的な時間は復元されない。これに対して、本実施の形態の復元部32は、推論ノードの事後確率における各ステートについて、中央値×事後確率の計算を行い、それらの総和を復元値(推論値)とする。即ち、復元値=Σ(ステートの中央値×事後確率)とする。
【0075】
図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分とした。
【0076】
以上のように、本実施の形態の推論部30によれば、推論ノードが連続値である場合に、最大事後確率のステートを求めるのではなく、具体的な値を推論するので、推論値として具体的な値が復元される。
【0077】
なお、上記の説明では、推論部30は、日曜日の10時15分という観測ノードの観測値が与えられたときに、曜日のノードの事前確率表については、日曜日を100%とし、他の曜日をすべて0%とし、また、時刻のノードの事前確率表については、10時〜12時を100%とし、他の時間帯を全て0%として、番組総時間の事後確率分布を計算したが、時刻は連続値であるので、時刻のノードについては、分布を持たせてもよい。
【0078】
図8は、本実施の形態の事後確率分布の計算の変形例を示す図である。図8に示すように、時刻のノードの事前確率表に、観測値である10時15分を平均値μ3として、標準偏差σ3の正規分布が設定されている。時刻のノードの事前確率表に設定されたこの分布の累積密度関数は、図8の例では、6時〜8時は4%、8時〜10時は38%、10時〜12時は45%、12時〜14時は13%となる。時刻の観測値をこのように分布させた上で番組総時間の事後確率分布を求めてもよい。
【0079】
なお、分布の散らばりに関するパラメータ(分散等)は、予め定められた任意の値であってもよいし、実際の観測値の分布に基づいて統計計算により求めた(推定された)値であってもよい。さらに、最初は予め定められた値を採用するとともに、観測値から推定される分布の散らばりを、実際の観測値の数が増加するに従って重みを増すように重み付けして最初は予め定められた値を更新していってもよい。また、分布は正規分布以外の他の分布であってもよい。例えば、分布が一次関数であってもよい。
【0080】
以上、本発明の実施の形態の推論装置100について説明したが、本発明の推論装置及びそれが備える学習装置は、上記の実施の形態に限られない。例えば、上記の実施の形態では、簡単のために、「番組総時間」の親ノードとして、「曜日」及び「時刻」があり、そのうちの「時刻」について分布を学習させたが、例えば、図9に示すように、「番組総時間」の親ノードとしてさらに「月」があり、この「月」についても分布を学習させてよい。この場合には、2個の親ノードで分布を学習させるので、3次元の分布計算が行なわれて、条件付確率表や条件付観測回数表が更新される。
【0081】
また、上記の実施の形態では、復元部32は、推論ノードを復元(推論)する際に、推論ノードの事後確率における各ステートについて、中央値×事後確率の計算を行い、それらの総和を復元値(推論値)としたが、推論ノードの値を復元する(推論値を求める)方法は、これに限られない。
【0082】
即ち、上記の実施の形態では、推論ノードの各ステートについて、各ステートの代表値として中央値を採用し、中央値×事後確率の計算を行って、それらの総和を復元値としたが、復元値を計算するための各ステートの代表値は中央値に限られない。代表値は、例えば、各ステートの最大値又は最小値であってもよい。さらに、復元値(推論値)は、Σ(代表値×事後確率)に限られない。
【0083】
図10は、推論値を求める他の例を示す図である。復元部32は、事後確率計算部31にて番組総時間の事後確率が得られると、その分布を求める。復元部32は、この分布のパラメータに基づいて、推論値を求める。具体的には、復元部32は、この分布の平均値μ4を求めて、この平均値μ4を推論値とすることができる。このようにしても、番組総時間を復元することができる。
【0084】
なお、上記の実施の形態では、推論部30において、復元部32が最大事後確率のステートを求めるのではなく、具体的な値を復元したが、本発明の条件付確率表学習装置を備える推論装置の構成はこれに限られない。推論部30は、既知の方法に従って事後確率最大のステートを推論するのみであってもよいし、単に推論ノードの事後確率分布を求めるのみであってもよい。
【産業上の利用可能性】
【0085】
本発明は、連続値として得られる観測値の情報を有効に活かして、学習により条件付確率表を更新できるという効果を有し、ベイジアンネットワークの条件付確率表を観測に基づく学習によって更新する学習装置等として有用である。
【符号の説明】
【0086】
10 学習部
11 配分割合決定部
12 条件付観測回数表更新部
13 条件付確率表更新部
20 モデル記憶部
21 条件付依存関係
22 条件付確率表
23 条件付観測回数表
30 推論部
31 事後確率計算部
32 復元部
40 入力部
50 出力部
100 推論装置

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

【図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−212274(P2012−212274A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−76958(P2011−76958)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(502324066)株式会社デンソーアイティーラボラトリ (332)