(57)【要約】  階層隠れ構造設定部８１は、隠れ変数が木構造で表わされ、その木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定する。変分確率計算部８２は、階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する。コンポーネント最適化部８３は、算出された変分確率に対してコンポーネントを最適化する。門関数最適化部８４は、階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、そのノードにおける隠れ変数の変分確率に基づいて最適化する。
2016509271.tif 000002
【特許請求の範囲】
【請求項１】
多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル推定装置であって、
隠れ変数が木構造で表わされ、当該木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定する階層隠れ構造設定部と、
前記階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算部と、
算出された変分確率に対して前記コンポーネントを最適化するコンポーネント最適化部と、
前記階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、当該ノードにおける隠れ変数の変分確率に基づいて最適化する門関数最適化部とを備えた
ことを特徴とする階層隠れ変数モデル推定装置。
【請求項２】
算出された変分確率が所定の閾値以下である経路をモデルから除外することにより階層隠れ構造を最適化する階層隠れ構造最適化部を備えた
請求項１記載の階層隠れ変数モデル推定装置。
【請求項３】
門関数最適化部は、
階層隠れ構造から除外されていない経路の分岐ノードである有効分岐ノードを当該階層隠れ構造のノードから選別する有効分岐ノード選別部と、
前記有効分岐ノードにおける隠れ変数の変分確率に基づいて門関数モデルを最適化する門関数最適化並列処理部とを含み、
前記門関数最適化並列処理部は、前記有効分岐ノードに関する各分岐パラメータの最適化を並列に処理する
請求項２記載の階層隠れ変数モデル推定装置。
【請求項４】
階層隠れ構造設定部は、隠れ変数が２分木構造で表わされる階層隠れ構造を設定し、
門関数最適化部は、ノードにおける隠れ変数の変分確率に基づいて、ベルヌーイ分布を基とした門関数モデル最適化する
請求項１から請求項３のうちのいずれか１項に記載の階層隠れ変数モデル推定装置。
【請求項５】
変分確率計算部は、最下層の経路隠れ変数とコンポーネントのパラメータとに基づいて算出される最適化基準を最大にするように、最下層の経路隠れ変数の変分確率を計算し、計算された層の経路隠れ変数の変分確率の和を、より上層の経路隠れ変数の変分確率として一階層ごとに計算する
請求項１から請求項４のうちのいずれか１項に記載の階層隠れ変数モデル推定装置。
【請求項６】
多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル方法であって、
隠れ変数が木構造で表わされ、当該木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定し、
前記階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算し、
算出された変分確率に対して前記コンポーネントを最適化し、
前記階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、当該ノードにおける隠れ変数の変分確率に基づいて最適化する
ことを特徴とする階層隠れ変数モデル推定方法。
【請求項７】
算出された変分確率が所定の閾値以下である経路をモデルから除外することにより階層隠れ構造を最適化する
請求項６記載の階層隠れ変数モデル推定方法。
【請求項８】
多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル推定プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
コンピュータに、
隠れ変数が木構造で表わされ、当該木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定する階層隠れ構造設定処理、
前記階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算処理、
算出された変分確率に対して前記コンポーネントを最適化するコンポーネント最適化処理、および、
前記階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、当該ノードにおける隠れ変数の変分確率に基づいて最適化する門関数最適化処理
を実行させるための階層隠れ変数モデルの推定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項９】
コンピュータに、
算出された変分確率が所定の閾値以下である経路をモデルから除外することにより階層隠れ構造を最適化する階層隠れ構造最適化処理
を実行させる推定プログラムを記録した請求項８記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル推定装置、階層隠れ変数モデル推定方法および多変量データに対する階層隠れ変数モデルの推定プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
自動車から取得されるセンサデータ、販売店の売上実績、電力需要履歴などに代表されるデータは、様々な要因によって観測され、蓄積されるデータである。例えば、自動車から取得されるセンサデータは、走行モードによって変化する。すなわち、これらのデータは、１つの要因ではなく、様々な要因から生じた観測値として蓄積される。
【０００３】
このようなデータが生じる要因を分析することは、産業上の重要な場面に応用できる。例えば、自動車の故障原因を解析して、素早い修理につなげることが可能になる。また、天候や時間帯と売上との相関を分析して、欠品や在庫を減らすことも可能になる。また、電力需要のパターンを知ることで、電力の過不足をなくすことも可能になる。
【０００４】
さらに、複数の要因がどのように切り替わるか分析できれば、要因ごとに得られた知見を組みわせて予測することが可能になる。また、切り替え則自体もマーケティングの知見になるため、より高度な場面に応用できる。
【０００５】
上述する複数の要因から生じたデータを要因ごとに分離するため、モデル化の際には、一般に混合隠れ変数モデルが用いられる。上述する切り替え則も含めたモデルとして、階層隠れ変数モデルが提案されている（例えば、非特許文献１参照）。
【０００６】
これらのモデルを利用するためには、隠れ状態数、観測確率分布の種類、及び分布パラメータを決定する必要がある。隠れ状態数と観測確率分布の種類がわかっている場合には、例えば、非特許文献２に記載されたExpectation Maximization法を利用してパラメータを推定できる。そのため、隠れ状態数と観測確率分布の種類をどのように決定するかが重要になる。
【０００７】
隠れ状態数や観測確率の種類を決定する問題は、一般的に「モデル選択問題」や「システム同定問題」と呼ばれ、信頼性のあるモデルを構築するために極めて重要な問題である。そのため、隠れ状態数や観測確率の種類を決定する方法が各種提案されている。
【０００８】
隠れ状態数を決定する方法として、例えば、変分ベイズ法によって、変分自由エネルギーを最大化する方法が提案されている（例えば、非特許文献３参照）。また、隠れ状態数を決定する方法として、他にも、階層Dirichlet 過程事前分布を用いたノンパラメトリックベイズ法が提案されている（例えば、非特許文献４参照）。
【０００９】
また、非特許文献５には、隠れ変数モデルの代表例である混合モデルに対して、完全周辺尤度関数を近似して、その下界（下限）を最大化することで、観測確率の種類を決定する方法が記載されている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】C.Bisho., Svenskn, M. Bayesian hierarchical mixtures of experts. Proceedings of the Nineteenth conference on Uncertainty in Artificial Intelligence, p.57-64, 2002.
【非特許文献２】C. Bishop, Pattern Recognition and Machine Learning, Springer, p.423-459, 2007.
【非特許文献３】Beal, M. J. Variational Algorithms for Approximate Bayesian Inference. PhD thesis, University College London, May 2003.
【非特許文献４】van Gael, J., Saatci, Y, Teh, Y.-W., and Ghahramani, Z.Beam sampling for the infinite hidden Markov model. In ICML, 2008.
【非特許文献５】Ryohei Fujimaki, Satoshi Morinaga: Factorized Asymptotic Bayesian Inference for Mixture Modeling. Proceedings of the the fifteenth international conference on Artificial Intelligence and Statistics (AISTATS), March 2012.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
一方、変分ベイズ法によって変分自由エネルギーを最大化する方法では、周辺化尤度関数の下界を最大化する際に、変分分布上における隠れ状態と分布パラメータの独立性が仮定される。そのため、周辺化尤度の近似精度が悪くなるという問題がある。
【００１２】
また、階層Dirichlet 過程事前分布を用いたノンパラメトリックベイズ法では、モンテカルロ法に基づく最適化アルゴリズムが知られているが、計算量が非常に大きくなるという問題がある。
【００１３】
また、これら２つの方法で観測確率の種類を決定することは、計算量の問題で事実上不可能である。以下、この計算量の問題を、観測確率分布が混合多項式曲線の場合を例に説明する。なお、隠れ状態については、以下の議論には影響しないため、説明を省略する。
【００１４】
ある隠れ状態に対する観測が多項式曲線の場合、観測確率の種類を決定するためには、１次曲線（直線）、２次曲線、３次曲線など、曲線の次数を正しく選ぶ必要がある。一般的な方法を用いた場合、例えば、隠れ状態数が３で直線と２次曲線が２つ、隠れ状態数が５で３次曲線が３つと４次曲線が２つ、などのように、全てのモデルの候補に対して情報量基準を計算する必要がある。
【００１５】
しかし、このモデルの候補の数は、探索すべきモデルの複雑さと共に指数的に増加する。例えば、隠れ状態数が１０で曲線の最大次数が１０の場合、候補の数は約十万通りになり、隠れ状態数が２０で曲線の最大次数が２０の場合、候補の数は数百億通りになる。したがって、一般的な方法による計算は、事実上困難である。
【００１６】
なお、非特許文献１に記載された階層隠れ変数モデルは、変分ベイズ法によって変分自由エネルギーを最大化する方法を用いて推定するモデルであり、やはり、計算することは、事実上困難である。
【００１７】
また、非特許文献５に記載された方法を用いたとしても、階層的な隠れ変数を含むモデルのモデル選択問題は解決できないという問題がある。その理由は、非特許文献５に記載された方法は、階層的な隠れ変数を考慮していないため、自明には計算手順を構築できないからである。また、非特許文献５に記載された方法は、階層的な隠れ変数がある場合には適用できないという強い仮定に基づいているため、この方法を単純に適用した場合には理論的正当性を失ってしまうからである。
【００１８】
そこで、本発明は、階層的な隠れ変数を含む階層隠れ変数モデルのモデル選択問題を解決できるとともに、理論的正当性を失うことなく適切な計算量で階層隠れ変数モデルを推定できる階層隠れ変数モデルの推定装置、階層隠れ変数モデルの推定方法および階層隠れ変数モデルの推定プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明による階層隠れ変数モデル推定装置は、多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル推定装置であって、隠れ変数が木構造で表わされ、その木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定する階層隠れ構造設定部と、階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算部と、算出された変分確率に対してコンポーネントを最適化するコンポーネント最適化部と、階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、そのノードにおける隠れ変数の変分確率に基づいて最適化する門関数最適化部とを備えたことを特徴とする。
【００２０】
本発明による階層隠れ変数モデル推定方法は、多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル方法であって、隠れ変数が木構造で表わされ、その木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定し、階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算し、算出された変分確率に対してコンポーネントを最適化し、階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、そのノードにおける隠れ変数の変分確率に基づいて最適化することを特徴とする。
【００２１】
本発明による記録媒体は、多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル推定プログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに、隠れ変数が木構造で表わされ、その木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定する階層隠れ構造設定処理、階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算処理、算出された変分確率に対してコンポーネントを最適化するコンポーネント最適化処理、および、階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、そのノードにおける隠れ変数の変分確率に基づいて最適化する門関数最適化処理を実行させるための階層隠れ変数モデルの推定プログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、階層的な隠れ変数を含む階層隠れ変数モデルのモデル選択問題を解決できるとともに、理論的正当性を失うことなく適切な計算量で階層隠れ変数モデルを推定できる。
【図面の簡単な説明】
【００２３】
【図１】本発明による階層隠れ変数モデル推定装置の第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態の階層隠れ変数変分確率計算部の構成例を示すブロック図である。
【図３】第１の実施形態の門関数最適化部の構成例を示すブロック図である。
【図４】第１の実施形態の階層隠れ変数モデル推定装置の動作例を示すフローチャートである。
【図５】第１の実施形態の階層隠れ変数変分確率計算部の動作例を示すフローチャートである。
【図６】第１の実施形態の門関数最適化部の動作例を示すフローチャートである。
【図７】本発明による階層隠れ変数モデル推定装置の第２の実施形態の構成例を示すブロック図である。
【図８】第２の実施形態の階層隠れ構造最適化部の構成例を示すブロック図である。
【図９】第２の実施形態の階層隠れ変数モデル推定装置の動作例を示すフローチャートである。
【図１０】第２の実施形態の階層隠れ構造最適化部の動作例を示すフローチャートである。
【図１１】第３の実施形態の門関数最適化部の構成例を示すブロック図である。
【図１２】第３の実施形態の門関数最適化部の動作例を示すフローチャートである。
【図１３】本発明による階層隠れ変数モデル推定装置の概要を示すブロック図である。
【発明を実施するための形態】
【００２４】
本発明において、階層隠れ変数モデルとは、隠れ変数（すなわち、階層構造）が木構造を持つものである。その木構造の最下層のノードには、確率モデルであるコンポーネントが配される。また、各分岐ノードには、入力に応じて分岐を振り分ける門関数が設けられている。以下の説明では、特に深さ２の階層隠れ変数モデルについて具体的な説明を行う。
【００２５】
また、階層構造は木構造を想定しているため、根ノードからあるノードまでの道筋は一つに決定される。以下、階層隠れ構造において根ノードからあるノードまで結んだときの道筋（リンク）のことを経路と記す。また、経路ごとに隠れ変数を辿ることで、経路隠れ変数が決定される。例えば、最下層経路隠れ変数とは、根ノードから最下層ノードまでの経路ごとに決定される経路隠れ変数を示す。
【００２６】
また、以下の説明では、データ列ｘｎ（ｎ＝１，・・・，Ｎ）が入力されると仮定し、各ｘｎがＭ次元多変量データ列（ｘｎ＝ｘ１ｎ，・・・，ｘＭｎ）であるとする。また、データ列ｘｎのことを観測変数と記すこともある。観測変数ｘｎに対する第１層分岐隠れ変数ｚｉｎ、最下層分岐隠れ変数ｚｊ｜ｉｎ、最下層経路隠れ変数ｚｉｊｎを定義する。
【００２７】
ｚｉｎ＝１は、根ノードに入力されたｘｎが第１層第ｉノードへ分岐することを表し、ｚｉｎ＝０は、第１層第ｉノードへは分岐しないことを表している。ｚｊ｜ｉｎ＝１は、第１層第ｉノードに入力されたｘｎが第２層第ｊノードへ分岐することを表し、ｚｊ｜ｉｎ＝０は、第１層第ｉノードに入力されたｘｎが第２層第ｊノードへは分岐しないことを表している。ｚｉｊｎ＝１は、ｘｎが第１層第ｉノード、第２層第ｊノードを通ることで辿られるコンポーネントに対応することを表し、ｚｉｊｎ＝０は、ｘｎが第１層第ｉノード、第２層第ｊノードを通ることで辿られるコンポーネントに対応しないことを表している。
【数１】
2016509271.tif 000003
【００２８】
ｚｉｎｚｊ｜ｉｎは、ｚｉｎとｚｊ｜ｉｎの積を表わす。ｘと、最下層経路隠れ変数ｚｉｊｎの代表値ｚとの組みは、「完全変数」と呼ばれる。一方、対比として、ｘは、「不完全変数」と呼ばれる。
【００２９】
完全変数に関する深さ２の階層隠れ変数モデル同時分布は、以下に示す式１で表わされる。
【００３０】
【数２】
2016509271.tif 000004
【００３１】
すなわち、完全変数に関する深さ２の階層隠れ変数モデル同時分布は、上記に示す式１に含まれるＰ（ｘ，ｙ）＝Ｐ（ｘ，ｚ１ｓｔ，ｚ２ｎｄ）で定義される。ここでは、ｚｉｎの代表値をｚ１ｓｔｎとし、ｚｊ｜ｉｎの代表値をｚ２ｎｄｎとする。なお、第１層分岐隠れ変数ｚｉｎに対する変分分布をｑ（ｚｉｎ）とし、最下層経路隠れ変数ｚｉｊｎに対する変分分布をｑ（ｚｉｊｎ）とする。
【００３２】
上記の式１において、Ｋ１は、第１層のノード数を表わし、Ｋ２は、第１層のノードそれぞれから分岐するノード数を表わす。最下層のコンポーネントは、Ｋ１Ｋ２で表わされる。なお、Ｋ１Ｋ２は、Ｋ１とＫ２の積を表わす。また、ｆ＝（ｂ，ｂ１,・・・, ｂＫ１,ｈ１,・・・,ｈＫ１Ｋ２）が、モデルのパラメータを表わすとする。ただし、ｂは、根ノードの分岐パラメータであり、ｂｋは、第１層第ｋノードの分岐パラメータであり、ｈｋは、ｋ番目のコンポーネントに対する観測パラメータである。
【００３３】
また、Ｓ１,・・・,ＳＫ１Ｋ２は、ｈｋに対応する観測確率の種類を表すとする。なお、例えば、多変量データの生成確率の場合、Ｓ１〜ＳＫ１Ｋ２になり得る候補は、｛正規分布、対数正規分布、指数分布｝などである。また、例えば、多項曲線が出力される場合、Ｓ１〜ＳＫ１Ｋ２になり得る候補は、｛０次曲線、１次曲線、２次曲線、３次曲線｝などである。
【００３４】
なお、以下の説明では、具体的な例を説明する場合、深さ２の階層隠れ変数モデルを例示して説明する。ただし、本発明により推定される階層隠れ変数モデルは、深さ２の階層隠れ変数モデルに限定されず、深さが１や３以上の階層隠れ変数モデルであってもよい。この場合も、深さ２の階層隠れ変数モデルの場合と同様に、上記に示す式１や、後述する式２〜４を導出すればよく、同様の構成により推定装置が実現される。
【００３５】
また、以下の説明では、ターゲット変数をＸとした場合の分布について説明する。ただし、観測分布が回帰や判別のように、条件付モデルＰ（Ｙ｜Ｘ）（Ｙはターゲットとなる確率変数）である場合についても、本発明を同様に適用可能である。
【００３６】
また、本発明の実施形態を説明する前に、本発明の推定装置と、非特許文献５に記載された混合隠れ変数モデルに対する推定方法との本質的な違いを説明する。
【００３７】
非特許文献５に記載された方法では、隠れ変数を各コンポーネントのインジケータとする一般的な混合モデルが想定され、最適化の基準が、非特許文献５の式１０に示すように導出される。しかし、フィッシャー情報行列が非特許文献５の式６の形式で与えられているように、非特許文献５に記載された方法では、コンポーネントのインジケータである隠れ変数の確率分布が混合モデルの混合比にのみ依存すると仮定されている。そのため、入力に応じたコンポーネントの切り替えが実現できず、この最適化基準は、適切でない。
【００３８】
この問題を解決するためには、本発明の実施形態で示すように、階層的な隠れ変数を設定し、適切な最適化基準を用いて計算する必要がある。本発明では、適切な最適化基準として、入力に応じて各分岐ノードでの分岐を振り分ける多段の特異モデルを想定する。
【００３９】
以下、本発明の実施形態を図面を参照して説明する。
【００４０】
実施形態１．
図１は、本発明による階層隠れ変数モデル推定装置の第１の実施形態の構成例を示すブロック図である。本実施形態の階層隠れ変数モデル推定装置１００は、データ入力装置１０１と、階層隠れ構造設定部１０２と、初期化部１０３と、階層隠れ変数変分確率計算部１０４と、コンポーネント最適化部１０５と、門関数最適化部１０６と、最適性判定部１０７と、最適モデル選択部１０８と、モデル推定結果出力装置１０９とを備えている。
【００４１】
階層隠れ変数モデル推定装置１００は、入力データ１１１が入力されると、その入力データ１１１に対して階層隠れ構造及び観測確率の種類を最適化し、最適化した結果をモデル推定結果１１２として出力する。
【００４２】
図２は、第１の実施形態の階層隠れ変数変分確率計算部１０４の構成例を示すブロック図である。階層隠れ変数変分確率計算部１０４は、最下層経路隠れ変数変分確率計算部１０４−１と、階層設定部１０４−２と、上層経路隠れ変数変分確率計算部１０４−３と、階層計算終了判定部１０４−４を含む。
【００４３】
階層隠れ変数変分確率計算部１０４は、入力データ１１１と、後述するコンポーネント最適化部１０５で推定されたモデル１０４−５が入力されると、階層隠れ変数変分確率１０４−６を出力する。なお、階層隠れ変数変分確率計算部１０４の詳細な説明は後述される。
【００４４】
図３は、第１の実施形態の門関数最適化部１０６の構成例を示すブロック図である。門関数最適化部１０６は、分岐ノード情報取得部１０６−１と、分岐ノード選択部１０６−２と、分岐パラメータ最適化部１０６−３と、全分岐ノード最適化終了判定部１０６−４とを含む。
【００４５】
門関数最適化部１０６は、入力データ１１１と、後述する階層隠れ変数変分確率計算部１０４で算出された階層隠れ変数変分確率１０４−６と、コンポーネント最適化部１０５で推定されたモデル１０４−５が入力されると、門関数モデル１０６−６を出力する。なお、門関数最適化部１０６の詳細な説明は後述される。
【００４６】
データ入力装置１０１は、入力データ１１１を入力するための装置である。データ入力装置１０１は、入力データ１１１を入力する際、観測確率の種類やコンポーネント数の候補など、モデル推定に必要なパラメータを同時に入力する。
【００４７】
階層隠れ構造設定部１０２は、入力された観測確率の種類やコンポーネント数の候補から、最適化の候補になる階層隠れ変数モデルの構造を選択し、設定する。本発明で用いられる隠れ構造は、木構造である。以下では、設定されたコンポーネント数をＣと表わすものとし、説明に用いられる数式は、深さが２の階層隠れ変数モデルを対象としたものとする。なお、階層隠れ構造設定部１０２は、選択された階層隠れ変数モデルの構造を内部のメモリに記憶するようにしてもよい。
【００４８】
例えば、２分木モデル（各分岐ノードから２つに分岐するモデル）で木構造の深さを２とした場合、階層隠れ構造設定部１０２は、第一階層ノードが２つ、第二階層ノード（本実施形態では、最下層ノード）が４つの階層隠れ構造を選択する。
【００４９】
初期化部１０３は、階層隠れ変数モデルを推定するための初期化処理を実施する。初期化部１０３は、初期化処理を任意の方法によって実行可能である。初期化部１０３は、例えば、観測確率の種類をコンポーネントごとにランダムに設定し、設定された種類にしたがって、各観測確率のパラメータをランダムに設定してもよい。また、初期化部１０３は、階層隠れ変数の最下層経路変分確率をランダムに設定してもよい。
【００５０】
階層隠れ変数変分確率計算部１０４は、階層ごとに経路隠れ変数の変分確率を計算する。ここでは、パラメータｆは、初期化部１０３、または、コンポーネント最適化部１０５および門関数最適化部１０６で計算されている。そのため、階層隠れ変数変分確率計算部１０４は、そのパラメータｆを利用して変分確率を計算する。
【００５１】
階層隠れ変数変分確率計算部１０４は、周辺化対数尤度関数を完全変数に対する推定量（例えば、最尤推定量や最大事後確率推定量）に関してラプラス近似し、その下界を最大化することによって変分確率を算出する。以下、このように算出される値を最適化基準Ａと呼ぶ。
【００５２】
最適化基準Ａは、具体的には、最下層経路隠れ変数とコンポーネントのパラメータが与えられると算出できる値である。以下、最適化基準Ａを算出する手順を、深さが２の階層隠れ変数モデルを例に説明する。周辺化対数尤度は、以下に示す式２で表わされる。
【００５３】
【数３】
2016509271.tif 000005
【００５４】
まず、上記に示す式２で表わされる周辺化対数尤度の下界を考える。式２において、 最下層経路隠れ変数変分確率ｑ（ｚＮ）を最大化することで等号が成立する。ここで、分子の完全変数の周辺化尤度を完全変数に対する最尤推定量を用いてラプラス近似すると、以下の式３に示す周辺化対数尤度関数の近似式が得られる。
【００５５】
【数４】
2016509271.tif 000006
【００５６】
式３において、上付きのバーは、完全変数に対する最尤推定量を表わし、Ｄ＊は、下付きパラメータ＊の次元を表す。
【００５７】
次に、最尤推定量が対数尤度関数を最大化する性質と、対数関数が凹関数であることを利用すると、式３の下界は、以下に示す式４のように算出される。ここでは、以下に例示する式４により算出される値が、最適化基準Ａに相当する。
【００５８】
【数５】
2016509271.tif 000007
【００５９】
第１層分岐隠れ変数の変分分布ｑ’及び、最下層経路隠れ変数の変分分布ｑ’’は、それぞれの変分分布について式４を最大化することで得られる。なお、ここでは、ｑ’’＝ｑ（ｔ−１）、ｆ＝ｆ（ｔ−１）に固定し、ｑ’を以下の式Ａに示す値に固定する。
【００６０】
【数６】
2016509271.tif 000008
【００６１】
ただし、上付き（ｔ）は、階層隠れ変数変分確率計算部１０４、コンポーネント最適化部１０５、門関数最適化部１０６、最適性判定部１０７の繰り返し計算におけるｔ回目の繰り返しを表わす。
【００６２】
次に、図２を参照して、階層隠れ変数変分確率計算部１０４の動作を説明する。
最下層経路隠れ変数変分確率計算部１０４−１は、入力データ１１１と推定モデル１０４−５を入力し、最下層隠れ変数変分確率ｑ（ｚＮ）を算出する。階層設定部１０４−２は、変分確率を計算する対象が最下層であることを設定する。
【００６３】
上層経路隠れ変数変分確率計算部１０４−３は、一つ上の層の経路隠れ変数変分確率を算出する。具体的には、上層経路隠れ変数変分確率計算部１０４−３は、同じ分岐ノードを親として持つ現在の層の隠れ変数変分確率の和を算出し、その値を一つ上の層の経路隠れ変数変分確率とする。
【００６４】
階層計算終了判定部１０４−４は、変分確率を計算する層が上にまだ存在するか否か判定する。上の層が存在すると判定された場合、階層設定部１０４−２は、変分確率を計算する対象に一つ上の層を設定する。以降、上層経路隠れ変数変分確率計算部１０４−３および階層計算終了判定部１０４−４は、上述する処理を繰り返す。一方、上の層が存在しないと判定された場合、階層計算終了判定部１０４−４は、すべての階層で経路隠れ変数変分確率が算出されたと判定する。
【００６５】
コンポーネント最適化部１０５は、上記の式４に対して各コンポーネントのモデル（パラメータｆおよびその種類Ｓ）を最適化し、最適化したモデル１０４−５を出力する。深さが２の階層隠れ変数モデルの場合、コンポーネント最適化部１０５は、ｑおよびｑ’’を階層隠れ変数変分確率計算部１０４で算出された最下層経路隠れ変数変分確率ｑ（ｔ）に固定し、ｑ’を上記の式Ａに示す上層経路隠れ変数変分確率に固定する。そして、コンポーネント最適化部１０５は、式４に示すＧの値を最大化するモデルを算出する。
【００６６】
上記の式４により定義されたＧは、コンポーネントごとに最適化関数を分解することが可能である。そのため、コンポーネントの種類の組み合わせ（例えば、Ｓ１〜ＳＫ１Ｋ２のどの種類を指定するか）を考慮することなく、Ｓ１〜ＳＫ１Ｋ２及びパラメータｈ１〜からｈＫ１Ｋ２を別々に最適化できる。このように最適化できる点が、この処理において重要な点である。これにより、組み合わせ爆発を回避してコンポーネントの種類を最適化できる。
【００６７】
次に、図３を参照して、門関数最適化部１０６の動作を説明する。分岐ノード情報取得部１０６−１は、コンポーネント最適化部１０５で推定されたモデル１０４−５を用いて分岐ノードのリストを抽出する。分岐ノード選択部１０６−２は、抽出された分岐ノードのリストの中から分岐ノードを１つ選択する。以下、選択されたノードのことを選択ノードと記すこともある。
【００６８】
分岐パラメータ最適化部１０６−３は、入力データ１１１と、階層隠れ変数変分確率１０４−６から得られる選択ノードに関する隠れ変数変分確率とを用いて、選択ノードの分岐パラメータを最適化する。なお、選択ノードの分岐パラメータが、上述する門関数に対応する。
【００６９】
全分岐ノード最適化終了判定部１０６−４は、分岐ノード情報取得部１０６−１によって抽出されたすべての分岐ノードが最適化されたか否かを判定する。すべての分岐ノードが最適化されている場合、門関数最適化部１０６は、ここでの処理を終了する。一方、すべての分岐ノードが最適化されていない場合、分岐ノード選択部１０６−２による処理が行われ、以降、分岐パラメータ最適化部１０６−３および全分岐ノード最適化終了判定部１０６−４が同様に行われる。
【００７０】
ここで、門関数の具体例を、２分木の階層モデルに対するベルヌーイ分布を基としたものを例に説明する。以下、ベルヌーイ分布を基とした門関数をベルヌーイ型門関数と記すこともある。ここでは、ｘの第ｄ次元をｘｄとし、この値がある閾値ｗを超えないときに２分木の左下へ分岐する確率をｇ−とし、閾値ｗを超えるときに２分木の左下へ分岐する確率をｇ＋とする。分岐パラメータ最適化部１０６−３は、上記の最適化パラメータｄ、ｗ、ｇ−、ｇ＋をベルヌーイ分布に基づいて最適化する。これは、非特許文献１に記載されたロジット関数に基づくものと異なり、各パラメータが解析解を持つため、より高速な最適化が可能である。
【００７１】
最適性判定部１０７は、上記の式４を用いて計算される最適化基準Ａが収束したか否かを判定する。収束していない場合、階層隠れ変数変分確率計算部１０４、コンポーネント最適化部１０５、門関数最適化部１０６および最適性判定部１０７による処理が繰り返される。最適性判定部１０７は、例えば、最適化基準Ａの増分が所定の閾値未満であるときに、最適化基準Ａが収束したと判定してもよい。
【００７２】
以降、階層隠れ変数変分確率計算部１０４、コンポーネント最適化部１０５、門関数最適化部１０６および最適性判定部１０７による処理をまとめて、階層隠れ変数変分確率計算部１０４から最適性判定部１０７による処理と記すこともある。階層隠れ変数変分確率計算部１０４から最適性判定部１０７による処理が繰り返され、変分分布とモデルが更新されることで、適切なモデルを選択できる。なお、これらの処理を繰り返すことにより、最適化基準Ａが単調に増加することが保証される。
【００７３】
最適モデル選択部１０８は、最適なモデルを選択する。具体的には、階層隠れ構造設定部１０２で設定された隠れ状態数Ｃに対して、階層隠れ変数変分確率計算部１０４から最適性判定部１０７による処理で算出される最適化基準Ａが、現在設定されている最適化基準Ａよりも大きい場合、最適モデル選択部１０８は、そのモデルを最適なモデルとして選択する。
【００７４】
モデル推定結果出力装置１０９は、入力された観測確率の種類やコンポーネント数の候補から設定される階層隠れ変数モデルの構造の候補についてモデルの最適化が完了した場合、最適な隠れ状態数、観測確率の種類、パラメータ、変分分布などをモデル推定結果出力結果１１２として出力する。一方、最適化の済んでいない候補が存在する場合、階層隠れ構造設定部１０２へ処理が移され、上述する処理が同様に行われる。
【００７５】
階層隠れ構造設定部１０２と、初期化部１０３と、階層隠れ変数変分確率計算部１０４（より詳しくは、最下層経路隠れ変数変分確率計算部１０４−１と、階層設定部１０４−２と、上層経路隠れ変数変分確率計算部１０４−３と、階層計算終了判定部１０４−４）と、コンポーネント最適化部１０５と、門関数最適化部１０６（より詳しくは、分岐ノード情報取得部１０６−１と、分岐ノード選択部１０６−２と、分岐パラメータ最適化部１０６−３と、全分岐ノード最適化終了判定部１０６−４）と、最適性判定部１０７と、最適モデル選択部１０８とは、プログラム（階層隠れ変数モデルの推定プログラム）に従って動作するコンピュータのＣＰＵによって実現される。
【００７６】
例えば、プログラムは、階層隠れ変数モデル推定装置１００の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、階層隠れ構造設定部１０２、初期化部１０３、階層隠れ変数変分確率計算部１０４（より詳しくは、最下層経路隠れ変数変分確率計算部１０４−１と、階層設定部１０４−２と、上層経路隠れ変数変分確率計算部１０４−３と、階層計算終了判定部１０４−４）、コンポーネント最適化部１０５、門関数最適化部１０６（より詳しくは、分岐ノード情報取得部１０６−１と、分岐ノード選択部１０６−２と、分岐パラメータ最適化部１０６−３と、全分岐ノード最適化終了判定部１０６−４）、最適性判定部１０７および最適モデル選択部１０８として動作してもよい。
【００７７】
また、階層隠れ構造設定部１０２と、初期化部１０３と、階層隠れ変数変分確率計算部１０４と、コンポーネント最適化部１０５と、門関数最適化部１０６と、最適性判定部１０７と、最適モデル選択部１０８とは、それぞれが専用のハードウェアで実現されていてもよい。
【００７８】
次に、本実施形態の階層隠れ変数モデル推定装置の動作を説明する。図４は、本実施形態の階層隠れ変数モデル推定装置の動作例を示すフローチャートである。
【００７９】
まず、データ入力装置１０１は、入力データ１１１を入力する（ステップＳ１００）。次に、階層隠れ構造設定部１０２は、入力された階層隠れ構造の候補値のうち、まだ最適化の行なわれていない階層隠れ構造を選択し、設定する（ステップＳ１０１）。次に、初期化部１０３は、設定された階層隠れ構造に対して、推定に用いられるパラメータや隠れ変数変分確率の初期化処理を行う（ステップＳ１０２）。
【００８０】
次に、階層隠れ変数変分確率計算部１０４は、各経路隠れ変数の変分確率を計算する（ステップＳ１０３）。次に、コンポーネント最適化部１０５は、各コンポーネントについて、観測確率の種類とパラメータを推定してコンポーネントを最適化する（ステップＳ１０４）。
【００８１】
次に、門関数最適化部１０６は、各分岐ノードにおける分岐パラメータを最適化する（ステップＳ１０５）。次に、最適性判定部１０７は、最適化基準Ａが収束したか否かを判定する（ステップＳ１０６）。すなわち、最適性判定部１０７は、モデルの最適性を判定する。
【００８２】
ステップＳ１０６において、最適化基準Ａが収束したと判定されなかった場合、すなわち、最適ではないと判定された場合（ステップＳ１０６ａにおけるＮｏ）、ステップＳ１０３からステップＳ１０６の処理が繰り返される。
【００８３】
一方、ステップＳ１０６において、最適化基準Ａが収束したと判定された場合、すなわち、最適であると判定された場合（ステップＳ１０６ａにおけるＹｅｓ）、最適モデル選択部１０８は、現在設定されている最適なモデル（例えば、コンポーネント数、観測確率の種類、パラメータ）による最適化基準Ａと、今回の処理で最適化されたモデルによる最適化基準Ａの値を比較し、値の大きいモデルを最適なモデルとして選択する（ステップＳ１０７）。
【００８４】
次に、最適モデル選択部１０８は、推定されていない階層隠れ構造の候補が残っているか否かを判定する（ステップＳ１０８）。候補が残っている場合（ステップＳ１０８におけるＹｅｓ）、ステップＳ１０２からステップＳ１０８の処理が繰り返される。一方、候補が残っていない場合（ステップＳ１０８におけるＮｏ）、モデル推定結果出力装置１０９は、モデル推定結果を出力し、処理を完了させる（ステップＳ１０９）。
【００８５】
次に、本実施形態の階層隠れ変数変分確率計算部１０４の動作を説明する。図５は、本実施形態の階層隠れ変数変分確率計算部１０４の動作例を示すフローチャートである。
【００８６】
まず、最下層経路隠れ変数変分確率計算部１０４−１は、最下層経路隠れ変数変分確率を算出する（ステップＳ１１１）。次に、階層設定部１０４−２は、どの層まで経路隠れ変数を算出したか設定する（ステップＳ１１２）。次に、上層経路隠れ変数変分確率計算部１０４−３は、階層設定部１０４−２によって設定された層での経路隠れ変数変分確率を用いて、１つ上の層の経路隠れ変数変分確率を算出する（ステップＳ１１３）。
【００８７】
次に、階層計算終了判定部１０４−４は、経路隠れ変数が算出されていない層が残っているか否かを判定する（ステップＳ１１４）。経路隠れ変数が算出されていない層が残っている場合（ステップＳ１１４におけるＮｏ）、ステップＳ１１２からステップＳ１１３の処理が繰り返される。一方、経路隠れ変数が算出されていない層が残っていない場合、階層隠れ変数変分確率計算部１０４は、処理を完了させる。
【００８８】
次に、本実施形態の門関数最適化部１０６の動作を説明する。図６は、本実施形態の門関数最適化部１０６の動作例を示すフローチャートである。
【００８９】
まず、分岐ノード情報取得部１０６−１は、すべての分岐ノードを把握する（ステップＳ１２１）。次に、分岐ノード選択部１０６−２は、最適化の対象とする分岐ノードを１つ選択する（ステップＳ１２２）。次に、分岐パラメータ最適化部１０６−３は、選択された分岐ノードにおける分岐パラメータを最適化する（ステップＳ１２３）。
【００９０】
次に、全分岐ノード最適化終了判定部１０６−４は、最適化されていない分岐ノードが残っているか否かを判定する（ステップＳ１２４）。最適化されていない分岐ノードが残っている場合、ステップＳ１２２からステップＳ１２３の処理が繰り返される。一方、最適化されていない分岐ノードが残っていない場合、門関数最適化部１０６は、処理を完了させる。
【００９１】
以上のように、本実施形態によれば、階層隠れ構造設定部１０２が、階層隠れ構造を設定する。なお、階層隠れ構造は、隠れ変数が木構造で表わされ、その木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である。
【００９２】
そして、階層隠れ変数変分確率計算部１０４が、経路隠れ変数の変分確率を計算する。階層隠れ変数変分確率計算部１０４は、木構造の階層ごとに隠れ変数の変分確率を最下層のノードから順に計算してもよい。階層隠れ変数変分確率計算部１０４は、例えば、与えられたパラメータに基づいて最適化基準Ａを最大にする最下層経路隠れ変数変分確率を計算し、さらに、変分確率の和を算出する式を用いて、より上層の経路隠れ変数変分確率を一階層ごとに順に算出してもよい。例えば、以下である。
【数７】
2016509271.tif 000009
【００９３】
そして、コンポーネント最適化部１０５が、算出された変分確率に対してコンポーネントを最適化し、門関数最適化部１０６が、階層隠れ構造のノードにおける隠れ変数の変分確率に基づいて門関数モデルを最適化する。なお、門関数モデルとは、階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである。
【００９４】
以上のような構成によって多変量データに対する階層隠れ変数モデルを推定するため、理論的正当性を失うことなく適切な計算量で階層的な隠れ変数を含む階層隠れ変数モデルを推定でき、かつ、階層隠れ変数モデルのモデル選択問題も解決できる。
【００９５】
また、階層隠れ構造設定部１０２が、隠れ変数が２分木構造で表わされる階層隠れ構造を設定し、門関数最適化部１０６が、ノードにおける隠れ変数の変分確率に基づいて、ベルヌーイ分布を基とした門関数モデル最適化してもよい。この場合、各パラメータが解析解を持つため、より高速な最適化が可能になる。
【００９６】
実施形態２．
図７は、本発明による階層隠れ変数モデル推定装置の第２の実施形態の構成例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態の階層隠れ変数モデル推定装置２００は、階層隠れ変数モデル推定装置１００と比較して、階層隠れ構造最適化部２０１が接続され、最適モデル選択部１０８が接続されていない点でのみ相違する。
【００９７】
また、第１の実施形態では、階層隠れ変数モデル推定装置１００が、階層隠れ構造の候補に対してコンポーネントや門関数のモデルを最適化し、最適化基準Ａを最大化する階層隠れ構造を選択する。一方、本実施形態の階層隠れ変数モデル推定装置２００では、階層隠れ変数変分確率計算部１０４による処理の後、階層隠れ構造最適化部２０１により、隠れ変数が小さくなった経路がモデルから除去される処理が追加されている。
【００９８】
図８は、第２の実施形態の階層隠れ構造最適化部２０１の構成例を示すブロック図である。階層隠れ構造最適化部２０１は、経路隠れ変数和演算部２０１−１と、経路除去判定部２０１−２と、経路除去実行部２０１−３とを含む。
【００９９】
経路隠れ変数和演算部２０１−１は、階層隠れ変数変分確率１０４−６を入力し、各コンポーネントにおける最下層経路隠れ変数変分確率の和（以下、サンプル和と記す）を算出する。
【０１００】
経路除去判定部２０１−２は、サンプル和が所定の閾値ｅ以下であるか否かを判定する。ここで、ｅは、入力データ１１１と共に入力される閾値である。具体的には、経路除去判定部２０１−２が判定する条件は、例えば、以下の式５で表わすことができる。
【０１０１】
【数８】
2016509271.tif 000010
【０１０２】
すなわち、経路除去判定部２０１−２は、各コンポーネントにおける最下層経路隠れ変数変分確率ｑ（ｚｉｊｎ）が上記の式５で表わされる基準を満たすか否かを判定する。言い換えると、経路除去判定部２０１−２は、サンプル和が十分小さいか否かを判定しているとも言える。
【０１０３】
経路除去実行部２０１−３は、サンプル和が十分小さいと判定された経路の変分確率を０とする。そして、経路除去実行部２０１−３は、残りの経路（すなわち、０にしなかった経路）に対して正規化した最下層経路隠れ変数変分確率を用いて、各階層での階層隠れ変数変分確率１０４−６を再計算し、出力する。
【０１０４】
この処理の正当性を説明する。以下に例示する式６は、繰り返し最適化におけるｑ（ｚｉｊｎ）の更新式である。
【０１０５】
【数９】
2016509271.tif 000011
【０１０６】
上記に示す式６において、指数部に負の項が含まれ、その前の処理で算出されたｑ（ｚｉｊｎ）がその項の分母に存在する。したがって、この分母の値が小さければ小さいほど最適化されたｑ（ｚｉｊｎ）の値も小さくなるため、小さい経路隠れ変数変分確率が繰り返し計算されることによって、徐々に小さくなっていくことが示される。
【０１０７】
なお、階層隠れ構造最適化部２０１（より詳しくは、経路隠れ変数和演算部２０１−１と、経路除去判定部２０１−２と、経路除去実行部２０１−３）は、プログラム（階層隠れ変数モデルの推定プログラム）に従って動作するコンピュータのＣＰＵによって実現される。
【０１０８】
次に、本実施形態の階層隠れ変数モデル推定装置２００の動作を説明する。図９は、本実施形態の階層隠れ変数モデル推定装置２００の動作例を示すフローチャートである。
【０１０９】
まず、データ入力装置１０１は、入力データ１１１を入力する（ステップＳ２００）。次に、階層隠れ構造設定部１０２は、階層隠れ構造として隠れ状態数の初期状態を設定する（ステップＳ２０１）。
【０１１０】
すなわち、第１の実施形態では、コンポーネント数に対して複数個の候補をすべて実行することで最適解を探索していた。一方、本実施形態では、コンポーネント数も最適化できるため、一度の処理で階層隠れ構造の最適化が可能になっている。よって、ステップＳ２０１では、第１の実施形態におけるステップＳ１０２で示すように複数の候補から最適化が実行されていないものを選ぶのではなく、隠れ状態数の初期値を一度設定するだけでよい。
【０１１１】
次に、初期化部１０３は、設定された階層隠れ構造に対して、推定に用いられるパラメータや隠れ変数変分確率の初期化処理を行う（ステップＳ２０２）。
【０１１２】
次に、階層隠れ変数変分確率計算部１０４は、各経路隠れ変数の変分確率を計算する（ステップＳ２０３）。次に、階層隠れ構造最適化部２０１は、コンポーネント数を推定することで、階層隠れ構造を最適化する（ステップＳ２０４）。すなわち、コンポーネントは各最下層ノードに配されているため、階層隠れ構造が最適化されると、コンポーネント数も最適化されることになる。
【０１１３】
次に、コンポーネント最適化部１０５は、各コンポーネントについて、観測確率の種類とパラメータを推定してコンポーネントを最適化する（ステップＳ２０５）。次に、門関数最適化部１０６は、各分岐ノードにおける分岐パラメータを最適化する（ステップＳ２０６）。次に、最適性判定部１０７は、最適化基準Ａが収束したか否かを判定する（ステップＳ２０７）。すなわち、最適性判定部１０７は、モデルの最適性を判定する。
【０１１４】
ステップＳ２０７において、最適化基準Ａが収束したと判定されなかった場合、すなわち、最適ではないと判定された場合（ステップＳ２０７ａにおけるＮｏ）、ステップＳ２０３からステップＳ２０７の処理が繰り返される。
【０１１５】
一方、ステップＳ１０６において、最適化基準Ａが収束したと判定された場合、すなわち、最適であると判定された場合（ステップＳ２０７ａにおけるＹｅｓ）、モデル推定結果出力装置１０９は、モデル推定結果を出力し、処理を完了させる（ステップＳ２０８）。
【０１１６】
次に、本実施形態の階層隠れ構造最適化部２０１の動作を説明する。図１０は、本実施形態の階層隠れ構造最適化部２０１の動作例を示すフローチャートである。
【０１１７】
まず、経路隠れ変数和演算部２０１−１は、経路隠れ変数のサンプル和を算出する（ステップＳ２１１）。次に、経路除去判定部２０１−２は、算出したサンプル和が十分小さいか否か判定する（ステップＳ２１２）。次に、経路除去実行部２０１−３は、サンプル和が十分小さいと判定された最下層経路隠れ変数変分確率を０として再計算した階層隠れ変数変分確率を出力し、処理を完了させる（ステップＳ２１３）。
【０１１８】
以上のように、本実施形態では、階層隠れ構造最適化部２０１が、算出された変分確率が所定の閾値以下である経路をモデルから除外することにより階層隠れ構造を最適化する。
【０１１９】
このような構成にすることで、第１の実施形態の効果に加え、階層隠れ変数モデル推定装置１００のように複数の階層隠れ構造の候補に対して最適化をする必要がなく、一回の実行処理でコンポーネント数も最適化できる。そのため、コンポーネント数、観測確率の種類とパラメータ、変分分布を同時に推定し、計算コストを抑えることが可能になる。
【０１２０】
実施形態３．
次に、本発明による階層隠れ変数モデル推定装置の第３の実施形態を説明する。本実施形態の階層隠れ変数モデル推定装置は、階層隠れ変数モデル推定装置２００と比較して、門関数最適化部１０６が門関数最適化部１１３に置き換わったという点でのみ相違する。
【０１２１】
図１１は、第３の実施形態の門関数最適化部１１３の構成例を示すブロック図である。門関数最適化部１１３は、有効分岐ノード選別部１１３−１と、分岐パラメータ最適化並列処理部１１３−２を含む。
【０１２２】
有効分岐ノード選別部１１３−１は、階層隠れ構造から有効な分岐ノードのみを選別する。具体的には、有効分岐ノード選別部１１３−１は、コンポーネント最適化部１０５で推定されたモデル１０４−５を用い、モデルから除去された経路を考慮することで、有効な分岐ノードのみを選別する。すなわち、有効な分岐ノードとは、階層隠れ構造から除去されていない経路上の分岐ノードを意味する。
【０１２３】
分岐パラメータ最適化並列処理部１１３−２は、有効な分岐ノードに関する分岐パラメータの最適化処理を並列に行い、門関数モデル１０６−６を出力する。具体的には、分岐パラメータ最適化並列処理部１１３−２は、入力データ１１１と、階層隠れ変数変分確率計算部１０４で算出された階層隠れ変数変分確率１０４−６とを用いて、有効なすべての分岐ノードに関する分岐パラメータを同時並行で最適化する
【０１２４】
分岐パラメータ最適化並列処理部１１３−２は、例えば、図１１に例示するように、第１の実施形態の分岐パラメータ最適化部１０６−３を並列に並べて構成してもよい。このような構成により、一度にすべての門関数の分岐パラメータを最適化できる。
【０１２５】
すなわち、階層隠れ変数モデル推定装置１００，２００は、門関数の最適化処理を１つずつ実行していたが、本実施形態の階層隠れ変数モデル推定装置は、門関数の最適化処理を並行して行うことができるため、より高速なモデル推定が可能になる。
【０１２６】
なお、門関数最適化部１１３（より詳しくは、有効分岐ノード選別部１１３−１と、分岐パラメータ最適化並列処理部１１３−２）は、プログラム（階層隠れ変数モデルの推定プログラム）に従って動作するコンピュータのＣＰＵによって実現される。
【０１２７】
次に、本実施形態の門関数最適化部１１３の動作を説明する。図１２は、本実施形態の門関数最適化部１１３の動作例を示すフローチャートである。まず、有効分岐ノード選別部１１３−１は、有効なすべての分岐ノードを選択する（ステップＳ３０１）。次に、分岐パラメータ最適化並列処理部１１３−２は、有効なすべての分岐ノードを並列に最適化し、処理を完了させる（ステップＳ３０２）。
【０１２８】
以上のように、本実施形態によれば、有効分岐ノード選別部１１３−１が、階層隠れ構造のノードから有効な分岐ノードを選別し、門関数最適化並列処理部１１３−２が、有効な分岐ノードにおける隠れ変数の変分確率に基づいて門関数モデルを最適化する。その際、門関数最適化並列処理部１１３−２は、有効な分岐ノードに関する各分岐パラメータの最適化を並列に処理する。よって、門関数の最適化処理を並行して行うことができるため、上述する実施形態の効果に加え、より高速なモデル推定が可能になる。
【０１２９】
なお、上述する各プログラム（階層隠れ変数モデルの推定プログラム）は、コンピュータで読み取り可能な記録媒体に記憶され、コンピュータに、上述する各手段が実現すべき処理を実行させる。
【０１３０】
以下、具体例を挙げて本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。本発明の変数モデル推定装置は、様々なモデルに応用可能である。
【０１３１】
まず、第１の実施形態の階層隠れ変数モデル推定装置の具体例を説明する。ここでは、第１の実施形態の階層隠れ変数モデル推定装置をビル電力の需要履歴を分析する場面に応用する例を説明する。
【０１３２】
第１の実施形態の階層隠れ変数モデル推定装置を利用すると、ビルに設置された複数のセンサから取得される多変量データと消費電力の関係を、例えば「平日と休日」のような複数の異なる状況ごとに分解することが可能である。また、第１の実施形態の階層隠れ変数モデル推定装置を利用すると、例えば、「ある温度以上」ならば両者の関係を特定の関係に変更するなど、得られた複数の関係を切り替える法則も推定できる。
【０１３３】
電力供給の過不足を解消するために用いられる消費電力予測を考えた場合、複数の関係を推定することと同様に、複数の関係をどう切り替えていくか推定することも極めて重要である。
【０１３４】
例えば、気温、時間帯、曜日を説明変数とし、一時間後の消費電力量を目的変数とした多項回帰式を想定し、これらを各コンポーネントに適用した階層隠れ変数モデルを考える。このとき、推定すべきモデルは、階層隠れ構造、回帰パラメータ（φｋ）、最下層経路隠れ変数変分分布（ｑ）である。
【０１３５】
まず、データ入力装置１０１は、説明変数と目的変数のデータとともに、階層隠れ構造の候補としてそれぞれ異なる複数個の木構造を階層隠れ変数モデル推定装置に入力する。階層隠れ構造設定部１０２は、入力された木構造を順に設定する。次に、初期化部１０３は、初期化処理として、設定された階層隠れ構造に対し回帰次数及びその他のパラメータをランダムに設定する。次に、階層隠れ変数変分確率計算部１０４から最適性判定部１０７による処理によって、モデルが推定される。
【０１３６】
これらの処理によって、異なる状況を表現する複数の回帰モデルとその切り替え則が自動的に得られる。異なる状況を表現する複数の回帰モデルとして、例えば、出社時間である９時頃を表す説明変数の回帰係数が大きいものや、時間帯を表すパラメータの回帰係数が比較的小さいものなどが挙げられる。
【０１３７】
さらに、最適モデル選択部１０８がどのような階層隠れ構造が最も良いかを自動選択する。そのため、例えば、ビルに応じて異なる消費電力のパターン数を自動的に検出し、適切な数の関係及びその切り替え則をモデル化することが可能になる。
【０１３８】
次に、第２の実施形態の階層隠れ変数モデル推定装置の具体例を説明する。ここでは、第２の実施形態の階層隠れ変数モデル推定装置を量販店の購買情報を分析する場面に応用する例を説明する。
【０１３９】
例えば、ＰＯＳシステムの情報と、天候や近隣のイベントなどの情報を照らし合わせて分析することで、欠品や在庫の減少の見極めや、どのようなときに商品が売れるのかというマーケティングの知見を得ることできる。ここでは、天候、時間帯や曜日を説明変数とし、各商品の売上を目的変数とした多項回帰式を想定し、これらを各コンポーネントに適用した２分木の階層隠れ変数モデルを考える。
【０１４０】
まず、データ入力装置１０１は、説明変数と目的変数のデータとともに、階層隠れ構造の深さＤｍａｘと、経路を選択するための閾値ｅを階層隠れ変数モデル推定装置に入力する。階層隠れ構造設定部１０２は、階層隠れ構造の候補を深さＤｍａｘの２分木と設定する。初期化部１０３は、その他のパラメータをランダムに初期化する。次に、階層隠れ変数変分確率計算部１０４から最適性判定部１０７による処理によって、モデルが推定される。
【０１４１】
これらの処理によって、気温が低い時や高い時に売れるパターン、午前や午後に売れるパターン、週明けや週末に売れるパターンなどに分離できる。また、典型的ではないパターンに対応する経路隠れ変数は小さくなる。そのため、この経路は、階層隠れ構造最適化部２０１によって除去され、最終的な推定結果として典型的なパターンのみを抽出できる。
【０１４２】
次に、本発明の概要を説明する。図１３は、本発明による階層隠れ変数モデル推定装置の概要を示すブロック図である。本発明による階層隠れ変数モデル推定装置は、多変量データに対する階層隠れ変数モデルを推定する階層隠れ変数モデル推定装置であって、隠れ変数が木構造で表わされ、その木構造の最下層のノードに確率モデルを表わすコンポーネントが配された構造である階層隠れ構造を設定する階層隠れ構造設定部８１（例えば、階層隠れ構造設定部１０２）と、階層隠れ構造において根ノードから対象ノードまでを結んだ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算部８２（例えば、階層隠れ変数変分確率計算部１０４）と、算出された変分確率に対してコンポーネントを最適化するコンポーネント最適化部８３（例えば、コンポーネント最適化部１０５）と、階層隠れ構造のノードにおいて多変量データに応じた分岐方向を決定するモデルである門関数モデルを、そのノードにおける隠れ変数の変分確率に基づいて最適化する門関数最適化部８４（例えば、門関数最適化部１０６）とを備えている。
【０１４３】
そのような構成により、階層的な隠れ変数を含む階層隠れ変数モデルのモデル選択問題を解決できるとともに、理論的正当性を失うことなく適切な計算量で階層隠れ変数モデルを推定できる。
【０１４４】
また、階層隠れ変数モデル推定装置は、算出された変分確率が所定の閾値以下である経路をモデルから除外することにより階層隠れ構造を最適化する階層隠れ構造最適化部（例えば、階層隠れ構造最適化部２０１）を備えていてもよい。そのような構成により、複数の階層隠れ構造の候補に対して最適化をする必要がなく、一回の実行処理でコンポーネント数も最適化できる。
【０１４５】
また、門関数最適化部８４は、階層隠れ構造から除外されていない経路の分岐ノードである有効分岐ノードをその階層隠れ構造のノードから選別する有効分岐ノード選別部（例えば、有効分岐ノード選別部１１３−１）と、有効分岐ノードにおける隠れ変数の変分確率に基づいて門関数モデルを最適化する門関数最適化並列処理部（例えば、分岐パラメータ最適化並列処理部１１３−２）とを含んでいてもよい。そして、門関数最適化並列処理部は、有効分岐ノードに関する各分岐パラメータの最適化を並行に処理してもよい。そのような構成により、より高速なモデル推定が可能になる。
【０１４６】
また、階層隠れ構造設定部８１は、隠れ変数が２分木構造で表わされる階層隠れ構造を設定してもよい。そして、門関数最適化部８４は、ノードにおける隠れ変数の変分確率に基づいて、ベルヌーイ分布を基とした門関数モデル最適化してもよい。この場合、各パラメータが解析解を持つため、より高速な最適化が可能になる。
【０１４７】
具体的には、変分確率計算部８２は、最下層の経路隠れ変数とコンポーネントのパラメータとに基づいて算出される最適化基準（例えば、最適化基準Ａ）を最大にするように、最下層の経路隠れ変数の変分確率を計算し、計算された層の経路隠れ変数の変分確率の和を、より上層の経路隠れ変数の変分確率として一階層ごとに計算してもよい。上述する和の例は、以下のように表される。
【数１０】
2016509271.tif 000012
【０１４８】
以上、特に望ましい実施形態を参照して本発明を説明したが、本発明はこれらの実施形態に限定されるものではない。本願発明の構成や詳細には、請求項で定義される本願発明の趣旨及び範囲から逸脱しない範囲で当業者が理解し得る様々な変更をすることができる。
【０１４９】
この出願は、２０１３年２月４日に出願された米国特許出願１３／７５８２６７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１５０】
１００  階層隠れ変数モデル推定装置
１０１  データ入力装置
１０２  階層隠れ構造設定部
１０３  初期化部
１０４  階層隠れ変数変分確率計算部
１０４−１  最下層経路隠れ変数変分確率計算部
１０４−２  階層設定部
１０４−３  上層経路隠れ変数変分確率計算部
１０４−４  階層計算終了判定部
１０５  コンポーネント最適化部
１０６  門関数最適化部
１０６−１  分岐ノード情報取得部
１０６−２  分岐ノード選択部
１０６−３  分岐パラメータ最適化部
１０６−４  全分岐ノード最適化終了判定部
１０７  最適性判定部
１０８  最適モデル選択部
１０９  モデル推定結果出力装置
１１３  門関数最適化部
１１３−１  有効分岐ノード選別部
１１３−２  分岐パラメータ最適化並列処理部
２０１  階層隠れ構造最適化部
２０１−１  経路隠れ変数和演算部
２０１−２  経路除去判定部
２０１−３  経路除去実行部
【図１】
2016509271.tif 000013
【図２】
2016509271.tif 000014
【図３】
2016509271.tif 000015
【図４】
2016509271.tif 000016
【図５】
2016509271.tif 000017
【図６】
2016509271.tif 000018
【図７】
2016509271.tif 000019
【図８】
2016509271.tif 000020
【図９】
2016509271.tif 000021
【図１０】
2016509271.tif 000022
【図１１】
2016509271.tif 000023
【図１２】
2016509271.tif 000024
【図１３】
2016509271.tif 000025
【国際調査報告】
2016509271.tif 000026
2016509271.tif 000027
2016509271.tif 000028