亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gtm.m

?? 模式識別常用功能函數(shù)
?? M
字號:
%GTM  Fit a Generative Topographic Mapping using the %     expectation-maximisation algorithm.%%   [W,L] = GTM (A,K,M,MAPTYPE,REG,EPS,MAXITER)%% INPUT%   A       Dataset or double matrix%   K       Vector containing number of nodes per dimension (default: [5 5], 2D map)%   M       Vector containing number of basis functions per dimension (default: [10 10])   %   MAPTYPE Map onto mean of posterior ('mean', default) or mode ('mode')%   REG     Regularisation (default: 0)%   EPS     Change in likelihood to stop training (default: 1e-5)%   MAXITER Maximum number of iterations (default: inf)%% OUTPUT%   W       GTM mapping%   L       Likelihood%% DESCRIPTION% Trains a Generative Topographic Mapping of any dimension, using the EM % algorithm.%% REFERENCES% Bishop, C.M., Svensen, M. and Williams, C.K.I., "GTM: The Generative % Topographic Mapping", Neural Computation 10(1):215-234, 1998.%% SEE ALSO% PLOTGTM, SOM, PLOTSOM% (c) Dick de Ridder, 2003% Information & Communication Theory Group% Faculty of Electrical Engineering, Mathematics and Computer Science% Delft University of Technology, Mekelweg 4, 2628 CD Delft, The Netherlandsfunction [w,L] = gtm (a, arg2, M, mapto, reg, epsilon, maxiter)	prtrace(mfilename);	step = 10;    if (nargin < 2)        prwarning(3,'number of nodes K not given, assuming [5 5] (2D map)');        arg2 = [5 5];    end;    	if (~ismapping(arg2))		if (nargin < 7)		    maxiter = inf;		end;		if (nargin < 6)            prwarning(3,'stopping criteria not given, assuming EPSILON = 1e-10');            epsilon = 1e-10;		end;		if (nargin < 5)            prwarning(3,'regularisation REG not given, assuming 0');		    reg = 0;		end;		if (nargin < 4)            prwarning(3,'mapping type MAPTO not given, assuming mean');		    mapto = 'mean';		end;        if (nargin < 3)            prwarning(3,'number of basis functions M not given, assuming 10');            M = 5;        end;    end;    	if (nargin == 0) | isempty(a)		W = mapping(mfilename); 		W = setname(W,'GTM');		return; 	end	% Prevent annoying messages: we will tell the user about any problems.		warning off;	    t = +a'; [d,N] = size(t); [m,k] = size(a);     % If we're to apply a trained mapping, unpack its parameters.        if (ismapping(arg2))        w = arg2; data = getdata(w);        K = data{1}; M = data{2};        W = data{3}; sigma = data{4}; mapto = data{5};    else        K = arg2;    end;        % Create a KK-dimensional grid with dimensions K(1), K(2), ... of 	% D-dimensional grid points and store it as a D x KK matrix X. Do the	% same for the basis function centers PHI_MU, with grid dimensions M(1), ...	K = reshape(K,1,prod(size(K)));		% Turn into vectors.	M = reshape(M,1,prod(size(M)));	% Check: either K or M should be a vector, or both should be vectors of	% the same length.	if (length(K) > 1) & (length(M) == 1)		M = M * ones(1,length(K));	elseif (length(M) > 1) & (length(K) == 1)		K = K * ones(1,length(M));	elseif (length(K) ~= length(M))		error ('Length of vectors K and M should be equal, or K and/or M should be scalar.');	end;		D = length(K); KK = prod(K); MM = prod(M);	if (D > d)		error ('Length of vectors K and M should be <= the data dimensionality.');    end;        x         = makegrid(K,D);				% Grid points.	phi_mu    = makegrid(M,D);				% Basis function centers.	phi_sigma = 2/(mean(M)-1);				% Basis function widths.	% Pre-calculate Phi.	for j = 1:KK  	 	for i = 1:MM    	    Phi(i,j) = exp(-(x(:,j)-phi_mu(:,i))'*(x(:,j)-phi_mu(:,i))/(phi_sigma^2));	    end;    end;	    if (~ismapping(arg2))  % Train mapping.		tries = 0; retry = 1;		while ((retry == 1) & (tries <= 5))	            % Initialisation.			    ptx = zeros(KK,N);			R   = (1/KK)*ones(KK,N);				C = cov(t'); [U,DD] = eig(C); [dummy,ind] = sort(-diag(DD));			W = U(:,ind(1:D))*x*pinv(Phi);			if (size(C,1) > D)				sigma = sqrt(DD(D+1,D+1));			else				sigma = 1/mean(M);			end;	            done = 0; iter = 0; retry = 0; likelihood = 1.0e20;	            while ((~done) & (~retry))	      		    iter = iter + 1;          		done = 1;			  	    factor1 = (1/(2*pi*sigma^2))^(d/2);		  	    factor2 = (-1/(2*sigma^2));				WPhi    = W*Phi;					for i = 1:KK					ptx(i,:) = factor1 * exp(factor2*sum((WPhi(:,i)*ones(1,N)-t).^2));				end;					if (~retry)						s = sum(ptx); s(find(s==0)) = realmin;		% Prevent divide-by-zero.					R = ptx ./ (ones(size(ptx,1),1)*s);					G = diag(sum(R'));	                  	% M-step #1 (eqn. 12)          	        W = (inv(Phi*G*Phi' + reg*eye(MM))*Phi*R*t')';	                  	% M-step #1 (eqn. 13)          						s = 0; WPhi = W*Phi;					for i = 1:KK						s = s + sum(R(i,:).*sum((WPhi(:,i)*ones(1,N)-t).^2));					end;                  	sigma = sqrt((1/(N*d)) * s);						% Re-calculate log-likelihood.	                   	prev_likelihood = likelihood; likelihood = sum(log(mean(ptx)+realmin));						if (rem (iter,step) == 0)                        prwarning (10, sprintf('[%3d] L: %2.2f (change: %2.2e)', ...                            iter, likelihood, abs ((likelihood - prev_likelihood)/likelihood)));					end;						% Continue?	                  	done = (abs ((likelihood - prev_likelihood)/likelihood) < epsilon);      			    done = (done | (iter > maxiter));      			    if (~isfinite(likelihood))      			        prwarning(3,'Problem is poorly conditioned, retrying');      			        retry = 1; tries = tries + 1;      			    end;      			          	        end;			end;        end;			L = likelihood;			if (~retry)    		w = mapping(mfilename,'trained',{K,M,W,sigma,mapto},[],k,D);		    w = setname(w,'GTM');	    else            prwarning(3,'Problem is too poorly conditioned, giving up');            prwarning(3,'Consider lowering K and M or increasing REG');	        w = [];	    end;	        else    % Apply mapping.            factor1 = (1/(2*pi*sigma^2))^(d/2);		factor2 = (-1/(2*sigma^2));		WPhi    = W*Phi;			for i = 1:KK		    ptx(i,:) = factor1 * exp(factor2*sum((WPhi(:,i)*ones(1,N)-t).^2));		end;			s = sum(ptx); s(find(s==0)) = realmin;		% Prevent divide-by-zero.		R = ptx ./ (ones(size(ptx,1),1)*s);		switch(mapto)		    case 'mean',		        out = (x*R)';		    case 'mode',		        [dummy,ind] = max(R); out = x(:,ind)';            otherwise,		        error ('unknown mapping type: should be mean or mode')		 end;		 w = setdata(a,out,getlabels(w));    end;        warning on;    return% GRID = MAKEGRID (K,D)%% Create a KK = prod(K)-dimensional grid with dimensions K(1), K(2), ... of % D-dimensional uniformly spaced grid points on [0,1]^prod(K), and store it % as a D x KK matrix X.function grid = makegrid (K,D)	KK = prod(K);	for h = 1:D		xx{h} = 0:(1/(K(h)-1)):1;	% Support point means	end;	% Do that voodoo / that you do / so well...    if (D==1)  	    xm = xx;    else  	    cmd = '[';        for h = 1:D-1, cmd = sprintf ('%sxm{%d}, ', cmd, h); end;         cmd = sprintf ('%sxm{%d}] = ndgrid(', cmd, D);        for h = 1:D-1, cmd = sprintf ('%sxx{%d}, ', cmd, h); end;         cmd = sprintf ('%sxx{%d});', cmd, D); eval(cmd);    end;    	cmd = 'mm = zeros(D, ';	for h = 1:D-1, cmd = sprintf ('%s%d, ', cmd, K(h)); end; 	cmd = sprintf ('%s%d);', cmd, K(D)); eval (cmd);	for h = 1:D		cmd = sprintf ('mm(%d,', h);		for g = 1:D-1, cmd = sprintf ('%s:,', cmd); end;         cmd = sprintf ('%s:) = xm{%d};', cmd, h); eval (cmd);	end;	grid = reshape(mm,D,KK);return

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人电影天堂| 免费人成网站在线观看欧美高清| 日韩一区欧美一区| 午夜久久久影院| 成人午夜激情在线| 欧美一级免费大片| 国产精品久久久久久久久免费桃花| 亚洲国产综合色| 国产盗摄一区二区| 日韩欧美中文字幕公布| 亚洲精品久久嫩草网站秘色| 国产乱国产乱300精品| 欧美日韩精品欧美日韩精品一| 国产婷婷色一区二区三区四区 | 精品一区二区在线播放| 色噜噜狠狠色综合欧洲selulu| 久久久久久久综合狠狠综合| 日韩电影在线观看网站| 色久综合一二码| 国产精品初高中害羞小美女文| 日韩福利电影在线观看| 欧美精品一区二区三区很污很色的| 国产精品伦一区二区三级视频| 夜夜嗨av一区二区三区网页| 成人黄色在线视频| 日韩精品影音先锋| 夜夜揉揉日日人人青青一国产精品| 国产成人亚洲综合色影视| 欧美精品在线观看播放| 国产女主播视频一区二区| 亚洲在线中文字幕| 国产一区二区中文字幕| 欧美亚洲国产一区二区三区va| 国产精品女同一区二区三区| 蜜桃一区二区三区四区| 欧美日韩午夜精品| 亚洲少妇中出一区| 国产成人综合精品三级| 欧美大片一区二区三区| 三级欧美韩日大片在线看| 欧美亚洲一区二区在线| 亚洲国产精华液网站w| 国产大陆a不卡| 亚洲图片欧美综合| 欧美羞羞免费网站| 亚洲黄色小说网站| 99久久精品国产一区二区三区 | 一区二区三区在线免费播放| 99久久精品免费精品国产| 国产精品久久影院| 成人免费va视频| 中文字幕精品—区二区四季| 国产精品一区免费视频| 久久色在线视频| 国产激情视频一区二区在线观看| 欧美精品一区二区三区一线天视频| 亚洲mv在线观看| 粉嫩高潮美女一区二区三区| 欧美视频日韩视频| 日本中文字幕一区二区视频| 欧美精品aⅴ在线视频| 日韩成人免费在线| 日韩一卡二卡三卡四卡| 日本91福利区| 欧美不卡一区二区三区| 国产美女av一区二区三区| 欧美激情中文不卡| 成人激情小说乱人伦| 国产精品成人免费在线| 日本精品一区二区三区四区的功能| 中文字幕一区二区日韩精品绯色| 91视频在线看| 亚洲成av人影院在线观看网| 欧美一区二区三区啪啪| 久久丁香综合五月国产三级网站 | 国产精品一区久久久久| 亚洲国产岛国毛片在线| 国产美女精品一区二区三区| 欧美韩日一区二区三区| 欧美日韩综合色| 午夜精品aaa| 久久久久综合网| 国产精品一区二区久激情瑜伽| 国产精品毛片大码女人| 欧美三日本三级三级在线播放| 蜜臀国产一区二区三区在线播放| 国产亚洲欧美在线| 欧美午夜不卡在线观看免费| 久久国产欧美日韩精品| 中文字幕亚洲在| 日韩免费观看高清完整版在线观看| 国产九九视频一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整 | 综合久久久久久| 欧美人妇做爰xxxⅹ性高电影| 国产一区 二区| 一区二区三区四区在线免费观看| 日韩欧美视频在线| 91视频观看免费| 男人操女人的视频在线观看欧美| 国产精品视频线看| 欧美一区日韩一区| 91麻豆国产精品久久| 狠狠色狠狠色合久久伊人| 中文字幕一区二区在线观看| 欧美一级电影网站| 欧美日韩免费电影| 91在线视频网址| 国产麻豆精品视频| 全部av―极品视觉盛宴亚洲| 亚洲免费观看高清| 国产日韩欧美高清在线| 宅男在线国产精品| 欧洲av在线精品| 91视频一区二区| www.欧美日韩| 国产91综合网| 国产曰批免费观看久久久| 亚洲欧美二区三区| 国产欧美日韩在线| 中文字幕中文字幕在线一区 | 6080国产精品一区二区| 色综合久久中文综合久久97| 国产成人99久久亚洲综合精品| 日本成人在线看| 亚洲高清在线精品| 亚洲精品ww久久久久久p站| 久久九九久精品国产免费直播| 日韩丝袜美女视频| 欧美一区二区三区四区久久| 欧美视频自拍偷拍| 欧美网站大全在线观看| 成人动漫一区二区| 日韩av电影免费观看高清完整版 | 欧美精品 国产精品| 在线看日韩精品电影| 97久久超碰国产精品| 成人高清视频在线| 99视频国产精品| av一区二区三区四区| 成人精品电影在线观看| 国产·精品毛片| 99久久精品国产精品久久| 国产麻豆精品theporn| 成人激情电影免费在线观看| 成人开心网精品视频| 92精品国产成人观看免费| 日本精品一级二级| 欧美精品久久久久久久多人混战| 欧美在线免费播放| 欧美三级一区二区| 日韩精品中文字幕一区二区三区 | 免费在线观看视频一区| 日本伊人色综合网| 国产精品996| 色哟哟在线观看一区二区三区| 欧美视频在线一区二区三区| 91麻豆精品国产91久久久久久久久| 日韩美女天天操| 中文字幕国产一区| 亚洲综合区在线| 久久99久久99精品免视看婷婷| 国产精品一区二区免费不卡| av一区二区三区四区| 欧美色图第一页| 久久这里只有精品6| 亚洲精品你懂的| 紧缚捆绑精品一区二区| 国产激情一区二区三区四区| 成人激情校园春色| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩成人高清| 久久久影视传媒| 亚洲主播在线播放| 国产在线看一区| 91蜜桃传媒精品久久久一区二区| 欧美视频你懂的| 中文在线一区二区| 天天综合色天天综合| 国产福利精品一区二区| 欧美日韩国产三级| 久久人人超碰精品| 天天爽夜夜爽夜夜爽精品视频| 国产成人午夜99999| 欧美久久久久久蜜桃| 国产精品人成在线观看免费| 日本午夜一本久久久综合| 92国产精品观看| 久久午夜免费电影| 日产国产高清一区二区三区| 91影院在线观看| 国产午夜一区二区三区| 日本亚洲三级在线| 欧美性xxxxxxxx| 亚洲婷婷综合久久一本伊一区| 亚洲电影在线播放| 99在线热播精品免费| 欧美一区二区观看视频| 香蕉成人伊视频在线观看| 色www精品视频在线观看|