0
我有一個任務,用matlab實現MoG與EM。作業: 混合高斯(EM)如何計算責任
我的代碼atm;
clear
clc
load('data2')
%% INITIALIZE
K = 20
pi = 0.01:((1-0.01)/K):1;
for k=1:20
sigma{k} = eye(2);
mu(k,:) = [rand(1),rand(1)];
end
%% Posterior over the laten variables
addition = 0;
for k =1:20
addition = addition + (pi(k)*mvnpdf(x,mu(k,:), sigma{k}));
end
test = 0;
for k =1:20
gamma{k} = (pi(k)*mvnpdf(x,mu(k), sigma{k})) ./ addition;
end
數據有1000行2列(所以1000個數據點)。我現在的問題是如何計算責任。當我嘗試計算協方差矩陣時,我得到一個1x1000的矩陣。雖然我相信協方差矩陣應該是2×2。