2

ガウス混合モデルを使用して対数尤度関数を推定します (パラメーターは EM アルゴリズムによって推定されます)。Matlab を使用してます ...データのサイズは 17991402*1...17991402 です。

gmdistribution.fit(X,2)を実行すると、目的の出力が得られます

しかし、k>2 に対して gmdistribution.fit(X,k)を実行すると ....コードがクラッシュし、" OUT OF MEMORY " というエラーが表示されます。オープン ソース コードも試しましたが、同じ問題が再び発生しました。誰かがここで私を助けてくれますか?..私は基本的に、このような大規模なデータセットでさまざまな数のコンポーネントを使用できるようにするコードを探しています。

ありがとう!!!

4

1 に答える 1

0

反復時間を短縮することは可能ですか? デフォルトは 100 です。

OPTIONS = statset('MaxIter',50,'Display','final','TolFun',1e-6)
gmdistribution.fit(X,3,OPTIONS)

または、元のデータをアンダーサンプリングすることを検討することもできます。

このドキュメントでは、メモリ不足の問題に対する一般的な解決策について説明します。

于 2013-12-27T02:00:39.953 に答える