Создайте смешанную гауссовскую модель

В этом примере показано, как создать известное, или полностью заданный, объект 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) 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');

Смотрите также

|

Похожие темы