В этом примере показано, как создать известный или полностью заданный объект модели смеси Гаусса (GMM) с помощью gmdistribution и путем определения составляющих средств, ковариаций и пропорций смеси. Чтобы создать объект GMM путем подгонки данных к GMM, см. раздел Подгонка модели смеси Гаусса к данным.
Укажите средства компонента, ковариации и пропорции смешивания для двухкомпонентной смеси двухмерных гауссовых распределений.
mu = [1 2;-3 -5]; % Means sigma = cat(3,[2 0;0 .5],[1 0;0 1]); % Covariances p = ones(1,2)/2; % Mixing proportions
Строки mu соответствуют средним векторам компонентов и страницам sigma, sigma(:,;,J), соответствуют компонентным ковариационным матрицам.
Создание объекта GMM с помощью gmdistribution.
gm = gmdistribution(mu,sigma,p);
Отображение свойств GMM.
properties(gm)
Properties for class gmdistribution:
NumVariables
DistributionName
NumComponents
ComponentProportion
SharedCovariance
NumIterations
RegularizationValue
NegativeLogLikelihood
CovarianceType
mu
Sigma
AIC
BIC
Converged
ProbabilityTolerance
Описание свойств см. в разделе gmdistribution. Чтобы получить доступ к значению свойства, используйте точечную нотацию. Например, доступ к числу переменных каждого компонента GMM.
dimension = gm.NumVariables
dimension = 2
Визуализация функции плотности вероятности (pdf) GMM с помощью pdf и функция MATLAB ®fsurf.
gmPDF = @(x,y) arrayfun(@(x0,y0) pdf(gm,[x0 y0]),x,y);
fsurf(gmPDF,[-10 10])
title('Probability Density Function of GMM');
Визуализация кумулятивной функции распределения (cdf) GMM с помощью cdf и fsurf.
gmCDF = @(x,y) arrayfun(@(x0,y0) cdf(gm,[x0 y0]),x,y);
fsurf(gmCDF,[-10 10])
title('Cumulative Distribution Function of GMM');