(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).
【発明の概要】
【発明が解決しようとする課題】
【０００９】
また、隠れ変数モデルの代表例である混合モデルに対して、完全周辺尤度関数を近似して、その下界（下限）を最大化することで、隠れ状態数を決定する方法が考えられる。この方法は、ノンパラメトリックベイズ法と比較して計算量を小さくすることが可能であり、高速に隠れ状態数、隠れ状態、パラメータを推定することができる。
【００１０】
しかし、コンポーネントのパラメータの次元が大きいモデルではこの方法は適用できない。なぜならば、この方法では、完全周辺尤度関数を近似するために、パラメータでの積分をラプラス近似により近似計算しているが、パラメータの次元が大きなモデルにおいては、近似誤差が非常に大きくなってしまうからである。ＬＤＡにおけるコンポーネントは、単語を生成する多項分布である。各単語にそれぞれ確率を割り振るため、コンポーネントの次元は単語の種類数となり、非常に大きい。
【００１１】
本発明は、コンポーネントのパラメータの次元が大きな隠れ変数モデルに対しても、理論的正当性を失うことなく、高速に隠れ状態数、隠れ状態、パラメータを推定することができるモデル推定システム、およびモデル推定方法およびモデル推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるモデル推定システムは、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部と、潜在変数の変分確率、パラメータ、ハイパーパラメータ、コンポーネントの種類、および自由パラメータ選択変数の初期値を設定する初期化処理部と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、隠れ変数モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部と、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータ、ならびに潜在変数変分確率計算処理部が計算した潜在変数の変分確率を取得し、自由パラメータ選択変数を計算する自由パラメータ選択変数計算部と、観測値データ、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータ、潜在変数変分確率計算処理部が計算した潜在変数の変分確率、ならびに自由パラメータ選択変数計算部が計算した自由パラメータ選択変数を取得し、自由度が限定された周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部と、潜在変数変分確率計算処理部が計算した潜在変数の変分確率、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータを出力する結果出力部とを備えたことを特徴とする。
【００１３】
本発明によるモデル推定システムは、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部と、潜在変数の変分確率、パラメータ、コンポーネントの種類、自由パラメータ選択変数、および自由パラメータ選択変数分布のパラメータの初期値を設定する初期化処理部と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、パラメータ、自由パラメータ選択変数および自由パラメータ選択変数分布のパラメータを取得し、自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部と、観測値データ、ならびに初期化処理部が設定した潜在変数の変分確率、コンポーネントの種類、パラメータ、ハイパーパラメータ、自由パラメータ選択変数および自由パラメータ選択変数分布のパラメータを取得し、隠れ変数モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部と、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータ、ならびに潜在変数変分確率計算処理部が計算した潜在変数の変分確率を取得し、自由パラメータ選択変数を計算する自由パラメータ選択変数計算部と、自由パラメータ選択変数計算部が計算した自由パラメータ選択変数を取得し、自由パラメータ選択変数分布のパラメータを計算する自由パラメータ選択変数分布最適化処理部と、観測値データ、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータ、潜在変数変分確率計算処理部が計算した潜在変数の変分確率、自由パラメータ選択変数計算部が計算した自由パラメータ選択変数、自由パラメータ選択変数分布最適化処理部が計算した自由パラメータ選択変数分布のパラメータを取得し、自由度が限定された周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部と、潜在変数変分確率計算処理部が計算した潜在変数の変分確率、コンポーネント最適化処理部が推定したコンポーネントの種類およびそのパラメータを出力する結果出力部とを備えたことを特徴とする。
【００１４】
本発明によるモデル推定方法は、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得し、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定し、潜在変数の変分確率、パラメータ、ハイパーパラメータ、コンポーネントの種類、および自由パラメータ選択変数の初期値を設定し、観測値データ、ならびに設定された潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算し、観測値データ、ならびに設定された潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、隠れ変数モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定し、推定されたコンポーネントの種類およびそのパラメータ、ならびに計算された潜在変数の変分確率を取得し、自由パラメータ選択変数を計算し、観測値データ、推定されたコンポーネントの種類およびそのパラメータ、計算された潜在変数の変分確率、ならびに計算された自由パラメータ選択変数を取得し、自由度が限定された周辺化モデル事後確率の下界の最大化を継続するかを判定し、計算された潜在変数の変分確率、推定されたコンポーネントの種類およびそのパラメータを出力することを特徴とする。
【００１５】
本発明によるモデル推定プログラムは、コンピュータに、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力処理と、前記状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定処理と、潜在変数の変分確率、パラメータ、ハイパーパラメータ、前記コンポーネントの種類、および自由パラメータ選択変数の初期値を設定する初期化処理と、前記観測値データ、ならびに設定された潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理と、前記観測値データ、ならびに前記設定された潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、前記隠れ変数モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるように前記コンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理と、
前記推定されたコンポーネントの種類およびそのパラメータ、ならびに前記計算された潜在変数の変分確率を取得し、自由パラメータ選択変数を計算する自由パラメータ選択変数計算処理と、前記観測値データ、前記推定されたコンポーネントの種類およびそのパラメータ、前記計算された潜在変数の変分確率、ならびに前記計算された自由パラメータ選択変数を取得し、自由度が限定された周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理と、計算された潜在変数の変分確率、推定された前記コンポーネントの種類およびそのパラメータを出力する結果出力処理とを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、各コンポーネントのパラメータの次元が大きな隠れ変数モデルに対して、理論的正当性を失うことなく、高速に隠れ状態数、隠れ状態、パラメータを推定することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明によるモデル推定システムの第１の実施形態の構成を示すブロック図である。
【図２】本発明によるモデル推定システムの第１の実施形態の動作を示すフローチャートである。
【図３】本発明によるモデル推定システムの第２の実施形態の構成を示すブロック図である。
【図４】本発明によるモデル推定システムの第２の実施形態の動作を示すフローチャートである。
【図５】本発明によるモデル推定システムの第３の実施形態の構成を示すブロック図である。
【図６】本発明によるモデル推定システムの第３の実施形態の動作を示すフローチャートである。
【図７】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【発明を実施するための形態】
【００１８】
次に、本発明の実施の形態について、図面を参照して説明する。
【００１９】
各実施形態で推定の対象とするモデルを説明する。観測変数ｘｉは、式（１）のように表される。
【００２０】
【数１】
0006536157.tif 000002
【００２１】
また、観測変数それぞれに対応する潜在変数ｚｉは、式（２）のように表される（Ｋは潜在状態の種類数）。
【００２２】
【数２】
0006536157.tif 000003
【００２３】
また、観測変数ｘｉは、その潜在変数ｚｉの値により異なる正則モデルから生成されたものであるとする。この場合、ｘｉは式（３）のように表される。
【００２４】
【数３】
0006536157.tif 000004
【００２５】
式（３）に示すＰｋについてはいくつかのモデルの種類を仮定しており、その種類をＨで表す。例えば、どのコンポーネントもＭ個のモデルの中から１つのモデルを選ぶと仮定し、１,..Ｋに１,..Ｍのいずれかを対応させる行列で表現する。本実施形態のモデル推定システムは、この仮定されたモデルのパラメータηｋの次元が大きい場合でも理論的正当性のあるモデル選択を実現することを目的としている。また、潜在変数ｚｉはある正則モデルから生成されるとする。この場合、ｚｉは、式（４）のように表される。
【００２６】
【数４】
0006536157.tif 000005
【００２７】
上記のような混合モデルに対するモデル選択およびパラメータの推定を実現する方法を以下説明する。ここで新しい変数を導入する。各コンポーネントのｊ番目の次元のパラメータηｋｊについて、このパラメータをモデルのパラメータに含めるかを決める変数をξｋｊ（自由パラメータ選択変数）とする。ξ（ｋ）,ｊ＝１ならばこのパラメータをモデルのパラメータとして扱うことにし、ξ（ｋ）,ｊ＝0ならば、パラメータをモデルのパラメータから除外し、ある定数を代入する。これを表現するため、パラメータを自由パラメータ選択変数で書き直しているとする。例えば、モデルが多項分布であった場合、各次元ｊの出現確率を以下の式（５）のように取り直す。ξｋｊφｋｊの形で書いていることにより、ξｋｊ＝０とした場合、φｋｊはモデルに影響を与えない。
【００２８】
なお、推定するモデルは隠れ変数モデルであればよく混合モデルに限られない。なお、以下の説明において潜在変数の変分確率を単に変分確率と記載することがある。
【００２９】
【数５】
0006536157.tif 000006
【００３０】
実施形態１．
次に、本実施形態のモデル推定システムの構成を説明する。図１は、モデル推定システムの第１の実施形態の構成を示すブロック図である。モデル推定システムは、データ入力部１０１と、状態数設定部１０２と、初期化処理部１０３と、潜在変数変分確率計算処理部１１１と、コンポーネント最適化処理部１１２と、自由パラメータ選択変数計算部１１３と、最適性判断処理部１１４と、結果出力部１２１とを備える。モデル推定システムは、２つ以上の物理的に分離した装置が有線または無線で接続されている構成であってよい。この点は、後述の各実施形態において同様である。
【００３１】
図１に示す構成は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の情報処理装置によって実現される。また、そのプログラムは、コンピュータが読み取り可能であって非一時的な情報記憶媒体に記憶される。
【００３２】
本実施形態では、モデルのパラメータ、潜在変数の変分確率を、自由度を限定したモデル事後確率の下界を最大化するように求める。自由度を限定したモデル事後確率は、以下の式（６）で表されるp（ｘ|ξ,Ｍ）のことである。
【００３３】
【数６】
0006536157.tif 000007
【００３４】
または、後述する第２の実施形態では、式（７）に示すようにξに分布を仮定する。その場合のモデル事後確率を、自由度を限定したモデル事後確率と呼ぶ。
【００３５】
【数７】
0006536157.tif 000008
【００３６】
データ入力部１０１は、混合モデルの推定対象となる観測値データと、混合モデルを構成するコンポーネントの種類（種類候補）およびパラメータ、潜在変数が選択する状態数（隠れ状態数）の候補（候補値）の集合（状態数候補集合）、および収束判定の閾値を取得する。以下、混合モデルを構成するコンポーネントの種類を単にコンポーネントの種類と記載する。
【００３７】
状態数設定部１０２は、状態数候補集合のうち、まだ計算が完了していない要素の数を状態数として設定する。
【００３８】
初期化処理部１０３は、状態数設定部１０２が設定した状態数に応じて、推定のために、コンポーネントの種類および潜在変数の変分確率および各コンポーネントのパラメータ、ハイパーパラメータ、および自由パラメータ選択変数を初期化する。初期化処理部１０３は、例えば、コンポーネントの種類をランダムに選択する。また、初期化処理部１０３は、例えば、選択された種類に応じたパラメータの初期値、潜在変数の変分確率、および自由パラメータ選択変数の初期値をランダムに設定する。潜在変数の変分確率は、周辺化尤度を計算するための、潜在変数の事後確率の近似値である。
【００３９】
潜在変数変分確率計算処理部１１１は、現在設定されているコンポーネントの種類、およびパラメータ、自由パラメータ選択変数に基づき、潜在変数の変分確率を推定する。潜在変数変分確率計算処理部１１１は、具体的には、観測値データ、初期化処理部１０３が設定したコンポーネントの種類、モデルのパラメータ、潜在変数の変分確率、自由パラメータ選択変数を取得する。後述する収束判定処理において収束していないと判定され、再度の計算を行う場合は、潜在変数変分確率計算処理部１１１は、コンポーネント最適化処理部１１２が前に推定したコンポーネントの種類およびモデルのパラメータ、自らが前に計算した潜在変数の変分確率、自由パラメータ選択変数計算部１１３が前に出力した、自由パラメータ選択変数を取得する。潜在変数変分確率計算処理部１１１は、これら取得したデータを用いて、自由パラメータ選択変数により自由度が限定されたモデル事後確率の下界が最大となるように潜在変数の変分確率を計算する。モデル事後確率は、観測値を得た際のモデルの事後確率である。
【００４０】
潜在変数変分確率計算処理部１１１は、変分確率ｑ（ｚ）を、自由度を限定したモデル事後確率の下界の最大化によって計算する。まず自由度を限定したモデル事後確率の下界を説明する。自由度を限定したモデル事後確率は、以下の式（８）のようにあらわされる。
【００４１】
【数８】
0006536157.tif 000009
【００４２】
また、式（８）の下界は、変分確率ｑ（ｚ）を用いて以下の式（９）のように表される。
【００４３】
【数９】
0006536157.tif 000010
【００４４】
また、式（９）の右辺の積分にラプラス近似を適用すると以下の式（１１）のように下界が得られる。Ｋは取りうる状態の数である。Ｄｋ（Ｈ,ξ）は、Ｈで各コンポーネントのモデルを選んだ場合のコンポーネントｋのモデルの自由度であり式（１０）のように表される。
【００４５】
【数１０】
0006536157.tif 000011
【００４６】
【数１１】
0006536157.tif 000012
【００４７】
さらに、対数関数が凹関数であることを利用すると、以下の式（１２）のように下界が求められる。
【００４８】
【数１２】
0006536157.tif 000013
【００４９】
潜在変数変分確率計算処理部１１１は、この下界の関数を最大化するようにｑを求める。この下界の関数を最適化基準と呼ぶ。ｑ（チルダ付き）に関しては、ｑの前の更新時の値を用いると最大となるため、ｑの前の更新時の値を代入する。各変分確率、パラメータのｔ回目の更新時の値を、上付きの添え字で（t）と表すことにする。潜在変数変分確率計算処理部１１１は、変分確率の値を以下の式（１３）のように計算する。
【００５０】
【数１３】
0006536157.tif 000014
【００５１】
コンポーネント最適化処理部１１２は、現在の潜在変数の変分確率に基づき、コンポーネントの種類およびパラメータを推定する。コンポーネント最適化処理部１１２は、具体的には、観測値データ、初期化処理部１０３に設定されたコンポーネントの種類、モデルのパラメータ、潜在変数の変分確率および自由パラメータ選択変数を取得する。後述する収束判定処理において収束していないと判定され、再度の計算を行う場合は、コンポーネント最適化処理部１１２は、自らが前に推定したコンポーネントの種類およびモデルのパラメータ、潜在変数変分確率計算処理部１１１が前に計算した潜在変数の変分確率、自由パラメータ選択変数計算部１１３が前に出力した、自由パラメータ選択変数を取得する。
【００５２】
コンポーネント最適化処理部１１２は、取得したデータを用いて、混合モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定されたモデル事後確率の下界が最大となるようにコンポーネントの種類及びそのパラメータを最適化することにより最適な混合モデルおよびパラメータを推定する。コンポーネント最適化処理部１１２は、具体的には、コンポーネントの種類Ｈおよびパラメータφを、自由度を限定したモデル事後確率の下界の最大化によって計算する。潜在変数変分確率計算処理部１１１と同様に下界をもとめ、コンポーネントの種類およびパラメータを以下の式（１４）のように計算する。この下界は、コンポーネントごとに計算できるため、コンポーネントの種類の組み合わせ全てに計算する必要がなくコンポーネントの種類まで最適化が可能である。
【００５３】
【数１４】
0006536157.tif 000015
【００５４】
自由パラメータ選択変数計算部１１３は、コンポーネント最適化処理部１１２の結果から、自由パラメータとして推定するパラメータを選択する。すなわち、自由パラメータ選択変数計算部１１３は、自由パラメータ選択変数を計算する。自由パラメータ選択変数計算部１１３は、具体的には、現在の潜在変数変分確率と、コンポーネントの種類及びパラメータを取得し、コンポーネントごとに観測値への寄与が大きいものだけ自由パラメータ選択変数に１を与えるよう推定する。
【００５５】
自由パラメータ選択変数計算部１１３は、例えば、各コンポーネントｋごとに、変分確率が正のサンプルのみによりＬ１正則化項をつけてパラメータを推定し、パラメータｊの絶対値が閾値以上のものだけξｋｊ＝１としてもよい。
【００５６】
最適性判断処理部１１４は、現在の潜在変数変分確率、コンポーネントの種類及びパラメータ、観測データおよび自由パラメータ選択変数をもとに、自由度を限定したモデル事後確率の最大化を継続するかを判断する。前回の更新での最適化基準との差分が十分小さくなったかどうかによって小さければ終了、大きければ継続と判断する。
【００５７】
最適性判断処理部１１４は、継続と判断した場合には、潜在変数変分確率、コンポーネントの種類及びパラメータを潜在変数変分確率計算処理部１１１に出力する。終了と判断した場合には、入力された状態数の候補集合で計算の終わっていない要素がある場合はそれらの計算を実施する。最適性判断処理部１１４は、すべての状態数の候補で計算が終わったならば、その中で最適化基準が最も大きい状態数での潜在変数変分確率、コンポーネントの種類及び各パラメータを結果出力部１２１に出力する。
【００５８】
本実施形態のモデル推定システムは、このように最適化基準が収束するまで、潜在変数変分確率とコンポーネントの種類、パラメータの計算処理を繰り返す。各処理で必ず最適化基準が増加する。
【００５９】
結果出力部１２１は、取得した潜在変数変分確率とコンポーネントの種類及び各パラメータを出力する。
【００６０】
なお、隠れ状態とは、潜在変数に設定される値を示す。隠れ状態数とは、潜在変数に設定される値の候補値の数を示す。利用者は、隠れ状態数、隠れ状態を潜在変数変分確率から求めることができる。例えば、利用者は、各サンプルに対応する複数の隠れ状態のうち、最も変分確率が大きい隠れ状態を選択する。また、利用者は、各サンプルにおける変分確率の和が正になる隠れ状態の個数を隠れ状態数とすることができる。
【００６１】
次に、本実施形態のモデル推定システムの動作を説明する。図２は、本実施形態のモデル推定システムの動作を示すフローチャートである。
【００６２】
まず、データ入力部１０１は、観測値データ、コンポーネントの種類候補、状態数の候補集合、収束判定基準を含むデータを取得する（ステップＡ１）。
【００６３】
次に、状態数設定部１０２は、状態数の候補集合のうちまだ計算されていない要素の数を状態数として設定する（ステップＡ２）。
【００６４】
次に、初期化処理部１０３は、状態数に応じて潜在変数変分確率およびコンポーネントの種類及びモデルのパラメータ、自由パラメータ選択変数を初期化する（ステップＡ３）。
【００６５】
次に、潜在変数変分確率計算処理部１１１は、自由度を限定したモデル事後確率の下界を最大化するよう、潜在変数変分確率を計算する（ステップＡ４）。
【００６６】
次に、コンポーネント最適化処理部１１２は、自由度を限定したモデル事後確率の下界を最大化するよう、モデルの種類（コンポーネントの種類）及びモデルのパラメータを計算する（ステップＡ５）。
【００６７】
次に、自由パラメータ選択変数計算部１１３が、自由パラメータ選択変数を計算する（ステップＡ６）。
【００６８】
次に、最適性判断処理部１１４が、最適化基準が収束したかどうかを判定する（ステップＡ７）。もし、最適化基準が収束していなければ（ステップＡ８のＮＯ）、モデル推定システムは、ステップＡ４に戻りステップＡ４からステップＡ７までの処理を繰り返す。
【００６９】
もし、最適化基準が収束していれば（ステップＡ８のＹＥＳ）、ステップＡ9に進む。
【００７０】
次に、最適性判断処理部１１４は、入力された状態数候補すべてについて計算を終えたかを判定する（ステップＡ９）。
【００７１】
終わっていなければ、モデル推定システムは、ステップＡ２に進み、ステップＡ２からステップＡ８までの処理を繰り返す。
【００７２】
終わっていれば、最適性判断処理部１１４が、これまでに計算したモデル選択結果のうち、最適化基準が最大のものを選択する（ステップＡ１０）。結果出力部１２１は、選択された結果を出力する（ステップＡ１１）。
【００７３】
このようにしてモデル選択およびそのモデルの推定が実現される。本実施形態では、潜在変数変分確率を先に計算し、その後コンポーネントの種類及びモデルのパラメータを推定し、その後自由パラメータ選択変数を計算するよう手順を説明したが、この３つの処理の順序は入れ替えてもよい。
【００７４】
また、利用者は、本実施形態のモデル推定システムを用いれば、隠れ状態数、隠れ状態を潜在変数変分確率から求めることができる。また、本実施形態のモデル推定システムは、自由変数パラメータを計算することにより、コンポーネントのパラメータの次元が大きくても、推定誤差を少なくすることができる。
【００７５】
実施形態２．
第２の実施形態（実施形態２）では、ξも含めてモデル化し、それを推定する方法を説明する。図３は、第２の実施形態のモデル推定システムの構成を示すブロック図である。以下、第１の実施形態と同じ構成の説明を省略する。
【００７６】
初期化処理部２０３は、潜在変数の変分確率、パラメータ、および自由パラメータ選択変数の初期値を設定する。初期化処理部２０３は、具体的には、状態数設定部１０２が設定した状態数に応じて、推定のために、コンポーネントの種類および潜在変数の変分確率および各コンポーネントのパラメータ、自由パラメータ選択変数、および自由パラメータ選択変数の分布のパラメータを初期化する。初期化処理部２０３は、例えば、コンポーネントの種類をランダムに選択する。また、初期化処理部２０３は、例えば、選択された種類に応じたパラメータ、潜在変数の変分確率、および自由パラメータ選択変数、および自由パラメータ選択変数分布のパラメータの初期値をランダムに設定する。
【００７７】
潜在変数変分確率計算処理部２１１は、現在設定されているコンポーネントの種類、およびパラメータ、自由パラメータ選択変数に基づき、潜在変数の変分確率を推定する。潜在変数変分確率計算処理部２１１は、具体的には、観測値データ、初期化処理部２０３が設定したコンポーネントの種類、モデルのパラメータ、潜在変数の変分確率、自由パラメータ選択変数、および自由パラメータ選択変数分布のパラメータを取得する。後述する収束判定処理において収束していないと判定され、再度の計算を行う場合は、潜在変数変分確率計算処理部２１１は、コンポーネント最適化処理部２１２が前に推定したコンポーネントの種類およびモデルのパラメータ、自らが前に計算した潜在変数の変分確率、自由パラメータ選択変数計算部２１３が前に出力した、自由パラメータ選択変数、自由パラメータ選択変数分布最適化処理部２１４が前に計算した自由パラメータ選択変数分布を取得する。潜在変数変分確率計算処理部２１１は、これら取得したデータを用いて、自由パラメータ選択変数により自由度が限定されたモデル事後確率の下界が最大となるように潜在変数の変分確率を計算する。
【００７８】
潜在変数変分確率計算処理部２１１は、変分確率ｑ（ｚ）を、自由度を限定したモデル事後確率の下界の最大化によって計算する。まず自由度を限定したモデル事後確率の下界を説明する。自由度を限定した対数モデル事後確率は、以下の式（１５）のように表される。
【００７９】
【数１５】
0006536157.tif 000016
【００８０】
ただし、ここでp（ξ|β）は、予め任意に設定されたξの分布とする。
【００８１】
式（１５）の下界は、変分確率ｑ（ｚ）とr（ξ）を用いて以下の式（１６）のように表すことができる。
【００８２】
【数１６】
0006536157.tif 000017
【００８３】
また、式（１６）の右辺の積分にラプラス近似を適用すると以下の式（１７）のように下界が得られる。Ｋは取りうる状態の数である。Ｄｋ（Ｈ,ξ）は、Ｈで各コンポーネントのモデルを選んだ場合のコンポーネントｋのモデルの自由度であり、式（１０）のようにあらわされる。ただし、この方法に限らず、特定の事前分布を仮定し解析的に積分消去してもよい。
【００８４】
【数１７】
0006536157.tif 000018
【００８５】
さらに、対数関数が凹関数であることを利用すると、以下の式（１８）のように下界が求まる。
【００８６】
【数１８】
0006536157.tif 000019
【００８７】
潜在変数変分確率計算処理部２１１は、この下界の関数を最大化するようにｑを求める。この下界の関数を最適化基準と呼ぶ。ｑ（チルダ付き）に関しては、ｑの前の更新時の値を用いると最大となるため、ｑの前の更新時の値を代入する。各変分確率、パラメータのｔ回目の更新時の値を、上付きの添え字で（t）と表すことにする。潜在変数変分確率計算処理部２１１は、変分確率の値を以下の式（１９）のように計算する。
【００８８】
【数１９】
0006536157.tif 000020
【００８９】
コンポーネント最適化処理部２１２は、現在の潜在変数の変分確率に基づき、コンポーネントの種類およびパラメータを推定する。コンポーネント最適化処理部２１２は、具体的には、観測値データ、初期化処理部２０３に設定されたコンポーネントの種類、モデルのパラメータ、潜在変数の変分確率、自由パラメータ選択変数、および自由パラメータ選択変数分布のパラメータを取得する。後述する収束判定処理において収束していないと判定され、再度の計算を行う場合は、コンポーネント最適化処理部２１２は、自らが前に推定したコンポーネントの種類およびモデルのパラメータ、潜在変数変分確率計算処理部２１１が前に計算した潜在変数の変分確率、自由パラメータ選択変数計算部２１３が前に出力した、自由パラメータ選択変数、ならびに自由パラメータ選択変数分布最適化処理部２１４が前に計算した自由パラメータ選択変数分布を取得する。
【００９０】
コンポーネント最適化処理部２１２は、取得したデータを用いて、混合モデルのコンポーネントごとに分離され、自由パラメータ選択変数により自由度が限定されたモデル事後確率の下界が最大となるようにコンポーネントの種類及びそのパラメータを最適化することにより最適な混合モデルおよびパラメータを推定する。コンポーネント最適化処理部２１２は、コンポーネントの種類Ｈおよびパラメータφを、自由度を限定したモデル事後確率の下界の最大化によって計算する。潜在変数変分確率計算処理部の説明にあったように下界をもとめ、コンポーネントの種類およびパラメータを以下の式（２０）のように計算する。この下界は、コンポーネントごとに計算できるため、コンポーネントの種類の組み合わせ全てに計算する必要がなくコンポーネントの種類まで最適化が可能である。
【００９１】
【数２０】
0006536157.tif 000021
【００９２】
自由パラメータ選択変数計算部２１３は、現在の潜在変数変分確率と、コンポーネントの種類及びパラメータを入力として、自由度を限定したモデル事後確率の下界の最大化によって自由パラメータ選択変数の変分確率を計算する（式（２１）のｒに関する値）。
【００９３】
また、自由パラメータ選択変数分布最適化処理部２１４は、自由パラメータ選択変数計算部２１３が計算した自由パラメータ選択変数の変分確率を取得し、自由パラメータ選択変数分布のパラメータを、自由度を限定したモデル事後確率の下界の最大化によって計算する（式（２１）のβに関する値）。
【００９４】
【数２１】
0006536157.tif 000022
【００９５】
最適性判断処理部２１５は、現在の潜在変数変分確率、コンポーネントの種類及びパラメータ、観測データおよび自由パラメータ選択変数をもとに、自由度を限定したモデル事後確率の最大化を継続するかを判断する。前回の更新での最適化基準との差分が十分小さくなったかどうかによって小さければ終了、大きければ継続と判断する。
【００９６】
最適性判断処理部２１５は、継続と判断した場合には、潜在変数変分確率、コンポーネントの種類及びパラメータを潜在変数変分確率計算処理部２１１に入力する。終了と判断した場合には、入力された状態数の候補集合で計算の終わっていない要素がある場合はそれらの計算を実施する。最適性判断処理部２１５は、すべての状態数の候補で計算が終わったならば、その中で最適化基準が最も大きい状態数での潜在変数変分確率、コンポーネントの種類及び各パラメータを結果出力部１２１に出力する。
【００９７】
本実施形態のモデル推定システムは、このように最適化基準が収束するまで、潜在変数変分確率とコンポーネントの種類、各パラメータの計算処理を繰り返す。各処理で必ず最適化基準が増加する。
【００９８】
次に、第２の実施形態の動作を、図４に示すフローチャートを用いて説明する。
【００９９】
まず、データ入力部１０１は、観測値データ、コンポーネントの種類候補、状態数の候補集合、収束判定基準を入力する（ステップＡ１）。
【０１００】
次に、状態数設定部１０２は、状態数の候補集合のうちまだ計算されていない要素の数を状態数として設定する（ステップＡ２）。
【０１０１】
次に、初期化処理部２０３は、状態数に応じて潜在変数変分確率およびコンポーネントの種類及びモデルのパラメータ、自由パラメータ選択変数を初期化する（ステップＡ３）。
【０１０２】
次に、潜在変数変分確率計算処理部２１１は、自由度を限定したモデル事後確率の下界を最大化するよう、潜在変数変分確率を計算する（ステップＡ４）。
【０１０３】
次に、コンポーネント最適化処理部２１２は、自由度を限定したモデル事後確率の下界を最大化するよう、コンポーネントの種類及びモデルのパラメータを計算する（ステップＡ５）。
【０１０４】
自由パラメータ選択変数計算部２１３は、自由パラメータ選択変数の変分確率を計算する（ステップＢ１）。
【０１０５】
次に、自由パラメータ選択変数分布最適化処理部２１４は、自由パラメータ選択変数分布のパラメータを計算する（ステップＢ２）。
【０１０６】
次に、最適性判断処理部２１５が、最適化基準が収束したかどうかを判定する（ステップＡ７）。もし、最適化基準が収束していなければ（ステップＡ８のＮＯ）、モデル推定システムは、ステップＡ4に戻りステップＡ４からステップＡ７までの処理を繰り返す。
【０１０７】
もし、最適化基準が収束していれば（ステップＡ８のＹＥＳ）、ステップＡ９に進む。
【０１０８】
次に、最適性判断処理部２１５は、入力された状態数候補すべてについて計算を終えたかを判定する（ステップＡ９）。
【０１０９】
終わっていなければ、モデル推定システムは、ステップＡ２に進み、ステップＡ２からステップＡ８までの処理を繰り返す。
【０１１０】
終わっていれば、最適性判断処理部２１５が、これまでに計算したモデル選択結果のうち、最適化基準が最大のものを選択する（ステップＡ１０）。結果出力部１２１は、選択された結果を出力する（ステップＡ１１）。
【０１１１】
このようにしてモデル選択およびそのモデルの推定が実現される。本実施形態のモデル推定システムは、モデル事後確率の最大化という潜在変数変分確率計算処理部２１１およびコンポーネント最適化処理部２１２と同じ方法で自由パラメータ選択を行うことができる。本実施形態では、潜在変数変分確率を先に計算し、その後コンポーネントの種類及びモデルのパラメータを計算、その後自由パラメータ選択変数の変分確率を計算、自由パラメータ選択変数の生成分布パラメータを計算するよう手順を説明したが、この４者の順序は入れ替えてもよい。
【０１１２】
実施形態３．
図５は、第３の実施形態のモデル推定システムの構成を示すブロック図である。本実施形態のモデル推定システムは、図１に示す第１の実施形態の構成に加え、コンポーネント削除判定処理部３１５を備えている。本実施形態のモデル推定システムのコンポーネント削除判定処理部３１５以外の構成は、図１に示す第１の実施形態と同様であるため、説明を省略する。
【０１１３】
コンポーネント削除判定処理部３１５は、コンポーネント最適化処理部１１２から出力された潜在変数変分確率をもとに、コンポーネントの潜在変数変分確率を全て０として推定するかどうかを決定する。
【０１１４】
コンポーネント削除判定処理部３１５は、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とする。コンポーネント削除判定処理部３１５は、コンポーネントｋが次の式（２２）を満たすならば、そのコンポーネントの潜在変数の変分確率を全て0として推定する。
【０１１５】
【数２２】
0006536157.tif 000023
【０１１６】
図６は、本実施形態のモデル推定システムの動作を示すフローチャートである。図６に示すフローチャートは、ステップＡ６とステップＡ７の間にステップＣ１を含む点のみ、図２に示す第１の実施形態のフローチャートと異なる。よって、図２に示す第１の実施形態と同一の動作については、説明を省略する。
【０１１７】
コンポーネント削除判定処理部３１５は、基準を満たすコンポーネントの変分確率を０に設定する（ステップＣ１）。
【０１１８】
本実施形態のモデル推定システムは、コンポーネント削除判定処理部３１５を備えることにより、潜在変数の変分確率の和が０に収束するコンポーネントをより速く０に推定することができるため、より高速な推定が可能となる。
【０１１９】
また、本実施形態のモデル推定システムは、第２の実施形態のモデル推定システムにコンポーネント削除判定処理部３１５を追加した構成であってもよい。その場合、本実施形態のモデル推定システムの動作は、図４に示すステップＢ２とステップＡ７の間にステップＣ１を挿入したフローチャートにより表される。
【０１２０】
実施例１（Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）
コンポーネントのパラメータの次元が非常に大きくなる代表的な例は、文書の生成モデルである。
【０１２１】
非特許文献１のＬａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎのモデルにも、第１の実施形態から第３の実施形態のモデル推定システムを応用することが可能である。これにより、トピック数を手動でチューニングすることなく適切な基準のもと高速にモデル選択を実現することができる。
【０１２２】
例えば、検索結果文書の集合をクラスタリングし、検索結果を一目で把握したい場合、検索結果集合ごとに、そのクラスタ数は異なる。第１の実施形態から第３の実施形態のモデル推定システムは、高速にトピック数をチューニングしてそれぞれの属するトピックを推定できるため、多くの文書集合に対しクラスタリングを実施する場合にも応用が可能である。
【０１２３】
実施例２（売れ方の近い店舗のクラスタリング）
小売り店舗の商品配置を考える際、売れ行きの近い店舗の売上を参考に商品構成を考えることが有用であると予想される。売れ行きの近い店舗をクラスタリングするために、各店舗で商品の売り上げをモデル化した場合、商品の数が多いため、コンポーネントの次元が大きくなってしまう。このような場合でも、第１の実施形態から第３の実施形態のモデル推定システムによって店舗のクラスタ数を設定することなくクラスタリングを実施できる。
【０１２４】
図７は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５と、入力デバイス１００６とを備える。
【０１２５】
各実施形態のモデル推定システムは、コンピュータ１０００に実装される。モデル推定システムの動作は、プログラム（モデル推定プログラム）の形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の処理を実行する。
【０１２６】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【０１２７】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【０１２８】
次に本発明の主要部の構成を説明する。本発明によるモデル推定システムは、主要な構成要素として、隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部１０１と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部１０２と、潜在変数の変分確率、パラメータ、ハイパーパラメータ、コンポーネントの種類、および自由パラメータ選択変数の初期値を設定する初期化処理部１０３と、観測値データ、ならびに初期化処理部１０３が設定した潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部１１１と、観測値データ、ならびに初期化処理部１０３が設定した潜在変数の変分確率、コンポーネントの種類、パラメータおよび自由パラメータ選択変数を取得し、隠れ変数モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部１１２と、コンポーネント最適化処理部１１２が推定したコンポーネントの種類およびそのパラメータ、ならびに潜在変数変分確率計算処理部１１１が計算した潜在変数の変分確率を取得し、自由パラメータ選択変数を計算する自由パラメータ選択変数計算部１１３と、観測値データ、コンポーネント最適化処理部１１２が推定したコンポーネントの種類およびそのパラメータ、潜在変数変分確率計算処理部１１１が計算した潜在変数の変分確率、ならびに自由パラメータ選択変数計算部１１３が計算した自由パラメータ選択変数を取得し、自由度が限定された周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部１１４と、潜在変数変分確率計算処理部１１１が計算した潜在変数の変分確率、コンポーネント最適化処理部１１２が推定したコンポーネントの種類およびそのパラメータを出力する結果出力部１２１とを備えた。
【０１２９】
また、上記の各実施形態には以下の（１）〜（３）に記載されたモデル推定システムも開示されている。
【０１３０】
（１）隠れ変数モデルの推定対象となる観測値データ、隠れ変数モデルを構成するコンポーネントの種類、およびその状態数候補集合を取得するデータ入力部１０１と、状態数候補集合のうちまだ計算が完了していない要素を状態数として設定する状態数設定部１０２と、潜在変数の変分確率、パラメータ、ハイパーパラメータ、コンポーネントの種類、自由パラメータ選択変数、および自由パラメータ選択変数分布のパラメータの初期値を設定する初期化処理部２０３と、観測値データ、ならびに初期化処理部２０３が設定した潜在変数の変分確率、コンポーネントの種類、パラメータ、自由パラメータ選択変数および自由パラメータ選択変数分布のパラメータを取得し、自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるような潜在変数の変分確率を計算する潜在変数変分確率計算処理部２１１と、観測値データ、ならびに初期化処理部２０３が設定した潜在変数の変分確率、コンポーネントの種類、パラメータ、自由パラメータ選択変数および自由パラメータ選択変数分布のパラメータを取得し、隠れ変数モデルのコンポーネントごとに分離され自由パラメータ選択変数により自由度が限定された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適なコンポーネントの種類およびそのパラメータを推定するコンポーネント最適化処理部２１２と、コンポーネント最適化処理部２１２が推定したコンポーネントの種類およびそのパラメータ、ならびに潜在変数変分確率計算処理部２１１が計算した潜在変数の変分確率を取得し、自由パラメータ選択変数を計算する自由パラメータ選択変数計算部２１３と、自由パラメータ選択変数計算部２１３が計算した自由パラメータ選択変数を取得し、自由パラメータ選択変数分布のパラメータを計算する自由パラメータ選択変数分布最適化処理部２１４と、観測値データ、コンポーネント最適化処理部２１２が推定したコンポーネントの種類およびそのパラメータ、潜在変数変分確率計算処理部２１１が計算した潜在変数の変分確率、自由パラメータ選択変数計算部２１３が計算した自由パラメータ選択変数、自由パラメータ選択変数分布最適化処理部２１４が計算した自由パラメータ選択変数分布のパラメータを取得し、自由度が限定された周辺化モデル事後確率の下界の最大化を継続するかを判定する最適性判断処理部２１５と、潜在変数変分確率計算処理部２１１が計算した潜在変数の変分確率、コンポーネント最適化処理部２１２が推定したコンポーネントの種類およびそのパラメータを出力する結果出力部１２１とを備えたことを特徴とするモデル推定システム。
【０１３１】
（２）モデル推定システムは、潜在変数の変分確率を取得し、各コンポーネントにおいて、変分確率の和が閾値よりも小さければ当該コンポーネントの変分確率を０とするコンポーネント削除判定処理部（例えば、コンポーネント削除判定処理部３１５）を備えるように構成されていてもよい。
【０１３２】
（３）モデル推定システムは、最適性判断処理部が、周辺化モデル事後確率の下界の最大化を継続すると判定した場合に、潜在変数変分確率計算処理部は、コンポーネント最適化処理部が前に推定したコンポーネントの種類およびパラメータならびに自らが前に計算した潜在変数の変分確率を取得し、再度、周辺化モデル事後確率の下界が最大となるように潜在変数の変分確率を計算し、コンポーネント最適化処理部は、自らが前に推定したコンポーネントの種類およびパラメータ、ならびに潜在変数変分確率計算処理部が前に計算した潜在変数の変分確率を取得し、再度、隠れ変数モデルのコンポーネントごとに分離された周辺化モデル事後確率の下界が最大となるようにコンポーネントの種類およびそのパラメータを最適化することにより最適な前記コンポーネントの種類およびそのパラメータを推定するように構成されていてもよい。
【産業上の利用可能性】
【０１３３】
パラメータの数がサンプルと共に増大するような隠れ変数モデルの推定に適用できる。
【符号の説明】
【０１３４】
１０１  データ入力部
１０２  状態数設定部
１０３、２０３  初期化処理部
１１１、２１１  潜在変数変分確率計算処理部
１１２、２１２  コンポーネント最適化処理部
１１３、２１３  自由パラメータ選択変数計算部
１１４、２１５  最適性判断処理部
１２１  結果出力部
２１４  自由パラメータ選択変数分布最適化処理部
３１５  コンポーネント削除判定処理部
【図１】
0006536157.tif 000024
【図２】
0006536157.tif 000025
【図３】
0006536157.tif 000026
【図４】
0006536157.tif 000027
【図５】
0006536157.tif 000028
【図６】
0006536157.tif 000029
【図７】
0006536157.tif 000030