Этот пример показывает, как создать известное, или полностью заданный, объект Gaussian mixture model (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)reshape(pdf(gm,[x(:) y(:)]),size(x));
fsurf(gmPDF,[-10 10])
title('Probability Density Function of GMM');
Визуализируйте кумулятивную функцию распределения (cdf) GMM использование cdf
и fsurf
.
gmCDF = @(x,y)reshape(cdf(gm,[x(:) y(:)]),size(x));
fsurf(gmCDF,[-10 10])
title('Cumulative Distribution Function of GMM');