GMM_example(1)

该例子调用matlab机器学习工具箱自带的相关函数来实现高斯混合聚类。
GMM(Gaussian mixture model, GMM)实现步骤:
(1)首先设置均值、方差、权重参数;
(2)再调用gmdistribution()函数生成一个混合高斯模型;
(3)做出GMM概率密度函数 (PDF) 和累积分布函数 (CDF)显示图;

代码详见下栏:

clear; clc; close all;
Mu = [-2 -2; -3 3; 3, -3]; %三个成分的均值
Sigma = cat(3,[1 0; 0 1],[1 0.1; 0.1 1],[0.5 0.1; 0.1 1]); %三个成分的协方差,cat函数将三个协方差矩阵在第3个维度上进行连接
w = [1/4,1/2,1/4];                 %每个成分的权重系数
gm = gmdistribution(Mu,Sigma,w);   %创建GM模型
properties = properties(gm);       %显示高斯混合模型具有的属性
methods = methods(gm);             %显示高斯混合模型具有的方法
gmPDF = @(x,y)pdf(gm,[x y]);       %计算高斯混合模型的概率密度函数值
f = figure;                        %创建一个图形窗口
set(f,'Position',[100,100,800 500]);
p1 = subplot(1,2,1);
ezsurf(gmPDF,[-10,10],[-10,10]);   %图示GMM的PDF
title('高斯混合模型的概率密度函数');
set(p1,'FontSize',12);
gmCDF = @(x,y)cdf(gm,[x y]);       %计算高斯混合模型的累积分布函数值
p2 = subplot(1,2,2);
ezsurf(gmCDF,[-10,10],[-10,10]);   %图示GMM的CDF
title('高斯混合模型的累积分布函数');set(p2,'FontSize',12);

GMM_example(1)_第1张图片
其中用到了一些matlab常用的命令,在此不再多做阐述;如又不懂之处可help一下,或者在下方留言寻求帮助。

你可能感兴趣的:(机器学习,机器学习,GMM,高斯混合模型,gmdistribution)