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

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

?? mds.m

?? 模式識別常用功能函數
?? M
?? 第 1 頁 / 共 3 頁
字號:
%MDS - Multidimensional Scaling - a variant of Sammon mapping %%   [W,J,stress] = MDS(D,Y,OPTIONS)%   [W,J,stress] = MDS(D,N,OPTIONS)% % INPUT%   D       Square (M x M) dissimilarity matrix%   Y       M x N matrix containing starting configuration, or%   N       Desired output dimensionality%   OPTIONS Various parameters of the  minimization procedure put into %           a structure consisting of the following fields: 'q', 'optim',%           'init','etol','maxiter', 'isratio', 'itmap', 'st' and 'inspect'%           (default:%             OPTIONS.q       = 0          %             OPTIONS.optim   = 'pn'      %             OPTIONS.init    = 'cs'%             OPTIONS.etol    = 1e-6 (the precise value depends on q)%             OPTIONS.maxiter = inf %             OPTIONS.isratio = 0 %             OPTIONS.itmap   = 'yes' %             OPTIONS.st      = 1 %             OPTIONS.inspect = 2).% % OUTPUT%   W       Multidimensional scaling mapping%   J       Index of points removed before optimization%   stress  Vector of stress values%% DESCRIPTION  % Finds a nonlinear MDS map (a variant of the Sammon map) of objects% represented by a symmetric distance matrix D with zero diagonal, given% either the dimensionality N or the initial configuration Y. This is done% in an iterative manner by minimizing the Sammon stress:%%   e = 1/(sum_{i<j} D_{ij}^(Q+2)) sum_{i<j} (D_{ij} - DY_{ij})^2 * D_{ij}^Q%% where DY is the distance matrix of Y, which should approximate D. If D(i,j) % = 0 for any different points i and j, then one of them is superfluous. The % indices of these points are returned in J.%% OPTIONS is an optional variable, using which the parameters for the mapping% can be controlled. It may contain the following fields: %   %   Q        Stress measure to use (see above): -2,-1,0,1 or 2. %   INIT     Initialisation method for Y: 'randp', 'randnp', 'maxv', 'cs' %            or 'kl'. See MDS_INIT for an explanation.%   OPTIM    Minimization procedure to use: 'pn' for Pseudo-Newton or%            'scg' for Scaled Conjugate Gradients.%   ETOL     Tolerance of the minimization procedure. Usually, it should be %   MAXITER  in the order of 1e-6. If MAXITER is given (see below), then the %            optimization is stopped either when the error drops below ETOL or %            MAXITER iterations are reached.%   ISRATIO  Indicates whether a ratio MDS should be performed (1) or not (0).%            If ISRATIO is 1, then instead of fitting the dissimilarities %            D_{ij}, A*D_{ij} is fitted in the stress function. The value A %            is estimated analytically in each iteration.%   ITMAP    Determines the way new points are mapped, either in an iterative %            manner ('yes') by minimizing the stress; or by a linear projection %            ('no').%   ST       Status, determines whether after each iteration the stress should %   INSPECT  be printed on the screen (1) or not (0). When INSPECT > 0, %            ST = 1 and the mapping is onto 2D or larger, then the progress %            is plotted during the minimization every INSPECT iterations.% % Important:%  1. It is assumed that D either is or approximates a Euclidean distance %     matrix, i.e. D_{ij} = sqrt (sum_k(x_i - x_j)^2). %  2. Missing values can be handled; they should be marked by 'NaN' in D. %% EXAMPLES:% opt.optim = 'scg';% opt.init  = 'cs'; % D  = sqrt(distm(a)); % Compute the Euclidean distance dataset of A% w1 = mds(D,2,opt);   % An MDS map onto 2D initialized by Classical Scaling,%                      % optimized by a Scaled Conjugate Gradients algorithm% n  = size(D,1);% y  = rand(n,2);% w2 = mds(D,y,opt);   % An MDS map onto 2D initialized by random vectors%% z = rand(n,n);       % Set around 40% of the random distances to NaN, i.e. % z = (z+z')/2;        % not used in the MDS mapping% z = find(z <= 0.6);% D(z) = NaN;% D(1:n+1:n^2) = 0;    % Set the diagonal to zero% opt.optim = 'pn';% opt.init  = 'randnp'; % opt.etol  = 1e-8;    % Should be high, as only some distances are used% w3 = mds(D,2,opt);   % An MDS map onto 2D initialized by a random projection%% REFERENCES% 1. M.F. Moler, A Scaled Conjugate Gradient Algorithm for Fast Supervised%    Learning', Neural Networks, vol. 6, 525-533, 1993.% 2. W.H. Press, S.A. Teukolsky, W.T. Vetterling and B.P. Flannery,%    Numerical Recipes in C, Cambridge University Press, Cambridge, 1992. % 3. I. Borg and P. Groenen, Modern Multidimensional Scaling, Springer%    Verlag, Berlin, 1997. % 4. T.F. Cox and M.A.A. Cox, Multidimensional Scaling, Chapman and Hall, %    London, 1994.%% SEE ALSO% MAPPINGS, MDS_STRESS, MDS_INIT, MDS_CS%% Copyright: Elzbieta Pekalska, Robert P.W. Duin, ela@ph.tn.tudelft.nl, 2000-2003% Faculty of Applied Sciences, Delft University of Technology%function [w,J,err,opt,y] = mds(D,y,options)  if (nargin < 3)    options = [];               % Will be filled by MDS_SETOPT, below.  end  opt = mds_setopt(options);  if (nargin < 2) | (isempty(y))    prwarning(2,'no output dimensionality given, assuming N = 2.');    y = 2;   end  % No arguments given: return an untrained mapping.  if (nargin < 1) | (isempty(D))    w = mapping(mfilename,{y,opt,[],[],[],[]});     w = setname(w,'MDS');    return  end  % YREP contains representative objects in the projected MDS space, i.e.   % for which the mapping exists. YREP is empty for the original MDS, since   %  no projection is available yet.  yrep = [];                if (isdataset(D) | isa(D,'double'))    [m,mm] = size(D);    % Convert D to double, but retain labels in LAB.    if (isdataset(D)), lab = getlab(D); D = +D; else, lab = ones(m,1); end;    if (ismapping(y))      % The MDS mapping exists; this means that YREP has already been stored.      pars = getdata(y); [k,c] = size(y);      y     = [];        % Empty, should now be found.      yrep  = pars{1};  % There exists an MDS map, hence YREP is stored.      opt   = pars{2};  % Options used for the mapping.      II    = pars{3};  % Index of non-repeated points in YREP.      winit = pars{4};  % The Classical Scaling map, if INIT = 'cs'.      v     = pars{5};  % Weights used for adding new points if ITMAP = 'no'.      n = c;            % Number of dimensions of the projected space.      % Initialization by 'cs' is not possible when there is no winit       % (i.e. the CS map) and new points should be added.      if (strcmp(opt.init,'cs')) & (isempty(winit))        prwarning(2,'OPTIONS.init = cs is not possible when adding points; using kl.');        opt.init = 'kl';        end      % If YREP is a scalar, we have an empty mapping.      if (max(size(yrep)) == 1)        y    = yrep;        yrep = [];      end      % Check whether D is a matrix with the zero diagonal for the existing map.      if (m == mm) & (length(intersect(find(D(:)<eps),1:m+1:(m*mm))) >= m)        w = yrep;         % D is the same matrix as in the projection process;         return            % YREP is then the solution      end      if (length(pars) < 6) | (isempty(pars{6}))        yinit = [];      else        yinit = pars{6};   % Possible initial configuration for points to                           % be added to an existing map        if (size(yinit,1) ~= size(D,1))          prwarning(2,'the size of the initial configuration does not match that of the dissimilarity matrix, using random initialization.')          yinit =[];        end      end    else      % No MDS mapping available yet; perform the checks.      if (~issym(D,1e-12))        prwarning(2,'D is not a symmetric matrix; will average.');         D = (D+D')/2;      end      % Check the number of zeros on the diagonal      if (any(abs(diag(D)) > 0))        error('D should have a zero diagonal');       end    end  else    % D is neither a dataset nor a matrix of doubles    error('D should be a dataset or a matrix of doubles.');  end  if (~isempty(y))    % Y is the initial configuration or N, no MDS map exists yet;      % D is a square matrix.                                % Remove identical points, i.e. points for which D(i,j) = 0 for i ~= j.    % I contains the indices of points left for the MDS mapping, J those    % of the removed points and P those of the points left in I which were    % identical to those removed.    [I,J,P] = mds_reppoints(D);    D = D(I,I);               [ni,nc] = size(D);    % NANID is an extra field in the OPTIONS structure, containing the indices    % of NaN values (= missing values) in distance matrix D.    opt.nanid = find(isnan(D(:)) == 1);     % Initialise Y.    [m2,n] = size(y);    if (max(m2,n) == 1)    % Y is a scalar, hence really is a dimensionality N.      n = y;      [y,winit] = mds_init(D,n,opt.init);    else      if (mm ~= m2)        error('The matrix D and the starting configuration Y should have the same number of columns.');      end      winit = [];      y = +y(I,:);    end    % The final number of true distances is:    no_dist = (ni*(ni-1) - length(opt.nanid))/2;  else                          % This happens only if we add extra points to an existing MDS map.     % Remove identical points, i.e. points for which D(i,j) = 0 for i ~= j.    % I contains the indices of points left for the MDS mapping, J those    % of the removed points and P those of the points left in I which were    % identical to those removed.    [I,J,P] = mds_reppoints(D(:,II));    D = D(I,II);                 [ni,nc] = size(D);    yrep = yrep(II,:);         n = size(yrep,2);         % NANID is an extra field in the OPTIONS structure, containing the indices    % of NaN values (= missing values) in distance matrix D.    opt.nanid = find(isnan(D(:)));     % Initialise Y. if the new points should be added in an iterative manner.    [m2,n] = size(yrep);               if (~isempty(yinit))             % An initial configuration exists.      y = yinit;    elseif (strcmp(opt.init, 'cs')) & (~isempty(winit))      y = D*winit;    else         y = mds_init(D,n,opt.init);    end    if (~isempty(opt.nanid))         % Rescale.      scale = (max(yrep)-min(yrep))./(max(y)-min(y));      y = y .* repmat(scale,ni,1);     end    % The final number of true distances is:    no_dist = (ni*nc - length(opt.nanid));  end  % Check whether there is enough data left.  if (~isempty(opt.nanid))    if (n*ni+2 > no_dist),      error('There are too many missing distances: it is not possible to determine the MDS map.');    end    if (strcmp (opt.itmap,'no'))      opt.itmap = 'yes';      prwarning(1,'Due to the missing values, the projection can only be iterative. OPTIONS are changed appropriately.')    end  end  if (opt.inspect > 0)    opt.plotlab = lab(I,:);  % Labels to be used for plotting in MDS_SAMMAP.  else    opt.plotlab = [];  end                         if (isempty(yrep)) | (~isempty(yrep) & strcmp(opt.itmap, 'yes'))      % Either no MDS exists yet OR new points should be mapped in an iterative manner.    printinfo(opt);    [yy,err] = mds_sammap(D,y,yrep,opt);    % Define the linear projection of distances.    v = [];    if (isempty(yrep)) & (isempty(opt.nanid))        if (rank(D) < m)        v = pinv(D)*yy;      else        v = D \ yy;      end    end  else    % New points should be added by a linear projection of dissimilarity data.    yy = D*v;  end  % Establish the projected configuration including the removed points.  y = zeros(m,n); y(I,:) = +yy;                     if (~isempty(J))    if (~isempty(yrep))      y(J,:) = +yrep(II(P),:);    else      for k=length(J):-1:1        % J: indices of removed points.        y(J(k),:) = y(P(k),:);    % P: indices of points equal to points in J.      end     end  end  % In the definition step: shift the obtained configuration such that the  % mean lies at the origin.  if (isempty(yrep))    y = y - ones(length(y),1)*mean(y);    y = dataset(y,lab);  else    w = dataset(y,lab);    return;  end  % In the definition step: the mapping should be stored.  opt = rmfield(opt,'nanid');   % These fields are to be used internally only;  opt = rmfield(opt,'plotlab'); % not to be set up from outside  w   = mapping(mfilename,'trained',{y,opt,I,winit,v,[]},[],m,n);  w   = setname(w,'MDS');return% **********************************************************************************%                             Extra functions% **********************************************************************************% PRINTINFO(OPT)%% Prints progress information to the file handle given by OPT.ST.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
《视频一区视频二区| 国产福利电影一区二区三区| 日本免费在线视频不卡一不卡二| 久久99久久久欧美国产| 91麻豆精品在线观看| 欧美一区二区三区四区久久| 亚洲欧美中日韩| 国产综合色在线视频区| 日本国产一区二区| 国产精品美女久久久久久久| 久久国产精品第一页| 欧美日韩视频在线一区二区| 中文字幕一区二区日韩精品绯色| 国产综合一区二区| 欧美成人精品高清在线播放| 午夜久久久久久久久久一区二区| 北条麻妃国产九九精品视频| 久久婷婷色综合| 蜜臀久久99精品久久久久宅男| 色偷偷成人一区二区三区91 | 卡一卡二国产精品| 91蜜桃视频在线| 中文字幕日本乱码精品影院| 国产福利一区二区| 久久久久9999亚洲精品| 国内偷窥港台综合视频在线播放| 欧美巨大另类极品videosbest | 国产欧美1区2区3区| 美国十次了思思久久精品导航| 在线观看av不卡| 亚洲午夜久久久久久久久久久| 在线观看日产精品| 亚洲国产视频a| 欧美日韩在线观看一区二区| 94-欧美-setu| 欧美电视剧免费全集观看| 国产一区二区三区四区五区入口 | 日韩免费在线观看| 日本韩国精品在线| 亚洲色图视频免费播放| 色婷婷国产精品| 亚洲综合免费观看高清完整版 | 麻豆成人综合网| 日韩欧美国产综合一区 | 亚洲国产成人高清精品| 欧美偷拍一区二区| 日本中文字幕一区二区有限公司| 91麻豆精品国产91久久久资源速度 | 欧美亚洲禁片免费| 五月婷婷综合激情| 日韩免费观看2025年上映的电影| 久久99热这里只有精品| 国产亚洲短视频| 色婷婷亚洲精品| 蜜桃免费网站一区二区三区| 久久先锋影音av| 91色视频在线| 日韩中文字幕不卡| 精品国产凹凸成av人导航| 国产成人夜色高潮福利影视| 亚洲精品亚洲人成人网| 欧美美女一区二区三区| 久草精品在线观看| 亚洲欧美色一区| 91精品国产入口| 9l国产精品久久久久麻豆| 亚洲自拍偷拍九九九| 久久婷婷久久一区二区三区| 色综合视频在线观看| 日本成人中文字幕在线视频 | 中文字幕电影一区| 欧美日韩一区国产| 国产福利一区二区三区在线视频| 亚洲尤物视频在线| 久久影院午夜片一区| 欧美色综合天天久久综合精品| 韩国av一区二区三区四区| 一区二区三区资源| 国产婷婷色一区二区三区四区 | 国产传媒一区在线| 天堂影院一区二区| 国产精品国产三级国产aⅴ原创| 欧美日韩中文国产| av不卡在线观看| 老司机免费视频一区二区| 亚洲精品写真福利| 亚洲国产精品99久久久久久久久| 777亚洲妇女| 色婷婷综合激情| 春色校园综合激情亚洲| 精品一区精品二区高清| 亚洲一区国产视频| 中文字幕一区免费在线观看| 久久久91精品国产一区二区精品| 91精品国产手机| 欧美亚洲国产一卡| 色又黄又爽网站www久久| 国产寡妇亲子伦一区二区| 免费观看在线综合| 丝袜美腿成人在线| 一区二区三区精品视频在线| 国产精品国产三级国产aⅴ中文| 精品国产一区二区三区不卡| 欧美精选一区二区| 欧美视频一区在线| 欧美三日本三级三级在线播放| 一本在线高清不卡dvd| 99九九99九九九视频精品| 国产a级毛片一区| 国产成人av电影在线| 国产一区二区三区高清播放| 激情欧美日韩一区二区| 国产最新精品免费| 国产一区二区三区精品视频| 国产一区二区三区免费看| 国产精品77777竹菊影视小说| 韩日精品视频一区| 国产尤物一区二区在线 | 秋霞午夜鲁丝一区二区老狼| 午夜久久福利影院| 日本成人超碰在线观看| 奇米精品一区二区三区四区| 蜜臀a∨国产成人精品| 麻豆成人91精品二区三区| 激情综合色播五月| 国产一区二区h| 成人午夜私人影院| 色94色欧美sute亚洲线路一久| 色综合视频一区二区三区高清| 91麻豆产精品久久久久久| 欧美主播一区二区三区美女| 欧美日本一区二区三区四区| 日韩欧美电影在线| 久久精品综合网| 亚洲免费av网站| 日韩综合在线视频| 国产精品一区二区x88av| av色综合久久天堂av综合| 色综合天天综合网国产成人综合天| 色综合一区二区三区| 欧美一区二区三区日韩视频| 精品成人私密视频| 国产精品电影院| 无吗不卡中文字幕| 国产精品伊人色| av在线播放成人| 3atv一区二区三区| 欧美tk—视频vk| 亚洲丝袜制服诱惑| 免费高清在线视频一区·| 国产成+人+日韩+欧美+亚洲| 色综合中文字幕国产 | 色欧美88888久久久久久影院| 91精品一区二区三区久久久久久| 欧美精品一区二区三区高清aⅴ| 国产精品乱码人人做人人爱| 亚洲成av人影院| 成人一级视频在线观看| 欧美日韩国产精选| 欧美极品少妇xxxxⅹ高跟鞋| 无码av中文一区二区三区桃花岛| 国产精品亚洲视频| 91精品国产综合久久福利 | 91视频你懂的| 久久一二三国产| 亚洲精品v日韩精品| 国产成人精品一区二区三区四区 | 午夜精品一区二区三区免费视频| 九九九精品视频| 欧美午夜在线一二页| 中文在线免费一区三区高中清不卡| 亚洲 欧美综合在线网络| 成人免费高清在线| 亚洲精品在线观看视频| 亚洲成va人在线观看| aaa欧美大片| 国产亚洲一区二区三区| 日本不卡中文字幕| 欧美中文字幕亚洲一区二区va在线| 中文字幕巨乱亚洲| 国产真实乱对白精彩久久| 欧美高清www午色夜在线视频| 亚洲女同一区二区| 成人a级免费电影| 国产喂奶挤奶一区二区三区| 狠狠色狠狠色综合系列| 欧美一级日韩不卡播放免费| 亚洲综合色视频| 色婷婷久久一区二区三区麻豆| 国产欧美一区二区精品秋霞影院 | 日韩精品福利网| 色综合天天天天做夜夜夜夜做| 欧美激情中文字幕| 国产精品中文字幕日韩精品 | 国产91丝袜在线播放| 精品国产免费人成电影在线观看四季| 三级一区在线视频先锋| 欧美日韩一区在线| 五月综合激情婷婷六月色窝| 欧美巨大另类极品videosbest|