(57)【要約】  モデル推定装置１００は、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理部１０４と、制約付き隠れ変数変分確率を用いて、隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理部１０５と、最適化されたパラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理部１０６とを備え、周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた制約付き隠れ変数変分確率とパラメータとを出力する。
2015068330.tif 000002
【特許請求の範囲】
【請求項１】
隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理部と、
前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理部と、
最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理部とを備え、
前記周辺化対数尤度関数が収束していないと判定された場合に、
前記隠れ変数変分確率計算処理部が、最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出し、
前記モデルパラメータ最適化処理部が、算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行い、
前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する
ことを特徴とするモデル推定装置。
【請求項２】
隠れ変数変分確率計算処理部は、
周辺化対数尤度関数の下界を増加させる制約付き隠れ変数変分確率の存在範囲を算出する変分問題解空間計算処理部と、
前記存在範囲の中から、あらかじめ与えられた分布に近い制約付き隠れ変数変分確率を算出する制約付き変分問題計算処理部とを含む
請求項１記載のモデル推定装置。
【請求項３】
隠れ変数モデルにおける隠れ状態の数の候補、前記隠れ変数のパラメータを取得するデータ入力装置と、
隠れ状態の数を、取得された前記隠れ状態の数の候補から選択して設定する隠れ状態数設定部と、
前記パラメータおよび制約付き隠れ変数変分確率を初期化する初期化処理部と、
現在設定されている周辺化対数尤度関数より、モデルパラメータ最適化処理部により最適化されたパラメータに基づく周辺化対数尤度関数が大きい場合、当該周辺化対数尤度関数が示すモデルを最適なモデルとして設定する最適モデル選択処理部と、
前記最適なモデルの制約付き隠れ変数変分確率およびパラメータを含むモデル推定結果を出力するモデル推定結果出力装置とを備え、
最適化が済んでいない隠れ状態数の候補が存在する場合に、
前記隠れ状態数設定部が、最適化が済んでいない前記隠れ状態数の候補を隠れ状態数として設定し、
初期化処理部は、前記パラメータおよび前記制約付き隠れ変数変分確率を再度、初期化し、
隠れ変数変分確率計算処理部が、再度、制約付き隠れ変数変分確率を算出し、
前記モデルパラメータ最適化処理部が、再度、前記隠れ変数モデルのパラメータの最適化を行い、
最適性判定処理部が、再度、前記周辺化対数尤度関数が収束しているかどうか判定する
請求項１または請求項２記載のモデル推定装置。
【請求項４】
隠れ変数を表し複数の階層を有する階層隠れ構造における分岐ノードのパラメータを最適化する門関数最適化処理部を備え、
隠れ変数変分確率計算処理部は、
観測変数と隠れ変数モデルを構成するコンポーネントとの対応関係を示す経路隠れ変数の事後確率である経路隠れ変数変分確率を前記階層毎に算出し、
モデルパラメータ最適化処理部は、前記隠れ変数モデルにおける観測確率の種類を取得し、前記隠れ変数モデルの各コンポーネントのパラメータおよび前記観測確率の種類の最適化を行い、
最適性判定処理部は、最適化された前記パラメータおよび前記観測確率の種類を用いた辺化対数尤度関数の下界である最適化基準が収束しているかどうかを判定する
請求項１記載のモデル推定装置。
【請求項５】
隠れ変数変分確率計算処理部は、
最適化基準を増加させる最下層の経路隠れ変数変分確率の存在範囲を算出する変分問題解空間計算処理部と、
前記最下層の経路隠れ変数変分確率の存在範囲の中から、あらかじめ与えられた分布に最も近いものを、前記最下層の経路隠れ変数変分確率の更新値とする制約付き最下層経路隠れ変数変分確率計算処理部と、
直前の算出対象の層より一つ上の層を算出対象の層として設定する階層設定部と、
現在の算出対象の層のうち親ノードが同じ分岐ノードである前記最下層の制約付き隠れ変数変分確率の和をとり、それを一つ上層の経路隠れ変数変分確率とする上層経路隠れ変数変分確率計算処理部と、
前記経路隠れ変数変分確率の算出が終了していない層が存在するかを確認することにより、計算を終了するかどうかを確認する階層計算終了判定処理部とを含む
請求項４記載のモデル推定装置。
【請求項６】
門関数最適化処理部は、
最適化されたパラメータによる隠れ変数モデルにおける分岐ノードを示す情報を取得する分岐ノード情報取得部と、
取得された前記分岐ノードのうち最適化する対象の分岐ノードを選択する分岐ノード選択処理部と、
隠れ変数変分確率計算処理部により算出された経路隠れ変数変分確率を用いて、選択された前記分岐ノードの分岐パラメータを最適化する分岐パラメータ最適化処理部と、
取得された前記分岐ノードがすべて最適化されたかどうかを判定する全分岐ノード最適化終了判定処理部とを含む
請求項４または請求項５記載のモデル推定装置。
【請求項７】
隠れ変数を表す階層隠れ構造の候補、観測確率の種類、コンポーネント数の候補を含む隠れ変数モデルのパラメータを取得するデータ入力装置と、
前記階層隠れ構造の候補のうちの一つの候補を選択し設定する階層隠れ構造設定部と、
前記観測確率の種類、観測確率のパラメータ、隠れ変数、および隠れ変数の最下層の経路隠れ変数変分確率の初期化を行う初期化処理部と、
現在設定されている最適化基準より、モデルパラメータ最適化処理部により最適化されたパラメータに基づく最適化基準が大きい場合、当該パラメータに基づく周辺化対数尤度関数が示すモデルを最適なモデルとして設定する最適モデル選択処理部と、
前記最適なモデルにおける制約付き隠れ変数変分確率およびパラメータを含むモデル推定結果を出力するモデル推定結果出力装置とを備え、
最適化が済んでいない階層隠れ構造の候補が存在する場合に、
前記階層隠れ構造設定部が、最適化が済んでいない前記階層隠れ構造の候補を算出対象の階層隠れ構造として設定し、
前記初期化処理部が、再度、初期化を行い、
隠れ変数変分確率計算処理部が、再度、経路隠れ変数変分確率を算出し、
前記モデルパラメータ最適化処理部が、再度、前記隠れ変数モデルの各コンポーネントのパラメータおよび前記観測確率の種類の最適化を行い、
最適性判定処理部が、前記周辺化対数尤度関数の下界である最適化基準が収束しているかどうかを判定する
請求項４から請求項６のうちのいずれか１項に記載のモデル推定装置。
【請求項８】
隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出し、
前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行い、
最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定し、
前記周辺化対数尤度関数が収束していないと判定された場合に、
最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出し、
算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行い、
前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する
ことを特徴とするモデル推定方法。
【請求項９】
コンピュータに、
隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理と、
前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理と、
最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理とを実行させ、
前記周辺化対数尤度関数が収束していないと判定された場合に、
前記隠れ変数変分確率計算処理で、最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出させ、
前記モデルパラメータ最適化処理で、算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行わせ、
前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する処理を
実行させるためのモデル推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多変量データに対する制約付き隠れ変数モデルを推定するモデル推定装置、モデル推定方法およびモデル推定プログラムに関する。特に、モデル事後確率を近似し、その下界を最大化する事によって多変量データの制約付き隠れ変数モデルを推定するモデル推定装置、モデル推定方法およびモデル推定プログラムに関する。
【背景技術】
【０００２】
自動車から取得されるセンサデータ、販売店の売上実績、電力需要履歴などに代表されるデータは、１つの要因ではなく様々な要因から生じた観測値をデータとして蓄積したものである。例えば、自動車センサデータは、走行モード等によって変化する。このようなデータが生じる要因を分析することにより、分析結果の利用者は、自動車の故障原因を解析して素早い修理につなげたり、売上と天候・時間帯との相関を分析し欠品や在庫を減らしたり、電力需要のパタンを知り過不足をなくしたり、産業上重要な応用技術を実現することができる。加えて、どのように複数の要因が切り替わるかも分析できれば、利用者は、要因ごとに得られた知見を組み合わせた予測をすることが可能になり、また切り替え則自体もマーケティングの知見として用いることが可能になるなど、より高度な応用技術を実現することができる。【０００３】
上述のような複数の要因から生じたデータを要因ごとに分離するため、モデル化の際には一般に混合隠れ変数モデルが用いられ、その中でも上述の切り替え則も含めたモデルとして、階層隠れ変数モデル（例えば、非特許文献１参照）が提案されている。これらのモデルを利用するためには隠れ状態数、観測確率分布の種類、及び分布パラメータを決定する必要がある。これらを推定する手法として、EMアルゴリズム（例えば、非特許文献２参照）や変分ベイズ法（例えば、非特許文献３参照）、また因子化漸近ベイズ法（例えば、非特許文献４参照）などが提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】C.Bishop., Svenskn M. ,”Bayesian hierarchical mixtures of experts“, Proceedings of the Nineteenth conference on Uncertainty in Artificial Intelligence, 2002, p57-64.
【非特許文献２】Neal, Radford M., and Geoffrey E. Hinton. ,"A view of the EM algorithm that justifies incremental, sparse, and other variants.", Learning in graphical models. Springer Netherlands, 1998, p355-368.
【非特許文献３】Beal, M. J. ,”Variational Algorithms for Approximate Bayesian Inference”, PhD thesis, University College London, 2003, p44-81.
【非特許文献４】Ryohei Fujimaki, Satoshi Morinaga: Factorized Asymptotic Bayesian Inference for Mixture Modeling. Proceedings of the the fifteenth international conference on Artificial Intelligence and Statistics (AISTATS), 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
階層隠れ変数モデルのように隠れ変数に何らかの構造を仮定したモデルにおいては、その構造の推定がうまくいかないと、推定した複数パタンの当てはめがうまくいかず、モデル全体の推定精度が極端に悪化してしまうという課題がある。【０００６】
そこで、本発明は、隠れ変数モデルを精度良く推定することができるモデル推定装置、モデル推定方法、およびモデル推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるモデル推定装置は、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理部と、制約付き隠れ変数変分確率を用いて、隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理部と、最適化されたパラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理部とを備え、周辺化対数尤度関数が収束していないと判定された場合に、隠れ変数変分確率計算処理部が、最適化されたパラメータを用いて制約付き隠れ変数変分確率を再度、算出し、モデルパラメータ最適化処理部が、算出された当該制約付き隠れ変数変分確率を用いて隠れ変数モデルのパラメータの最適化を再度行い、周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた制約付き隠れ変数変分確率とパラメータとを出力することを特徴とする。【０００８】
本発明によるモデル推定方法は、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出し、制約付き隠れ変数変分確率を用いて、隠れ変数モデルのパラメータの最適化を行い、最適化されたパラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定し、周辺化対数尤度関数が収束していないと判定された場合に、最適化されたパラメータを用いて制約付き隠れ変数変分確率を再度、算出し、算出された当該制約付き隠れ変数変分確率を用いて隠れ変数モデルのパラメータの最適化を再度行い、周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた制約付き隠れ変数変分確率とパラメータとを出力することを特徴とする。【０００９】
本発明によるモデル推定プログラムは、コンピュータに、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理と、前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理と、最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理とを実行させ、前記周辺化対数尤度関数が収束していないと判定された場合に、前記隠れ変数変分確率計算処理で、最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出させ、前記モデルパラメータ最適化処理で、算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行わせ、前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する処理を実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、隠れ変数モデルを精度良く推定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明によるモデル推定装置の第１の実施形態の構成例を示すブロック図である。
【図２】隠れ変数変分確率計算処理部の構成例を示すブロック図である。
【図３】本発明によるモデル推定装置の第１の実施形態の動作例を示すフローチャートである。
【図４】第１の実施形態の隠れ変数変分確率計算処理部の動作例を示すフローチャートである。
【図５】本発明によるモデル推定装置の第２の実施形態における構成例を示すブロック図である。
【図６】第２の実施形態の隠れ変数変分確率計算処理部の一例を示すブロック図である。
【図７】門関数最適化処理部の一例を示すブロック図である。
【図８】本発明によるモデル推定装置の第２の実施形態における動作の一例を示すフローチャートである。
【図９】隠れ変数変分確率計算処理部の動作の一例を示すフローチャートである。
【図１０】門関数最適化処理部の動作の一例を示すフローチャートである。
【図１１】本発明によるモデル推定装置の主要部の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、制約付き隠れ変数モデルを推定するモデル推定装置について説明する。以下では、すべての観測変数と隠れ変数をそれぞれX, Zとして集合的に表す。観測サンプル数をNとした場合、観測変数をX=(x1, …, xN)とする。隠れ状態数をCとした場合、観測変数xnに対応する隠れ変数をzn=(zn1, …, znC)、またはZ=(z1, …, zC)とする。また、隠れ状態cに対応する観測変数の確率分布をpc(X|θc)とする。θは、確率分布を決めるためのパラメータであり、確率変数の種類とパラメータθが決まるとその分布形状が決まる。また、隠れ変数の事前分布は式（１）のように表される。
【００１３】
【数１】
2015068330.tif 000003
【００１４】
また、Xの周辺分布をp(X|Θ,Φ)、XとZの同時分布をp(X,Z|Θ,Φ)とする。ここで、Θ=(θ1, …, θC)であり、Φは隠れ変数の事前分布のパラメータである。なお、隠れ変数における変分確率をq(Z)とする。
【００１５】
本明細書における第１の実施形態では、モデル推定装置が、一般的な制約付き隠れ変数モデルのEMアルゴリズムによる推定を行うことを想定した手順を載せているが、モデル推定装置が別の推定法である変分ベイズ法や因子化漸近ベイズ法を用いたとしても同様の機能を容易に実現することが可能である。また、第２の実施形態では、モデル推定装置が、具体的に深さ２の階層隠れ変数モデルの因子化漸近ベイズ法を用いた推定を行うことを想定した実施手順を載せている。なお、本明細書の説明では、ターゲット変数をXとした分布について説明しているが、観測分布が回帰や判別のように、条件付モデルp(Y|X)（Yはターゲットとなる確率変数）である場合に関しても適用可能である。
【００１６】
実施形態１．
隠れ変数モデルのように隠れ変数に何らかの構造を仮定したモデルにおいては、隠れ変数に仮定された構造を考慮することは極めて重要だと考えられるが、非特許文献１〜非特許文献４に記載された技術では、隠れ変数の事後確率推定時にその構造を制約として考慮することは行われていない。そのため、その構造が表現できるものからは逸脱した事後確率が算出される可能性がある。その結果、隠れ変数の構造を推定することがうまくいかず、モデル全体の推定精度が悪化するという課題がある。本実施形態では、隠れ変数の事後確率推定時に、ある分布に近いという制約を考慮する。これにより、隠れ変数の構造が表現しやすい事後確率を算出することができ、結果としてモデル全体の推定精度を向上させることができる。
【００１７】
図１は、本実施形態のモデル推定装置の構成例を示すブロック図である。図１に示すように、本実施形態のモデル推定装置１００は、データ入力装置１０１と、隠れ状態数設定部１０２と、初期化処理部１０３と、隠れ変数変分確率計算処理部１０４と、モデルパラメータ最適化処理部１０５と、最適性判定処理部１０６と、最適モデル選択処理部１０７と、モデル推定結果出力装置１０８とを備える。モデル推定装置１００は、入力データ１１１を取得し、入力データ１１１における隠れ状態と、対応するモデルパラメータを最適化し、モデル推定結果１１２を出力する。
【００１８】
図１に示す構成の各要素は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の情報処理装置によって実現される。また、そのプログラムは、コンピュータが読み取り可能であって非一時的な情報記憶媒体に記憶される。
【００１９】
入力装置１０１は、入力データ１１１を取得するための装置であり、この際にモデル推定に必要なパラメータを同時に取得する。入力データ１１１は、隠れ状態数の候補、観測確率の種類（正規分布またはポアソン分布等）、コンポーネント数の候補等である。
【００２０】
隠れ状態数設定部１０２は、取得された隠れ状態数の候補値のうち、まだ最適化の行われていない隠れ状態数を選択し設定する。
【００２１】
初期化処理部１０３は、推定のための初期化処理を実施する。なお、初期化は任意の方法によって実行可能である。例としては、モデルパラメータをランダムに設定することや、制約付き隠れ変数変分確率をランダムに設定することが挙げられる。
【００２２】
隠れ変数変分確率計算処理部１０４は、取得したモデルパラメータを用いて制約付き隠れ変数変分確率を計算する。制約付き隠れ変数変分確率は、ある構造を制約とした隠れ変数の事後確率の近似値である。計算に用いられるモデルパラメータΘ、Φは、初期化処理部１０３が初期化した値、またはモデルパラメータ最適化処理部１０５が計算した値である。隠れ変数変分確率計算処理部１０４は、周辺化対数尤度関数の下界を、例えばジェンセンの不等式を用いて算出する。隠れ変数変分確率計算処理部１０４は、その下界を増加させ、ある与えられた分布に近づくような制約付き隠れ変数の変分確率q(Z)を算出する。
【００２３】
制約付き隠れ変数の変分確率q(Z)は、このように、与えられた分布に近づくように算出されるため、構造が制約された確率となる。なお、以下の説明において、制約付き隠れ変数変分確率を単に変分確率、または隠れ変数変分確率と記載する場合がある。また、周辺化対数尤度関数を単に周辺化対数尤度と記載する場合がある。
【００２４】
周辺化対数尤度関数の下界は、具体的には、式（２）のように表される。隠れ変数変分確率計算処理部１０４は、下界L(q,Θ,Φ)を増加させるq(Z)の存在範囲Q(t)を算出する。tは、隠れ変数変分確率計算処理部１０４、モデルパラメータ最適化処理部１０５、最適性判定処理部１０６の繰り返し計算における、繰り返しの数を表す。つまりq(t)は、t回目に算出された変分確率である。
【００２５】
【数２】
2015068330.tif 000004
【００２６】
隠れ変数変分確率計算処理部１０４は、例えば以下の手順でq(t)(Z)の算出を行う。隠れ変数変分確率計算処理部１０４は、周辺化対数尤度logp(X|Θ,Φ)とL(q,Θ,Φ)の差がq(Z)と隠れ変数の事後確率p(Z|X,Θ,Φ)とのKLダイバージェンスになることから式（３）に示すように解析解q(t)opt(Z)を算出する。
【００２７】
【数３】
2015068330.tif 000005
【００２８】
このq(t)opt(Z)とq(t-1)(Z)を端点とする線分がQ(t)の一部である。そして、隠れ変数変分確率計算処理部１０４は、式（４）のようにQ(t)の中から与えられた分布pconとの距離に関する関数Dを最小化させるものをq(t)(Z)として採用する。なお、与えられた分布は例えば隠れ変数の事前分布pz(Z|Φ)であり、Dは例えば２ノルムである。
【００２９】
【数４】
2015068330.tif 000006
【００３０】
図２は、隠れ変数変分確率計算処理部１０４の構成例を示すブロック図である。隠れ変数変分確率計算処理部１０４は、例えば、図２に示すように、変分問題解空間計算処理部１０４−１と制約付き変分問題計算処理部１０４−２とを備えていてもよい。隠れ変数変分確率計算処理部１０４は、入力データ１１１と推定モデル１０４−３を入力し、制約付き隠れ変数変分確率１０４−４を出力する。
【００３１】
隠れ変数変分確率計算処理部１０４が図２に示すように構成されている場合に変分問題解空間計算処理部１０４−１および制約付き変分問題計算処理部１０４−２が行う処理を、それぞれ説明する。まず、変分問題解空間計算処理部１０４−１は、入力データ１１１と推定モデル１０４−３を取得し、周辺化対数尤度の下界L(q,Θ,Φ)を増加させる隠れ変数変分確率の存在範囲Q(t)を算出する。そして、制約付き変分問題計算処理部１０４−２は、Q(t)の中から、あらかじめ与えられた分布pconに最も近い制約付き隠れ変数変分確率１０４−４（q(t)(Z)）を算出する。
【００３２】
モデルパラメータ最適化処理部１０５は、式（５）に示すように、算出された制約付き隠れ変数変分確率を用いて、各コンポーネントのモデルパラメータΘ、隠れ変数の事前分布のパラメータΦを最適化する。
【００３３】
【数５】
2015068330.tif 000007
【００３４】
最適性判定処理部１０６では、式（６）で計算される最適化されたモデルパラメータを用いた周辺化対数尤度logp(X|Θ,Φ)が収束しているかどうかを判定する。収束していない場合には、モデル推定装置１００は、隠れ変数変分確率計算処理部１０４、モデルパラメータ最適化処理部１０５および最適性判定処理部１０６の処理を繰り返す。
【００３５】
【数６】
2015068330.tif 000008
【００３６】
最適モデル選択処理部１０７は、隠れ変数変分確率計算処理部１０４、モデルパラメータ最適化処理部１０５および最適性判定処理部１０６の処理で算出される周辺化対数尤度logp(X|Θ,Φ)が、現在設定されているものよりも大きい場合には、その周辺化対数尤度logp(X|Θ,Φ)が示すモデルを最適なモデルとして設定する。すべての隠れ状態数Ｃの候補値についてのモデルの最適化が完了した場合には、処理がモデル推定結果出力装置１０８へ移り、まだ最適化の済んでいない候補が存在する場合には、隠れ状態数設定部１０２へ処理が移る。
【００３７】
モデル推定結果出力装置１０８は、最適化された隠れ変数変分確率およびモデルのパラメータなどを含むモデル推定結果をモデル推定結果１１２として出力する。
【００３８】
本実施形態のモデル推定装置１００は、隠れ変数変分確率計算処理部１０４、モデルパラメータ最適化処理部１０５および最適性判定処理部１０６の処理を繰り返し、構造を制約した変分確率とモデルパラメータを更新することにより、適切なモデルを選択することが可能となる。なお、この繰り返しによって、logp(X|Θ,Φ)が単調に増加することが保証される。
【００３９】
図３は、モデル推定装置の第１の実施形態の動作例を示すフローチャートである。以下、図３を参照して、本実施形態のモデル推定装置１００の動作の概略を説明する。
【００４０】
まず、データ入力装置１０１は、入力データ１１１を入力する（ステップＳ１００）。
【００４１】
次に、隠れ状態数設定部１０２は、取得された隠れ状態数の候補値のうち、まだ最適化の行われていない隠れ状態数を選択し設定する（ステップＳ１０１）。
【００４２】
次に、初期化処理部１０３は、指定された隠れ状態数に対して、推定のためパラメータや隠れ変数変分確率の初期化処理を実施する（ステップＳ１０２）。
【００４３】
次に、隠れ変数変分確率計算処理部１０４は、各隠れ変数の変分確率を計算する（ステップＳ１０３）。
【００４４】
次に、モデルパラメータ最適化処理部１０５は、モデルパラメータの推定を実施する（ステップＳ１０４）。
【００４５】
次に、最適性判定処理部１０６は、周辺化対数尤度logp(X|Θ,Φ)が収束したか（最適か）を判定する（ステップＳ１０５）。
【００４６】
ステップＳ１０５において、収束と判定されなかった場合には、モデル推定装置１００は、ステップＳ１０３からステップＳ１０５の処理を繰り返す。
【００４７】
ステップＳ１０５において収束したと判定された場合には、最適モデル選択処理部１０７は、現在設定されている最適なモデルの周辺化対数尤度logp(X|Θ,Φ)と、算出された最適なモデルの周辺化対数尤度log p(X|Θ,Φ)の値を比較し、値の大きい方を最適なモデルとして設定する（ステップＳ１０６）。
【００４８】
次に、モデル推定装置１００は、推定されていない隠れ状態数の候補が残っているかを判定する（ステップＳ１０７）。推定されていない隠れ状態数の候補が残っている場合には、モデル推定装置１００は、ステップＳ１０１からステップＳ１０７の処理を繰り返す。
【００４９】
推定されていない隠れ状態数の候補が残っていない場合には、モデル推定結果出力装置１０８は、最適化された変分確率およびモデルのパラメータを含むモデル推定結果１１２を出力する（ステップＳ１０８）。
【００５０】
図４は、隠れ変数変分確率計算処理部１０４の動作例を示すフローチャートである。図４を参照して、本実施形態の隠れ変数変分確率計算処理部１０４の動作の概略を説明する。
【００５１】
まず、変分問題解空間計算処理部１０４−１は、周辺化対数尤度の下界L(q,Θ,Φ)を増加させるq(Z)の存在範囲Q(t)を算出する（ステップＳ１１１）。
【００５２】
次に、制約付き変分問題計算処理部１０４−２は、そのQ(t)の中から、あらかじめ与えられた分布pconに最も近い制約付き隠れ変数変分確率q(t)(Z)を算出する（ステップＳ１１２）。
【００５３】
本実施形態のモデル推定装置１００は、隠れ変数の事後確率（制約付き隠れ変数変分確率）を推定する際に、ある分布に近いという制約を考慮する。これにより、モデル推定装置１００は、隠れ変数の構造が表現しやすい事後確率を算出することができ、結果としてモデル全体の推定精度を向上させることができる。
【００５４】
実施形態２．
第２の実施形態（実施形態２）では、深さ２の階層隠れ変数モデルの因子化ベイズ法による推定に関するモデル推定装置を説明する。本実施形態での階層隠れ変数モデルは、隠れ変数が階層隠れ構造（特に、木構造）を持つものである。その木構造の最下層のノードには、確率モデルであるコンポーネントを配し、各分岐ノードには入力に応じて分岐を振り分けるための関数である門関数が設けられている。特に、以下では深さ２の階層隠れ変数モデルについて具体的な説明を行う。なお、以下の説明ではデータ列xn(n=1,…,N)が入力されると仮定し、各xnがM次元多変量データ列xn=((x1)n  , …, (xM)n)であるとする。
【００５５】
次に、観測変数xnに対する第１層分岐隠れ変数(z1)n  、最下層分岐隠れ変数(zj|i)n  、最下層経路隠れ変数(zji)n  を定義する。(zi)n=1  は根ノードに入ったxn  が第１層第iノードへ分岐することを表し、(zi)n=0はそうではないことを表している。また、(zj|i)n=1  は、第１層第iノードに入ったxn  が第２層第ｊノードへ分岐することを表し、(zj|i)n  =0はそうではないことを表している。さらに(zij)n=1  は観測変数xn  が第１層第iノード、第２層第jノードを通ることで辿られるコンポーネントに対応することを表し、(zij)n=0  は、そうではないことを表している。なお、Σi (zi)n  =1、Σj (zj|i)n  =1、(zij)n  =(zi)n(zj|i)n  であり、これらより(zi)n  =Σj (zij)nが成り立つ。xと最下層経路隠れ変数の代表値zの組みは「完全変数」と呼ばれ（対比としてxは不完全変数と呼ぶ）、完全変数に関する深さ２の階層隠れ変数モデル同時分布は、式（７）中のP（x,z）=P（x, z1st, z2nd    ）として定義される。
【００５６】
【数７】
2015068330.tif 000009
【００５７】
式（７）では、(zi)n  の代表値を(zn1st)  、(zj|i)n  の代表値を(z2nd)n  としている。なお、第１層分岐隠れ変数(zi)n  についての変分確率をq(zi)nとし、最下層経路隠れ変数(zij)n  についての変分確率はq(znij)  とする。式（７）において、K1  は第１層のノード数、K2  は第１層のノードそれぞれから分岐するノード数であり、最下層のコンポーネントはK1・K2  と表される。また、θ＝（β, β1, …, βK1,φ1, …, φK1・K2  ）がモデルのパラメータを（βは根ノードの分岐パラメータ、βkは、第１層第kノードの分岐パラメータ、φkはk番目のコンポーネントに対する観測パラメータ）、S1, …, SK1・K2  がφkに対応する観測確率の種類を表すとする。なお、S1からSK1・K2  となりうる観測確率の候補は、例えば、多変量データの生成確率の場合には｛正規分布、対数正規分布、指数分布｝であったり、多項曲線出力の場合では、｛０次曲線、１次曲線、２次曲線、３次曲線｝であったりする。
【００５８】
なお、以下に示す具体例はすべて深さ２の階層隠れ変数モデルに対して説明をするが、深さが１や３以上の階層隠れ変数モデルに関しても同様の手順で式（７）〜（１５）を導出し、構成も同様にすることで容易に構成する事が可能である。同様に、本明細書の説明では、ターゲット変数をＸとした分布について説明しているが、観測分布が回帰や判別のように、条件付モデルＰ（Ｙ｜Ｘ）（Ｙはターゲットとなる確率変数）である場合に関しても適用可能である。
【００５９】
もし、階層隠れ変数の事後確率推定時に、複数段の門関数が表現しやすいという制約が考慮されていない場合、門関数の推定精度が悪化するという問題が発生する。この問題を解決するためには、本実施形態のモデル推定装置のように、門関数によって表現しやすいという制約のもと、階層隠れ変数の事後確率の推定を行う必要がある。
【００６０】
図５は、第２の実施形態におけるモデル推定装置２００の構成例を示すブロック図である。図５に示すように、本実施形態のモデル推定装置２００は、データ入力装置２０１と、階層隠れ構造設定部２０２と、初期化処理部２０３と、隠れ変数変分確率計算処理部２０４と、モデルパラメータ最適化処理部２０５と、門関数最適化処理部２０６と、最適性判定処理部２０７と、最適モデル選択処理部２０８と、モデル推定結果出力装置２０９とを備えている。モデル推定装置２００は、入力データ２１１を入力し、入力データ２１１に関して階層隠れ構造及び観測確率の種類を最適化し、モデル推定結果２１２として出力する。
【００６１】
入力装置２０１は、入力データ２１１を取得する。入力データ２１１は、観測確率の種類、コンポーネント数の候補、隠れ変数を表す階層隠れ構造の候補値など、モデル推定に必要なパラメータを含む。
【００６２】
階層隠れ構造設定部２０２は、取得された階層隠れ構造の候補値のうち、まだ最適化の行なわれていない階層隠れ構造を算出対象として選択し設定する。本実施形態における隠れ構造は木構造である。以下では、設定されたコンポーネント数をＣと表記する事とし、説明として用いる数式は深さが２の階層隠れ変数モデルを対象としたものとする。
【００６３】
初期化処理部２０３は、推定のための初期化処理を実施する。なお、初期化は任意の方法によって実行可能である。例えば、初期化処理部２０３は、観測確率の種類をコンポーネントごとにランダムに設定し、設定された種類にしたがって、各観測確率のパラメータをランダムに設定する。また、例えば、初期化処理部２０３は、階層隠れ変数の最下層経路変分確率をランダムに設定してもよい。
【００６４】
隠れ変数変分確率計算処理部２０４は、階層ごとに経路隠れ変数の変分確率を計算する。隠れ変数変分確率計算処理部２０４は、パラメータθとして、初期化処理部２０３またはモデルパラメータ最適化処理部２０５と門関数最適化処理部２０６が計算した値を利用する。隠れ変数変分確率計算処理部２０４は、周辺化対数尤度関数を完全変数に対する推定量（例えば最尤推定量や最大事後確率推定量）に関してラプラス近似し、その下界を増加させ、かつある与えられた分布に近づくような変分確率を算出する。以下では、増加させる下界の値を最適化基準Aと呼ぶ。
【００６５】
この手順を、深さが２の階層隠れ変数モデルを例に説明する。ここでは上付き(t)が、隠れ変数変分確率計算処理部２０４、モデルパラメータ最適化処理部２０５、門関数最適化処理部２０６、最適性判定処理部２０７の繰り返し計算における、(t)回目の繰り返しをあらわすとする。また、q''、q'、θを以下の式（８−１）〜（８−３）のように定義する。
【００６６】
【数８】
2015068330.tif 000010
【００６７】
まず、周辺化対数尤度の式（９）で示される下界について説明する。なお、式（９）において、最下層経路隠れ変数変分確率q（zN)を最大化した場合に等号が成立する。隠れ変数変分確率計算処理部２０４は、分子の完全変数の周辺化尤度を完全変数に対する最尤推定量を用いてラプラス近似する事で、周辺化対数尤度関数の近似式として式（１０）を得る。ただし、上付きのバーは完全変数に対する最尤推定量を、D＊  はパラメータ＊の次元を表す。
【００６８】
【数９】
2015068330.tif 000011
【００６９】
【数１０】
2015068330.tif 000012
【００７０】
次に、式（１０）式に対して最尤推定量が対数尤度関数を最大化する性質と、対数関数が凹関数である事を利用して、式（１０）の下界を式（１１）のように算出する。
【００７１】
【数１１】
2015068330.tif 000013
【００７２】
そして、隠れ変数変分確率計算処理部２０４は、式（１１）を増加させる最下層経路隠れ変数変分確率qzNの集合Q(t)を求め、それに含まれるものの中から、与えられた分布pconとの距離に関する関数Dを最小化させるものをq(t)として採用する。なお、隠れ変数変分確率計算処理部２０４は、たとえばqzN  に関して式（１１）を最大化させる変分問題の解析解qopt(t)を算出し、それとq(t-1)を端点とする線分としてQ(t)を求めることができる。
【００７３】
図６は、隠れ変数変分確率計算処理部２０４の一例を示すブロック図である。図６に示すように、隠れ変数変分確率計算処理部２０４は、例えば、変分問題解空間計算処理部２０４−１、制約付き最下層経路隠れ変数変分確率計算処理部２０４−２と、階層設定部２０４−３と、上層経路隠れ変数変分確率計算処理部２０４−４と、階層計算終了判定処理部２０４−５とを備える。隠れ変数変分確率計算処理部２０４は、入力データ２１１と、モデルパラメータ最適化処理部２０５で推定されたパラメータ（最初の処理である場合は初期化処理部２０３によって初期化されたパラメータ）による隠れ変数モデルである推定モデル２０４−６を入力し、階層隠れ変数変分確率２０４−７を出力する。
【００７４】
まず、変分問題解空間計算処理部２０４−１は、入力データ２１１と推定モデル２０４−６を入力することで、最適化基準Aを増加させる最下層経路隠れ変数変分確率の存在範囲Q(t)を算出する。
【００７５】
制約付き最下層経路隠れ変数変分確率計算処理部２０４−２は、Q(t)の中から与えられた分布pconに最も近いものを、最下層隠れ変数変分確率の更新値として用いる。
【００７６】
そして、階層設定部２０４−３は、経路隠れ変数変分確率の計算に用いる層を設定する。階層設定部２０４−３は、具体的には、直前の算出対象の層より一つ上の層を算出対象の層として設定する。
【００７７】
上層経路隠れ変数変分確率計算処理部２０４−４で同じ分岐ノードを親として持つ現在設定されている層の最下層隠れ変数変分確率の和をとり、それを一つ上層の経路隠れ変数変分確率とする。
【００７８】
そして、階層計算終了判定処理部２０４−５は、経路隠れ変数変分確率の算出が終了していない層が存在するかを確認することにより、計算を終了するかどうかを確認する。階層計算終了判定処理部２０４−５は、具体的には、直前に経路隠れ変数変分確率の算出がされた層より上の層が存在するかどうか確認する。存在する場合、階層設定部２０４−３は、一つ上の層を設定する。そして、上層経路隠れ変数変分確率計算処理部２０４−４と階層計算終了判定処理部２０４−５の処理が繰り返される。現在の算出対象の層より上の層が存在しなければ、階層計算終了判定処理部２０４−５は、すべての階層で経路隠れ変数変分確率が算出できたと判定する。
【００７９】
モデルパラメータ最適化処理部２０５は、式（１１）に関して各コンポーネントのモデル（パラメータθおよびその種類S）を最適化する。深さが２の階層隠れ変数モデルでは、モデルパラメータ最適化処理部２０５は、式（１１）をqおよびq”,q’を階層隠れ変数変分確率算出部２０４が算出した最下層経路隠れ変数変分確率q(t)と式（１２）に示す上層経路隠れ変数変分確率に固定し、gを最大化するモデルを算出する。
【００８０】
【数１２】
2015068330.tif 000014
【００８１】
この処理において重要な点は、式（１１）によって定義されたgはコンポーネントごとに最適化の関数を分解することが可能なため、コンポーネント種類の組合せ(S1からSK1・K2  がどの種類を指定するか)を考慮することなく、S1からSK1・K2  及びパラメータφ1からφK1・K2  を別々に最適化する事が可能な点である。これによって、コンポーネントの種類を最適化する際に、組み合わせ爆発を回避して最適化を実行する事が可能となる。
【００８２】
図７は、門関数最適化処理部２０６の一例を示すブロック図である。門関数最適化処理部２０６は、分岐ノード情報取得部２０６−１と、分岐ノード選択処理部２０６−２と、分岐パラメータ最適化処理部２０６−３と、全分岐ノード最適化終了判定処理部２０６−４とを備える。門関数最適化処理部２０６は、入力データ２１１と、隠れ変数変分確率計算処理部２０４で算出された階層隠れ変数変分確率２０４−７と、モデルパラメータ最適化処理部２０５で推定されたパラメータ（最初の処理である場合は初期化処理部２０３によって初期化されたパラメータ）による推定モデル２０４−６とを入力し、門関数モデル２０６−６を出力する。
【００８３】
まず、分岐ノード情報取得部２０６−１は、モデルパラメータ最適化処理部２０５で最適化されたパラメータによる隠れ変数モデルの推定モデル２０４−６における、分岐ノードを示す情報を取得することによりすべての分岐ノードを把握する。分岐ノード選択処理部２０６−２は、その分岐ノードのうち最適化する対象の分岐ノードを１つ選ぶ。そして、分岐パラメータ最適化処理部２０６−３は、入力データ２１１と階層隠れ変数変分確率２０４−７から得た選択ノードに関する隠れ変数変分確率を用いて、選択されたノードの分岐パラメータを最適化する。
【００８４】
そして、全分岐ノード最適化終了判定処理部２０６−４は、分岐ノード情報取得部が取得した分岐ノードがすべて最適化されたかどうかを判定する。門関数最適化処理部２０６は、分岐ノードがすべて最適化されていれば処理を終了し、すべて最適化されていなければ、分岐ノード選択処理部２０６−２へと処理を移す。
【００８５】
門関数の具体例として、２分木の階層モデルに対するベルヌーイ分布を基としたものについて説明する。xの第d次元をxdとし、この値がある閾値w  を超えないとき、２分木の左下へ行く確率をg-  、閾値w  を超えるとき、２分木の左下へ行く確率をg+  とする。分岐パラメータ最適化処理部２０６−３は、上記の最適化パラメータd, w, g-, g+  をベルヌーイ分布に基づいて最適化する。
【００８６】
最適性判定処理部２０７は、式（１１）で計算される最適化基準Aが収束したかどうかを判定する。収束していない場合には、モデル推定装置２００は、隠れ変数変分確率計算処理部２０４から最適性判定処理部２０７の処理を繰り返す。
【００８７】
隠れ変数変分確率計算処理部２０４から最適性判定処理部２０７の処理を繰り返し、変分確率とモデルを更新する事で、適切なモデルを選択する事が可能となる。なお、この繰り返しによって最適化基準Aが単調に増加する事が保証される。
【００８８】
最適モデル選択処理部２０８は、隠れ変数変分確率計算処理部２０４から最適性判定処理部２０７の処理で算出される最適化基準Aが、現在設定されている最適化基準Aよりも大きい場合には、そのモデルを最適なモデルとして設定する。全ての候補値についてモデルの最適化が完了した場合には、処理がモデル推定結果出力装置２０９へ移る。まだ最適化の済んでいない候補が存在する場合には、階層隠れ構造設定部２０２へ処理が移る。その場合、階層隠れ構造設定部２０２は、新たな階層隠れ変数モデルの構造を設定する。
【００８９】
モデル推定結果出力装置２０９は、最適な隠れ状態数、観測確率の種類、パラメータ、変分確率などをモデル推定結果２１２として出力する。
【００９０】
図８は、本実施形態のモデル推定装置の動作の一例を示すフローチャートである。図８を参照して、本実施形態のモデル推定装置２００の動作を説明する。
【００９１】
まず、データ入力装置２０１は、入力データ２１１を取得する（ステップＳ２００）。
【００９２】
次に、階層隠れ構造設定部２０２は、取得された階層隠れ構造の候補値のうち、まだ最適化の行なわれていない階層隠れ構造を選択し設定する（ステップＳ２０１）。
【００９３】
次に、初期化処理部２０３は、指定された階層隠れ構造に対して、推定のためパラメータや隠れ変数変分確率の初期化処理を実施する（ステップＳ２０２）。
【００９４】
次に、隠れ変数変分確率計算処理部２０４は、階層ごとに経路隠れ変数の変分確率を計算する（ステップＳ２０３）。
【００９５】
次に、モデルパラメータ最適化処理部２０５は、各コンポーネントに関する観測確率の種類とパラメータの最適化を実施する（ステップＳ２０４）。
【００９６】
次に、門関数最適化処理部２０６は、各門関数の最適化を実施する（ステップＳ２０５）。すなわち、門関数最適化処理部２０６は、各分岐ノードにおける分岐パラメータの最適化を実施する。
【００９７】
次に、最適性判定処理部２０７は、最適化基準Aが収束したかを判定する（ステップＳ２０６）。
【００９８】
モデル推定装置２００は、ステップＳ２０６において、収束したと判定されなかった場合には、ステップＳ２０３からステップＳ２０６の処理を繰り返す。
【００９９】
ステップＳ２０６において収束したと判定された場合には、最適モデル選択処理部２０８は、現在設定されている最適なモデル（現在設定されているコンポーネント数、観測確率の種類、パラメータ）における最適化基準Aと、現在設定されている最適なモデルの最適化基準Aの値を比較し、最適化基準Aの値の大きいモデルを最適なモデルとして設定する（ステップＳ２０７）。
【０１００】
次に、モデル推定装置２００は、推定されていない階層隠れ構造の候補が残っているかを判定する（ステップＳ２０８）。モデル推定装置２００は、残っている場合には、ステップＳ２０１からステップＳ２０８の処理を繰り返す。残っていない場合には、モデル推定結果を出力し、処理を完了する（ステップＳ２０９）。
【０１０１】
図９は、隠れ変数変分確率計算処理部２０４の動作の一例を示すフローチャートである。以下、図９を参照して、本実施形態に関する隠れ変数変分確率計算処理部２０４の動作を説明する。
【０１０２】
まず、変分問題解空間計算処理部２０４−１は、最適化基準Aを増加させる最下層経路隠れ変数変分確率の存在範囲を算出する（ステップＳ２１１）。
【０１０３】
次に、制約付き最下層経路隠れ変数変分確率計算処理部２０４−２は、最適化基準Aを増加させる隠れ変数変分確率の存在範囲を算出し、その中から、与えられた分布pconに最も近い制約付き最下層経路隠れ変数変分確率を設定する（ステップＳ２１２）。
【０１０４】
次に、階層設定部２０４−３は、経路隠れ変数変分確率の計算に用いる階層を設定する（ステップＳ２１３）。
【０１０５】
次に、上層経路隠れ変数変分確率計算処理部２０４−４は、設定した階層での経路隠れ変数変分確率を用いて、１つ上層の経路隠れ変数変分確率を算出する（ステップＳ２１４）。
【０１０６】
次に、階層計算終了判定処理部２０４−５は、経路隠れ変数が算出されていない階層が残っているかを判定する（ステップＳ２１５）。
【０１０７】
算出されていない階層が残っている場合には、隠れ変数変分確率計算処理部２０４は、ステップＳ２１３からステップＳ２１５の処理を繰り返す。残っていない場合には、処理を完了する。
【０１０８】
図１０は、門関数最適化処理部２０６の動作の一例を示すフローチャートである。図１０を用いて、本実施形態に関する門関数最適化処理部２０６は、概略以下のように動作する。
【０１０９】
まず、分岐ノード情報取得部２０６−１は、すべての分岐ノードを把握する（ステップＳ２２１）。
【０１１０】
次に、分岐ノード選択処理部２０６−２は、最適化の対象となる分岐ノードを１つ設定する（ステップＳ２２２）。
【０１１１】
次に、分岐パラメータ最適化処理部２０６−３は、選択した分岐ノードにおける分岐パラメータの最適化を実施する（ステップＳ２２３）。
【０１１２】
次に、全分岐ノード最適化終了判定処理部２０６−４は、最適化されていない分岐ノードが残っているかを判定する（ステップＳ２２４）。残っている場合には、門関数最適化処理部２０６は、ステップＳ２２２からステップＳ２２４の処理を繰り返す。残っていない場合には、門関数最適化処理部２０６は、処理を完了する。
【０１１３】
本実施形態のモデル推定装置２００は、第１の実施形態のモデル推定装置と同様に、隠れ変数の事後確率（制約付き隠れ変数変分確率）を推定（算出）する際に、ある分布に近いという制約を考慮する。さらに、モデル推定装置２００は、門関数最適化処理部２０６を有することにより制約付き隠れ変数変分確率を算出する際に、複数段の門関数が表現しやすいという制約が考慮されている。これにより、モデル推定装置２００は、隠れ変数の構造が表現しやすい事後確率を算出することができ、結果としてモデル全体の推定精度を向上させることができる。
【０１１４】
（実施例）
以下では、本実施形態のモデル推定装置２００の応用例について、ビル電力の需要履歴分析を例に説明する。
【０１１５】
本実施形態のモデル推定装置２００は、ビルに設置された複数のセンサから取得される多変量データと消費電力の関係を、例えば「平日と休日」のような複数の異なる状況ごとに分解することが可能である。また、モデル推定装置２００は、温度が「ある温度以上」ならば特定の関係に移るなど、得られた複数の関係の切り替え則も推定することができる。
【０１１６】
電力供給の過不足を解消するための消費電力予測を考えた場合、複数の関係を推定することと同様に、複数の関係をどう切り替えていくかの推定も極めて重要である。例えば、気温、時間帯、曜日を説明変数とし、一時間後の消費電力量を目的変数とした多項回帰式を想定し、これらを各コンポーネントに据えた階層隠れ変数モデルを考える。このとき、推定すべきモデルは、階層隠れ構造、回帰パラメータ（φk）、最下層経路隠れ変数変分分布（q）である。
【０１１７】
まず、データ入力装置２０１は、説明変数と目的変数のデータとともに、階層隠れ構造の候補としてそれぞれ異なる階層構造（木構造）を示す情報を複数個取得する。初期化処理部２０３は、取得した木構造を順に設定する。次に、初期化処理部２０３は、初期化処理として、設定した階層隠れ構造に対し回帰次数及びその他のパラメータをランダムに設定する。次に、隠れ変数変分確率計算処理部２０４、モデルパラメータ最適化処理部２０５、門関数最適化処理部２０６、最適性判定処理部２０７が、モデルの推定を行う。
【０１１８】
本実施形態のモデル推定装置２００は、この処理を通じて、例えば出社時間である９時頃を表す説明変数の回帰係数が大きいものや、時間帯を表すパラメータの回帰係数が比較的小さいなど、異なる状況を表現する複数の回帰モデルとその切り替え則を自動的に得ることができる。さらに、モデル推定装置２００は、最適モデル選択処理部２０８が、どのような階層隠れ構造が最も良いかを自動選択するため、例えばビルに応じて異なる消費電力のパタン数を、自動的に検出し、適切な数の関係及びその切り替え則をモデル化することが可能である。
【０１１９】
図１１は、本発明によるモデル推定装置の主要部の構成を示すブロック図である。図１１に示すように、本発明によるモデル装置は、主要な構成要素として、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出する隠れ変数変分確率計算処理部１０４と、制約付き隠れ変数変分確率を用いて、隠れ変数モデルのパラメータの最適化を行うモデルパラメータ最適化処理部１０５と、最適化されたパラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定する最適性判定処理部１０６とを備え、周辺化対数尤度関数が収束していないと判定された場合に、隠れ変数変分確率計算処理部１０４が、最適化されたパラメータを用いて制約付き隠れ変数変分確率を再度、算出し、モデルパラメータ最適化処理部１０５が、算出された当該制約付き隠れ変数変分確率を用いて隠れ変数モデルのパラメータの最適化を再度行い、周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた制約付き隠れ変数変分確率とパラメータとを出力する。
【０１２０】
また、本実施形態のモデル推定装置には、以下の（１）〜（６）のモデル推定装置も開示されている。
【０１２１】
（１）隠れ変数変分確率計算処理部（例えば、隠れ変数変分確率計算処理部１０４）は、周辺化対数尤度関数の下界を増加させる制約付き隠れ変数変分確率の存在範囲を算出する変分問題解空間計算処理部（例えば、変分問題解空間計算処理部１０４−１）と、存在範囲の中から、あらかじめ与えられた分布に近い制約付き隠れ変数変分確率を算出する制約付き変分問題計算処理部（例えば、制約付き変分問題計算処理部１０４−２）とを含むモデル推定装置。
【０１２２】
（２）モデル推定装置は、隠れ変数モデルにおける隠れ状態の数の候補、隠れ変数のパラメータを取得する入力装置（例えば、入力装置１０１）と、隠れ状態の数を、取得された隠れ状態の数の候補から選択して設定する隠れ状態数設定部（例えば、隠れ状態数設定部１０２）と、パラメータおよび制約付き隠れ変数変分確率を初期化する初期化処理部（例えば、初期化処理部１０３）と、現在設定されている周辺化対数尤度関数より、モデルパラメータ最適化処理部により最適化されたパラメータに基づく周辺化対数尤度関数が大きい場合、当該周辺化対数尤度関数が示すモデルを最適なモデルとして設定する最適モデル選択処理部（例えば、最適モデル選択処理部１０７）と、最適なモデルの制約付き隠れ変数変分確率およびパラメータを含むモデル推定結果を出力するモデル推定結果出力装置（例えば、モデル推定結果出力装置１０８）とを備え、最適化が済んでいない隠れ状態数の候補が存在する場合に、隠れ状態数設定部が、最適化が済んでいない隠れ状態数の候補を隠れ状態数として設定し、初期化処理部は、パラメータおよび制約付き隠れ変数変分確率を再度、初期化し、隠れ変数変分確率計算処理部が、再度、制約付き隠れ変数変分確率を算出し、モデルパラメータ最適化処理部が、再度、隠れ変数モデルのパラメータの最適化を行い、最適性判定処理部が、再度、周辺化対数尤度関数が収束しているかどうか判定する。
【０１２３】
（３）モデル推定装置は、隠れ変数を表し複数の階層を有する階層隠れ構造における分岐ノードのパラメータを最適化する門関数最適化処理部（例えば、門関数最適化処理部２０６）を備え、隠れ変数変分確率計算処理部（例えば、隠れ変数変分確率計算処理部２０４）は、観測変数と隠れ変数モデルを構成するコンポーネントとの対応関係を示す経路隠れ変数の変分確率である経路隠れ変数変分確率を階層毎に算出し、モデルパラメータ最適化処理部（例えば、モデルパラメータ最適化処理部２０５）は、隠れ変数モデルにおける観測確率の種類を取得し、隠れ変数モデルの各コンポーネントのパラメータおよび観測確率の種類の最適化を行い、最適性判定処理部（例えば、最適性判定処理部２０７）は、最適化されたパラメータおよび観測確率の種類を用いた辺化対数尤度関数の下界である最適化基準が収束しているかどうかを判定する。
【０１２４】
（４）モデル推定装置は、隠れ変数変分確率計算処理部（例えば、隠れ変数変分確率計算処理部２０４）は、最適化基準を増加させる最下層の経路隠れ変数変分確率の存在範囲を算出する変分問題解空間計算処理部（例えば、変分問題解空間計算処理部２０４−１）と、最下層の経路隠れ変数変分確率の存在範囲の中から、あらかじめ与えられた分布に最も近いものを、最下層の経路隠れ変数変分確率の更新値とする制約付き最下層経路隠れ変数変分確率計算処理部（例えば、制約付き最下層経路隠れ変数変分確率計算処理部２０４−２）と、直前の算出対象の層より一つ上の層を算出対象の層として設定する階層設定部（例えば、階層設定部２０４−３）と、現在の算出対象の層のうち親ノードが同じ分岐ノードである最下層の制約付き隠れ変数変分確率の和をとり、それを一つ上層の経路隠れ変数変分確率とする上層経路隠れ変数変分確率計算処理部（例えば、上層経路隠れ変数変分確率計算処理部２０４−４）と、経路隠れ変数変分確率の算出が終了していない層が存在するかを確認することにより、計算を終了するかどうかを確認する階層計算終了判定処理部（例えば、階層計算終了判定処理部２０４−５）とを含む。
【０１２５】
（５）モデル推定装置は、門関数最適化処理部（例えば、門関数最適化処理部２０６）は、最適化されたパラメータによる隠れ変数モデルにおける分岐ノードを示す情報を取得する分岐ノード情報取得部（例えば、分岐ノード情報取得部２０６−１）と、取得された分岐ノードのうち最適化する対象の分岐ノードを選択する分岐ノード選択処理部（例えば、分岐ノード選択処理部２０６−２）と、隠れ変数変分確率計算処理部により算出された経路隠れ変数変分確率を用いて、選択された分岐ノードの分岐パラメータを最適化する分岐パラメータ最適化処理部（例えば、分岐パラメータ最適化処理部２０６−３）と、取得された分岐ノードがすべて最適化されたかどうかを判定する全分岐ノード最適化終了判定処理部（例えば、全分岐ノード最適化終了判定処理部２０６−４）とを含む。
【０１２６】
（６）モデル推定装置は、隠れ変数を表す階層隠れ構造の候補、観測確率の種類、コンポーネント数の候補を含む隠れ変数モデルのパラメータを取得する入力装置（例えば、入力装置２０１）と、階層隠れ構造の候補のうちの一つの候補を選択し設定する階層隠れ構造設定部（例えば、階層隠れ構造設定部２０２）と、観測確率の種類、観測確率のパラメータ、隠れ変数、および隠れ変数の最下層の経路隠れ変数変分確率の初期化を行う初期化処理部（例えば、初期化処理部２０３）と、現在設定されている最適化基準より、モデルパラメータ最適化処理部により最適化されたパラメータに基づく最適化基準が大きい場合、当該パラメータに基づく周辺化対数尤度関数が示すモデルを最適なモデルとして設定する最適モデル選択処理部（例えば、最適モデル選択処理部２０８）と、最適なモデルにおける制約付き隠れ変数変分確率およびパラメータを含むモデル推定結果を出力するモデル推定結果出力装置（例えば、モデル推定結果出力装置２０９）とを備え、最適化が済んでいない階層隠れ構造の候補が存在する場合に、階層隠れ構造設定部が、最適化が済んでいない階層隠れ構造の候補を算出対象の階層隠れ構造として設定し、初期化処理部が、再度、初期化を行い、隠れ変数変分確率計算処理部が、再度、経路隠れ変数変分確率を算出し、モデルパラメータ最適化処理部が、再度、隠れ変数モデルの各コンポーネントのパラメータおよび観測確率の種類の最適化を行い、最適性判定処理部が、周辺化対数尤度関数の下界である最適化基準が収束しているかどうかを判定する。
【０１２７】
（７）コンピュータが読み取り可能で非一時的な情報記憶媒体であって、情報処理装置に実行された場合に、隠れ変数モデルにおけるパラメータを取得し、当該パラメータを用いて、あらかじめ与えられた分布に近い隠れ変数の事後確率である制約付き隠れ変数変分確率を算出し、前記制約付き隠れ変数変分確率を用いて、前記隠れ変数モデルのパラメータの最適化を行い、最適化された前記パラメータを用いた周辺化対数尤度関数が収束しているかどうかを判定し、前記周辺化対数尤度関数が収束していないと判定された場合に、最適化された前記パラメータを用いて制約付き隠れ変数変分確率を再度、算出し、算出された当該制約付き隠れ変数変分確率を用いて前記隠れ変数モデルのパラメータの最適化を再度行い、前記周辺化対数尤度関数が収束していると判定された場合に、当該周辺化対数尤度関数に用いた前記制約付き隠れ変数変分確率と前記パラメータとを出力する方法を実行するためのモデル推定プログラムを記憶することを特徴とする情報記憶媒体。
【０１２８】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２９】
この出願は、２０１３年１１月５日に出願された米国仮出願（U.S. Patent Application No.61/900,085）を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１３０】
本発明は、多変量データによる電力需要等のデータ分析に適用できる。
【符号の説明】
【０１３１】
１００，２００  モデル推定装置
１０１，２０１  データ入力装置
１０２  隠れ状態数設定部
１０３，２０３  初期化処理部
１０４，２０４  隠れ変数変分確率計算処理部
１０５，２０５  モデルパラメータ最適化処理部
１０６  最適性判定処理部
１０７  最適モデル選択処理部
１０８  モデル推定結果出力装置
２０２  階層隠れ構造設定部
２０６  門関数最適化処理部
２０７  最適性判定処理部
２０８  最適モデル選択処理部
２０９  モデル推定結果出力装置
【図１】
2015068330.tif 000015
【図２】
2015068330.tif 000016
【図３】
2015068330.tif 000017
【図４】
2015068330.tif 000018
【図５】
2015068330.tif 000019
【図６】
2015068330.tif 000020
【図７】
2015068330.tif 000021
【図８】
2015068330.tif 000022
【図９】
2015068330.tif 000023
【図１０】
2015068330.tif 000024
【図１１】
2015068330.tif 000025
【国際調査報告】
2015068330.tif 000026
2015068330.tif 000027
2015068330.tif 000028
2015068330.tif 000029