Создайте Гауссову модель смеси
Объектно-ориентированная память gmdistribution Гауссово распределение смеси, также названное Гауссовой моделью смеси (GMM), которая является многомерным распределением, которое состоит из многомерных компонентов Распределения Гаусса. Каждый компонент задан его средним значением и ковариацией, и смесь задана вектором смешивания пропорций.
Можно создать объект модели gmdistribution двумя способами.
Используйте функцию gmdistribution (описанный здесь), чтобы создать объект модели gmdistribution путем определения параметров распределения.
Используйте функцию fitgmdist, чтобы соответствовать объекту модели gmdistribution к данным, учитывая постоянное число компонентов.
gm = gmdistribution(mu,sigma)gm = gmdistribution(mu,sigma,p)\mu СредстваСредство многомерных компонентов Распределения Гаусса, заданных как k-by-m числовая матрица, где k является количеством компонентов и m, является количеством переменных в каждом компоненте. mu(i,:) является средним значением i компонента.
Типы данных: single | double
\sigma КовариацииКовариации многомерных компонентов Распределения Гаусса, заданных как числовой вектор, матрица или массив.
Учитывая, что k является количеством компонентов, и m является количеством переменных в каждом компоненте, sigma является одним из значений в этой таблице.
| Значение | Описание |
|---|---|
| m-by-m-by-k массив | sigma(:,:,i) является ковариационной матрицей i компонента. |
| 1 m k массивом | Ковариационные матрицы являются диагональными. sigma(1,:,i) содержит диагональные элементы ковариационной матрицы i компонента. |
| m-by-m матрица | Ковариационные матрицы являются тем же самым через компоненты. |
| 1 m вектором | Ковариационные матрицы являются диагональными и то же самое через компоненты. |
Типы данных: single | double
p Смешивание пропорций компонентов смесиСмешивание пропорций компонентов смеси, заданных как числовой вектор длины k, где k является количеством компонентов. Значением по умолчанию является вектор - строка из (1/k) s, который устанавливает равные пропорции. Если p не суммирует к 1, gmdistribution нормирует его.
Типы данных: single | double
\mu СредстваЭто свойство доступно только для чтения.
Средство многомерных компонентов Распределения Гаусса, заданных как k-by-m числовая матрица, где k является количеством компонентов и m, является количеством переменных в каждом компоненте. mu(i,:) является средним значением i компонента.
Типы данных: single | double
\sigma КовариацииЭто свойство доступно только для чтения.
Ковариации многомерных компонентов Распределения Гаусса, заданных как числовой вектор, матрица или массив.
Учитывая, что k является количеством компонентов, и m является количеством переменных в каждом компоненте, Sigma является одним из значений в этой таблице.
| Значение | Описание |
|---|---|
| m-by-m-by-k массив | Sigma(:,:,i) является ковариационной матрицей i компонента. |
| 1 m k массивом | Ковариационные матрицы являются диагональными. Sigma(1,:,i) содержит диагональные элементы ковариационной матрицы i компонента. |
| m-by-m матрица | Ковариационные матрицы являются тем же самым через компоненты. |
| 1 m вектором | Ковариационные матрицы являются диагональными и то же самое через компоненты. |
Типы данных: single | double
ComponentProportion — Смешивание пропорций компонентов смесиЭто свойство доступно только для чтения.
Смешивание пропорций компонентов смеси, заданных как 1 k числовым вектором.
Типы данных: single | double
CovarianceType — Тип ковариационных матриц'diagonal' | 'full'Это свойство доступно только для чтения.
Тип ковариационных матриц, заданных или как 'diagonal' или как 'full'.
Если вы создаете объект gmdistribution при помощи функции gmdistribution, то тип ковариационных матриц во входном параметре sigma gmdistribution устанавливает это свойство.
Если вы соответствуете объекту gmdistribution к данным при помощи функции fitgmdist, то аргумент пары "имя-значение" 'CovarianceType' fitgmdist устанавливает это свойство.
DistributionName — Имя распределения'gaussian mixture distribution' (значение по умолчанию)Это свойство доступно только для чтения.
Имя распределения, заданное как 'gaussian mixture distribution'.
NumComponents — Количество компонентов смесиЭто свойство доступно только для чтения.
Количество компонентов смеси, k, заданного как положительное целое число.
Типы данных: single | double
'NumVariables' Количество переменныхЭто свойство доступно только для чтения.
Количество переменных в многомерных компонентах Распределения Гаусса, m, заданном как положительное целое число.
Типы данных: double
SharedCovariance — Отметьте указание на разделяемую ковариациюtrue | falseЭто свойство доступно только для чтения.
Отметьте указание, совместно используется ли ковариационная матрица через компоненты смеси, заданные как true или false.
Если вы создаете объект gmdistribution при помощи функции gmdistribution, то тип ковариационных матриц во входном параметре sigma gmdistribution устанавливает это свойство.
Если вы соответствуете объекту gmdistribution к данным при помощи функции fitgmdist, то аргумент пары "имя-значение" 'SharedCovariance' fitgmdist устанавливает это свойство.
Типы данных: логический
Следующие свойства применяются только к подходящему объекту, который вы создаете при помощи fitgmdist. Значения этих свойств пусты, если вы создаете объект gmdistribution при помощи функции gmdistribution.
AIC — Критерий информации о AkaikeЭто свойство доступно только для чтения.
Критерий информации о Akaike (AIC), заданный как скаляр. AIC = 2*NlogL + 2*p, где NlogL является отрицательным loglikelihood (свойство NegativeLogLikelihood) и p, является количеством предполагаемых параметров.
AIC является образцовым инструментом выбора, который можно использовать, чтобы сравнить подгонку многоуровневых моделей к тем же данным. AIC является основанной на вероятности мерой образцовой подгонки, которая включает штраф за сложность, а именно, количество параметров. Когда вы сравниваете многоуровневые модели, модель с меньшим значением AIC лучше.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: single | double
BIC — Байесов информационный критерийЭто свойство доступно только для чтения.
Байесов информационный критерий (BIC), заданный как скаляр. BIC = 2*NlogL + p*log(n), где NlogL является отрицательным loglikelihood (свойство NegativeLogLikelihood), n, является количеством наблюдений, и p является количеством предполагаемых параметров.
BIC является образцовым инструментом выбора, который можно использовать, чтобы сравнить подгонку многоуровневых моделей к тем же данным. BIC является основанной на вероятности мерой образцовой подгонки, которая включает штраф за сложность, а именно, количество параметров. Когда вы сравниваете многоуровневые модели, модель с самым низким значением BIC является моделью оптимальной подгонки.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: single | double
Converged — Отметьте указание на сходимостьtrue | falseЭто свойство доступно только для чтения.
Отметьте указание, сходится ли алгоритм Максимизации ожидания (EM) при подборе кривой Гауссовой модели смеси, заданной как true или false.
Можно изменить опции оптимизации при помощи аргумента пары "имя-значение" 'Options' fitgmdist.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: логический
NegativeLogLikelihood — Отрицательный loglikelihoodЭто свойство доступно только для чтения.
Отрицательный loglikelihood подходящей Гауссовой модели смеси, учитывая входные данные X fitgmdist, заданного как скаляр.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: single | double
'NumIterations' Количество итерацийЭто свойство доступно только для чтения.
Количество итераций в алгоритме Максимизации ожидания (EM), заданном как положительное целое число.
Можно изменить опции оптимизации, включая максимальное количество позволенных итераций, при помощи аргумента пары "имя-значение" 'Options' fitgmdist.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: double
ProbabilityTolerance — Допуск к апостериорным вероятностям[0,1e-6]Это свойство доступно только для чтения.
Допуск к апостериорным вероятностям, заданным как неотрицательное скалярное значение в области значений [0,1e-6].
Аргумент пары "имя-значение" 'ProbabilityTolerance' fitgmdist устанавливает это свойство.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: single | double
RegularizationValue — Значение параметров регуляризацииЭто свойство доступно только для чтения.
Значение параметров регуляризации, заданное как неотрицательный скаляр.
Аргумент пары "имя-значение" 'RegularizationValue' fitgmdist устанавливает это свойство.
Это свойство пусто, если вы создаете объект gmdistribution при помощи функции gmdistribution.
Типы данных: single | double
cdf | Кумулятивная функция распределения для Гауссова распределения смеси |
cluster | Создайте кластеры из Гауссова распределения смеси |
mahal | Расстояние Mahalanobis до Гауссова компонента смеси |
pdf | Функция плотности вероятности для Гауссова распределения смеси |
posterior | Апостериорная вероятность Гауссова компонента смеси |
random | Случайная варьируемая величина от Гауссова распределения смеси |
gmdistributionСоздайте двухкомпонентное двумерное Гауссово распределение смеси при помощи функции gmdistribution.
Задайте параметры распределения (средние значения и ковариации) двух двумерных Гауссовых компонентов смеси.
mu = [1 2;-3 -5];
sigma = cat(3,[2 .5],[1 1]) % 1-by-2-by-2 arraysigma =
sigma(:,:,1) =
2.0000 0.5000
sigma(:,:,2) =
1 1
Функция cat конкатенирует ковариации вдоль третьего измерения массива. Заданные ковариационные матрицы являются диагональными матрицами. sigma(1,:,i) содержит диагональные элементы ковариационной матрицы i компонента.
Создайте объект gmdistribution. По умолчанию функция gmdistribution создает равную смесь пропорции.
gm = gmdistribution(mu,sigma)
gm = Gaussian mixture distribution with 2 components in 2 dimensions Component 1: Mixing proportion: 0.500000 Mean: 1 2 Component 2: Mixing proportion: 0.500000 Mean: -3 -5
Перечислите свойства объекта gm.
properties(gm)
Properties for class gmdistribution:
NumVariables
DistributionName
NumComponents
ComponentProportion
SharedCovariance
NumIterations
RegularizationValue
NegativeLogLikelihood
CovarianceType
mu
Sigma
AIC
BIC
Converged
ProbabilityTolerance
Можно получить доступ к этим свойствам при помощи записи через точку. Например, получите доступ к свойству ComponentProportion, которое представляет смесительные пропорции компонентов смеси.
gm.ComponentProportion
ans = 1×2
0.5000 0.5000
Объект gmdistribution имеет свойства, которые применяются только к подходящему объекту. Подходящими свойствами объектов является AIC, BIC, Converged, NegativeLogLikelihood, NumIterations, ProbabilityTolerance и RegularizationValue. Значения подходящих свойств объектов пусты, если вы создаете объект при помощи функции gmdistribution и задающий параметры распределения. Например, получите доступ к свойству NegativeLogLikelihood при помощи записи через точку.
gm.NegativeLogLikelihood
ans =
[]
После того, как вы создадите объект gmdistribution, можно использовать объектные функции. Используйте cdf и pdf, чтобы вычислить значения кумулятивной функции распределения (cdf) и функции плотности вероятности (PDF). Используйте random, чтобы сгенерировать случайные векторы. Используйте cluster, mahal и posterior для кластерного анализа.
Визуализируйте объект при помощи pdf и fsurf.
fsurf(@(x,y)reshape(pdf(gm,[x(:) y(:)]),size(x)),[-10 10])

fitgmdistСгенерируйте случайные варьируемые величины, которые следуют за смесью двух двумерных Распределений Гаусса при помощи функции mvnrnd. Соответствуйте Гауссовой модели смеси (GMM) к сгенерированным данным при помощи функции fitgmdist.
Задайте параметры распределения (средние значения и ковариации) двух двумерных Гауссовых компонентов смеси.
mu1 = [1 2]; % Mean of the 1st component sigma1 = [2 0; 0 .5]; % Covariance of the 1st component mu2 = [-3 -5]; % Mean of the 2nd component sigma2 = [1 0; 0 1]; % Covariance of the 2nd component
Сгенерируйте равное количество случайных варьируемых величин от каждого компонента и объедините два набора случайных варьируемых величин.
rng('default') % For reproducibility r1 = mvnrnd(mu1,sigma1,1000); r2 = mvnrnd(mu2,sigma2,1000); X = [r1; r2];
Объединенный набор данных X содержит случайные варьируемые величины после смеси двух двумерных Распределений Гаусса.
Соответствуйте двухкомпонентному GMM к X.
gm = fitgmdist(X,2)
gm = Gaussian mixture distribution with 2 components in 2 dimensions Component 1: Mixing proportion: 0.500000 Mean: -2.9617 -4.9727 Component 2: Mixing proportion: 0.500000 Mean: 0.9539 2.0261
Перечислите свойства объекта gm.
properties(gm)
Properties for class gmdistribution:
NumVariables
DistributionName
NumComponents
ComponentProportion
SharedCovariance
NumIterations
RegularizationValue
NegativeLogLikelihood
CovarianceType
mu
Sigma
AIC
BIC
Converged
ProbabilityTolerance
Можно получить доступ к этим свойствам при помощи записи через точку. Например, получите доступ к свойству NegativeLogLikelihood, которое представляет отрицательный loglikelihood данных X, учитывая подобранную модель.
gm.NegativeLogLikelihood
ans = 7.0584e+03
После того, как вы создадите объект gmdistribution, можно использовать объектные функции. Используйте cdf и pdf, чтобы вычислить значения кумулятивной функции распределения (cdf) и функции плотности вероятности (PDF). Используйте random, чтобы сгенерировать случайные варьируемые величины. Используйте cluster, mahal и posterior для кластерного анализа.
Постройте X при помощи scatter. Визуализируйте подобранную модель gm при помощи pdf и fcontour.
scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10 hold on gmPDF = @(x,y)reshape(pdf(gm,[x(:) y(:)]),size(x)); fcontour(gmPDF,[-8 6])

[1] Маклахлан, G. и D. Кожица. Конечные модели смеси. Хобокен, NJ: John Wiley & Sons, Inc., 2000.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.