【文献】
實廣 貴敏、他1名,変分ベイズ法を用いた逐次状態分割法,情報処理学会研究報告,日本,社団法人情報処理学会 Information Processing Socie,2003年12月19日,第2003巻,第124号,p.43-48,特に「3.4 事後分布」
【文献】
庄野 逸、他1名,局所変分法を用いたTotal Variationの近似とノイズ除去,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2003年12月19日,第111巻,第275号,p.217-222,特に「2.4 EM法によるハイパーパラメータ推定」
【文献】
藤本 健治、他2名,状態空間モデルの変分ベイズ推定,材料とプロセス CAMP-ISIJ 第156回秋季講演大会,社団法人日本鉄鋼協会,2008年 9月 1日,第21巻,第2号[CD-ROM],p.1118,1121
(58)【調査した分野】(Int.Cl.,DB名)
隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理部と、
前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理部と、
最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理部とを備え、
前記周辺化対数尤度関数が収束していないと判定された場合に、
前記隠れ変数変分確率計算処理部が、最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出し、
前記モデルパラメータ最適化処理部が、算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行い、
前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する
ことを特徴とするモデル推定装置。
【発明を実施するための形態】
【0012】
以下、制約付き隠れ変数モデルを推定するモデル推定装置について説明する。以下では、すべての観測変数と隠れ変数をそれぞれX, Zとして集合的に表す。観測サンプル数をNとした場合、観測変数をX=(x1, …, xN)とする。隠れ状態数をCとした場合、観測変数xnに対応する隠れ変数をzn=(zn1, …, znC)、またはZ=(z1, …, zC)とする。また、隠れ状態cに対応する観測変数の確率分布をp
c(X|θc)とする。θは、確率分布を決めるためのパラメータであり、確率変数の種類とパラメータθが決まるとその分布形状が決まる。また、隠れ変数の事前分布は式(1)のように表される。
【0014】
また、Xの周辺分布をp(X|Θ,Φ)、XとZの同時分布をp(X,Z|Θ,Φ)とする。ここで、Θ=(θ1, …, θC)であり、Φは隠れ変数の事前分布のパラメータである。なお、隠れ変数における変分確率をq(Z)とする。
【0015】
本明細書における第1の実施形態では、モデル推定装置が、一般的な制約付き隠れ変数モデルのEMアルゴリズムによる推定を行うことを想定した手順を載せているが、モデル推定装置が別の推定法である変分ベイズ法や因子化漸近ベイズ法を用いたとしても同様の機能を容易に実現することが可能である。また、第2の実施形態では、モデル推定装置が、具体的に深さ2の階層隠れ変数モデルの因子化漸近ベイズ法を用いた推定を行うことを想定した実施手順を載せている。なお、本明細書の説明では、ターゲット変数をXとした分布について説明しているが、観測分布が回帰や判別のように、条件付モデルp(Y|X)(Yはターゲットとなる確率変数)である場合に関しても適用可能である。
【0016】
実施形態1.
隠れ変数モデルのように隠れ変数に何らかの構造を仮定したモデルにおいては、隠れ変数に仮定された構造を考慮することは極めて重要だと考えられるが、非特許文献1〜非特許文献4に記載された技術では、隠れ変数の事後確率推定時にその構造を制約として考慮することは行われていない。そのため、その構造が表現できるものからは逸脱した事後確率が算出される可能性がある。その結果、隠れ変数の構造を推定することがうまくいかず、モデル全体の推定精度が悪化するという課題がある。本実施形態では、隠れ変数の事後確率推定時に、ある分布に近いという制約を考慮する。これにより、隠れ変数の構造が表現しやすい事後確率を算出することができ、結果としてモデル全体の推定精度を向上させることができる。
【0017】
図1は、本実施形態のモデル推定装置の構成例を示すブロック図である。
図1に示すように、本実施形態のモデル推定装置100は、データ入力装置101と、隠れ状態数設定部102と、初期化処理部103と、隠れ変数変分確率計算処理部104と、モデルパラメータ最適化処理部105と、最適性判定処理部106と、最適モデル選択処理部107と、モデル推定結果出力装置108とを備える。モデル推定装置100は、入力データ111を取得し、入力データ111における隠れ状態と、対応するモデルパラメータを最適化し、モデル推定結果112を出力する。
【0018】
図1に示す構成の各要素は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するCPU(Central Processing Unit)等の情報処理装置によって実現される。また、そのプログラムは、コンピュータが読み取り可能であって非一時的な情報記憶媒体に記憶される。
【0019】
入力装置101は、入力データ111を取得するための装置であり、この際にモデル推定に必要なパラメータを同時に取得する。入力データ111は、隠れ状態数の候補、観測確率の種類(正規分布またはポアソン分布等)、コンポーネント数の候補等である。
【0020】
隠れ状態数設定部102は、取得された隠れ状態数の候補値のうち、まだ最適化の行われていない隠れ状態数を選択し設定する。
【0021】
初期化処理部103は、推定のための初期化処理を実施する。なお、初期化は任意の方法によって実行可能である。例としては、モデルパラメータをランダムに設定することや、制約付き隠れ変数変分確率をランダムに設定することが挙げられる。
【0022】
隠れ変数変分確率計算処理部104は、取得したモデルパラメータを用いて制約付き隠れ変数変分確率を計算する。制約付き隠れ変数変分確率は、ある構造を制約とした隠れ変数の事後確率の近似値である。計算に用いられるモデルパラメータΘ、Φは、初期化処理部103が初期化した値、またはモデルパラメータ最適化処理部105が計算した値である。隠れ変数変分確率計算処理部104は、周辺化対数尤度関数の下界を、例えばジェンセンの不等式を用いて算出する。隠れ変数変分確率計算処理部104は、その下界を増加させ、ある与えられた分布に近づくような制約付き隠れ変数の変分確率q(Z)を算出する。
【0023】
制約付き隠れ変数の変分確率q(Z)は、このように、与えられた分布に近づくように算出されるため、構造が制約された確率となる。なお、以下の説明において、制約付き隠れ変数変分確率を単に変分確率、または隠れ変数変分確率と記載する場合がある。また、周辺化対数尤度関数を単に周辺化対数尤度と記載する場合がある。
【0024】
周辺化対数尤度関数の下界は、具体的には、式(2)のように表される。隠れ変数変分確率計算処理部104は、下界L(q,Θ,Φ)を増加させるq(Z)の存在範囲Q
(t)を算出する。tは、隠れ変数変分確率計算処理部104、モデルパラメータ最適化処理部105、最適性判定処理部106の繰り返し計算における、繰り返しの数を表す。つまりq
(t)は、t回目に算出された変分確率である。
【0026】
隠れ変数変分確率計算処理部104は、例えば以下の手順でq
(t)(Z)の算出を行う。隠れ変数変分確率計算処理部104は、周辺化対数尤度logp(X|Θ,Φ)とL(q,Θ,Φ)の差がq(Z)と隠れ変数の事後確率p(Z|X,Θ,Φ)とのKLダイバージェンスになることから式(3)に示すように解析解q
(t)opt(Z)を算出する。
【0028】
このq
(t)opt(Z)とq
(t-1)(Z)を端点とする線分がQ
(t)の一部である。そして、隠れ変数変分確率計算処理部104は、式(4)のようにQ
(t)の中から与えられた分布p
conとの距離に関する関数Dを最小化させるものをq
(t)(Z)として採用する。なお、与えられた分布は例えば隠れ変数の事前分布p
z(Z|Φ)であり、Dは例えば2ノルムである。
【0030】
図2は、隠れ変数変分確率計算処理部104の構成例を示すブロック図である。隠れ変数変分確率計算処理部104は、例えば、
図2に示すように、変分問題解空間計算処理部104−1と制約付き変分問題計算処理部104−2とを備えていてもよい。隠れ変数変分確率計算処理部104は、入力データ111と推定モデル104−3を入力し、制約付き隠れ変数変分確率104−4を出力する。
【0031】
隠れ変数変分確率計算処理部104が
図2に示すように構成されている場合に変分問題解空間計算処理部104−1および制約付き変分問題計算処理部104−2が行う処理を、それぞれ説明する。まず、変分問題解空間計算処理部104−1は、入力データ111と推定モデル104−3を取得し、周辺化対数尤度の下界L(q,Θ,Φ)を増加させる隠れ変数変分確率の存在範囲Q
(t)を算出する。そして、制約付き変分問題計算処理部104−2は、Q
(t)の中から、あらかじめ与えられた分布p
conに最も近い制約付き隠れ変数変分確率104−4(q
(t)(Z))を算出する。
【0032】
モデルパラメータ最適化処理部105は、式(5)に示すように、算出された制約付き隠れ変数変分確率を用いて、各コンポーネントのモデルパラメータΘ、隠れ変数の事前分布のパラメータΦを最適化する。
【0034】
最適性判定処理部106では、式(6)で計算される最適化されたモデルパラメータを用いた周辺化対数尤度logp(X|Θ,Φ)が収束しているかどうかを判定する。収束していない場合には、モデル推定装置100は、隠れ変数変分確率計算処理部104、モデルパラメータ最適化処理部105および最適性判定処理部106の処理を繰り返す。
【0036】
最適モデル選択処理部107は、隠れ変数変分確率計算処理部104、モデルパラメータ最適化処理部105および最適性判定処理部106の処理で算出される周辺化対数尤度logp(X|Θ,Φ)が、現在設定されているものよりも大きい場合には、その周辺化対数尤度logp(X|Θ,Φ)が示すモデルを最適なモデルとして設定する。すべての隠れ状態数Cの候補値についてのモデルの最適化が完了した場合には、処理がモデル推定結果出力装置108へ移り、まだ最適化の済んでいない候補が存在する場合には、隠れ状態数設定部102へ処理が移る。
【0037】
モデル推定結果出力装置108は、最適化された隠れ変数変分確率およびモデルのパラメータなどを含むモデル推定結果をモデル推定結果112として出力する。
【0038】
本実施形態のモデル推定装置100は、隠れ変数変分確率計算処理部104、モデルパラメータ最適化処理部105および最適性判定処理部106の処理を繰り返し、構造を制約した変分確率とモデルパラメータを更新することにより、適切なモデルを選択することが可能となる。なお、この繰り返しによって、logp(X|Θ,Φ)が単調に増加することが保証される。
【0039】
図3は、モデル推定装置の第1の実施形態の動作例を示すフローチャートである。以下、
図3を参照して、本実施形態のモデル推定装置100の動作の概略を説明する。
【0040】
まず、データ入力装置101は、入力データ111を入力する(ステップS100)。
【0041】
次に、隠れ状態数設定部102は、取得された隠れ状態数の候補値のうち、まだ最適化の行われていない隠れ状態数を選択し設定する(ステップS101)。
【0042】
次に、初期化処理部103は、指定された隠れ状態数に対して、推定のためパラメータや隠れ変数変分確率の初期化処理を実施する(ステップS102)。
【0043】
次に、隠れ変数変分確率計算処理部104は、各隠れ変数の変分確率を計算する(ステップS103)。
【0044】
次に、モデルパラメータ最適化処理部105は、モデルパラメータの推定を実施する(ステップS104)。
【0045】
次に、最適性判定処理部106は、周辺化対数尤度logp(X|Θ,Φ)が収束したか(最適か)を判定する(ステップS105)。
【0046】
ステップS105において、収束と判定されなかった場合には、モデル推定装置100は、ステップS103からステップS105の処理を繰り返す。
【0047】
ステップS105において収束したと判定された場合には、最適モデル選択処理部107は、現在設定されている最適なモデルの周辺化対数尤度logp(X|Θ,Φ)と、算出された最適なモデルの周辺化対数尤度log p(X|Θ,Φ)の値を比較し、値の大きい方を最適なモデルとして設定する(ステップS106)。
【0048】
次に、モデル推定装置100は、推定されていない隠れ状態数の候補が残っているかを判定する(ステップS107)。推定されていない隠れ状態数の候補が残っている場合には、モデル推定装置100は、ステップS101からステップS107の処理を繰り返す。
【0049】
推定されていない隠れ状態数の候補が残っていない場合には、モデル推定結果出力装置108は、最適化された変分確率およびモデルのパラメータを含むモデル推定結果112を出力する(ステップS108)。
【0050】
図4は、隠れ変数変分確率計算処理部104の動作例を示すフローチャートである。
図4を参照して、本実施形態の隠れ変数変分確率計算処理部104の動作の概略を説明する。
【0051】
まず、変分問題解空間計算処理部104−1は、周辺化対数尤度の下界L(q,Θ,Φ)を増加させるq(Z)の存在範囲Q
(t)を算出する(ステップS111)。
【0052】
次に、制約付き変分問題計算処理部104−2は、そのQ
(t)の中から、あらかじめ与えられた分布p
conに最も近い制約付き隠れ変数変分確率q
(t)(Z)を算出する(ステップS112)。
【0053】
本実施形態のモデル推定装置100は、隠れ変数の事後確率(制約付き隠れ変数変分確率)を推定する際に、ある分布に近いという制約を考慮する。これにより、モデル推定装置100は、隠れ変数の構造が表現しやすい事後確率を算出することができ、結果としてモデル全体の推定精度を向上させることができる。
【0054】
実施形態2.
第2の実施形態(実施形態2)では、深さ2の階層隠れ変数モデルの因子化ベイズ法による推定に関するモデル推定装置を説明する。本実施形態での階層隠れ変数モデルは、隠れ変数が階層隠れ構造(特に、木構造)を持つものである。その木構造の最下層のノードには、確率モデルであるコンポーネントを配し、各分岐ノードには入力に応じて分岐を振り分けるための関数である門関数が設けられている。特に、以下では深さ2の階層隠れ変数モデルについて具体的な説明を行う。なお、以下の説明ではデータ列x
n(n=1,…,N)が入力されると仮定し、各x
nがM次元多変量データ列x
n=((x
1)
n , …, (x
M)
n)であるとする。
【0055】
次に、観測変数x
nに対する第1層分岐隠れ変数(z
1)
n 、最下層分岐隠れ変数(z
j|i)
n 、最下層経路隠れ変数(z
ji)
n を定義する。(z
i)
n=1 は根ノードに入ったx
n が第1層第iノードへ分岐することを表し、(z
i)
n=0はそうではないことを表している。また、(z
j|i)
n=1 は、第1層第iノードに入ったx
n が第2層第jノードへ分岐することを表し、(z
j|i)
n =0はそうではないことを表している。さらに(z
ij)
n=1 は観測変数x
n が第1層第iノード、第2層第jノードを通ることで辿られるコンポーネントに対応することを表し、(z
ij)
n=0 は、そうではないことを表している。なお、Σ
i (z
i)
n =1、Σ
j (z
j|i)
n =1、(z
ij)
n =(z
i)
n(z
j|i)
n であり、これらより(z
i)
n =Σ
j (z
ij)
nが成り立つ。xと最下層経路隠れ変数の代表値zの組みは「完全変数」と呼ばれ(対比としてxは不完全変数と呼ぶ)、完全変数に関する深さ2の階層隠れ変数モデル同時分布は、式(7)中のP(x,z)=P(x, z
1st, z
2nd )として定義される。
【0057】
式(7)では、(z
i)
n の代表値を(z
n1st) 、(z
j|i)
n の代表値を(z
2nd)
n としている。なお、第1層分岐隠れ変数(z
i)
n についての変分確率をq(z
i)
nとし、最下層経路隠れ変数(z
ij)
n についての変分確率はq(z
nij) とする。式(7)において、K
1 は第1層のノード数、K
2 は第1層のノードそれぞれから分岐するノード数であり、最下層のコンポーネントはK
1・K
2 と表される。また、θ=(β, β1, …, βK
1,φ1, …, φK
1・K
2 )がモデルのパラメータを(βは根ノードの分岐パラメータ、βkは、第1層第kノードの分岐パラメータ、φkはk番目のコンポーネントに対する観測パラメータ)、S1, …, SK
1・K
2 がφkに対応する観測確率の種類を表すとする。なお、S1からSK
1・K
2 となりうる観測確率の候補は、例えば、多変量データの生成確率の場合には{正規分布、対数正規分布、指数分布}であったり、多項曲線出力の場合では、{0次曲線、1次曲線、2次曲線、3次曲線}であったりする。
【0058】
なお、以下に示す具体例はすべて深さ2の階層隠れ変数モデルに対して説明をするが、深さが1や3以上の階層隠れ変数モデルに関しても同様の手順で式(7)〜(15)を導出し、構成も同様にすることで容易に構成する事が可能である。同様に、本明細書の説明では、ターゲット変数をXとした分布について説明しているが、観測分布が回帰や判別のように、条件付モデルP(Y|X)(Yはターゲットとなる確率変数)である場合に関しても適用可能である。
【0059】
もし、階層隠れ変数の事後確率推定時に、複数段の門関数が表現しやすいという制約が考慮されていない場合、門関数の推定精度が悪化するという問題が発生する。この問題を解決するためには、本実施形態のモデル推定装置のように、門関数によって表現しやすいという制約のもと、階層隠れ変数の事後確率の推定を行う必要がある。
【0060】
図5は、第2の実施形態におけるモデル推定装置200の構成例を示すブロック図である。
図5に示すように、本実施形態のモデル推定装置200は、データ入力装置201と、階層隠れ構造設定部202と、初期化処理部203と、隠れ変数変分確率計算処理部204と、モデルパラメータ最適化処理部205と、門関数最適化処理部206と、最適性判定処理部207と、最適モデル選択処理部208と、モデル推定結果出力装置209とを備えている。モデル推定装置200は、入力データ211を入力し、入力データ211に関して階層隠れ構造及び観測確率の種類を最適化し、モデル推定結果212として出力する。
【0061】
入力装置201は、入力データ211を取得する。入力データ211は、観測確率の種類、コンポーネント数の候補、隠れ変数を表す階層隠れ構造の候補値など、モデル推定に必要なパラメータを含む。
【0062】
階層隠れ構造設定部202は、取得された階層隠れ構造の候補値のうち、まだ最適化の行なわれていない階層隠れ構造を算出対象として選択し設定する。本実施形態における隠れ構造は木構造である。以下では、設定されたコンポーネント数をCと表記する事とし、説明として用いる数式は深さが2の階層隠れ変数モデルを対象としたものとする。
【0063】
初期化処理部203は、推定のための初期化処理を実施する。なお、初期化は任意の方法によって実行可能である。例えば、初期化処理部203は、観測確率の種類をコンポーネントごとにランダムに設定し、設定された種類にしたがって、各観測確率のパラメータをランダムに設定する。また、例えば、初期化処理部203は、階層隠れ変数の最下層経路変分確率をランダムに設定してもよい。
【0064】
隠れ変数変分確率計算処理部204は、階層ごとに経路隠れ変数の変分確率を計算する。隠れ変数変分確率計算処理部204は、パラメータθとして、初期化処理部203またはモデルパラメータ最適化処理部205と門関数最適化処理部206が計算した値を利用する。隠れ変数変分確率計算処理部204は、周辺化対数尤度関数を完全変数に対する推定量(例えば最尤推定量や最大事後確率推定量)に関してラプラス近似し、その下界を増加させ、かつある与えられた分布に近づくような変分確率を算出する。以下では、増加させる下界の値を最適化基準Aと呼ぶ。
【0065】
この手順を、深さが2の階層隠れ変数モデルを例に説明する。ここでは上付き(t)が、隠れ変数変分確率計算処理部204、モデルパラメータ最適化処理部205、門関数最適化処理部206、最適性判定処理部207の繰り返し計算における、(t)回目の繰り返しをあらわすとする。また、q''、q'、θを以下の式(8−1)〜(8−3)のように定義する。
【0067】
まず、周辺化対数尤度の式(9)で示される下界について説明する。なお、式(9)において、最下層経路隠れ変数変分確率q(z
N)を最大化した場合に等号が成立する。隠れ変数変分確率計算処理部204は、分子の完全変数の周辺化尤度を完全変数に対する最尤推定量を用いてラプラス近似する事で、周辺化対数尤度関数の近似式として式(10)を得る。ただし、上付きのバーは完全変数に対する最尤推定量を、D
* はパラメータ*の次元を表す。
【0070】
次に、式(10)式に対して最尤推定量が対数尤度関数を最大化する性質と、対数関数が凹関数である事を利用して、式(10)の下界を式(11)のように算出する。
【0072】
そして、隠れ変数変分確率計算処理部204は、式(11)を増加させる最下層経路隠れ変数変分確率qz
Nの集合Q
(t)を求め、それに含まれるものの中から、与えられた分布p
conとの距離に関する関数Dを最小化させるものをq
(t)として採用する。なお、隠れ変数変分確率計算処理部204は、たとえばqz
N に関して式(11)を最大化させる変分問題の解析解q
opt(t)を算出し、それとq
(t-1)を端点とする線分としてQ
(t)を求めることができる。
【0073】
図6は、隠れ変数変分確率計算処理部204の一例を示すブロック図である。
図6に示すように、隠れ変数変分確率計算処理部204は、例えば、変分問題解空間計算処理部204−1、制約付き最下層経路隠れ変数変分確率計算処理部204−2と、階層設定部204−3と、上層経路隠れ変数変分確率計算処理部204−4と、階層計算終了判定処理部204−5とを備える。隠れ変数変分確率計算処理部204は、入力データ211と、モデルパラメータ最適化処理部205で推定されたパラメータ(最初の処理である場合は初期化処理部203によって初期化されたパラメータ)による隠れ変数モデルである推定モデル204−6を入力し、階層隠れ変数変分確率204−7を出力する。
【0074】
まず、変分問題解空間計算処理部204−1は、入力データ211と推定モデル204−6を入力することで、最適化基準Aを増加させる最下層経路隠れ変数変分確率の存在範囲Q
(t)を算出する。
【0075】
制約付き最下層経路隠れ変数変分確率計算処理部204−2は、Q
(t)の中から与えられた分布p
conに最も近いものを、最下層隠れ変数変分確率の更新値として用いる。
【0076】
そして、階層設定部204−3は、経路隠れ変数変分確率の計算に用いる層を設定する。階層設定部204−3は、具体的には、直前の算出対象の層より一つ上の層を算出対象の層として設定する。
【0077】
上層経路隠れ変数変分確率計算処理部204−4で同じ分岐ノードを親として持つ現在設定されている層の最下層隠れ変数変分確率の和をとり、それを一つ上層の経路隠れ変数変分確率とする。
【0078】
そして、階層計算終了判定処理部204−5は、経路隠れ変数変分確率の算出が終了していない層が存在するかを確認することにより、計算を終了するかどうかを確認する。階層計算終了判定処理部204−5は、具体的には、直前に経路隠れ変数変分確率の算出がされた層より上の層が存在するかどうか確認する。存在する場合、階層設定部204−3は、一つ上の層を設定する。そして、上層経路隠れ変数変分確率計算処理部204−4と階層計算終了判定処理部204−5の処理が繰り返される。現在の算出対象の層より上の層が存在しなければ、階層計算終了判定処理部204−5は、すべての階層で経路隠れ変数変分確率が算出できたと判定する。
【0079】
モデルパラメータ最適化処理部205は、式(11)に関して各コンポーネントのモデル(パラメータθおよびその種類S)を最適化する。深さが2の階層隠れ変数モデルでは、モデルパラメータ最適化処理部205は、式(11)をqおよびq”,q’を階層隠れ変数変分確率算出部204が算出した最下層経路隠れ変数変分確率q
(t)と式(12)に示す上層経路隠れ変数変分確率に固定し、gを最大化するモデルを算出する。
【0081】
この処理において重要な点は、式(11)によって定義されたgはコンポーネントごとに最適化の関数を分解することが可能なため、コンポーネント種類の組合せ(S1からSK
1・K
2 がどの種類を指定するか)を考慮することなく、S1からSK
1・K
2 及びパラメータφ1からφK
1・K
2 を別々に最適化する事が可能な点である。これによって、コンポーネントの種類を最適化する際に、組み合わせ爆発を回避して最適化を実行する事が可能となる。
【0082】
図7は、門関数最適化処理部206の一例を示すブロック図である。門関数最適化処理部206は、分岐ノード情報取得部206−1と、分岐ノード選択処理部206−2と、分岐パラメータ最適化処理部206−3と、全分岐ノード最適化終了判定処理部206−4とを備える。門関数最適化処理部206は、入力データ211と、隠れ変数変分確率計算処理部204で算出された階層隠れ変数変分確率204−7と、モデルパラメータ最適化処理部205で推定されたパラメータ(最初の処理である場合は初期化処理部203によって初期化されたパラメータ)による推定モデル204−6とを入力し、門関数モデル206−6を出力する。
【0083】
まず、分岐ノード情報取得部206−1は、モデルパラメータ最適化処理部205で最適化されたパラメータによる隠れ変数モデルの推定モデル204−6における、分岐ノードを示す情報を取得することによりすべての分岐ノードを把握する。分岐ノード選択処理部206−2は、その分岐ノードのうち最適化する対象の分岐ノードを1つ選ぶ。そして、分岐パラメータ最適化処理部206−3は、入力データ211と階層隠れ変数変分確率204−7から得た選択ノードに関する隠れ変数変分確率を用いて、選択されたノードの分岐パラメータを最適化する。
【0084】
そして、全分岐ノード最適化終了判定処理部206−4は、分岐ノード情報取得部が取得した分岐ノードがすべて最適化されたかどうかを判定する。門関数最適化処理部206は、分岐ノードがすべて最適化されていれば処理を終了し、すべて最適化されていなければ、分岐ノード選択処理部206−2へと処理を移す。
【0085】
門関数の具体例として、2分木の階層モデルに対するベルヌーイ分布を基としたものについて説明する。xの第d次元をx
dとし、この値がある閾値w を超えないとき、2分木の左下へ行く確率をg
- 、閾値w を超えるとき、2分木の左下へ行く確率をg
+ とする。分岐パラメータ最適化処理部206−3は、上記の最適化パラメータd, w, g
-, g
+ をベルヌーイ分布に基づいて最適化する。
【0086】
最適性判定処理部207は、式(11)で計算される最適化基準Aが収束したかどうかを判定する。収束していない場合には、モデル推定装置200は、隠れ変数変分確率計算処理部204から最適性判定処理部207の処理を繰り返す。
【0087】
隠れ変数変分確率計算処理部204から最適性判定処理部207の処理を繰り返し、変分確率とモデルを更新する事で、適切なモデルを選択する事が可能となる。なお、この繰り返しによって最適化基準Aが単調に増加する事が保証される。
【0088】
最適モデル選択処理部208は、隠れ変数変分確率計算処理部204から最適性判定処理部207の処理で算出される最適化基準Aが、現在設定されている最適化基準Aよりも大きい場合には、そのモデルを最適なモデルとして設定する。全ての候補値についてモデルの最適化が完了した場合には、処理がモデル推定結果出力装置209へ移る。まだ最適化の済んでいない候補が存在する場合には、階層隠れ構造設定部202へ処理が移る。その場合、階層隠れ構造設定部202は、新たな階層隠れ変数モデルの構造を設定する。
【0089】
モデル推定結果出力装置209は、最適な隠れ状態数、観測確率の種類、パラメータ、変分確率などをモデル推定結果212として出力する。
【0090】
図8は、本実施形態のモデル推定装置の動作の一例を示すフローチャートである。
図8を参照して、本実施形態のモデル推定装置200の動作を説明する。
【0091】
まず、データ入力装置201は、入力データ211を取得する(ステップS200)。
【0092】
次に、階層隠れ構造設定部202は、取得された階層隠れ構造の候補値のうち、まだ最適化の行なわれていない階層隠れ構造を選択し設定する(ステップS201)。
【0093】
次に、初期化処理部203は、指定された階層隠れ構造に対して、推定のためパラメータや隠れ変数変分確率の初期化処理を実施する(ステップS202)。
【0094】
次に、隠れ変数変分確率計算処理部204は、階層ごとに経路隠れ変数の変分確率を計算する(ステップS203)。
【0095】
次に、モデルパラメータ最適化処理部205は、各コンポーネントに関する観測確率の種類とパラメータの最適化を実施する(ステップS204)。
【0096】
次に、門関数最適化処理部206は、各門関数の最適化を実施する(ステップS205)。すなわち、門関数最適化処理部206は、各分岐ノードにおける分岐パラメータの最適化を実施する。
【0097】
次に、最適性判定処理部207は、最適化基準Aが収束したかを判定する(ステップS206)。
【0098】
モデル推定装置200は、ステップS206において、収束したと判定されなかった場合には、ステップS203からステップS206の処理を繰り返す。
【0099】
ステップS206において収束したと判定された場合には、最適モデル選択処理部208は、現在設定されている最適なモデル(現在設定されているコンポーネント数、観測確率の種類、パラメータ)における最適化基準Aと、現在設定されている最適なモデルの最適化基準Aの値を比較し、最適化基準Aの値の大きいモデルを最適なモデルとして設定する(ステップS207)。
【0100】
次に、モデル推定装置200は、推定されていない階層隠れ構造の候補が残っているかを判定する(ステップS208)。モデル推定装置200は、残っている場合には、ステップS201からステップS208の処理を繰り返す。残っていない場合には、モデル推定結果を出力し、処理を完了する(ステップS209)。
【0101】
図9は、隠れ変数変分確率計算処理部204の動作の一例を示すフローチャートである。以下、
図9を参照して、本実施形態に関する隠れ変数変分確率計算処理部204の動作を説明する。
【0102】
まず、変分問題解空間計算処理部204−1は、最適化基準Aを増加させる最下層経路隠れ変数変分確率の存在範囲を算出する(ステップS211)。
【0103】
次に、制約付き最下層経路隠れ変数変分確率計算処理部204−2は、最適化基準Aを増加させる隠れ変数変分確率の存在範囲を算出し、その中から、与えられた分布p
conに最も近い制約付き最下層経路隠れ変数変分確率を設定する(ステップS212)。
【0104】
次に、階層設定部204−3は、経路隠れ変数変分確率の計算に用いる階層を設定する(ステップS213)。
【0105】
次に、上層経路隠れ変数変分確率計算処理部204−4は、設定した階層での経路隠れ変数変分確率を用いて、1つ上層の経路隠れ変数変分確率を算出する(ステップS214)。
【0106】
次に、階層計算終了判定処理部204−5は、経路隠れ変数が算出されていない階層が残っているかを判定する(ステップS215)。
【0107】
算出されていない階層が残っている場合には、隠れ変数変分確率計算処理部204は、ステップS213からステップS215の処理を繰り返す。残っていない場合には、処理を完了する。
【0108】
図10は、門関数最適化処理部206の動作の一例を示すフローチャートである。
図10を用いて、本実施形態に関する門関数最適化処理部206は、概略以下のように動作する。
【0109】
まず、分岐ノード情報取得部206−1は、すべての分岐ノードを把握する(ステップS221)。
【0110】
次に、分岐ノード選択処理部206−2は、最適化の対象となる分岐ノードを1つ設定する(ステップS222)。
【0111】
次に、分岐パラメータ最適化処理部206−3は、選択した分岐ノードにおける分岐パラメータの最適化を実施する(ステップS223)。
【0112】
次に、全分岐ノード最適化終了判定処理部206−4は、最適化されていない分岐ノードが残っているかを判定する(ステップS224)。残っている場合には、門関数最適化処理部206は、ステップS222からステップS224の処理を繰り返す。残っていない場合には、門関数最適化処理部206は、処理を完了する。
【0113】
本実施形態のモデル推定装置200は、第1の実施形態のモデル推定装置と同様に、隠れ変数の事後確率(制約付き隠れ変数変分確率)を推定(算出)する際に、ある分布に近いという制約を考慮する。さらに、モデル推定装置200は、門関数最適化処理部206を有することにより制約付き隠れ変数変分確率を算出する際に、複数段の門関数が表現しやすいという制約が考慮されている。これにより、モデル推定装置200は、隠れ変数の構造が表現しやすい事後確率を算出することができ、結果としてモデル全体の推定精度を向上させることができる。
【0114】
(実施例)
以下では、本実施形態のモデル推定装置200の応用例について、ビル電力の需要履歴分析を例に説明する。
【0115】
本実施形態のモデル推定装置200は、ビルに設置された複数のセンサから取得される多変量データと消費電力の関係を、例えば「平日と休日」のような複数の異なる状況ごとに分解することが可能である。また、モデル推定装置200は、温度が「ある温度以上」ならば特定の関係に移るなど、得られた複数の関係の切り替え則も推定することができる。
【0116】
電力供給の過不足を解消するための消費電力予測を考えた場合、複数の関係を推定することと同様に、複数の関係をどう切り替えていくかの推定も極めて重要である。例えば、気温、時間帯、曜日を説明変数とし、一時間後の消費電力量を目的変数とした多項回帰式を想定し、これらを各コンポーネントに据えた階層隠れ変数モデルを考える。このとき、推定すべきモデルは、階層隠れ構造、回帰パラメータ(φk)、最下層経路隠れ変数変分分布(q)である。
【0117】
まず、データ入力装置201は、説明変数と目的変数のデータとともに、階層隠れ構造の候補としてそれぞれ異なる階層構造(木構造)を示す情報を複数個取得する。初期化処理部203は、取得した木構造を順に設定する。次に、初期化処理部203は、初期化処理として、設定した階層隠れ構造に対し回帰次数及びその他のパラメータをランダムに設定する。次に、隠れ変数変分確率計算処理部204、モデルパラメータ最適化処理部205、門関数最適化処理部206、最適性判定処理部207が、モデルの推定を行う。
【0118】
本実施形態のモデル推定装置200は、この処理を通じて、例えば出社時間である9時頃を表す説明変数の回帰係数が大きいものや、時間帯を表すパラメータの回帰係数が比較的小さいなど、異なる状況を表現する複数の回帰モデルとその切り替え則を自動的に得ることができる。さらに、モデル推定装置200は、最適モデル選択処理部208が、どのような階層隠れ構造が最も良いかを自動選択するため、例えばビルに応じて異なる消費電力のパタン数を、自動的に検出し、適切な数の関係及びその切り替え則をモデル化することが可能である。
【0119】
図11は、本発明によるモデル推定装置の主要部の構成を示すブロック図である。
図11に示すように、本発明によるモデル装置は、主要な構成要素として、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理部104と、制約付き隠れ変数変分確率を用いて、隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理部105と、最適化されたパラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理部106とを備え、周辺化対数尤度関数が収束していないと判定された場合に、隠れ変数変分確率計算処理部104が、最適化されたパラメータを用いて制約付き隠れ変数変分確率を再度、算出し、モデルパラメータ最適化処理部105が、算出された当該制約付き隠れ変数変分確率を用いて隠れ変数モデルのパラメータの最適化を再度行い、周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた制約付き隠れ変数変分確率とパラメータとを出力する。
【0120】
また、本実施形態のモデル推定装置には、以下の(1)〜(6)のモデル推定装置も開示されている。
【0121】
(1)隠れ変数変分確率計算処理部(例えば、隠れ変数変分確率計算処理部104)は、周辺化対数尤度関数の下界を増加させる制約付き隠れ変数変分確率の存在範囲を算出する変分問題解空間計算処理部(例えば、変分問題解空間計算処理部104−1)と、存在範囲の中から、あらかじめ与えられた分布に近い制約付き隠れ変数変分確率を算出する制約付き変分問題計算処理部(例えば、制約付き変分問題計算処理部104−2)とを含むモデル推定装置。
【0122】
(2)モデル推定装置は、隠れ変数モデルにおける隠れ状態の数の候補、隠れ変数のパラメータを取得する入力装置(例えば、入力装置101)と、隠れ状態の数を、取得された隠れ状態の数の候補から選択して設定する隠れ状態数設定部(例えば、隠れ状態数設定部102)と、パラメータおよび制約付き隠れ変数変分確率を初期化する初期化処理部(例えば、初期化処理部103)と、現在設定されている周辺化対数尤度関数より、モデルパラメータ最適化処理部により最適化されたパラメータに基づく周辺化対数尤度関数が大きい場合、当該周辺化対数尤度関数が示すモデルを最適なモデルとして設定する最適モデル選択処理部(例えば、最適モデル選択処理部107)と、最適なモデルの制約付き隠れ変数変分確率およびパラメータを含むモデル推定結果を出力するモデル推定結果出力装置(例えば、モデル推定結果出力装置108)とを備え、最適化が済んでいない隠れ状態数の候補が存在する場合に、隠れ状態数設定部が、最適化が済んでいない隠れ状態数の候補を隠れ状態数として設定し、初期化処理部は、パラメータおよび制約付き隠れ変数変分確率を再度、初期化し、隠れ変数変分確率計算処理部が、再度、制約付き隠れ変数変分確率を算出し、モデルパラメータ最適化処理部が、再度、隠れ変数モデルのパラメータの最適化を行い、最適性判定処理部が、再度、周辺化対数尤度関数が収束しているかどうか判定する。
【0123】
(3)モデル推定装置は、隠れ変数を表し複数の階層を有する階層隠れ構造における分岐ノードのパラメータを最適化する門関数最適化処理部(例えば、門関数最適化処理部206)を備え、隠れ変数変分確率計算処理部(例えば、隠れ変数変分確率計算処理部204)は、観測変数と隠れ変数モデルを構成するコンポーネントとの対応関係を示す経路隠れ変数の変分確率である経路隠れ変数変分確率を階層毎に算出し、モデルパラメータ最適化処理部(例えば、モデルパラメータ最適化処理部205)は、隠れ変数モデルにおける観測確率の種類を取得し、隠れ変数モデルの各コンポーネントのパラメータおよび観測確率の種類の最適化を行い、最適性判定処理部(例えば、最適性判定処理部207)は、最適化されたパラメータおよび観測確率の種類を用いた辺化対数尤度関数の下界である最適化基準が収束しているかどうかを判定する。
【0124】
(4)モデル推定装置は、隠れ変数変分確率計算処理部(例えば、隠れ変数変分確率計算処理部204)は、最適化基準を増加させる最下層の経路隠れ変数変分確率の存在範囲を算出する変分問題解空間計算処理部(例えば、変分問題解空間計算処理部204−1)と、最下層の経路隠れ変数変分確率の存在範囲の中から、あらかじめ与えられた分布に最も近いものを、最下層の経路隠れ変数変分確率の更新値とする制約付き最下層経路隠れ変数変分確率計算処理部(例えば、制約付き最下層経路隠れ変数変分確率計算処理部204−2)と、直前の算出対象の層より一つ上の層を算出対象の層として設定する階層設定部(例えば、階層設定部204−3)と、現在の算出対象の層のうち親ノードが同じ分岐ノードである最下層の制約付き隠れ変数変分確率の和をとり、それを一つ上層の経路隠れ変数変分確率とする上層経路隠れ変数変分確率計算処理部(例えば、上層経路隠れ変数変分確率計算処理部204−4)と、経路隠れ変数変分確率の算出が終了していない層が存在するかを確認することにより、計算を終了するかどうかを確認する階層計算終了判定処理部(例えば、階層計算終了判定処理部204−5)とを含む。
【0125】
(5)モデル推定装置は、門関数最適化処理部(例えば、門関数最適化処理部206)は、最適化されたパラメータによる隠れ変数モデルにおける分岐ノードを示す情報を取得する分岐ノード情報取得部(例えば、分岐ノード情報取得部206−1)と、取得された分岐ノードのうち最適化する対象の分岐ノードを選択する分岐ノード選択処理部(例えば、分岐ノード選択処理部206−2)と、隠れ変数変分確率計算処理部により算出された経路隠れ変数変分確率を用いて、選択された分岐ノードの分岐パラメータを最適化する分岐パラメータ最適化処理部(例えば、分岐パラメータ最適化処理部206−3)と、取得された分岐ノードがすべて最適化されたかどうかを判定する全分岐ノード最適化終了判定処理部(例えば、全分岐ノード最適化終了判定処理部206−4)とを含む。
【0126】
(6)モデル推定装置は、隠れ変数を表す階層隠れ構造の候補、観測確率の種類、コンポーネント数の候補を含む隠れ変数モデルのパラメータを取得する入力装置(例えば、入力装置201)と、階層隠れ構造の候補のうちの一つの候補を選択し設定する階層隠れ構造設定部(例えば、階層隠れ構造設定部202)と、観測確率の種類、観測確率のパラメータ、隠れ変数、および隠れ変数の最下層の経路隠れ変数変分確率の初期化を行う初期化処理部(例えば、初期化処理部203)と、現在設定されている最適化基準より、モデルパラメータ最適化処理部により最適化されたパラメータに基づく最適化基準が大きい場合、当該パラメータに基づく周辺化対数尤度関数が示すモデルを最適なモデルとして設定する最適モデル選択処理部(例えば、最適モデル選択処理部208)と、最適なモデルにおける制約付き隠れ変数変分確率およびパラメータを含むモデル推定結果を出力するモデル推定結果出力装置(例えば、モデル推定結果出力装置209)とを備え、最適化が済んでいない階層隠れ構造の候補が存在する場合に、階層隠れ構造設定部が、最適化が済んでいない階層隠れ構造の候補を算出対象の階層隠れ構造として設定し、初期化処理部が、再度、初期化を行い、隠れ変数変分確率計算処理部が、再度、経路隠れ変数変分確率を算出し、モデルパラメータ最適化処理部が、再度、隠れ変数モデルの各コンポーネントのパラメータおよび観測確率の種類の最適化を行い、最適性判定処理部が、周辺化対数尤度関数の下界である最適化基準が収束しているかどうかを判定する。
【0127】
(7)コンピュータが読み取り可能で非一時的な情報記憶媒体であって、情報処理装置に実行された場合に、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出し、前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行い、最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定し、前記周辺化対数尤度関数が収束していないと判定された場合に、最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出し、算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行い、前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する方法を実行するためのモデル推定プログラムを記憶することを特徴とする情報記憶媒体。
【0128】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0129】
この出願は、2013年11月5日に出願された米国仮出願(U.S. Patent Application No.61/900,085)を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【0130】
本発明は、多変量データによる電力需要等のデータ分析に適用できる。