GMMB_EM_INIT_CMEANS1 initS = gmmb_em_init_cmeans1(data, C) Create an initialization structure for EM, called from gmmb_em, see gmmb_em. C-means clustering means, uniform weight and covariance Author(s): Pekka Paalanen <pekka.paalanen@lut.fi> Copyright: Bayesian Classifier with Gaussian Mixture Model Pdf functionality is Copyright (C) 2004 by Pekka Paalanen and Joni-Kristian Kamarainen. $Name: $ $Revision: 1.2 $ $Date: 2004/11/02 09:00:18 $
0001 % GMMB_EM_INIT_CMEANS1 0002 % 0003 % initS = gmmb_em_init_cmeans1(data, C) 0004 % 0005 % Create an initialization structure for EM, 0006 % called from gmmb_em, see gmmb_em. 0007 % 0008 % C-means clustering means, uniform weight and covariance 0009 % 0010 % Author(s): 0011 % Pekka Paalanen <pekka.paalanen@lut.fi> 0012 % 0013 % Copyright: 0014 % 0015 % Bayesian Classifier with Gaussian Mixture Model Pdf 0016 % functionality is Copyright (C) 2004 by Pekka Paalanen and 0017 % Joni-Kristian Kamarainen. 0018 % 0019 % $Name: $ $Revision: 1.2 $ $Date: 2004/11/02 09:00:18 $ 0020 0021 0022 function initS = gmmb_em_init_cmeans1(data, C); 0023 0024 D = size(data,2); % dimensions 0025 0026 if C>1 0027 [lbl, mu] = gmmb_cmeans(data, C, 15); 0028 % initialization has random nature, results will vary 0029 else 0030 %lbl = ones(size(data, 1), 1); 0031 mu = mean(data, 1); 0032 end 0033 0034 % covariances initialization 0035 nsigma = gmmb_covfixer(diag(diag(cov(data)))); 0036 sigma = zeros(D,D,C); 0037 for c = 1:C 0038 sigma(:,:,c) = nsigma; 0039 end 0040 0041 % weights initialization 0042 weight = ones(C,1) * (1/C); 0043 0044 initS = struct(... 0045 'mu', mu.', ... 0046 'sigma', sigma, ... 0047 'weight', weight ... 0048 ); 0049