ガウス分布の変分混合の前のパラメーターの選択


7

パターン認識と機械学習(Bishop、2007)の第10章に従って、多変量ガウス分布のバニラ変分混合を実装しています。

ベイジアン手法では、事前にガウス逆ウィシャートの(ハイパー)パラメーターを指定する必要があります。

  • α0 (事前のディリクレ濃度パラメーター);
  • ν0 (逆ウィシャート分布の自由度);
  • β0 (ガウス逆Wishart分布の疑似観測);
  • m0 (ガウス分布の平均)。
  • W0 (逆ウィシャートのスケール行列)。

一般的な選択肢は α0=1ν0=d+1β0=1m0=0W0=Id、 どこ d 空間の次元です。

当然のことながら、事後はパラメータの選択に強く依存する可能性があります(特に、 W0 コンポーネントの数に大きな影響を与えます。 α0)。ためにm0 そして W0、上記の選択は、データがある程度正規化されている場合にのみ意味があります。

一種の経験的なベイズアプローチに従って、私は設定を考えていました m0 そして W01 データの経験的平均および経験的共分散行列に等しい(後者の場合、おそらく対角線のみを考慮することができます。また、サンプルの共分散行列を乗算する必要があります ν0)。これは賢明でしょうか?パラメータを設定する他の合理的な方法について何か提案はありますか?(完全に階層的なベイズとDPGMMを使用せずに)

ここにも同様の質問がありますが、私の質問に関連する回答はありません。)

回答:


2

適切な事前確率は、実際の問題に依存します-特に、本当に普遍的なデフォルトがあるとは思いません。1つの良い方法は、データを生成したプロセスに関するドメイン固有の知識(おそらく弱く曖昧な可能性がある)を定式化することです。

  • 「12個を超えるコンポーネントが含まれることはほとんどありません」
  • 「80より大きい値を観測することはほとんどありません」

これらは通常、収集した実際のデータではなく、データを収集する前に何と言えるかによって通知される必要があることに注意してください。(たとえば、データは摂氏での屋外温度を表すため、[50,80]データを見る前でも)。また、使用する計算機構によって事前に動機を与えることもできます(たとえば、100個のデータポイントを収集するので、コンポーネントを見つけるのに十分なデータがないので、コンポーネントが10個を超える可能性は低いと考えることができます)

それらのステートメントのいくつかは、事前に直接変換することができます-例えば、あなたは設定することができます m0 そして W01 そのため、前の質量の95%が期待される値の範囲を超えています。

直感的でないパラメーター(または別のロバストネスチェック)については、ベイジアンワークフローペーパーの視覚化に従って事前の予測チェックを実行できます。これは、以前のデータセットから開始する多数の新しいデータセットをシミュレートすることを意味します。次に、それらを視覚化して、それらが

  1. あまり頻繁に期待に違反しないでください(驚きの余地を残しておくことをお勧めします。したがって、制約内で90%または95%のシミュレーションを目指します)
  2. それ以外の場合は、値のスペクトル全体をかなりよくカバーします

ありがとう。これは良い(教科書)回答であり、一般に事前分布はデータによって通知されるべきではないことには同意しますが、実際には非常にうまくいく可能性があります-経験的なベイズを参照してくださいデータに影響されないハイパープライアを使用し、それらを無視します)。言い換えれば、私の元の質問は、そのようなハイパープライアとそのヒューリスティックな近似について尋ねていました。
lacerbi

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.