Home > gmmbayestb-v1.0 > gmmbvl_demo2d.m

gmmbvl_demo2d

PURPOSE ^

$Name: $

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

 $Name:  $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %
0002 % $Name:  $
0003 
0004 n = 400; k = 7; d = 2; c = 3; e = 10;
0005 fprintf('Sampling a %d-component %d-dimensional %d-separated mixture....\n',k,d,c);
0006 [X,T] = gmmbvl_mixgen(n,n,k,d,c,e);
0007 fprintf('------------------\n');
0008 
0009 fprintf('Running 10 times normal EM with k-means initialization\n');
0010 normal_em=[];
0011 for i=1:10
0012   [W,M,R,Tlogl] = gmmbvl_em(X,T,k,0,0,0);
0013   normal_em = [normal_em Tlogl];
0014 end
0015 fprintf('Average log-likelihood %f with std. dev. %f best run: %f \n',mean(normal_em),std(normal_em), max(normal_em));
0016 
0017      max_k = 10;
0018 fprintf('Running greedy EM\n');
0019 [W,M,R,Tlogl] = gmmbvl_em(X,T,max_k,10,1,0);
0020 title('Mixture model');
0021 
0022 
0023 figure(2); clf;plot(Tlogl,'-o');hold on;
0024 xlabel 'number of components'
0025 ylabel 'log-likelihood of test set'
0026 plot(repmat(mean(normal_em),max_k,1),'r')
0027 plot(repmat(mean(normal_em)+std(normal_em),max_k,1),'r--')
0028 plot(repmat(max(normal_em),max_k,1),'g')
0029 plot(repmat(mean(normal_em)-std(normal_em),max_k,1),'r--')
0030 
0031 [Tlogl,best_k] = max(Tlogl);
0032 fprintf('Best number of components according to cross-validation: %d (yielding log-likelihood %f ) \n',best_k,Tlogl);
0033 
0034 
0035 legend('Greedy EM','mean of normal EM', 'one standard deviation margins of normal EM','best result of normal EM',4);
0036 title('Log-likelihood plots');

Generated on Thu 14-Apr-2005 13:50:22 by m2html © 2003