⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gmmgrow.m

📁 一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有用,谢谢支持
💻 M
字号:
function gmmParam=gmmGrow(gmmParam, targetGaussianNum)
% gmmGrow: Grow gaussians within a GMM 
%	Usage: gmmParam=gmmGrow(gmmParam, targetGaussianNum)
%
%	For example, please refer to gmmGrowDemo.m

%	Roger Jang, 20080727

if nargin<1, selfdemo; return; end

gaussianNum=length(gmmParam);
if targetGaussianNum>2*gaussianNum
	error('Growth too fast!');
end

dim=length(gmmParam(1).mu);
index=randperm(gaussianNum);
for i=1:targetGaussianNum-gaussianNum
	% To clone a gaussian, weight is lowered first
	gmmParam(index(i)).w=gmmParam(index(i)).w/2;
	% Start clone
	gmmParam(end+1)=gmmParam(index(i));
	% Find sigma to guide the center splitting
	sigma=gmmParam(end).sigma;
	if length(sigma)==1, sigma=sigma*eye(dim); end
	if prod(size(sigma))==dim*dim, sigma=diag(sigma); end
	% Center splitting
	gmmParam(end).mu=gmmParam(end).mu+randn(dim, 1).*sigma;
end

% ====== Self demo
function selfdemo
gmmGrowDemo;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -