(57)【特許請求の範囲】
【請求項１】
隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部と、
前記状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部と、
潜在変数の変分確率、パラメータ、および前記コンポーネントの種類の初期値を設定する初期化処理部と、
前記観測値データ、ならびに前記初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部と、
前記観測値データ、ならびに前記初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、前記隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるように前記コンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部と、
前記潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とするコンポーネント削除判定処理部と、
前記観測値データ、前記コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータ、ならびに前記潜在変数変分確率計算処理部が計算した潜在変数の変分確率を取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部と、
前記潜在変数変分確率計算処理部が計算した潜在変数の変分確率、前記コンポーネント最適化処理部が推定した前記コンポーネントの種類およびそのパラメータを出力する結果出力部とを備えた
ことを特徴とするモデル推定システム。
【請求項２】
最適性判断処理部が、周辺化モデル事後確率の下界の最大化を継続すると判定した場合に、
潜在変数変分確率計算処理部は、コンポーネント最適化処理部が前に推定したコンポーネントの種類およびパラメータ、ならびに自らが前に計算した潜在変数の変分確率を取得し、再度、周辺化モデル事後確率の下界が最大となるように潜在変数の変分確率を計算し、
前記コンポーネント最適化処理部は、自らが前に推定したコンポーネントの種類およびパラメータ、ならびに自由パラメータ選択変数分布最適化処理部と、前記潜在変数変分確率計算処理部が前に計算した潜在変数の変分確率を取得し、再度、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定する
請求項１に記載のモデル推定システム。
【請求項３】
隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得し、
前記状態数候補集合のうちまだ計算が完了していない要素を状態数として設定し、
潜在変数の変分確率、パラメータ、および前記コンポーネントの種類の初期値を設定し、
前記観測値データ、ならびに初期値を設定された前記潜在変数の変分確率、前記コンポーネントの種類、および前記パラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算し、
前記観測値データ、ならびに初期値を設定された前記潜在変数の変分確率、前記コンポーネントの種類、および前記パラメータを取得し、前記隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるように前記コンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定し、
前記潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とし、
前記観測値データ、計算された前記潜在変数の変分確率、ならびに推定された前記コンポーネントの種類およびそのパラメータを取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定し、
計算された前記潜在変数の変分確率、ならびに推定された前記コンポーネントの種類およびそのパラメータを出力する
ことを特徴とするモデル推定方法。
【請求項４】
周辺化モデル事後確率の下界の最大化を継続すると判定した場合に、
前に推定されたコンポーネントの種類およびパラメータ、ならびに前に計算された潜在変数の変分確率を取得し、再度、周辺化モデル事後確率の下界が最大となるように潜在変数の変分確率を計算し、
前に推定されたコンポーネントの種類およびパラメータ、ならびに前に計算された潜在変数の変分確率を取得し、再度、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定する
請求項３に記載のモデル推定方法。
【請求項５】
コンピュータに、
隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力処理と、
前記状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定処理と、
潜在変数の変分確率、パラメータ、および前記コンポーネントの種類の初期値を設定する初期化処理と、
前記観測値データ、ならびに初期値が設定された前記潜在変数の変分確率、前記コンポーネントの種類、および前記パラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理と、
前記観測値データ、ならびに初期値が設定された前記潜在変数の変分確率、前記コンポーネントの種類、および前記パラメータを取得し、前記隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるように前記コンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理と、
前記潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とするコンポーネント削除判定処理と、
前記観測値データ、計算された前記潜在変数の変分確率、ならびに推定された前記コンポーネントの種類およびそのパラメータを取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理と、
計算された前記潜在変数の変分確率、ならびに推定された前記コンポーネントの種類およびそのパラメータを出力する結果出力処理と
を実行させるためのモデル推定プログラム。
【請求項６】
最適性判断処理で、周辺化モデル事後確率の下界の最大化を継続すると判定された場合に、
コンピュータに、
潜在変数変分確率計算処理で、前に推定されたコンポーネントの種類およびパラメータ、ならびに前に計算された潜在変数の変分確率を取得させ、再度、周辺化モデル事後確率の下界が最大となるように潜在変数の変分確率を計算させ、
コンポーネント最適化処理で、前に推定されたコンポーネントの種類およびパラメータ、ならびに前に計算された潜在変数の変分確率を取得させ、再度、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定させる
請求項５に記載のモデル推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多変量データに対する階層隠れ変数モデルを推定するモデル推定システム、モデル推定方法、およびモデル推定プログラムに関する。
【背景技術】
【０００２】
一般的な文書において、例えば話題の分野が同じ文書間の記述は、話題の分野が異なる文書間の記述に比べて似ている。また、小売店の特定商品の売り上げは、立地条件が同じであると似ている。立地条件は、例えば、その店舗がオフィス街にあるか、駅の近くにあるか、郊外にあるかという情報である。このように、実際に観測する変数（上記の「記述」または「売り上げ」）が、それ以外の観測できていない要因（上記の「話題」または「店舗の立地」）の値に応じて変化するデータは数多くある。
【０００３】
このようなデータの、観測できていない変数（隠れ変数）を推定することは、産業上の重要な場面に応用可能である。例えば、利用者は、話題が同じ文書を推定することで、検索結果の文書のうち検索意図に合致する文書群、意図と異なる文書群を特定し、より早く目的文書を揃えることができる。また、例えば、利用者は、店舗売り上げの要因が同じ店舗を推定することで、店舗の品ぞろえを考える際、特定の店舗で売り上げの良い商品をどの店舗で採用すると売れそうかを特定することができる。
【０００４】
このように、観測できていない要因を推定するため、一般的に、混合分布モデルが用いられる。また、特定のサンプルの集合ごとに観測変数の生成要因が似ている（例えば、文書ごとに似た要因がある、店舗ごとに似た要因がある）状況を表すために、混合分布のパラメータを階層的に用いたモデルが用いられる。例えば、自然文の場合、非特許文献１に記載されている”Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ（ＬＤＡ）”と呼ばれるモデルが用いられる。
【０００５】
非特許文献１では、各文書が単語で表され（観測変数）、各文書中の単語に対しそれぞれ隠れ状態があり、文書ごとに設定されるパラメータが潜在変数の出現確率を定めている。非特許文献１では、さらにこのパラメータがどのように出現しやすいかが、文書全体で共通のパラメータを用いて表されている。非特許文献１では、このようにモデルを作ることにより、文書ごとに話題の傾向があることが表現されている。
【０００６】
非特許文献１では、予め、隠れ状態数を設定しなければ、パラメータ、隠れ状態を推定できないという課題がある。その問題を解決するため非特許文献２では、隠れ状態数とパラメータがＤｉｒｉｃｈｌｅｔ  Ｐｒｏｃｅｓｓで生成するというモデルを仮定し推定が行われている。しかし、Ｄｉｒｉｃｈｌｅｔ  Ｐｒｏｃｅｓｓを用いたノンパラメトリックベイズ法は、計算量が非常に大きくなってしまうという課題がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Blei, David M., Andrew Y. Ng, and Michael I. Jordan. "Latent dirichlet allocation." the Journal of machine Learning research 3 (2003): 993-1022.
【非特許文献２】Teh, Yee Whye, et al. "Hierarchical dirichlet processes." Journal of the american statistical association 101.476 (2006).
【発明の概要】
【発明が解決しようとする課題】
【０００８】
また、隠れ変数モデルの代表例である混合モデルに対して、完全周辺尤度関数を近似して、その下界（下限）を最大化することで、隠れ状態数を決定する方法が考えられる。この方法は、ノンパラメトリックベイズ法と比較して計算量を小さくすることが可能であり、高速に隠れ状態数、隠れ状態、パラメータを推定することができる。
【０００９】
しかし、パラメータの数がサンプルと共に増大するようなモデルではこの方法は適用できない。なぜならば、この方法では、完全周辺尤度関数を近似するために、パラメータでの積分をラプラス近似により近似計算しているが、パラメータの数がサンプルと共に増大するようなモデルにおいては、ラプラス近似の前提が成り立たず、近似誤差が非常に大きくなってしまうからである。ＬＤＡは、文書ごとにパラメータを持つため、パラメータの数がサンプルと共に増大する。
【００１０】
本発明は、パラメータの数がサンプルと共に増大するような隠れ変数モデルに対して、理論的正当性を失うことなく、高速に隠れ状態数、隠れ状態、およびパラメータを推定することができるモデル推定システム、モデル推定方法および情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるモデル推定システムは、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部と、潜在変数の変分確率、パラメータ、およびコンポーネントの種類の初期値を設定する初期化処理部と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部と、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とするコンポーネント削除判定処理部と、観測値データ、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータ、ならびに潜在変数変分確率計算処理部が計算した潜在変数の変分確率を取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部と、潜在変数変分確率計算処理部が計算した潜在変数の変分確率、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータを出力する結果出力部とを備えたことを特徴とする。
【００１２】
本発明によるモデル推定方法は、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得し、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定し、潜在変数の変分確率、パラメータ、およびコンポーネントの種類の初期値を設定し、観測値データ、ならびに初期値を設定された潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算し、観測値データ、ならびに初期値を設定された潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定し、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とし、観測値データ、計算された潜在変数の変分確率、ならびに推定されたコンポーネントの種類およびそのパラメータを取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定し、計算された潜在変数の変分確率、ならびに推定されたコンポーネントの種類およびそのパラメータを出力することを特徴とする。
【００１３】
本発明によるモデル推定プログラムは、コンピュータに、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力処理と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定処理と、潜在変数の変分確率、パラメータ、およびコンポーネントの種類の初期値を設定する初期化処理と、観測値データ、ならびに初期値を設定された潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理と、観測値データ、ならびに初期値を設定された潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理と、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とするコンポーネント削除判定処理と、観測値データ、計算された潜在変数の変分確率、ならびに推定されたコンポーネントの種類およびそのパラメータを取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理と、計算された潜在変数の変分確率、ならびに推定されたコンポーネントの種類およびそのパラメータを出力する結果出力処理とを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、パラメータの数がサンプルと共に増大するような隠れ状態モデルに対して、理論的正当性を失うことなくモデル選択問題を解決し、高速に隠れ状態数、隠れ状態、パラメータを推定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明によるモデル推定システムの第１の実施形態の構成を示すブロック図である。
【図２】本発明によるモデル推定システムの第１の実施形態の動作を示すフローチャートである。
【図３】本発明によるモデル推定システムの第２の実施形態の構成を示すブロック図である。
【図４】本発明によるモデル推定システムの第２の実施形態の動作を示すフローチャートである。
【図５】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態について、図面を参照して説明する。
【００１７】
各実施形態で推定の対象とするモデルを説明する。観測変数xｉｊは、式（１）のように表される。
【００１８】
【数１】
0006550899.tif 000002
【００１９】
また、観測変数それぞれに対応する潜在変数ｚｉｊは、式（２）のように表される（Ｋは潜在状態の種類数）。
【００２０】
【数２】
0006550899.tif 000003
【００２１】
また、観測変数xｉｊは、その潜在変数ｚｉｊの値により異なる正則モデルから生成されたものであるとする。この場合、観測変数xｉｊは式（３）のように表される。
【００２２】
【数３】
0006550899.tif 000004
【００２３】
式（３）に示すＰｋについてはいくつかのモデルの種類を仮定しており、その種類をＨで表す。例えば、どのコンポーネントもＭ個のモデルの中から１つのモデルを選ぶと仮定し、１,..Ｋに１,..Ｍのいずれかを対応させる行列で表現する。また、潜在変数ｚｉｊの生成を決めるパラメータをθｉ（ｉごとに同じパラメータから生成するとする）とし、潜在変数生成分布パラメータと呼ぶ。また、ｚｉｊは、ある正則モデルから生成されるとする。この場合、ｚｉｊは、式（４）のように表される。
【００２４】
【数４】
0006550899.tif 000005
【００２５】
また、以下のようにθｉの事前分布を構成できるとする。ハイパーパラメータαを持つ事前分布であり、θｉを周辺化したｚｉｊに対応するp（ｚｉｊ|α）が、式（５）に示すように解析的に求められ、かつ正則モデルになるとする。
【００２６】
【数５】
0006550899.tif 000006
【００２７】
以下、上記のような混合モデルに対するモデル選択およびパラメータの推定を実現する方法を説明する。ただし、推定するモデルは隠れ変数モデルであればよく混合モデルに限られない。本実施形態のモデル推定システムモデルのパラメータ、潜在変数の変分確率を、周辺化モデル事後確率の下界を最大化するように求める。なお、以下の説明において潜在変数の変分確率を単に変分確率と記載することがある。周辺化モデル事後確率とは、以下の式（６）で表されるような、潜在変数生成分布パラメータθｉを周辺化したモデルのモデル事後確率のことである。
【００２８】
【数６】
0006550899.tif 000007
【００２９】
なお、上記例において、サンプルの数にしたがって増えるパラメータは、潜在変数生成分布パラメータθｉである。
【００３０】
実施形態１．
次に、第１の実施形態のモデル推定システムの構成を説明する。図１は、モデル推定システムの第１の実施形態の構成を示すブロック図である。モデル推定システムは、データ入力部１０１と、状態数設定部１０２と、初期化処理部１０３と、潜在変数変分確率計算処理部１１１と、コンポーネント最適化処理部１１２と、最適性判断処理部１１３と、結果出力部１２１とを備える。モデル推定システムは、２つ以上の物理的に分離した装置が有線または無線で接続されている構成であってよい。この点は、後述の各実施形態において同様である。
【００３１】
図１に示す構成は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するコンピュータによって実現される。また、そのプログラムは、コンピュータが読み取り可能であって非一時的な情報記憶媒体に記憶される。
【００３２】
以下、隠れ変数モデルとして混合モデルを用いて本実施形態のモデル推定システムを説明する。
【００３３】
データ入力部１０１は、混合モデルの推定対象となる観測値データと、混合モデルを構成するコンポーネントの種類（種類候補）およびパラメータ、潜在変数が選択する状態数の候補の集合（状態数候補集合）、および収束判定の閾値を取得する。以下、混合モデルを構成するコンポーネントの種類を単にコンポーネントの種類と記載する。
【００３４】
状態数設定部１０２は、状態数候補集合のうち、まだ計算が完了していない要素の数を状態数として設定する。
【００３５】
初期化処理部１０３は、潜在変数の変分確率、パラメータ、およびコンポーネントの種類の初期値を設定する。潜在変数の変分確率は、周辺化尤度を計算するための、潜在変数の事後確率の近似値である。初期化処理部１０３は、具体的には、状態数設定部１０２が設定した状態数に応じて、推定のために、コンポーネントの種類、潜在変数の変分確率、および各コンポーネントのパラメータを初期化する。初期化処理部１０３は、例えば、コンポーネントの種類をランダムに選択し、選択された種類に応じたパラメータの初期値をランダムに設定し、潜在変数の変分確率の初期値をランダムに設定する。
【００３６】
潜在変数変分確率計算処理部１１１は、現在設定されているコンポーネントの種類、およびパラメータを用いて、潜在変数の変分確率を推定する。具体的には、潜在変数変分確率計算処理部１１１は、観測値データ、初期化処理部１０３が設定したコンポーネントの種類、モデルのパラメータ、潜在変数の変分確率を取得する。潜在変数変分確率計算処理部１１１は、後述する最適性判定において収束していないと判定され、再度の計算処理を行う場合は、前にコンポーネント最適化処理部１１２が出力したコンポーネントの種類およびモデルのパラメータおよび前に潜在変数変分確率計算処理部１１１が出力した潜在変数の変分確率を取得する。
【００３７】
また、潜在変数変分確率計算処理部１１１は、これら取得したデータを用いて周辺化モデル事後確率の下界が最大となるように潜在変数の変分確率q（ｚ）を計算する。周辺化モデル事後確率は、サンプルと共に増加するパラメータを、その事前分布で積分消去した確率分布について計算したモデル事後確率である。周辺化モデル事後確率の下界について説明する。周辺化モデル事後確率は、以下の式（７）のように表される。
【００３８】
【数７】
0006550899.tif 000008
【００３９】
式（７）の第２式の下界は、変分確率q（ｚ）を用いて以下の式（８）のように表すことができる。
【００４０】
【数８】
0006550899.tif 000009
【００４１】
また、式（８）の右辺の積分にラプラス近似を適用すると以下の式（９）のように下界が得られる。Ｋは取りうる状態の数、Dｋ（Ｈ）は、Ｈで各コンポーネントのモデルを選んだ場合のコンポーネントｋのモデルの自由度である。
【００４２】
【数９】
0006550899.tif 000010
【００４３】
さらに、対数関数が凹関数であることを利用すると、以下の式（１０）に示すように下界が求められる。
【００４４】
【数１０】
0006550899.tif 000011
【００４５】
潜在変数変分確率計算処理部１１１は、この下界の関数を最大化するようにｑを求める。この下界の関数を最適化基準と呼ぶ。ｑ（チルダ付き）は、ｑの前の更新時の値を用いると最大となる。そのため、潜在変数変分確率計算処理部１１１は、ｑ（チルダ付き）にｑの前の更新時の値を代入する。各変分確率、パラメータのt回目の更新時の値を、上付きの添え字で（t）と表すことにする。潜在変数変分確率計算処理部１１１は、変分確率の値を以下の式（１１）のように計算する。
【００４６】
【数１１】
0006550899.tif 000012
【００４７】
コンポーネント最適化処理部１１２は、データ入力部１０１が取得した観測値データ、初期化処理部１０３が設定したモデルのパラメータおよびコンポーネントの種類、初期化処理部１０３が設定した潜在変数の変分確率を取得する。コンポーネント最適化処理部１１２は、後述する最適性判定において収束していないと判定され、再度の計算処理を行う場合は、前にコンポーネント最適化処理部１１２が出力したコンポーネントの種類およびモデルのパラメータ、および前に潜在変数変分確率計算処理部１１１が出力した潜在変数の変分確率を取得する。
【００４８】
コンポーネント最適化処理部１１２は、取得した潜在変数の変分確率に基づき、コンポーネントの種類およびパラメータを推定する。コンポーネント最適化処理部１１２は、コンポーネントの種類Hおよびパラメータφを最適化することにより、前記混合モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるように、最適なコンポーネントの種類およびパラメータを推定する。
【００４９】
コンポーネント最適化処理部１１２は、潜在変数変分確率計算処理部１１１と同様に下界をもとめ、コンポーネントの種類およびパラメータを以下の式（１２）のように計算する。この下界は、コンポーネントごとの計算が可能である。そのため、コンポーネント最適化処理部１１２は、コンポーネントの種類の組み合わせ全てを計算する必要がなくコンポーネントの種類まで最適化が可能である。
【００５０】
【数１２】
0006550899.tif 000013
【００５１】
最適性判断処理部１１３は、データ入力部１０１が取得した観測値データ、コンポーネント最適化処理部１１２が出力したモデルのパラメータおよびコンポーネントの種類、潜在変数変分確率計算処理部１１１が計算した潜在変数の変分確率を取得する。最適性判断処理部１１３は、これら取得したデータに基づいて、周辺化モデル事後確率の最大化を継続するかを判定する。具体的には、最適性判断処理部１１３は、周辺化モデル事後確率の下界の最大化手続きが収束したかを判定することにより継続するかを判定する。最適性判断処理部１１３は、例えば、前回の更新での最適化基準との差分が十分小さくなったかどうかによって小さければ終了、大きければ継続と判断する。最適性判断処理部１１３は、データ入力部１０１が取得した収束判定の閾値を用いて収束したかを判定してもよい。
【００５２】
最適性判断処理部１１３は、継続と判断した場合には、潜在変数変分確率、コンポーネントの種類及びパラメータを潜在変数変分確率計算処理部１１１に送る。最適性判断処理部１１３は、終了と判断した場合に、入力された状態数の候補集合で計算の終わっていない要素がある場合は、それら要素の計算を実施する。最適性判断処理部１１３は、すべての状態数の候補で計算が終わったならば、その中で最適化基準が最も大きい状態数での潜在変数変分確率、コンポーネントの種類及びパラメータを結果出力部１２１に送る。
【００５３】
本実施形態のモデル推定システムは、このように最適化基準が収束するまで、潜在変数変分確率とコンポーネントの種類、パラメータの計算処理を繰り返す。各処理で必ず最適化基準が増加する。
【００５４】
結果出力部１２１は、モデル推定結果として、取得した潜在変数変分確率とコンポーネントの種類及びパラメータを出力する。
【００５５】
なお、隠れ状態とは、潜在変数に設定される値を示す。隠れ状態数とは、潜在変数に設定される値の候補値の数を示す。利用者は、隠れ状態数、隠れ状態を潜在変数変分確率から求めることができる。例えば、利用者は、各サンプル（各観測値）に対応する複数の隠れ状態のうち、最も変分確率が大きい隠れ状態を選択する。また、利用者は、各サンプルにおける変分確率の和が正になる隠れ状態の個数を隠れ状態数とすることができる。
【００５６】
次に、本実施形態のモデル推定システムの動作を説明する。図２は、本実施形態のモデル推定システムの動作を示すフローチャートである。
【００５７】
まず、データ入力部１０１は、観測値データ、コンポーネントの種類（種類候補）、状態数候補集合、収束判定基準を含むデータを入力する（ステップＡ１）。
【００５８】
次に、状態数設定部１０２は、状態数の候補集合のうちまだ計算されていない要素の数を状態数として設定する（ステップＡ２）。
【００５９】
次に、初期化処理部１０３は、状態数に応じて、潜在変数変分確率、コンポーネントの種類およびモデルのパラメータを初期化する（ステップＡ３）。
【００６０】
次に、潜在変数変分確率計算処理部１１１は、周辺化モデル事後確率の下界が最大となるように、潜在変数変分確率を計算する（ステップＡ４）。
【００６１】
次に、コンポーネント最適化処理部１１２は、周辺化モデル事後確率の下界が最大となるように、モデルの種類（コンポーネントの種類）およびモデルのパラメータを計算する（ステップＡ５）。
【００６２】
次に、最適性判断処理部１１３が、最適化基準が収束したかどうかを判定する（ステップＡ６）。もし、最適化基準が収束していなければ、ステップＡ４に戻り潜在変数変分確率とコンポーネントの種類、パラメータの推定を繰り返す。もしも最適化基準が収束していれば、ステップＡ８に進む（ステップＡ７）。
【００６３】
次に最適性判断処理部１１３は、入力された状態数候補すべてについて計算を終えたかを判定する（ステップＡ８）。終わっていなければ、ステップＡ３からステップＡ７の処理が繰り返される。終わっていれば、最適性判断処理部１１３は、これまでに計算したモデル選択結果のうち、最適化基準が最大のものを選択する（ステップＡ９）。結果出力部１２１は、選択されたモデルを出力する（ステップＡ１０）。
【００６４】
以上のように、モデル推定システムは、モデル選択およびそのモデルの推定を実現する。本実施形態では、潜在変数変分確率を先に計算し、その後、モデルの種類およびモデルのパラメータを計算する手順を説明したが、この順序は逆でもよい。
【００６５】
また、利用者は、本実施形態のモデル推定システムを用いれば、隠れ状態数、隠れ状態を潜在変数変分確率から求めることができる。また、本実施形態のモデル推定システムは、サンプルと共に増大するパラメータの影響を受けないため、推定誤差を少なくすることができる。
【００６６】
実施形態２．
次に、モデル推定システムの第２の実施形態を説明する。図３は、第２の実施形態のモデル推定システムの構成を示すブロック図である。第２の実施形態のモデル推定システムは、第１の実施形態のモデル推定システムに加え、コンポーネント削除判定処理部１１４を備える。
【００６７】
図３に示す構成は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するコンピュータによって実現される。また、そのプログラムは、コンピュータが読み取り可能であって非一時的な情報記憶媒体に記憶される。
【００６８】
コンポーネント削除判定処理部１１４は、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とする。コンポーネント削除判定処理部１１４は、コンポーネント最適化処理部１１２から取得した潜在変数変分確率をもとに、コンポーネントの潜在変数変分確率を全て0であると推定するかどうかを決定する。
【００６９】
コンポーネント削除判定処理部１１４は、コンポーネントｋが次の式（１３）を満たすならば、そのコンポーネントの潜在変数の変分確率が全て0であると推定する。
【００７０】
【数１３】
0006550899.tif 000014
【００７１】
本実施形態のモデル推定システムは、コンポーネント削除判定処理部１１４を有することにより、潜在変数の変分確率の和が0に収束するコンポーネントをより速く０に推定することができる。そのため、本実施形態のモデル推定システムは、より高速にモデルの推定をすることができる。
【００７２】
次に、本実施形態のモデル推定システムの動作について説明する。図４は、モデル推定システムの第２の実施形態の動作を示すフローチャートである。図４に示すステップＢ１以外の動作は、図２に示す第１の実施形態の動作と同じであるため、説明を省略する。
【００７３】
ステップＡ５の終了後、コンポーネント削除判定処理部１１４は、変分確率の和が閾値より小さいコンポーネントについて、変分確率を０に設定する（ステップＢ１）。
【００７４】
次に、本発明によるモデル推定システムの実施例を説明する。
【００７５】
実施例１（異種多様な複数の混合分布）
第１の実施形態および第２の実施形態で提案するモデル推定システムを利用すると、複数の異なる分布の混合分布に関して、混合の数および各コンポーネントの分布の種類を最適化することが可能である。
【００７６】
一例として、オペレーショナルリスクの推定への応用を説明する。この例におけるリスクの分布は、一般には小さなリスクをもつ多数の事象群と、低頻度であるが高リスクの事象群が混合した分布となる。小さなリスクをもつ多数の事象群は、例えば事務手続きのミスなどであって、対数正規分布などでモデル化される。低頻度であるが高リスクの事象群は、例えば、株の誤発注などであって、高い平均値をもつ正規分布などでモデル化される。
【００７７】
これらの分布については、例えば支店ごとに事象の分布が異なると考えられる。第１の実施形態および第２の実施形態のモデル推定システムは、支店ごとに事象の分布が異なるとしても、自動的に適切な分布の種類、数、パラメータを自動決定しリスクの分布を推定することが可能である。
【００７８】
また、第１の実施形態および第２の実施形態のモデル推定システムは、正規分布、対数正規分布、指数分布の例に関わらず、任意の複数種類の分布に関して適用することができる。
【００７９】
実施例２（Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）
非特許文献１に記載されたＬａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎのモデルにも、第１の実施形態および第２の実施形態のモデル推定システムを応用することが可能である。これにより、利用者は、トピック数を手動でチューニングすることなく、適切な基準のもと高速にモデル選択をすることができる。
【００８０】
例えば、検索結果文書の集合をクラスタリングし、検索結果を一目で把握したい場合、検索結果集合ごとに、そのクラスタ数は異なる。第１の実施形態および第２の実施形態のモデル推定システムは高速にトピック数をチューニングして、それぞれの属するトピックを推定することができるため、多くの文書集合に対しクラスタリングを実施する場合にも応用が可能である。
【００８１】
図５は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５と、入力デバイス１００６とを備える。
【００８２】
各実施形態のモデル推定システムは、コンピュータ１０００に実装される。モデル推定システムの動作は、プログラム（モデル推定プログラム）の形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の処理を実行する。
【００８３】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【００８４】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【００８５】
本発明によるモデル推定システムの主要部の構成を、図１を用いて説明する。本発明によるモデル推定システムは、主要な構成要素として、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部１０１と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部１０２と、潜在変数の変分確率、パラメータ、およびコンポーネントの種類の初期値を設定する初期化処理部１０３と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部１１１と、観測値データ、ならびに初期化処理部１０３が設定した潜在変数の変分確率、コンポーネントの種類、およびパラメータを取得し、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部１１２と、観測値データ、コンポーネント最適化処理部１１２が推定したコンポーネントの種類およびそのパラメータ、ならびに潜在変数変分確率計算処理部１１１が計算した潜在変数の変分確率を取得し、周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部１１３と、潜在変数変分確率計算処理部が計算した潜在変数の変分確率、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータを出力する結果出力部１２１とを備える。
【００８６】
また上記の各実施形態には、以下の（１）または（２）に記載されたモデル推定システムも開示されている。
【００８７】
（１）モデル推定システムは、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とするコンポーネント削除判定処理部１１４を備えるように構成されていてもよい。このようなモデル推定システムによれば、潜在変数の変分確率の和が0に収束するコンポーネントをより速く0に推定することができる。そのため、モデル推定システムは、より高速にモデルの推定をすることができる。
【００８８】
（２）モデル推定システムは、最適性判断処理部が、周辺化モデル事後確率の下界の最大化を継続すると判定した場合に、潜在変数変分確率計算処理部は、コンポーネント最適化処理部が前に推定したコンポーネントの種類およびパラメータ、ならびに自らが前に計算した潜在変数の変分確率を取得し、再度、周辺化モデル事後確率の下界が最大となるように潜在変数の変分確率を計算し、コンポーネント最適化処理部は、自らが前に推定したコンポーネントの種類およびパラメータ、ならびに潜在変数変分確率計算処理部が前に計算した潜在変数の変分確率を取得し、再度、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するように構成されていてもよい。このようなモデル推定システムによれば、下界の最大化を継続しないと判定されるまで潜在変数変分確率計算処理部とコンポーネント最適化処理部の処理を繰り返すので、より精度よく、隠れ状態数、隠れ状態、パラメータを推定することができる。
【産業上の利用可能性】
【００８９】
パラメータの数がサンプルと共に増大するような隠れ変数モデルの推定に適用できる。
【符号の説明】
【００９０】
１０１  データ入力部
１０２  状態数設定部
１０３  初期化処理部
１１１  潜在変数変分確率計算処理部
１１２  コンポーネント最適化処理部
１１３  最適性判断処理部
１１４  コンポーネント削除判定処理部
１２１  結果出力部
【図１】
0006550899.tif 000015
【図２】
0006550899.tif 000016
【図３】
0006550899.tif 000017
【図４】
0006550899.tif 000018
【図５】
0006550899.tif 000019