emgaussmix.m
来自「这里包含了聚类的工具箱还有很详细的文档说明」· M 代码 · 共 27 行
M
27 行
function [lambo,muo,varo] = emgaussmix(x,lambi,mui,vari)
[d,N] = size(x);
K = length(lambi);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Expectation-Maximization Algorithm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
papr = zeros(K,N);
for k = 1:K
papr(k,:) = lambi(k)*gaussian(x,mui{k},vari{k});
end
papr = papr./(ones(K,1)*sum(papr,1));
for k = 1:K
pri = papr(k,:);
lambo(k) = 1/N*sum(pri)+eps;
muo{k} = sum(x.*(ones(d,1)*pri),2)/sum(pri);
X = x-muo{k}*ones(1,N);
varo{k} = (X*diag(pri)*X')/sum(pri);
end
1;
%lambo = lambo/sum(lambo);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% End of EM algorithm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?