Home > gmmbayestb-v1.0 > gmmb_em_init_fcm1.m

gmmb_em_init_fcm1

PURPOSE ^

GMMB_EM_INIT_FCM1

SYNOPSIS ^

function initS = gmmb_em_init_fcm1(data, C, verbose);

DESCRIPTION ^

 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 $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

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