ディリクレ過程混合モデル PlatoBlockchain データ インテリジェンス。垂直検索。あい。

ディリクレプロセス混合モデル

このブログ投稿は、シリーズの第XNUMX部です。 ディリクレプロセス混合モデルによるクラスタリング。 以前の記事では、有限ディリクレ混合モデルについて説明し、無限kクラスターのモデルの限界を取り上げて、ディリクレプロセスを紹介しました。 見てきたように、私たちの目標は、最初からk個のクラスター/コンポーネントの数を指定する必要のない混合モデルを構築することです。 後 ディリクレ過程のさまざまな表現の提示、今度は実際にDPを使用して、クラスタリングを実行できる無限の混合モデルを構築します。 この記事の目的は、ディリクレプロセス混合モデルを定義し、中華レストランプロセスとギブスサンプリングの使用について説明することです。 以前の投稿を読んでいない場合は、トピックが少し理論的であり、モデルの構築について十分に理解する必要があるため、読むことを強くお勧めします。

更新:Datumbox Machine Learning Frameworkがオープンソースになり、無料で ダウンロード。 パッケージcom.datumbox.framework.machinelearning.clusteringをチェックして、Javaでのディリクレプロセス混合モデルの実装を確認してください。

1.ディリクレプロセス混合モデルの定義

ディリクレプロセスを使用すると、kが無限大の有限モデルの限界を取ると考えることができる、無限成分を持つ混合モデルを作成できます。 次のモデルがあるとします。

画像
画像
画像

方程式1:ディリクレプロセス混合モデル

Gは次のように定義されます 画像 & 画像 の短い表記として使用 画像 これは、次の場合に1を取るデルタ関数です 画像 他の場所では0。 θi Gからサンプリングされたクラスターパラメーターです。生成分布Fはクラスターパラメーターθによって構成されますi xを生成するために使用されますi 観察。 最後に、密度分布を定義できます 画像 これは、混合比率を含む混合分布(可算無限混合)です。 画像 と混合コンポーネント 画像.

画像

図1:ディリクレプロセス混合モデルのグラフィカルモデル

上の図は、DPMMの同等のグラフィカルモデルを示しています。 G0 はDPのベース分布であり、計算を簡単にし、魅力的な数学的特性を利用するために、生成分布Fの前に共役になるように選択されます。 αは、ディリクレプロセスのスカラーハイパーパラメーターであり、取得するクラスターの数に影響します。 αの値が大きいほど、クラスターが多くなります。 αが小さいほど、クラスターは少なくなります。 αの値は 信じる力 Gで0。 値が大きい場合は、ほとんどのサンプルが個別であり、Gに集中した値を持つことを示します。0。 Gは、パラメーターから確率を割り当てるDPからサンプリングされたΘパラメーター空間上のランダム分布です。 θi G分布から描画され、クラスターのパラメーターを含むパラメーターベクトルです。F分布はθでパラメーター化されますi そしてxi 生成分布Fによって生成されたデータポイントです。

θはi Θパラメータ空間の要素であり、クラスタを「構成」します。 それらは、xの潜在変数としても見ることができますi どのコンポーネント/クラスターからxを教えてくれるi から来て、このコンポーネントのパラメータは何ですか。 したがって、すべてのxi 観察し、θi G分布から。 ドローごとに、分布は前の選択に応じて変化します。 Blackwell-MacQueen urnスキームで見たように、G分布を統合して、θの将来の選択を統合できます。i Gのみに依存0: 画像。 多くの実装(中華レストランプロセスなど)は、 指数関数的に増加するkコンポーネント。 したがって、ギブスサンプリングなどの近似計算方法が使用されます。 最後に、k個のクラスターが無限であっても、アクティブなクラスターの数は 画像。 したがって、θi 繰り返され、クラスタリング効果を示します。

2.中華レストランのプロセスを使用して無限混合モデルを定義する

前のセグメントで定義されたモデルは数学的に安定していますが、それでも大きな欠点があります。新しいxごとにi 観察する場合、新しいθをサンプリングする必要がありますi θの以前の値を考慮に入れる。 問題は、多くの場合、これらのパラメーターをサンプリングすることは困難で、計算コストがかかるタスクになる可能性があることです。

別のアプローチは、中華レストランプロセスを使用して潜在変数zをモデル化することです。i クラスタ割り当ての。 θを使用する代わりにこの方法i クラスターパラメーターとクラスター割り当ての両方を示すために、潜在変数zを使用します。i クラスターIDを示し、この値を使用してクラスターパラメーターを割り当てます。 その結果、新しい観測値を取得するたびにθをサンプリングする必要がなくなり、代わりにzをサンプリングしてクラスター割り当てを取得します。i CRPから。 このスキームでは、新しいクラスターを作成する必要がある場合にのみ、新しいθがサンプリングされます。 以下に、このアプローチのモデルを示します。

画像
画像
画像

方程式2:CRPを使用した混合モデル

上記は、データxi そして、クラスターが生成されます。 クラスター分析を実行するには、観測値xを使用する必要がありますi そして、クラスター割り当てzを推定しますi.

3.混合モデルの推論とギブスのサンプリング

残念ながら、ディリクレプロセスはノンパラメトリックであるため、 EMアルゴリズムを使用できません クラスター割り当てを格納する潜在変数を推定します。 割り当てを見積もるために、 折りたたまれたギブスサンプリング.

折りたたみギブスサンプリングは、単純なマルコフ連鎖モンテカルロ(MCMC)アルゴリズムです。 これは高速であり、別の変数をサンプリングしながら一部の変数を統合することができます。 それにもかかわらず、このアルゴリズムではGを選択する必要があります0 これは、方程式を分析的に解くことができ、直接サンプリングできるように、F生成分布の事前共役です。 画像.

クラスター割り当ての推定に使用する折りたたみギブスサンプリングの手順は次のとおりです。

  • zを初期化するi ランダムにクラスター割り当て
  • 収束するまで繰り返す
    • ランダムに斧を選択i
    • 他のzを保持j すべてのj≠iについて修正: 画像
    • zに新しい値を割り当てますi zに依存する「CRP確率」を計算するj そしてxj すべてのj≠iの: 画像

次の記事では、ディリクレプロセス混合モデルを使用してクラスター分析を実行する方法に焦点を当てます。 連続するデータセットとドキュメントでクラスタリングを実行するために、中華レストランプロセスと折りたたみギブスサンプリングを使用するXNUMXつの異なるディリクレプロセス混合モデルを定義します。

タイムスタンプ:

より多くの データムボックス