拟合高斯混合模型gydF4y2Ba
返回高斯混合分布模型(gydF4y2BaGMModelgydF4y2Ba
= fitgmdist (gydF4y2BaXgydF4y2Ba
,gydF4y2BakgydF4y2Ba
)gydF4y2BaGMModelgydF4y2Ba
),gydF4y2BakgydF4y2Ba
安装在数据上的组件(gydF4y2BaXgydF4y2Ba
).gydF4y2Ba
返回一个高斯混合分布模型,带有由一个或多个指定的附加选项gydF4y2BaGMModelgydF4y2Ba
= fitgmdist (gydF4y2BaXgydF4y2Ba
,gydF4y2BakgydF4y2Ba
,gydF4y2Ba名称,值gydF4y2Ba
)gydF4y2Ba名称,值gydF4y2Ba
对参数。gydF4y2Ba
例如,您可以指定正则化值或协方差类型。gydF4y2Ba
从两个二元高斯分布的混合生成数据。gydF4y2Ba
Mu1 = [1 2];Sigma1 = [20 0;0 0.5);Mu2 = [-3 -5];Sigma2 = [1 0;0 1];rng (1);gydF4y2Ba%的再现性gydF4y2BaX = [mvnrnd (mu1 Sigma1 1000);mvnrnd (mu2 Sigma2 1000)];gydF4y2Ba
拟合高斯混合模型。指定有两个组件。gydF4y2Ba
GMModel = fitgmdist (X, 2);gydF4y2Ba
在拟合的高斯混合模型轮廓上绘制数据。gydF4y2Ba
图y = [0 (1000,1); 1 (1000,1)];h = gscatter (X (: 1), X (:, 2), y);持有gydF4y2Ba在gydF4y2BagmPDF = @ (x, y) arrayfun (@ (x0, y0) pdf (GMModel (x0 y0)), x, y);甘氨胆酸g =;fcontour (gmPDF (g。XLim g.YLim]) title(“{\bf散点图和拟合高斯混合轮廓}”gydF4y2Ba)传说(h,gydF4y2Ba“模型0”gydF4y2Ba,gydF4y2Ba“Model1”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba
从两个二元高斯分布的混合生成数据。创建第三个预测器,它是第一个和第二个预测器的和。gydF4y2Ba
Mu1 = [1 2];Sigma1 = [1 0;0 1];Mu2 = [3 4];Sigma2 = [0.5 0;0 0.5);提高(3);gydF4y2Ba%的再现性gydF4y2BaX1 = [mvnrnd (mu1 Sigma1,100); mvnrnd (mu2 Sigma2,100)];X = (X1, X1 (: 1) + X1 (:, 2)];gydF4y2Ba
的列gydF4y2BaXgydF4y2Ba
是线性相关的。这可能导致病态协方差估计。gydF4y2Ba
对数据拟合一个高斯混合模型。您可以使用gydF4y2Ba试一试gydF4y2Ba
/gydF4y2Ba抓gydF4y2Ba
语句来帮助管理错误消息。gydF4y2Ba
rng (1);gydF4y2Ba重置种子的普通开始值gydF4y2Ba试一试gydF4y2BaGMModel = fitgmdist (X, 2)gydF4y2Ba抓gydF4y2Ba异常disp (gydF4y2Ba"在拟合高斯混合模型时存在误差"gydF4y2Ba)错误=异常gydF4y2Ba结束gydF4y2Ba
高斯混合模型的拟合存在误差gydF4y2Ba
error = '迭代2产生的病态协方差'。gydF4y2Ba
协方差估计是病态的。因此,优化停止并出现错误。gydF4y2Ba
再次拟合高斯混合模型,但使用正则化。gydF4y2Ba
提高(3);gydF4y2Ba重置种子的普通开始值gydF4y2BaGMModel = fitgmdist (X 2gydF4y2Ba“RegularizationValue”gydF4y2Ba, 0.1)gydF4y2Ba
成分1:混合比例:0.536725 Mean: 2.8831 3.9506 6.8338成分2:混合比例:0.463275 Mean: 0.8813 1.9758 2.8571gydF4y2Ba
在这种情况下,由于正则化,算法收敛到一个解。gydF4y2Ba
高斯混合模型要求你在适应数据之前指定一些组件。对于许多应用程序,可能很难知道适当的组件数量。这个示例展示了如何探索数据,并尝试使用主成分分析获得组件数量的初步猜测。gydF4y2Ba
载入费雪的虹膜数据集。gydF4y2Ba
负载gydF4y2BafisheririsgydF4y2Ba类=独特(物种)gydF4y2Ba
类=gydF4y2Ba3 x1细胞gydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}gydF4y2Ba
数据集包含三类鸢尾物种。分析继续进行,似乎这是未知的。gydF4y2Ba
使用主成分分析将数据的维数降为二维以实现可视化。gydF4y2Ba
[~,分数]= pca(量,gydF4y2Ba“NumComponents”gydF4y2Ba2);gydF4y2Ba
通过指定1、2和3个成分来拟合三个高斯混合模型到数据。将优化迭代次数增加到gydF4y2Ba1000gydF4y2Ba
.使用点表示法存储最终的参数估计值。默认情况下,软件完全适合每个组件的不同协方差。gydF4y2Ba
GMModels =细胞(3,1);gydF4y2Ba%预先配置gydF4y2Ba选择= statset (gydF4y2Ba“麦克斯特”gydF4y2Ba, 1000);rng (1);gydF4y2Ba%的再现性gydF4y2Ba为gydF4y2BaGMModels{j} = fitgmdist(score,j,gydF4y2Ba“选项”gydF4y2Ba、选择);流(gydF4y2Ba'\n GM Mean for %i Component(s)\n'gydF4y2Ba,j) Mu = GMModels{j}.mugydF4y2Ba结束gydF4y2Ba
1个组件的GM平均值gydF4y2Ba
μ=gydF4y2Ba1×2gydF4y2Ba10gydF4y2Ba-15年gydF4y2Ba×0.9666 - -0.4234gydF4y2Ba
两种成分的GM平均值gydF4y2Ba
μ=gydF4y2Ba2×2gydF4y2Ba1.3212 -0.0954 -2.6424 0.1909gydF4y2Ba
3个部件的GM平均值gydF4y2Ba
μ=gydF4y2Ba3×2gydF4y2Ba0.4856 -0.1287 1.4484 -0.0904 -2.6424gydF4y2Ba
GMModelsgydF4y2Ba
一个电池阵列是否装有三个gydF4y2BagmdistributiongydF4y2Ba
模型。三种成分模型的均值不同,表明该模型对三种鸢尾有区别。gydF4y2Ba
在拟合的高斯混合模型轮廓上绘制分数。由于数据集包括标签,使用gydF4y2BagscattergydF4y2Ba
来区分成分的真实数量。gydF4y2Ba
数字gydF4y2Ba为gydF4y2BaJ = 1:3 subplot(2,2, J) h1 = gscatter(score(: 1),score(: 2),species);甘氨胆酸h =;持有gydF4y2Ba在gydF4y2BagmPDF = @ (x, y) arrayfun (@ (x0, y0) pdf (GMModels {j}, [x0 y0]), x, y);fcontour (gmPDF (h。XLim h.YLim),gydF4y2Ba“MeshDensity”gydF4y2Ba, 100)标题(sprintf (gydF4y2Ba“GM模型- %i组件(s)”gydF4y2Ba, j));包含(gydF4y2Ba第一主成分的gydF4y2Ba);ylabel (gydF4y2Ba第二主成分的gydF4y2Ba);gydF4y2Ba如果gydF4y2Ba(j ~= 3gydF4y2Ba从gydF4y2Ba;gydF4y2Ba结束gydF4y2Ba持有gydF4y2Ba从gydF4y2Ba结束gydF4y2Bag =传奇(h1);g.Position = [0.7 0.25 0.1 0.1];gydF4y2Ba
三组分高斯混合模型,结合主成分分析,看起来可以区分三种虹膜物种。gydF4y2Ba
还有其他选项,您可以使用来帮助选择适当数量的组件的高斯混合模型。例如,gydF4y2Ba
使用信息标准,如AIC或BIC,比较多个组件数量不同的模型。gydF4y2Ba
估计使用的集群数量gydF4y2BaevalclustersgydF4y2Ba
它支持Calin金宝appski-Harabasz标准和差距统计或其他标准。gydF4y2Ba
高斯混合模型要求你在适应数据之前指定一些组件。对于许多应用程序,可能很难知道适当的组件数量。这个例子使用AIC拟合统计量来帮助您在不同数量的组件中选择最佳拟合高斯混合模型。gydF4y2Ba
从两个二元高斯分布的混合生成数据。gydF4y2Ba
Mu1 = [1 1];Sigma1 = [0.5 0;0 0.5);Mu2 = [2 4];Sigma2 = [0.2 0;0 0.2);rng (1);X = [mvnrnd (mu1 Sigma1 1000); mvnrnd (mu2 Sigma2 1000)];情节(X (: 1) X (:, 2),gydF4y2Ba“柯”gydF4y2Ba)标题(gydF4y2Ba“散点图”gydF4y2Ba) xlim ([min (X (:)) max (X (:))))gydF4y2Ba使轴具有相同的比例gydF4y2Baylim ([min (X (:)) max (X (:))))gydF4y2Ba
假设你不知道潜在的参数值,散点图表明:gydF4y2Ba
有两个组成部分。gydF4y2Ba
集群之间的差异是不同的。gydF4y2Ba
集群内的差异是相同的。gydF4y2Ba
在集群内没有协方差。gydF4y2Ba
拟合二元高斯混合模型。在散点图检查的基础上,指定协方差矩阵是对角的。将最终的迭代和对数似然统计输出到命令窗口gydF4y2BastatsetgydF4y2Ba
结构的值gydF4y2Ba选项gydF4y2Ba
名称-值对的论点。gydF4y2Ba
选择= statset (gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba);GMModel = fitgmdist (X 2gydF4y2Ba“CovarianceType”gydF4y2Ba,gydF4y2Ba“对角线”gydF4y2Ba,gydF4y2Ba“选项”gydF4y2Ba、选择);gydF4y2Ba
11次迭代,对数似然= -4787.38gydF4y2Ba
GMModelgydF4y2Ba
是一个安装gydF4y2BagmdistributiongydF4y2Ba
模型。gydF4y2Ba
通过不同数量的组件检查AIC。gydF4y2Ba
AIC = 0(1、4);GMModels =细胞(1、4);选择= statset (gydF4y2Ba“麦克斯特”gydF4y2Ba, 500);gydF4y2Ba为gydF4y2Ba{k} = fitgmdist(X,k,gydF4y2Ba“选项”gydF4y2Ba选项,gydF4y2Ba“CovarianceType”gydF4y2Ba,gydF4y2Ba“对角线”gydF4y2Ba);AIC (k) = GMModels {k} .AIC;gydF4y2Ba结束gydF4y2Ba[minAIC, numComponents] = min (AIC);numComponentsgydF4y2Ba
numComponents = 2gydF4y2Ba
BestModel = GMModels {numComponents}gydF4y2Ba
成分1:混合比例:0.501719 Mean: 1.9824 4.0013成分2:混合比例:0.498281 Mean: 0.9880 1.0511gydF4y2Ba
当软件拟合双组分高斯混合模型时,AIC最小。gydF4y2Ba
高斯混合模型的参数估计随初始值的不同而变化。这个例子展示了当你使用高斯混合模型时如何控制初始值gydF4y2BafitgmdistgydF4y2Ba
.gydF4y2Ba
载入费雪的虹膜数据集。使用花瓣的长度和宽度作为预测因素。gydF4y2Ba
负载gydF4y2BafisheririsgydF4y2BaX =量(:,3:4);gydF4y2Ba
使用默认初始值对数据拟合一个高斯混合模型。虹膜有三种,所以要详细说明gydF4y2BakgydF4y2Ba= 3组件。gydF4y2Ba
rng (10);gydF4y2Ba%的再现性gydF4y2BaGMModel1 = fitgmdist (X, 3);gydF4y2Ba
默认情况下,软件:gydF4y2Ba
实现了gydF4y2Bak-means++初始化算法gydF4y2Ba选择gydF4y2BakgydF4y2Ba= 3个初始集群中心。gydF4y2Ba
设置初始协方差矩阵为对角,其中元素(gydF4y2BajgydF4y2Ba
,gydF4y2BajgydF4y2Ba
的方差gydF4y2BaX (:, j)gydF4y2Ba
.gydF4y2Ba
将初始混合比例视为均匀。gydF4y2Ba
拟合一个高斯混合模型,将每个观测连接到其标签。gydF4y2Ba
y = 1(大小(X, 1), 1);y (strcmp(物种,gydF4y2Ba“setosa”gydF4y2Ba)) = 2;y (strcmp(物种,gydF4y2Ba“virginica”gydF4y2Ba)) = 3;GMModel2 = fitgmdist (X 3gydF4y2Ba“开始”gydF4y2Ba, y);gydF4y2Ba
通过明确指定初始均值、协方差矩阵和混合比例拟合高斯混合模型。gydF4y2Ba
Mu = [1 1;2 2;3 3];Sigma(:,:,1) = [11 1;1 2];Sigma(:,:,2) = 2*[11 1;1 2];Sigma(:,:,3) = 3*[1 1;1 2];PComponents =(1/2、1/4,1/4); S = struct(“亩”gydF4y2Ba亩,gydF4y2Ba“σ”gydF4y2Baσ,gydF4y2Ba“ComponentProportion”gydF4y2Ba, PComponents);GMModel3 = fitgmdist (X 3gydF4y2Ba“开始”gydF4y2Ba,年代);gydF4y2Ba
使用gydF4y2BagscattergydF4y2Ba
绘制散点图来区分不同种类的虹膜。对于每个模型,绘制拟合的高斯混合模型轮廓。gydF4y2Ba
图次要情节(2 2 1)h = gscatter (X(: 1),(:, 2),物种,[],gydF4y2Ba“o”gydF4y2Ba4);甘氨胆酸haxis =;xlim = haxis.XLim;ylim = haxis.YLim;D = (max([xlim ylim])-min([xlim ylim]))/1000;[X1Grid, X2Grid] = meshgrid (xlim (1): d: xlim (2), ylim (1): d: ylim (2));持有gydF4y2Ba在gydF4y2Ba轮廓(X1Grid X2Grid,重塑(pdf (GMModel1, [X1Grid (:) X2Grid (:))),gydF4y2Ba...gydF4y2Ba大小(X1Grid, 1),大小(X1Grid, 2)), 20) uistack (h,gydF4y2Ba“高级”gydF4y2Ba)标题(gydF4y2Ba'{\bf随机初值}'gydF4y2Ba);包含(gydF4y2Ba“花萼长度”gydF4y2Ba);ylabel (gydF4y2Ba萼片宽的gydF4y2Ba);传说gydF4y2Ba从gydF4y2Ba;持有gydF4y2Ba从gydF4y2Ba次要情节(2 2 2)h = gscatter (X(: 1),(:, 2),物种,[],gydF4y2Ba“o”gydF4y2Ba4);持有gydF4y2Ba在gydF4y2Ba轮廓(X1Grid X2Grid,重塑(pdf (GMModel2, [X1Grid (:) X2Grid (:))),gydF4y2Ba...gydF4y2Ba大小(X1Grid, 1),大小(X1Grid, 2)), 20) uistack (h,gydF4y2Ba“高级”gydF4y2Ba)标题(gydF4y2Ba'{\bf标签的初始值}'gydF4y2Ba);包含(gydF4y2Ba“花萼长度”gydF4y2Ba);ylabel (gydF4y2Ba萼片宽的gydF4y2Ba);传说gydF4y2Ba从gydF4y2Ba持有gydF4y2Ba从gydF4y2Ba次要情节(2,2,3)h = gscatter (X(: 1),(:, 2),物种,[],gydF4y2Ba“o”gydF4y2Ba4);持有gydF4y2Ba在gydF4y2Ba轮廓(X1Grid X2Grid,重塑(pdf (GMModel3, [X1Grid (:) X2Grid (:))),gydF4y2Ba...gydF4y2Ba大小(X1Grid, 1),大小(X1Grid, 2)), 20) uistack (h,gydF4y2Ba“高级”gydF4y2Ba)标题(gydF4y2Ba'{\bf结构的初始值}'gydF4y2Ba);包含(gydF4y2Ba“花萼长度”gydF4y2Ba);ylabel (gydF4y2Ba萼片宽的gydF4y2Ba);传奇(gydF4y2Ba“位置”gydF4y2Ba, 0.7, 0.25, 0.1, 0.1);持有gydF4y2Ba从gydF4y2Ba
根据轮廓图,gydF4y2BaGMModel2gydF4y2Ba
似乎表明一个轻微的三峰分布,而其他的建议双峰分布。gydF4y2Ba
显示估计的组件方式。gydF4y2Ba
表(GMModel1.mu GMModel2.mu GMModel3.mu,gydF4y2Ba“VariableNames”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba{gydF4y2Ba“Model1”gydF4y2Ba,gydF4y2Ba“Model2”gydF4y2Ba,gydF4y2Ba“Model3”gydF4y2Ba})gydF4y2Ba
ans =gydF4y2Ba3×3表gydF4y2BaModel1 Model2 Model3 _________________ ________________ ________________ 5.2115 2.0119 4.2857 1.3339 1.4604 0.2429 1.461 0.24423 1.462 0.246 4.7509 1.4629 4.6829 1.4429 5.5507 2.0316 5.0158 1.8592gydF4y2Ba
GMModel2gydF4y2Ba
似乎虹膜物种之间的区别最好。gydF4y2Ba
XgydF4y2Ba
- - - - - -gydF4y2Ba数据gydF4y2Ba符合高斯混合模型的数据,指定为数值矩阵。gydF4y2Ba
的行gydF4y2BaXgydF4y2Ba
对应于观察结果,列gydF4y2BaXgydF4y2Ba
对应的变量。观察的数量必须大于以下每一个:变量的数量和组件的数量。gydF4y2Ba
南gydF4y2Ba
S表示缺失值。该软件删除的行gydF4y2BaXgydF4y2Ba
包含至少一个gydF4y2Ba南gydF4y2Ba
拟合前,减少了有效样本量。gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
kgydF4y2Ba
- - - - - -gydF4y2Ba数量的组件gydF4y2Ba拟合高斯混合模型时使用的组件数,指定为正整数。例如,如果指定gydF4y2Bak = 3gydF4y2Ba
,则该软件拟合一个高斯混合模型,该模型具有三种不同的均值、协方差矩阵和数据的组成比例(gydF4y2BaXgydF4y2Ba
).gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba
参数。gydF4y2Ba的名字gydF4y2Ba
参数名和gydF4y2Ba价值gydF4y2Ba
为对应值。gydF4y2Ba的名字gydF4y2Ba
必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba
.gydF4y2Ba
“RegularizationValue”,0.1,“CovarianceType”、“对角线”gydF4y2Ba
指定正则化参数值为0.1,并拟合对角协方差矩阵。gydF4y2Ba
CovarianceTypegydF4y2Ba
- - - - - -gydF4y2Ba协方差矩阵的类型gydF4y2Ba“全部”gydF4y2Ba
(默认)|gydF4y2Ba“对角线”gydF4y2Ba
拟合数据的协方差矩阵类型,指定为逗号分隔对组成gydF4y2Ba“CovarianceType”gydF4y2Ba
,要么gydF4y2Ba“对角线”gydF4y2Ba
或gydF4y2Ba“全部”gydF4y2Ba
.gydF4y2Ba
如果你设置gydF4y2Ba“对角线”gydF4y2Ba
,则软件拟合对角协方差矩阵。在这种情况下,软件进行估算gydF4y2Bak * dgydF4y2Ba
协方差参数,gydF4y2BadgydF4y2Ba
列数是多少gydF4y2BaXgydF4y2Ba
(例如,gydF4y2Bad =大小(X, 2)gydF4y2Ba
).gydF4y2Ba
否则,该软件适合完整的协方差矩阵。在这种情况下,软件进行估算gydF4y2Bak * d * (d + 1) / 2gydF4y2Ba
协方差参数。gydF4y2Ba
例子:gydF4y2Ba“CovarianceType”、“对角线”gydF4y2Ba
选项gydF4y2Ba
- - - - - -gydF4y2Ba迭代EM算法优化选项gydF4y2BastatsetgydF4y2Ba
选择结构gydF4y2Ba迭代EM算法的优化选项,指定为逗号分隔对组成gydF4y2Ba“选项”gydF4y2Ba
和一个gydF4y2BastatsetgydF4y2Ba
选择结构。gydF4y2Ba
该表描述可用的名称-值对参数。gydF4y2Ba
的名字gydF4y2Ba | 价值gydF4y2Ba |
---|---|
“显示”gydF4y2Ba |
|
“麦克斯特”gydF4y2Ba |
正整数,表示允许的最大迭代次数。默认值是gydF4y2BaOne hundred.gydF4y2Ba |
“TolFun”gydF4y2Ba |
表示对数似然函数值的终止容限的正标量。默认值是gydF4y2Ba1 e-6gydF4y2Ba .gydF4y2Ba |
例子:gydF4y2Ba“选项”,statset(“显示”、“最后”,“麦克斯特”,1500年,“TolFun”,1 e-5)gydF4y2Ba
ProbabilityTolerancegydF4y2Ba
- - - - - -gydF4y2Ba后验概率公差gydF4y2Ba[0,1 e-6]gydF4y2Ba
后验概率公差,指定为逗号分隔对,由gydF4y2BaProbabilityTolerancegydF4y2Ba
以及在范围内的非负标量值gydF4y2Ba[0,1 e-6]gydF4y2Ba
.gydF4y2Ba
在每次迭代中,在估计后验概率后,gydF4y2BafitgmdistgydF4y2Ba
将任何不大于容差值的后验概率设置为零。使用非零容忍度可能会加速gydF4y2BafitgmdistgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“ProbabilityTolerance”,0.0000025gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
RegularizationValuegydF4y2Ba
- - - - - -gydF4y2Ba正则化参数值gydF4y2Ba0gydF4y2Ba
(默认)|gydF4y2Ba负的标量gydF4y2Ba正则化参数值,指定为逗号分隔对,由gydF4y2Ba“RegularizationValue”gydF4y2Ba
一个非负标量。gydF4y2Ba
集gydF4y2BaRegularizationValuegydF4y2Ba
到一个小的正标量,以确保估计协方差矩阵是正定的。gydF4y2Ba
例子:gydF4y2Ba“RegularizationValue”,0.01gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
复制gydF4y2Ba
- - - - - -gydF4y2Ba重复EM算法的次数gydF4y2Ba1gydF4y2Ba
(默认)|gydF4y2Ba正整数gydF4y2Ba使用一组新初始值重复EM算法的次数,指定为逗号分隔对组成gydF4y2Ba“复制”gydF4y2Ba
一个正整数。gydF4y2Ba
如果gydF4y2Ba复制gydF4y2Ba
大于gydF4y2Ba1gydF4y2Ba
,那么:gydF4y2Ba
名称-值对参数gydF4y2Ba开始gydF4y2Ba
必须gydF4y2Ba+gydF4y2Ba
(默认)或gydF4y2BarandSamplegydF4y2Ba
.gydF4y2Ba
GMModelgydF4y2Ba
为最大对数似然拟合。gydF4y2Ba
例子:gydF4y2Ba“复制”,10gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
SharedCovariancegydF4y2Ba
- - - - - -gydF4y2Ba指示所有协方差矩阵是否相同的标志gydF4y2Ba假gydF4y2Ba
(默认)|gydF4y2Ba逻辑gydF4y2Ba真正的gydF4y2Ba
指示所有协方差矩阵是否相同(即,适合一个合并估计)的标志,指定为逗号分隔对,由gydF4y2Ba“SharedCovariance”gydF4y2Ba
或者是逻辑值gydF4y2Ba假gydF4y2Ba
或gydF4y2Ba真正的gydF4y2Ba
.gydF4y2Ba
如果gydF4y2BaSharedCovariancegydF4y2Ba
是gydF4y2Ba真正的gydF4y2Ba
,那么所有gydF4y2BakgydF4y2Ba
协方差矩阵是相等的,协方差参数的数量按比例缩小为gydF4y2BakgydF4y2Ba
.gydF4y2Ba
开始gydF4y2Ba
- - - - - -gydF4y2Ba初值整定法gydF4y2Ba“+”gydF4y2Ba
(默认)|gydF4y2Ba“randSample”gydF4y2Ba
|gydF4y2Ba向量的整数gydF4y2Ba|gydF4y2Ba结构数组gydF4y2Ba初始值设置方法,指定为逗号分隔对组成gydF4y2Ba“开始”gydF4y2Ba
和gydF4y2Ba“randSample”gydF4y2Ba
,gydF4y2Ba“+”gydF4y2Ba
、整数向量或结构数组。gydF4y2Ba
的价值gydF4y2Ba开始gydF4y2Ba
确定优化程序对每个高斯分量参数(均值、协方差和混合比例)所需的初始值。该表总结了可用的选项。gydF4y2Ba
价值gydF4y2Ba | 描述gydF4y2Ba |
---|---|
“randSample”gydF4y2Ba |
软件选择gydF4y2BakgydF4y2Ba 观察从gydF4y2BaXgydF4y2Ba 作为初始分量的均值。混合比例均匀。所有分量的初始协方差矩阵都是对角的,其中元素gydF4y2BajgydF4y2Ba 对角线上是方差gydF4y2BaX (:, j)gydF4y2Ba .gydF4y2Ba |
“+”gydF4y2Ba |
软件选择gydF4y2BakgydF4y2Ba 观察从gydF4y2BaXgydF4y2Ba 使用gydF4y2BakgydF4y2Ba——+ +算法gydF4y2Ba.初始混合比例是均匀的。所有分量的初始协方差矩阵都是对角的,其中元素gydF4y2BajgydF4y2Ba 对角线上是方差gydF4y2BaX (:, j)gydF4y2Ba .gydF4y2Ba |
向量的整数gydF4y2Ba | 长度向量gydF4y2BangydF4y2Ba(观测的次数),包含对每个点的成分指数的初步猜测。也就是说,每个元素都是1到的整数gydF4y2BakgydF4y2Ba ,对应于一个组件。该软件收集所有对应于同一分量的观测数据,计算平均值、协方差和混合比例,并设置这些统计数据的初始值。gydF4y2Ba |
结构数组gydF4y2Ba | 假设有gydF4y2Ba
|
例子:gydF4y2Ba的“开始”,(n, 1)gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
|gydF4y2Ba结构体gydF4y2Ba
GMModelgydF4y2Ba
-拟合高斯混合模型gydF4y2BagmdistributiongydF4y2Ba
模型gydF4y2Ba拟合高斯混合模型,返回为gydF4y2BagmdistributiongydF4y2Ba
模型。gydF4y2Ba
访问的属性gydF4y2BaGMModelgydF4y2Ba
使用点符号。例如,通过输入显示AICgydF4y2BaGMModel。另类投资会议gydF4y2Ba
.gydF4y2Ba
fitgmdistgydF4y2Ba
可能:gydF4y2Ba
收敛到一个或多个分量具有病态或奇异协方差矩阵的解。gydF4y2Ba
以下问题可能导致病态协方差矩阵:gydF4y2Ba
你的数据的维数比较高,没有足够的观察。gydF4y2Ba
你的数据中的一些预测因素(变量)是高度相关的。gydF4y2Ba
部分或全部特征是离散的。gydF4y2Ba
你试图让数据适应太多的组件。gydF4y2Ba
一般来说,你可以避免得到病态的协方差矩阵通过使用下列预防措施之一:gydF4y2Ba
预处理您的数据,以删除相关的特征。gydF4y2Ba
集gydF4y2Ba“SharedCovariance”gydF4y2Ba
来gydF4y2Ba真正的gydF4y2Ba
对每个分量使用相同的协方差矩阵。gydF4y2Ba
集gydF4y2Ba“CovarianceType”gydF4y2Ba
来gydF4y2Ba“对角线”gydF4y2Ba
.gydF4y2Ba
使用gydF4y2Ba“RegularizationValue”gydF4y2Ba
在每个协方差矩阵的对角线上加上一个非常小的正数。gydF4y2Ba
尝试另一组初始值。gydF4y2Ba
通过一个中间步骤,其中一个或多个分量有一个病态协方差矩阵。在不改变数据或模型的情况下,尝试另一组初始值以避免这个问题。gydF4y2Ba
该软件使用迭代期望最大化(EM)算法优化高斯混合模型的似然性。gydF4y2Ba
fitgmdistgydF4y2Ba
用迭代拟合gmm到数据gydF4y2Ba采用gydF4y2Ba(EM)算法。EM算法使用组件均值、协方差矩阵和混合比例的初始值,继续使用这些步骤。gydF4y2Ba
对于每个观测,算法计算组件隶属度的后验概率。你可以把结果想象成gydF4y2BangydF4y2Ba——- - - - - -gydF4y2BakgydF4y2Ba矩阵,其中元素(gydF4y2Ba我gydF4y2Ba,gydF4y2BajgydF4y2Ba)包含该观察结果的后验概率gydF4y2Ba我gydF4y2Ba从组件gydF4y2BajgydF4y2Ba.这是gydF4y2BaEgydF4y2Ba-step的EM算法。gydF4y2Ba
该算法以成分隶属后验概率为权重,采用最大似然法估计成分均值、协方差矩阵和混合比例。这是gydF4y2Ba米gydF4y2Ba-step的EM算法。gydF4y2Ba
算法迭代这些步骤直到收敛。似然曲面是复杂的,算法有可能收敛到局部最优。同时,得到的局部最优可能取决于初始条件。gydF4y2BafitgmdistgydF4y2Ba
有几个选择初始条件的选项,包括随机成分分配的观察和gydF4y2BakgydF4y2Ba——+ +算法。gydF4y2Ba
的gydF4y2BakgydF4y2Ba-means++算法使用启发式查找质心种子gydF4y2BakgydF4y2Ba——集群。gydF4y2BafitgmdistgydF4y2Ba
对于拟合的高斯混合模型,可以采用相同的原理对EM算法进行初始化,使用k- mean++算法选择初始参数值。gydF4y2Ba
的gydF4y2BakgydF4y2Ba-means++算法假设集群数量为gydF4y2BakgydF4y2Ba并选择初始参数值如下。gydF4y2Ba
选择成分混合概率为均匀概率gydF4y2Ba ,在那里gydF4y2Ba我gydF4y2Ba= 1,…,gydF4y2BakgydF4y2Ba.gydF4y2Ba
选择对角且相同的协方差矩阵,其中gydF4y2Ba 和gydF4y2Ba .gydF4y2Ba
选择第一个初始组件中心gydF4y2BaμgydF4y2Ba1gydF4y2Ba一致地从所有的数据点gydF4y2BaXgydF4y2Ba.gydF4y2Ba
选择中心gydF4y2BajgydF4y2Ba:gydF4y2Ba
计算从每个观测到每个质心的马氏距离,并将每个观测分配到其最近的质心。gydF4y2Ba
为gydF4y2Ba米gydF4y2Ba= 1,…,gydF4y2BangydF4y2Ba和gydF4y2BapgydF4y2Ba= 1,…,gydF4y2BajgydF4y2Ba- 1,选择质心gydF4y2BajgydF4y2Ba随机从gydF4y2BaXgydF4y2Ba的概率gydF4y2Ba
在哪里gydF4y2Ba 观察距离是多少gydF4y2Ba米gydF4y2Ba和gydF4y2BaμgydF4y2BapgydF4y2Ba,gydF4y2Ba米gydF4y2BapgydF4y2Ba所有观测值的集合是否最接近质心gydF4y2BaμgydF4y2BapgydF4y2Ba和gydF4y2BaxgydF4y2Ba米gydF4y2Ba属于gydF4y2Ba米gydF4y2BapgydF4y2Ba.gydF4y2Ba
也就是说,选择每个后续中心的概率与它自身到已经选择的最近中心的距离成正比。gydF4y2Ba
重复步骤4直到gydF4y2BakgydF4y2Ba选上的重心。gydF4y2Ba
G. McLachlan和D. Peel。gydF4y2Ba有限混合模型gydF4y2Ba.《中国科学院大学学报(自然科学版)》,2000。gydF4y2Ba
你点击一个链接对应于这个MATLAB命令:gydF4y2Ba
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝appgydF4y2Ba
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
选择gydF4y2Ba网站gydF4y2Ba你也可以从以下列表中选择一个网站:gydF4y2Ba
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。gydF4y2Ba