Создайте Смешанную гауссовскую модель
A 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-by- m -by- k массив | Ковариационные матрицы диагональны. sigma(1,:,i) содержит диагональные элементы ковариационной матрицы компонента i . |
m -by - m матрица | Ковариационные матрицы одинаковы между компонентами. |
1-by- m вектор | Ковариационные матрицы диагональны и одинаковы между компонентами. |
Типы данных: single
| double
p
- Пропорции смешения компонентов смесиСмешивание пропорций компонентов смеси, заданное как числовой вектор длины k, где k количество компонентов. По умолчанию это вектор-строка (1/ k) с, которая устанавливает равные пропорции. Если 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-by- m -by- k массив | Ковариационные матрицы диагональны. Sigma(1,:,i) содержит диагональные элементы ковариационной матрицы компонента i . |
m -by - m матрица | Ковариационные матрицы одинаковы между компонентами. |
1-by- m вектор | Ковариационные матрицы диагональны и одинаковы между компонентами. |
Типы данных: single
| double
ComponentProportion
- Пропорции смешения компонентов смесиЭто свойство доступно только для чтения.
Пропорции смешения компонентов смеси, заданные как 1-байтовый k числовой вектор.
Типы данных: single
| double
CovarianceType
- Тип ковариационных матриц'diagonal'
| 'full'
Это свойство доступно только для чтения.
Тип ковариационных матриц, заданный как 'diagonal'
или 'full'
.
Если вы создаете gmdistribution
объект при помощи gmdistribution
function, затем тип ковариационных матриц в sigma
входной параметр gmdistribution
устанавливает это свойство.
Если вы подбираете gmdistribution
объект к данным при помощи fitgmdist
функцию, затем 'CovarianceType'
Аргумент пары "имя-значение" из fitgmdist
устанавливает это свойство.
DistributionName
- имя распределения'gaussian mixture distribution'
(по умолчанию)Это свойство доступно только для чтения.
Имя распределения, заданное как 'gaussian mixture distribution'
.
NumComponents
- Количество компонентов смесиЭто свойство доступно только для чтения.
Количество компонентов смеси, k, заданное в виде положительного целого числа.
Типы данных: single
| double
NumVariables
- Количество переменныхЭто свойство доступно только для чтения.
Количество переменных в многомерных Гауссовых компонентах распределения, m, заданное в виде положительного целого числа.
Если вы создаете gmdistribution
объект при помощи gmdistribution
function, затем входные параметры mu
, sigma
, и p
от gmdistribution
установите это свойство.
Если вы подбираете gmdistribution
объект к данным при помощи fitgmdist
function, затем входные данные X
из fitgmdist
устанавливает это свойство.
Типы данных: double
SharedCovariance
- Флаг, указывающий на общую ковариациюtrue
| false
Это свойство доступно только для чтения.
Флаг, указывающий, является ли ковариационная матрица общей для компонентов смеси, задается как true
или false
.
Если вы создаете gmdistribution
объект при помощи gmdistribution
function, затем тип ковариационных матриц в sigma
входной параметр gmdistribution
устанавливает это свойство.
Если вы подбираете gmdistribution
объект к данным при помощи fitgmdist
функцию, затем 'SharedCovariance'
Аргумент пары "имя-значение" из fitgmdist
устанавливает это свойство.
Типы данных: logical
Следующие свойства применяются только к объекту, созданному вами при помощи fitgmdist
. Значения этих свойств пусты, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
AIC
- Информационный критерий АкайкеЭто свойство доступно только для чтения.
Информационный критерий Акайке (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
функция.
Типы данных: logical
NegativeLogLikelihood
- Отрицательная логарифмическая правдоподобностьЭто свойство доступно только для чтения.
Отрицательная логарифмическая правдоподобность подобранной смешанной гауссовской модели с учетом входных данных X
из fitgmdist
, заданный как скаляр.
Это свойство пустое, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: single
| double
NumIterations
- Количество итерацийЭто свойство доступно только для чтения.
Количество итераций в алгоритме Ожидания-Максимизации (EM), заданное в виде положительного целого числа.
Можно изменить опции оптимизации, включая максимальное количество разрешенных итераций, используя 'Options'
Аргумент пары "имя-значение" из fitgmdist
.
Это свойство пустое, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: double
ProbabilityTolerance
- Допуск для апостериорных вероятностей[0,1e-6]
Это свойство доступно только для чтения.
Допуск для апостериорных вероятностей, заданный как неотрицательное скалярное значение в области значений [0,1e-6]
.
The 'ProbabilityTolerance'
Аргумент пары "имя-значение" из fitgmdist
устанавливает это свойство.
Это свойство пустое, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: single
| double
RegularizationValue
- значение параметров регуляризацииЭто свойство доступно только для чтения.
Значение параметров регуляризации, заданное как неотрицательный скаляр.
The 'RegularizationValue'
Аргумент пары "имя-значение" из fitgmdist
устанавливает это свойство.
Это свойство пустое, если вы создаете gmdistribution
объект при помощи gmdistribution
функция.
Типы данных: single
| double
cdf | Кумулятивная функция распределения для Гауссова распределения смеси |
cluster | Создайте кластеры из Гауссова распределения смеси |
mahal | Расстояние Махаланобиса до Гауссова компонента смеси |
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
The 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
A 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] McLachlan, G. и D. Peel. Модели конечной смеси. Hoboken, NJ: John Wiley & Sons, Inc., 2000.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.