EM算法的简单数学推导,没有做仔细的校对。若有问题请邮件联系我。
% compare
my_hist(data, 20); hold on; mi = min(data); mx = max(data);
t = linspace(mi, mx, 100);
y = z0*gauss(t, u0, sigma0) + z1*gauss(t, u1, sigma1); plot(t, y, 'r', 'linewidth', 5);
% gauss.m
% 1维高斯函数
% Hongliang He 2014/03
function y = gauss(x, u, sigma)
y = exp( -0.5*(x-u).^2/sigma.^2 ) ./ (sqrt(2*pi)*sigma); end
% my_hist.m
% 用直方图估计概率密度 % Hongliang He 2013/03 function my_hist(data, cnt) dat_len = length(data); if dat_len < cnt*5
error('There are not enough data!\n') end
mi = min(data); ma = max(data); if ma <= mi
error('sorry, there is only one type of data\n') end
dt = (ma - mi) / cnt; t = linspace(mi, ma, cnt); for k1=1:cnt-1
y(k1) = sum( data >= t(k1) & data < t(k1+1) ); end
y = y ./ dat_len / dt; t = t + 0.5*dt; bar(t(1:cnt-1), y); %stem(t(1:cnt-1), y) end
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科EM算法推导与GMM的训练应用(9)全文阅读和word下载服务。
相关推荐: