function [Alpha, Mu, Sigma] = GMM_EM(Data, Alpha0, Mu0, Sigma0)

%% EM迭代停止条件

loglik_threshold = 1e-10;

%%初始化参数

[dim, N] = size(Data);

M = size(Mu0,2);

loglik_old = -realmax;

nbStep = 0;

Mu = Mu0;

Sigma = Sigma0;

Alpha = Alpha0;

Epsilon = 0.0001;

while (nbStep < 1200)

nbStep = nbStep+1;

%% E-步骤%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for i=1:M

% PDF of each point

Pxi(:,i) = GaussPDF(Data, Mu(:,i), Sigma(:,:,i));

end

%计算后验概率beta(i|x)

Pix_tmp = repmat(Alpha,[N 1]).*Pxi;

Pix = Pix_tmp ./ (repmat(sum(Pix_tmp,2),[1 M])+realmin);

Beta = sum(Pix);

%% M-步骤%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for i=1:M

%更新权值

Alpha(i) = Beta(i) / N;

%更新均值

Mu(:,i) = Data*Pix(:,i) / Beta(i);

%更新方差

Data_tmp1 = Data - repmat(Mu(:,i),1,N);

Sigma(:,:,i) = (repmat(Pix(:,i)',dim, 1) .* Data_tmp1*Data_tmp1') / Beta(i);

%% Add a tiny variance to avoid numerical instability

Sigma(:,:,i) = Sigma(:,:,i) + 1E-5.*diag(ones(dim,1));

end

%  %% Stopping criterion 1 %%%%%%%%%%%%%%%%%%%%

%  for i=1:M

%Compute the new probability p(x|i)

%    Pxi(:,i) = GaussPDF(Data, Mu(:,i), Sigma(i));

%  end

%Compute the log likelihood

%  F = Pxi*Alpha';

%  F(find(F

%  loglik = mean(log(F));

%Stop the process depending on the increase of the log likelihood

%  if abs((loglik/loglik_old)-1) < loglik_threshold

%    break;

%  end

%  loglik_old = loglik;

%% Stopping criterion 2 %%%%%%%%%%%%%%%%%%%%

v = [sum(abs(Mu - Mu0)), abs(Alpha - Alpha0)];

s = abs(Sigma-Sigma0);

v2 = 0;

for i=1:M

v2 = v2 + det(s(:,:,i));

end

if ((sum(v) + v2) < Epsilon)

break;

end

Mu0 = Mu;

Sigma0 = Sigma;

Alpha0 = Alpha;

end

nbStep麻烦大神帮忙看下,这个是我找到的高斯混合模型的代码, 但是上面%%% Stopping criterion 1 %%%%%%%%%%%%%%%%%%%% 及其以下代码, 前面应不应该加% 这个符号呢,文中是加了的,但是我觉得加了%不就成注释了?

高斯模型matlab程序代码,我找到的高斯混合模型的代码相关推荐

  1. 用matlab做单摆,单摆模型MATLAB程序

    <单摆模型MATLAB程序>由会员分享,可在线阅读,更多相关<单摆模型MATLAB程序(2页珍藏版)>请在人人文库网上搜索. 1.Simple pendulum model%A ...

  2. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

  3. DG储能选址定容模型matlab 程序采用改进粒子群算法

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠编号:75140641990659957爱熬夜的程序猿

  4. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

  5. DG储能选址定容模型matlab程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠

    DG储能选址定容模型matlab程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 ID:69140641990659957

  6. 含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法)

    含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法) 参考文献:含分布式电源的配电网日前两阶段优化调度模型 摘要:在电力市场环境下,供电公司通过对接入配电网的分布式电源(distrib ...

  7. 【opencv】(11) 背景建模,帧差法、混合高斯模型,实战:行人检测,附python完整代码和数据集

    各位同学好,今天和大家分享一下opencv背景建模相关操作.主要介绍两种背景建模方法,帧差法和混合高斯模型. 案例简介:现有一份路口摄像机拍摄的行人流视频,通过背景建模方法,区分背景和前景,完成行人识 ...

  8. 混合高斯模型的基本原理,以及通过混合高斯模型进行背景建模的基本思想

    混合高斯模型的基本原理,以及通过混合高斯模型进行背景建模的基本思想 混合高斯模型的基本原理 虽然是背景,但是灰度并不是一直保持不变的,灰度是在一个范围内变化的.一个背景像素随着时间变化呈现一定的随机性 ...

  9. 最小二乘模型 matlab程序,我提供给大家一个偏最小二乘法的代码

    下面是一个偏最小二乘法的完整代码,就是结果不尽如人意,望高人指点一二! 实测数据矩阵: X = [ 30 405 1.5 47.5 40 435 3.0 45.0 50 465 1.0 42.5 60 ...

  10. cir模型matlab代码,CIR模型MATLAB程序

    运用MATLAB的好方法 MAXIMUMLIKELIHOODESTIMATIONOFTHECOX-INGERSOLL-ROSSPROCESS:THEMATLAB IMPLEMENTATION Kami ...

最新文章

  1. php fopen 中文,php fopen用法是什么
  2. hdu3342 拓扑序
  3. python 中的for i in range()的使用(for _ in range())
  4. start与run的区别
  5. 点击屏幕触发_MAC值得吹爆的便捷「触发角」功能
  6. linux格式化该新添加的分区,Linux下添加新硬盘及分区格式化要点
  7. 【转】WebSocket初探
  8. hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2
  9. MYSQL 数据库创建,修改等知识整理
  10. 在HTML中禁止IE缓存
  11. 抽象类和接口的异同点
  12. 服务器装win10稳定吗,win10哪个版本最稳定好用 目前win10最稳定的版本推荐
  13. python windows api截图_Python调用windows API实现屏幕截图
  14. (QT)qss与按钮
  15. csapp炸弹实验_bomb_lab详解
  16. 数据探索简介——质量分析、特征分析
  17. SPARQL入门(一)SPARQL简介与简单使用
  18. 购买服务器虚拟主机,购买服务器与虚拟主机
  19. cocos2dx 背包界面的实现
  20. 清华大学推荐人工智能A类B类期刊与会议汇总!!!发论文必备

热门文章

  1. Linux - yum安装步骤
  2. PLC编程过程中需要注意的事项
  3. xshell7评估版安装使用
  4. Python+Django+Hadmin的初级使用V1.0
  5. Atheros AR9285 坑爹网卡只有 54M/65M,开启 150M 速率的方法
  6. c语言记账系统源程序,C语言会计记账管理系统.doc
  7. 计算机图形学代码之三角形绘制
  8. 拼多多打印订单有哪些软件?哪个软件好用呢?
  9. matlab免疫算法求解配送中心选址问题
  10. EPS清华三维软件操作与数据检查常见问题与解决问题