资源简介
利用EM算法实现GMM算法,文件包含GMM模型以及一个简单的2分类问题的实现,课程作业绝对可用。

代码片段和文件信息
function varargout = gmm(X K_or_center)
threshold = 1e-15;
[N D] = size(X);
if isscalar(K_or_center)
K = K_or_center;
R = randperm(N);
center = X(R(1:K) :);
else
K = size(K_or_center 1);
center = K_or_center;
end
prev = -inf;
[Miu Pi Sigma] = init_params();
while true
Px = prob();
Gamma = Px .* repmat(Pi N 1);
Gamma = Gamma ./ repmat(sum(Gamma 2) 1 K);
Nk = sum(Gamma 1);
Miu = diag(1./Nk) * Gamma‘ * X;
Pi = Nk/N;
for t = 1:K
shift = X-repmat(Miu(t :) N 1);
Sigma(: : t) = (shift‘ * (diag(Gamma(: t)) * shift)) / Nk(t);
end
L = sum(log(Px*Pi‘));
if L-prev < threshold
break;
end
prev = L;
end
model = [];
model.Miu = Miu;
model.Sigma = Sigma;
model.Pi = Pi;
varargout = {Px model};
function Px = prob()
Px = zeros(N K);
for k = 1:K
shift = X-repmat(Miu(k :) N 1); %X-Miu
inv_Sigma = inv(Sigma(: : k));
tmp = sum((shift*inv_Sigma) .* shift 2);
coef = (2*pi)^(-D/2) * sqrt(det(inv_Sigma));
Px(: k) = coef * exp(-0.5*tmp);
end
end
function [Miu Pi Sigma] = init_params()
Miu = center;
Pi = zeros(1 K);
Sigma = zeros(D D K);
distmat = repmat(sum(X.*X 2) 1 K) + repmat(sum(Miu.*Miu 2)‘ N 1) - 2*X*Miu‘;
[~ labels] = min(distmat [] 2);
for k=1:K
Xk = X(labels == k :);
Pi(k) = size(Xk 1)/N;
Sigma(: : k) = cov(Xk);
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8575 2013-07-09 15:15 dev.txt
文件 1861 2017-11-30 16:34 gmm.m
文件 1501 2017-11-30 16:33 main.m
文件 188 2017-11-21 18:29 readme.txt
文件 5905 2013-07-09 15:46 test.txt
文件 5553 2017-11-21 18:29 test_res.txt
文件 102935 2013-07-09 14:37 train.txt
相关资源
- cc2541 BLE DEMO
- 联想扬天电脑用户手册
-
Windows em
bedded Compact 2013 应用开发调 - Diltiazem augmented pentobarbital-induced LORR
- 电脑卡西欧计算器 fx-991CN X Emulator19中
- porting.RTEMS移植指南.双语.V20131224.pdf
- stm32f030 IAP Demo(原创)
- MSK调制解调的systemview仿真
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- Siemens PLC编程精品例程11.机械手GRAPH
- 提取各种NEMA0183格式数据的类
- CListCtrlExDemo.rar
- jdbcTemplate分页彻底解决,使用游标滚
- 用FileSystemWatcher控件实现文件同步更新
- EMD(经验模式分解)
-
xm
l课件及例题(xm l) - 多普达USB Modem驱动(适用于818、828、
- 八皇后schemeprolog实现
- EM算法,能够比较准确的实现对二维数
- gpk制作工具
- 联想启天M4350 BIOS升级文件
- The Impact of ETC System on Safety Performance
- Multivariate spectral gradient projection meth
- Homogenization of Monotone Systems of Non-coer
- New fixed point theorems of e-concave-convex m
- <<<em>eem>m><
- Cyclone 10LP Remote Update Intel FPGA IP 官方工
- RDA5807应用说明
- A note on balls in cone metr
- System Design Interview - An Insider’s Guide
评论
共有 条评论