問題タブ [maximization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - Matlab を使用したガウス混合モデルの EM アルゴリズムの実装
EM アルゴリズムを使用して、特定のデータセットで 4 つのコンポーネントを含むガウス混合モデルをトレーニングしたいと考えています。このセットは 3 次元で、300 個のサンプルが含まれています。
rank(sigma) = 2
問題は、EM アルゴリズムの約 6 ラウンド後、共分散行列 sigma が matlab ( 3 ではなく)に従って特異値に近くなることです。これは、ガウス分布を評価する複雑な値のような望ましくない結果につながりますgm(k,i)
。
さらに、ガウスのログを使用してアンダーフローの問題を説明しました - E-step を参照してください。これが正しいかどうかはわかりませんが、責任 p(w_k | x^(i), theta) の exp を別の場所に持っていく必要があるかどうかはわかりません。
私の EM アルゴリズムの実装がこれまでのところ正しいかどうか教えてもらえますか? そして、特異共分散シグマに近い問題をどのように説明するのでしょうか?
これが EM アルゴリズムの私の実装です。
最初に、kmeans を使用してコンポーネントの平均と共分散を初期化しました。
E-stepでは、次の式を使用して責任を計算しています。
w_k は k ガウス成分です。
x^(i) は単一のデータポイント (標本)
theta は、ガウス混合モデルのパラメータを表します: mu、Sigma、pi。
対応するコードは次のとおりです。
Nk(k)
は、M ステップで指定された式を使用して計算され、M ステップで新しい確率を計算するために使用されp(k)
ます。
Mステップ
収束を確認するために、次の式を使用して対数尤度が計算されます。
ガウス混合モデルの EM アルゴリズムの Matlab 実装に何か問題がありますか?
matlab - MATLAB での線形計画法の最大化コード
<=
と の両方の>=
方程式を含む線形計画法最大化問題を解くにはどうすればよいですか?
たとえば、次のようなケースがあります。
最大化:
対象:
a1, a2, a3, a4, a5, a6, b1, b2, b3, c1, c2, c3
与えられた方程式の定数はどこにありますか。
この問題を解決するための適切な Matlab コードは何でしょうか?
r - R: 条件付きロジット モデルの尤度関数の計算が長すぎます
条件付きロジットモデルの係数を取得するために対数尤度関数を最大化しようとしています。約 9M 行 (300k 選択セット) と約 40 個のパラメーターを推定する大きなデータ フレームがあります。次のようになります。
ここで、ChoiceSet は購入時に店舗で入手可能な一連の製品であり、SKU が選択されたときは Choice=1 です。
ChoiceSets は異なる場合があるため、対数尤度関数を使用します。
SKU (不要) とゼロ ベクトルを使用せずに新しいデータ フレームを作成します。
maxLike パッケージを使用してこの関数を最大化し、勾配を使用して計算を高速化します。
最大化問題は次のとおりです。
一般に、サンプルが小さい場合は問題なく機能しますが、サンプルが大きい場合は長すぎます。
しかし、5000以上の選択肢セットに対してそれを行うと、Rはセッションを終了します。
では、(まだ読んでいる場合) 300,000 以上の選択セットがあり、コースの作業を完了するのに 1.5 週間ある場合、どうすればこの機能を最大化できますか? 助けてください、私にはわかりません。