2012-08-29 7 views
6

を生成scikit-学び、しかし、私は泉そのとき、私のコード GMMは、私は私のデータセットを訓練するためのpython scikit-学ぶパッケージからガウス混合モデルを使用しています正ログ確率

- G = mixture.GMM(.. 。)

- G.fit(...)

- G.score(和機能)

結果のログ確率は正の実数である...その理由は? は、ログの確率が負であることが保証されていませんか?

私はそれを手に入れました。ガウス混合モデルが確率「質量」の代わりに対数確率「密度」を返すので、正の値は全く合理的です。共分散行列が特異に近い場合

は、その後、GMMはうまくperfomrないだろう、と一般的には、データが

+2

これはバグのようですが、最小限の複製スクリプトを教えてください。 BTW:https://github.com/scikit-learn/scikit-learn/issuesで直接バグを報告することができます – ogrisel

答えて

9

正ログ確率は大丈夫です、このような生成的なタスクのために良いではないことを意味します。

GMM計算確率は確率密度関数(PDF)であるため、個々の点で1より大きい可能性があることに注意してください。

制限事項は、PDFをデータドメイン上に統合する必要があることです。

ログの確率が非常に大きくなる場合、推論アルゴリズムは縮退した解決策に達している可能性があります(データセットが小さい場合は最尤推定と共通)。

GMMアルゴリズムが縮退解に達していないことを確認するには、各コンポーネントの分散を確認する必要があります。分散のいずれかがゼロに近い場合、これは悪いです。代わりに、最尤推定ではなくベイジアンモデルを使用するべきです(まだ実行していない場合)。

+0

こんにちは、縮退共分散行列についてもっと説明できますか?どのように起こることができますか?それは私のデータが主にR^nの部分空間にあることを意味し、その結果、ある軸に沿った分散はゼロに近くなりますか? – Jing

+0

はい - データがより小さな次元の部分空間にまたがることができます。または混合成分の1つを単一のデータポイントの中央に配置することができます。共分散行列の固有値がゼロに近いかどうかを調べます。 – user1149913

関連する問題