我正确地实施了这些方程吗?

时间:2017-12-08 00:52:34

标签: matlab

我正在尝试实现二维高斯混合模型

当我使用方差重新计算后验概率并且意味着我计算时,我得到的错误是我的SIGMA不是正方形对称矩阵。

我唯一能想到的是我在MATLAB中实现了错误的方程式。

function [Weighted_Mu, Weighted_Sigma] = Iterative_Parameters_Calculator(Observations,Posteriors)
Weighted_Mu = [0,0];
Weighted_Sigma = [0 0; 0 0]; 
%Calculate the Means
Mu1 = sum(Posteriors(:,1).*Observations,1)/(sum(Posteriors(:,1),1));
Mu2 = sum(Posteriors(:,2).*Observations,1)/(sum(Posteriors(:,2),1));

Weighted_Mu = {Mu1,Mu2};

Sigma1(1,:) = sum(Posteriors(:,1).*(Observations - Mu1(1)).^2,1)/sum(Posteriors(:,1),1);
Sigma1(2,:) = sum(Posteriors(:,1).*(Observations - Mu1(2)).^2,1)/sum(Posteriors(:,1),1);
Sigma2(1,:) = sum(Posteriors(:,2).*(Observations - Mu2(1)).^2,1)/sum(Posteriors(:,2),1);
Sigma2(2,:) = sum(Posteriors(:,2).*(Observations - Mu1(2)).^2,1)/sum(Posteriors(:,2),1);

Weighted_Sigma = {Sigma1, Sigma2};
end

这些是方程式

在图片中,伽玛是我的后代,x是观察,你是mu,sigma是西格玛。

我的实施错了吗?

0 个答案:

没有答案