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