Dirichlet diffusion trees

  • 資料1
  • 資料2
  • 資料3
  • 資料4
  • データがあって、このモデルに合うか、あのモデルに合うか、この仮説に合うか、あの仮説に合うか、というのを考えるとき「尤度」「尤度比」を使って、事前確率を事後確率に変える
  • このモデル・あのモデルと考えつつ、MCMCで事前・事後の確率をくるくる回すこともよくやるが、そのときに事前確率をどうするか、と言う話
  • いくつかのモデル・仮説があったとき、データを見て、どの仮説にしようかな、と考えて、次の「くるくる」にしようとするとき、確率的に、一つの仮説を取り出して、次に進もう、とやることがある。これがシンプルなDirichlet process
  • 考えているのは、いつも、「一つのモデル・仮説が真であるとすると」という状況
  • 多項があって、そのどれが出やすいかを考えるのがDirichlet分布なので、名前もそんな感じ
  • 例を出せば、クラスタ数不明なデータについて、クラスタ数が1,2,3.,,,というすべての場合を考えつつ、どれにしようかな、とやっているような感じ
  • そうではなくて、「複数のモデル・仮説がいずれも真であって、その混合状態」からデータが得られているのではないか、と考えるのがDirichlet process mixture
  • この場合、n個のモデル・仮説に、長さnの確率ベクトルを与えて、それを「仮説」とする
  • この確率ベクトルは、要素がすべて非負(もしくは正)で和が1になるようなもの。これはディリクレ分布そのもの
  • この「モデル・仮説の混成状況」としての確率ベクトルをディリクレ分布として見るということは、モデル・仮説数の次元の正規直交基底の頂点をつないだ正単体を状態空間としていることからわかるように、すべてのモデル・仮説同士が独立・対等であることを前提にしている
  • ここで、モデル・仮説同士が必ずしも独立・対等でないとすると、うまくない
  • そんな例は、分類木をデータから推定しているような場合で、これだと、あるモデル木があって、それの一部を改変したようなモデル木と、大幅改変したようなモデル木とは、関係の強弱が大きく違う
  • そんな、モデル・仮説同士の非独立性を持ち込みたいとき、その持ち込み方の一つとして、Dirichlet Diffusion Treesという方法を使いましょう
  • もう一つの特徴、「モデル数・仮説数は無限」
  • Dirichlet Process,そのmixture、そのDiffusion treeでは、仮説数が無限であることを想定している
  • クラスタ数の例で言えば、1,2,...で上限がない
  • この点が、Hierarchical Bayesian mixture modelとの違いになる。このモデルも木構造にである階層構造を持たせて、モデルの混成を扱うが、こちらは有限
  • 似た手法にPolya treesがあるが分岐のさせ方のルールに由来する仮説比率の不連続性があるのが欠点らしい
  • と、これが、大枠
  • 古いRのバージョンでのサンプルソース