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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? som_seqtrain.m

?? it is matlab code , som(slef organizing map) tool for matlab
?? M
?? 第 1 頁 / 共 2 頁
字號:
radius     = [];alpha      = [];tracking   = 1;sample_order_type = 'random';tlen_type  = 'epochs';i=1; while i<=length(varargin),   argok = 1;   if ischar(varargin{i}),     switch varargin{i},      % argument IDs     case 'msize', i=i+1; sTopol.msize = varargin{i};      case 'lattice', i=i+1; sTopol.lattice = varargin{i};     case 'shape', i=i+1; sTopol.shape = varargin{i};     case 'mask', i=i+1; sTrain.mask = varargin{i};     case 'neigh', i=i+1; sTrain.neigh = varargin{i};     case 'trainlen', i=i+1; sTrain.trainlen = varargin{i};     case 'trainlen_type', i=i+1; tlen_type = varargin{i};      case 'tracking', i=i+1; tracking = varargin{i};     case 'sample_order', i=i+1; sample_order_type = varargin{i};     case 'radius_ini', i=i+1; sTrain.radius_ini = varargin{i};     case 'radius_fin', i=i+1; sTrain.radius_fin = varargin{i};     case 'radius',       i=i+1;       l = length(varargin{i});       if l==1,         sTrain.radius_ini = varargin{i};       else         sTrain.radius_ini = varargin{i}(1);         sTrain.radius_fin = varargin{i}(end);        if l>2, radius = varargin{i}; tlen_type = 'samples'; end      end      case 'alpha_type', i=i+1; sTrain.alpha_type = varargin{i};     case 'alpha_ini', i=i+1; sTrain.alpha_ini = varargin{i};     case 'alpha',           i=i+1;       sTrain.alpha_ini = varargin{i}(1);      if length(varargin{i})>1,         alpha = varargin{i}; tlen_type = 'samples';         sTrain.alpha_type = 'user defined';       end     case {'sTrain','train','som_train'}, i=i+1; sTrain = varargin{i};     case {'topol','sTopol','som_topol'},       i=i+1;       sTopol = varargin{i};      if prod(sTopol.msize) ~= munits,         error('Given map grid size does not match the codebook size.');      end      % unambiguous values     case {'inv','linear','power'}, sTrain.alpha_type = varargin{i};      case {'hexa','rect'}, sTopol.lattice = varargin{i};     case {'sheet','cyl','toroid'}, sTopol.shape = varargin{i};      case {'gaussian','cutgauss','ep','bubble'}, sTrain.neigh = varargin{i};     case {'epochs','samples'}, tlen_type = varargin{i};     case {'random', 'ordered'}, sample_order_type = varargin{i};      otherwise argok=0;     end  elseif isstruct(varargin{i}) & isfield(varargin{i},'type'),     switch varargin{i}(1).type,      case 'som_topol',       sTopol = varargin{i};       if prod(sTopol.msize) ~= munits,         error('Given map grid size does not match the codebook size.');      end     case 'som_train', sTrain = varargin{i};     otherwise argok=0;     end  else    argok = 0;   end  if ~argok,     disp(['(som_seqtrain) Ignoring invalid argument #' num2str(i+2)]);   end  i = i+1; end% training lengthif ~isempty(radius) | ~isempty(alpha),   lr = length(radius);  la = length(alpha);  if lr>2 | la>1,    tlen_type = 'samples';    if     lr> 2 & la<=1, sTrain.trainlen = lr;    elseif lr<=2 & la> 1, sTrain.trainlen = la;    elseif lr==la,        sTrain.trainlen = la;    else      error('Mismatch between radius and learning rate vector lengths.')    end  endendif strcmp(tlen_type,'samples'), sTrain.trainlen = sTrain.trainlen/dlen; end % check topologyif struct_mode,   if ~strcmp(sTopol.lattice,sMap.topol.lattice) | ...	~strcmp(sTopol.shape,sMap.topol.shape) | ...	any(sTopol.msize ~= sMap.topol.msize),     warning('Changing the original map topology.');  endendsMap.topol = sTopol; % complement the training structsTrain = som_train_struct(sTrain,sMap,'dlen',dlen);if isempty(sTrain.mask), sTrain.mask = ones(dim,1); end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% initializeM        = sMap.codebook;mask     = sTrain.mask;trainlen = sTrain.trainlen*dlen;% neighborhood radiusif length(radius)>2,  radius_type = 'user defined';else  radius = [sTrain.radius_ini sTrain.radius_fin];      rini = radius(1);   rstep = (radius(end)-radius(1))/(trainlen-1);  radius_type = 'linear';end    % learning rateif length(alpha)>1,   sTrain.alpha_type ='user defined';  if length(alpha) ~= trainlen,     error('Trainlen and length of neighborhood radius vector do not match.')  end  if any(isnan(alpha)),     error('NaN is an illegal learning rate.')  endelse  if isempty(alpha), alpha = sTrain.alpha_ini; end  if strcmp(sTrain.alpha_type,'inv'),     % alpha(t) = a / (t+b), where a and b are chosen suitably    % below, they are chosen so that alpha_fin = alpha_ini/100    b = (trainlen - 1) / (100 - 1);    a = b * alpha;  endend                                   % initialize random number generatorrand('state',sum(100*clock));% distance between map units in the output space%  Since in the case of gaussian and ep neighborhood functions, the %  equations utilize squares of the unit distances and in bubble case%  it doesn't matter which is used, the unitdistances and neighborhood%  radiuses are squared.Ud = som_unit_dists(sTopol).^2;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Actionupdate_step = 100; mu_x_1 = ones(munits,1);samples = ones(update_step,1);r = samples; alfa = samples;qe = 0;start = clock;if tracking >  0, % initialize tracking  track_table = zeros(update_step,1);  qe = zeros(floor(trainlen/update_step),1);  endfor t = 1:trainlen,   % Every update_step, new values for sample indeces, neighborhood  % radius and learning rate are calculated. This could be done  % every step, but this way it is more efficient. Or this could   % be done all at once outside the loop, but it would require much  % more memory.  ind = rem(t,update_step); if ind==0, ind = update_step; end  if ind==1,     steps = [t:min(trainlen,t+update_step-1)];    % sample order        switch sample_order_type,      case 'ordered', samples = rem(steps,dlen)+1;     case 'random',  samples = ceil(dlen*rand(update_step,1)+eps);    end    % neighborhood radius    switch radius_type,      case 'linear',       r = rini+(steps-1)*rstep;     case 'user defined', r = radius(steps);     end        r=r.^2;        % squared radius (see notes about Ud above)    r(r==0) = eps; % zero radius might cause div-by-zero error        % learning rate    switch sTrain.alpha_type,     case 'linear',       alfa = (1-steps/trainlen)*alpha;     case 'inv',          alfa = a ./ (b + steps-1);     case 'power',        alfa = alpha * (0.005/alpha).^((steps-1)/trainlen);      case 'user defined', alfa = alpha(steps);    end      end    % find BMU  x = D(samples(ind),:);                 % pick one sample vector  known = ~isnan(x);                     % its known components  Dx = M(:,known) - x(mu_x_1,known);     % each map unit minus the vector  [qerr bmu] = min((Dx.^2)*mask(known)); % minimum distance(^2) and the BMU  % tracking  if tracking>0,     track_table(ind) = sqrt(qerr);    if ind==update_step,       n = ceil(t/update_step);       qe(n) = mean(track_table);      trackplot(M,D,tracking,start,n,qe);    end  end    % neighborhood & learning rate  % notice that the elements Ud and radius have been squared!  % (see notes about Ud above)  switch sTrain.neigh,   case 'bubble',   h = (Ud(:,bmu)<=r(ind));  case 'gaussian', h = exp(-Ud(:,bmu)/(2*r(ind)));   case 'cutgauss', h = exp(-Ud(:,bmu)/(2*r(ind))) .* (Ud(:,bmu)<=r(ind));  case 'ep',       h = (1-Ud(:,bmu)/r(ind)) .* (Ud(:,bmu)<=r(ind));  end    h = h*alfa(ind);      % update M  M(:,known) = M(:,known) - h(:,ones(sum(known),1)).*Dx;end; % for t = 1:trainlen%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Build / clean up the return argumentsif tracking, fprintf(1,'\n'); end% update structuressTrain = som_set(sTrain,'time',datestr(now,0));if struct_mode,   sMap = som_set(sMap,'codebook',M,'mask',sTrain.mask,'neigh',sTrain.neigh);  tl = length(sMap.trainhist);  sMap.trainhist(tl+1) = sTrain;else  sMap = reshape(M,orig_size);endreturn;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% subfunctions%%%%%%%%function [] = trackplot(M,D,tracking,start,n,qe)  l = length(qe);  elap_t = etime(clock,start);   tot_t = elap_t*l/n;  fprintf(1,'\rTraining: %3.0f/ %3.0f s',elap_t,tot_t)    switch tracking   case 1,    case 2,           plot(1:n,qe(1:n),(n+1):l,qe((n+1):l))    title('Quantization errors for latest samples')        drawnow   otherwise,    subplot(2,1,1), plot(1:n,qe(1:n),(n+1):l,qe((n+1):l))    title('Quantization error for latest samples');    subplot(2,1,2), plot(M(:,1),M(:,2),'ro',D(:,1),D(:,2),'b.');     title('First two components of map units (o) and data vectors (+)');    drawnow  end    % end of trackplot

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品精品国产高清一毛片一天堂| 日韩福利电影在线| 亚洲视频一区二区在线观看| 中文字幕一区av| 玉足女爽爽91| 国产精品久久国产精麻豆99网站| 亚洲欧美在线另类| 亚洲1区2区3区视频| 午夜精品影院在线观看| 国产成人在线观看免费网站| 97精品超碰一区二区三区| 在线观看中文字幕不卡| 欧美电影免费观看高清完整版 | 欧美激情在线观看视频免费| 1区2区3区国产精品| 亚洲成国产人片在线观看| 奇米四色…亚洲| 国产精品一线二线三线| 99精品视频免费在线观看| 欧美羞羞免费网站| 欧美激情一区二区三区全黄| 亚洲一区成人在线| 在线日韩av片| 精品福利在线导航| 中文字幕一区二区不卡| 日本亚洲天堂网| 成人午夜激情在线| 欧美一级一区二区| 欧美国产97人人爽人人喊| 午夜视频久久久久久| 成人免费看黄yyy456| 欧美精品在线一区二区三区| 国产日韩欧美高清| 一区二区三区加勒比av| 成人在线一区二区三区| 制服.丝袜.亚洲.中文.综合| 中文字幕不卡在线| 久久成人18免费观看| aaa欧美色吧激情视频| 日韩视频一区在线观看| 夜夜亚洲天天久久| 成人精品电影在线观看| 91精品国产色综合久久ai换脸| 久久久99精品免费观看| 日本亚洲三级在线| 一本大道av一区二区在线播放| 精品国产网站在线观看| 亚洲成人av中文| 一本久久精品一区二区| 久久久久亚洲蜜桃| 日日夜夜一区二区| 色婷婷激情综合| 国产精品久久精品日日| 国内精品久久久久影院一蜜桃| 欧美日韩日本视频| 欧美α欧美αv大片| 人人爽香蕉精品| 91高清视频免费看| 亚洲国产高清不卡| 国产精品 欧美精品| 日韩欧美国产高清| 午夜视频一区二区| av激情成人网| 亚洲欧洲国产日本综合| 国产精品亚洲一区二区三区在线| 欧美一区二区网站| 日韩精彩视频在线观看| 在线观看日产精品| 亚洲视频电影在线| 国产成+人+日韩+欧美+亚洲| 久久综合一区二区| 另类小说视频一区二区| 欧美日本韩国一区二区三区视频| 亚洲成人动漫在线观看| 欧美羞羞免费网站| 亚洲一区二区综合| 91视频在线观看免费| 欧美国产激情一区二区三区蜜月 | 这里只有精品视频在线观看| 亚洲精品成人悠悠色影视| 99国产精品久久久| 国产精品美女久久久久久久久久久| 国产一区二区三区四区五区入口 | 精品免费国产二区三区| 青娱乐精品视频| 欧美一区在线视频| 美国毛片一区二区| 精品少妇一区二区| 激情综合网天天干| 日韩精品最新网址| 久久69国产一区二区蜜臀| 亚洲精品一区二区在线观看| 男人操女人的视频在线观看欧美| 欧美成人女星排名| 久久aⅴ国产欧美74aaa| 欧美一区二区三区四区久久| 国模大尺度一区二区三区| 久久免费精品国产久精品久久久久| 国产一区视频在线看| 久久精品免视看| 91碰在线视频| 亚瑟在线精品视频| 日韩三级免费观看| 国产在线观看一区二区| 成人免费小视频| 欧美精品在线一区二区| 麻豆精品久久久| 欧美国产精品一区二区三区| 欧美在线free| 乱中年女人伦av一区二区| 精品国产99国产精品| 国产成人精品免费| 亚洲欧美日韩中文字幕一区二区三区| 色妹子一区二区| 日产精品久久久久久久性色| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美中文字幕一区二区三区 | 91日韩一区二区三区| 欧美一级黄色片| 亚洲欧美日韩久久精品| 7777女厕盗摄久久久| 国产·精品毛片| 亚洲成人精品影院| 日本一二三不卡| 在线播放视频一区| 国产成人日日夜夜| 亚洲一区二区视频| 久久久99精品免费观看不卡| 欧美日韩精品福利| 成人激情综合网站| 乱一区二区av| 亚洲福利视频一区二区| 国产精品污www在线观看| 91精品国产高清一区二区三区 | 国产三级一区二区三区| 欧美亚洲综合在线| 高清在线成人网| 免费观看在线综合色| 亚洲精品亚洲人成人网| 久久精品视频在线看| 欧美精品久久久久久久多人混战 | 亚洲裸体xxx| 久久久综合视频| 欧美一区二区精品| 在线一区二区视频| 国产不卡视频一区二区三区| 日本大胆欧美人术艺术动态| 亚洲九九爱视频| 欧美国产精品中文字幕| 日韩精品一区二区三区在线观看 | 亚洲激情六月丁香| 欧美经典三级视频一区二区三区| 日韩欧美一卡二卡| 欧美偷拍一区二区| 91丨九色丨蝌蚪富婆spa| 国产suv精品一区二区三区| 精品一区二区三区久久| 日韩av中文在线观看| 亚洲午夜国产一区99re久久| 亚洲男人的天堂av| 中文字幕在线不卡视频| 久久久久久电影| 26uuu久久天堂性欧美| 日韩欧美国产精品一区| 欧美一区二区久久| 8v天堂国产在线一区二区| 欧洲一区二区av| 在线亚洲高清视频| 日本高清成人免费播放| 99久久精品国产精品久久| 国产69精品久久777的优势| 国产高清不卡一区| 精品一区二区三区欧美| 久久97超碰国产精品超碰| 久久99精品国产麻豆婷婷| 美女免费视频一区| 蜜臀av一区二区| 午夜精品久久久久| 亚洲综合男人的天堂| 亚洲国产精品久久人人爱蜜臀| 洋洋av久久久久久久一区| 亚洲一区二区三区四区在线免费观看 | 奇米精品一区二区三区四区| 午夜欧美在线一二页| 日韩不卡一二三区| 久久99久国产精品黄毛片色诱| 久久狠狠亚洲综合| 国产毛片精品国产一区二区三区| 国产麻豆精品久久一二三| 国产99久久久国产精品免费看| 国产成人午夜99999| 成人av网站在线观看免费| 91免费国产在线| 欧美色图12p| 日韩精品最新网址| 久久综合av免费| 国产精品色一区二区三区| 亚洲日本一区二区| 亚洲bt欧美bt精品| 精品一区二区三区在线播放|