Создайте смешанную гауссовскую модель
gmdistribution
объектно-ориентированная память Гауссово распределение смеси, также названное смешанной гауссовской моделью (GMM), которая является многомерным распределением, которое состоит из многомерных компонентов Распределения Гаусса. Каждый компонент задан его средним значением и ковариацией. Смесь задана вектором из смешивания пропорций, где каждая пропорция смешивания представляет часть населения, описанного соответствующим компонентом.
Можно создать gmdistribution
объект модели двумя способами.
Используйте gmdistribution
функция (описанный здесь), чтобы создать gmdistribution
объект модели путем определения параметров распределения.
Используйте fitgmdist
функционируйте, чтобы соответствовать gmdistribution
объект модели к данным, учитывая постоянное число компонентов.
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 в виде положительного целого числа.
Если вы создаете gmdistribution
объект при помощи gmdistribution
функция, затем входные параметры mu
\sigma
, и p
из gmdistribution
установите это свойство.
Если вы соответствуете gmdistribution
возразите против данных при помощи fitgmdist
функция, затем k
входной параметр fitgmdist
наборы это свойство.
Типы данных: single
| double
NumVariables
— Количество переменныхЭто свойство доступно только для чтения.
Количество переменных в многомерных компонентах Распределения Гаусса, m в виде положительного целого числа.
Если вы создаете gmdistribution
объект при помощи gmdistribution
функция, затем входные параметры mu
\sigma
, и p
из gmdistribution
установите это свойство.
Если вы соответствуете gmdistribution
возразите против данных при помощи fitgmdist
функция, затем входные данные X
из fitgmdist
наборы это свойство.
Типы данных: 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
отрицательная логарифмическая правдоподобность (NegativeLogLikelihood
свойство) и p
количество предполагаемых параметров.
AIC является инструментом выбора модели, который можно использовать, чтобы сравнить подгонку многоуровневых моделей к тем же данным. AIC является основанной на вероятности мерой подгонки модели, которая включает штраф за сложность, а именно, количество параметров. Когда вы сравниваете многоуровневые модели, модель с меньшим значением AIC лучше.
Это свойство пусто, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: single
| double
BIC
— Байесов информационный критерийЭто свойство доступно только для чтения.
Байесов информационный критерий (BIC) в виде скаляра. BIC = 2*NlogL + p*log(n)
, где NlogL
отрицательная логарифмическая правдоподобность (NegativeLogLikelihood
свойство), n
количество наблюдений и p
количество предполагаемых параметров.
BIC является инструментом выбора модели, который можно использовать, чтобы сравнить подгонку многоуровневых моделей к тем же данным. BIC является основанной на вероятности мерой подгонки модели, которая включает штраф за сложность, а именно, количество параметров. Когда вы сравниваете многоуровневые модели, модель с самым низким значением BIC является моделью оптимальной подгонки.
Это свойство пусто, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: single
| double
Converged
— Отметьте указание на сходимостьtrue
| false
Это свойство доступно только для чтения.
Отметьте указание, сходится ли алгоритм Максимизации ожидания (EM) при подборе кривой смешанной гауссовской модели в виде true
или false
.
Можно изменить опции оптимизации при помощи 'Options'
аргумент пары "имя-значение" fitgmdist
.
Это свойство пусто, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: логический
NegativeLogLikelihood
— Отрицательная логарифмическая правдоподобностьЭто свойство доступно только для чтения.
Отрицательная логарифмическая правдоподобность подходящей смешанной гауссовской модели, учитывая входные данные 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 array
sigma = 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
.
gmPDF = @(x,y) arrayfun(@(x0,y0) pdf(gm,[x0 y0]),x,y); fsurf(gmPDF,[-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
свойство, которое представляет отрицательную логарифмическую правдоподобность данных 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) arrayfun(@(x0,y0) pdf(gm,[x0 y0]),x,y); fcontour(gmPDF,[-8 6])
[1] Маклахлан, G. и D. Кожица. Конечные модели смеси. Хобокен, NJ: John Wiley & Sons, Inc., 2000.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.