私は、データを分類するためのガウスクラス条件付きモデルを訓練するEMアルゴリズムを実装しようとしています。現時点では、共分散行列を計算する方法がわからないので、私はMステップで立ち往生しています。大きなデータセットと異なる平均のためのMatlabの共分散の計算
問題は大きなデータセットがあり、forループを使用して各ポイントを通過するのが遅くなることです。私は、この式を用いて算出した平均を使用する必要があるので、私はまた、共分散関数COV()を使用することはできません(ミューシンボル1)
はにCOV()を調整する方法はあります私が望む平均を使用しますか?あるいは、私はループのないこれを行うことができる別の方法はありますか?
編集:データマトリックスがどのようなものか説明するのを忘れました。そのnx3は各行がデータポイントです。
技術的には一般的なケースnxmで動作する必要がありますが、nは通常は非常に大きく(1000以上)、mは比較的小さいです。
ループで動作している(遅いですが)バージョンを含めるように投稿を編集できますか?パフォーマンスの最適化を見つけるための出発点となります。 – mikkola
@mikkola申し訳ありませんが、私はそのコードを持っていません。あまりにも時間がかかるので、データをループすることができないことを明示しました。私が探しているのはforループの代わりです。 – user1804234