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

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

?? isomap.m

?? 基于測地距離不變性的非線性降維算法源碼
?? M
字號:
function [Y, R, E] = Isomap(D, n_fcn, n_size, options); % ISOMAP   Computes Isomap embedding using the algorithm of %             Tenenbaum, de Silva, and Langford (2000). %% [Y, R, E] = isomap(D, n_fcn, n_size, options); %% Input:%    D = N x N matrix of distances (where N is the number of data points)%    n_fcn = neighborhood function ('epsilon' or 'k') %    n_size = neighborhood size (value for epsilon or k) %%    options.dims = (row) vector of embedding dimensionalities to use%                        (1:10 = default)%    options.comp = which connected component to embed, if more than one. %                        (1 = largest (default), 2 = second largest, ...)%    options.display = plot residual variance and 2-D embedding?%                        (1 = yes (default), 0 = no)%    options.overlay = overlay graph on 2-D embedding?  %                        (1 = yes (default), 0 = no)%    options.verbose = display progress reports? %                        (1 = yes (default), 0 = no)%% Output: %    Y = Y.coords is a cell array, with coordinates for d-dimensional embeddings%         in Y.coords7prrbrb.  Y.index contains the indices of the points embedded.%    R = residual variances for embeddings in Y%    E = edge matrix for neighborhood graph%%    BEGIN COPYRIGHT NOTICE%%    Isomap code -- (c) 1998-2000 Josh Tenenbaum%%    This code is provided as is, with no guarantees except that %    bugs are almost surely present.  Published reports of research %    using this code (or a modified version) should cite the %    article that describes the algorithm: %%      J. B. Tenenbaum, V. de Silva, J. C. Langford (2000).  A global%      geometric framework for nonlinear dimensionality reduction.  %      Science 290 (5500): 2319-2323, 22 December 2000.  %%    Comments and bug reports are welcome.  Email to jbt@psych.stanford.edu. %    I would also appreciate hearing about how you used this code, %    improvements that you have made to it, or translations into other%    languages.    %%    You are free to modify, extend or distribute this code, as long %    as this copyright notice is included whole and unchanged.  %%    END COPYRIGHT NOTICE%%%%% Step 0: Initialization and Parameters %%%%%N = size(D,1); if ~(N==size(D,2))     error('D must be a square matrix'); end; if n_fcn=='k'     K = n_size;      if ~(K==round(K))         error('Number of neighbors for k method must be an integer');     endelseif n_fcn=='epsilon'     epsilon = n_size; else      error('Neighborhood function must be either epsilon or k'); endif nargin < 3     error('Too few input arguments'); elseif nargin < 4     options = struct('dims',1:10,'overlay',1,'comp',1,'display',1,'verbose',1); endINF =  1000*max(max(D))*N;  %% effectively infinite distanceif ~isfield(options,'dims')     options.dims = 1:10; endif ~isfield(options,'overlay')     options.overlay = 1; endif ~isfield(options,'comp')     options.comp = 1; endif ~isfield(options,'display')     options.display = 1; endif ~isfield(options,'verbose')     options.verbose = 1; enddims = options.dims; comp = options.comp; overlay = options.overlay; displ = options.display; verbose = options.verbose; Y.coords = cell(length(dims),1); R = zeros(1,length(dims)); %%%%% Step 1: Construct neighborhood graph %%%%%disp('Constructing neighborhood graph...'); if n_fcn == 'k'     [tmp, ind] = sort(D);      for i=1:N          D(i,ind((2+K):end,i)) = INF;      endelseif n_fcn == 'epsilon'     warning off    %% Next line causes an unnecessary warning, so turn it off     D =  D./(D<=epsilon);      D = min(D,INF);      warning onendD = min(D,D');    %% Make sure distance matrix is symmetricif (overlay == 1)     E = int8(1-(D==INF));  %%  Edge information for subsequent graph overlayend% Finite entries in D now correspond to distances between neighboring points. % Infinite entries (really, equal to INF) in D now correspond to %   non-neighoring points. %%%%% Step 2: Compute shortest paths %%%%%disp('Computing shortest paths...'); % We use Floyd's algorithm, which produces the best performance in Matlab. % Dijkstra's algorithm is significantly more efficient for sparse graphs, % but requires for-loops that are very slow to run in Matlab.  A significantly % faster implementation of Isomap that calls a MEX file for Dijkstra's % algorithm can be found in isomap2.m (and the accompanying files% dijkstra.c and dijkstra.dll). tic; for k=1:N     D = min(D,repmat(D(:,k),[1 N])+repmat(D(k,:),[N 1]));      %if ((verbose == 1) & (rem(k,20) == 0))           %disp([' Iteration: ' num2str(k) '     Estimated time to completion: 'num2str((N-k)*toc/k/60) ' minutes']);           %endend%%%%% Remove outliers from graph %%%%%disp('Checking for outliers...'); n_connect = sum(~(D==INF));        %% number of points each point connects to[tmp, firsts] = min(D==INF);       %% first point each point connects to[comps, I, J] = unique(firsts);    %% represent each connected component oncesize_comps = n_connect(comps);     %% size of each connected component[tmp, comp_order] = sort(size_comps);  %% sort connected components by sizecomps = comps(comp_order(end:-1:1));    size_comps = size_comps(comp_order(end:-1:1)); n_comps = length(comps);               %% number of connected componentsif (comp>n_comps)                     comp=1;                              %% default: use largest componentenddisp(['  Number of connected components in graph: ' num2str(n_comps)]); disp(['  Embedding component ' num2str(comp) ' with ' num2str(size_comps(comp)) ' points.']); Y.index = find(firsts==comps(comp)); D = D(Y.index, Y.index); N = length(Y.index); %%%%% Step 3: Construct low-dimensional embeddings (Classical MDS) %%%%%disp('Constructing low-dimensional embeddings (Classical MDS)...'); opt.disp = 0; [vec, val] = eigs(-.5*(D.^2 - sum(D.^2)'*ones(1,N)/N - ones(N,1)*sum(D.^2)/N + sum(sum(D.^2))/(N^2)), max(dims), 'LR', opt); h = real(diag(val)); [foo,sorth] = sort(h);  sorth = sorth(end:-1:1); val = real(diag(val(sorth,sorth))); vec = vec(:,sorth); D = reshape(D,N^2,1); for di = 1:length(dims)     if (dims(di)<=N)         Y.coords{di} = real(vec(:,1:dims(di)).*(ones(N,1)*sqrt(val(1:dims(di)))'))';          r2 = 1-corrcoef(reshape(real(L2_distance(Y.coords{di}, Y.coords{di})),N^2,1),D).^2;          R(di) = r2(2,1);          if (verbose == 1)             disp(['  Isomap on ' num2str(N) ' points with dimensionality ' num2str(dims(di)) '  --> residual variance = ' num2str(R(di))]);          end     endendclear D; %%%%%%%%%%%%%%%%%% Graphics %%%%%%%%%%%%%%%%%%if (displ==1)     %%%%% Plot fall-off of residual variance with dimensionality %%%%%     figure;     hold on     plot(dims, R, 'bo');      plot(dims, R, 'b-');      hold off     ylabel('Residual variance');      xlabel('Isomap dimensionality');      %%%%% Plot two-dimensional configuration %%%%%     twod = find(dims==2);      if ~isempty(twod)         figure;         hold on;         plot(Y.coords{twod}(1,:), Y.coords{twod}(2,:), 'ro');          if (overlay == 1)             gplot(E(Y.index, Y.index), [Y.coords{twod}(1,:); Y.coords{twod}(2,:)]');              title('Two-dimensional Isomap embedding (with neighborhood graph).');          else             title('Two-dimensional Isomap.');          end         hold off;     endendreturn;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色一级视频| 日韩av一区二区在线影视| 9久草视频在线视频精品| 国产精品色眯眯| 91黄色免费版| 日本成人在线不卡视频| 日韩一级在线观看| 处破女av一区二区| 亚洲另类春色国产| 欧美三电影在线| 精彩视频一区二区| 亚洲国产精品成人综合| 色狠狠色狠狠综合| 日产国产高清一区二区三区| 欧美精品一区二区三区久久久| 国产精品一区免费在线观看| 中文字幕亚洲一区二区va在线| 色综合天天综合狠狠| 日韩黄色小视频| 久久久久久久久伊人| 91麻豆国产精品久久| 日韩和的一区二区| 国产日韩欧美精品一区| 色狠狠一区二区三区香蕉| 五月激情综合色| 国产日韩欧美精品电影三级在线| 色综合久久久久网| 久久99久久99小草精品免视看| 国产精品色一区二区三区| 欧美三区免费完整视频在线观看| 精品一区二区三区视频在线观看| 一区精品在线播放| 亚洲精品在线三区| 在线一区二区三区四区五区| 韩国v欧美v日本v亚洲v| 亚洲一区二区三区在线看| 久久亚区不卡日本| 99精品一区二区三区| 美洲天堂一区二卡三卡四卡视频| 17c精品麻豆一区二区免费| 欧美α欧美αv大片| 色呦呦国产精品| 国产福利精品导航| 日本色综合中文字幕| 亚洲精品亚洲人成人网在线播放| 欧美sm极限捆绑bd| 欧美情侣在线播放| 91视频免费观看| 国产麻豆视频一区二区| 午夜精品久久久久久久99樱桃| 国产精品女主播av| 亚洲精品一线二线三线| 欧美日韩国产综合视频在线观看 | 欧美在线观看一二区| 国产98色在线|日韩| 久久99精品国产麻豆婷婷洗澡| 亚洲综合色区另类av| 亚洲欧洲另类国产综合| 久久久99久久| 久久中文字幕电影| 欧美精品一区二区三区蜜桃视频| 欧美二区在线观看| 欧美日韩精品系列| 欧美午夜精品久久久久久超碰| jvid福利写真一区二区三区| 国产精品888| 国产在线播精品第三| 国内外成人在线视频| 秋霞国产午夜精品免费视频| 天堂久久一区二区三区| 一区二区三区高清不卡| 亚洲欧美日韩在线播放| 亚洲日本韩国一区| 亚洲欧美国产77777| 国产精品毛片高清在线完整版| 国产色产综合产在线视频| www日韩大片| 久久久久国产精品免费免费搜索| 精品成a人在线观看| 久久精子c满五个校花| 日本一区二区三区dvd视频在线| 精品福利二区三区| 国产欧美在线观看一区| 国产欧美精品国产国产专区| 中文字幕不卡的av| 亚洲色图欧美偷拍| 一区二区三区精品视频| 亚洲国产精品自拍| 日本亚洲三级在线| 久久精品免费看| 国产精选一区二区三区| 99久久久精品免费观看国产蜜| 97久久超碰国产精品| 欧美性受极品xxxx喷水| 欧美一区二区三区喷汁尤物| 日韩免费观看2025年上映的电影| 精品免费一区二区三区| 欧美日韩免费在线视频| 日韩欧美中文一区| 国产三级久久久| 一区二区三区丝袜| 午夜精品一区二区三区免费视频 | 日本不卡视频在线观看| 久99久精品视频免费观看| 国产成人精品在线看| 97久久人人超碰| 日韩视频中午一区| 国产精品全国免费观看高清| 亚洲一区二区三区中文字幕| 久久精品国产77777蜜臀| 丰满岳乱妇一区二区三区| 在线观看日韩av先锋影音电影院| 51精品秘密在线观看| 国产午夜久久久久| 亚洲一区二区三区免费视频| 韩国在线一区二区| 色婷婷av一区二区三区gif| 日韩精品中文字幕在线一区| 亚洲国产精品激情在线观看 | 国产精品久久久久久一区二区三区 | 在线视频国产一区| 欧美一级在线免费| 亚洲欧美在线aaa| 日本不卡视频在线| 色综合久久久久综合99| 久久综合久久综合久久| 亚洲一二三四在线| 国产.欧美.日韩| 日韩一级黄色片| 亚洲免费观看高清完整版在线| 久久66热re国产| 欧洲一区在线观看| 中文字幕乱码日本亚洲一区二区| 日韩专区中文字幕一区二区| 丁香婷婷深情五月亚洲| 欧美大片一区二区| 亚洲一区二区三区四区在线| 成人国产精品免费观看| 久久人人爽人人爽| 老司机免费视频一区二区三区| 欧美无砖专区一中文字| 国产精品乱人伦中文| 韩国三级在线一区| 日韩午夜激情av| 亚洲第四色夜色| 成人av综合在线| 日本一区二区在线不卡| 狠狠v欧美v日韩v亚洲ⅴ| 欧美一区二区精品在线| 亚洲成人自拍一区| 欧美探花视频资源| 亚洲欧美激情在线| av在线不卡免费看| 亚洲国产精品成人综合 | 日韩电影在线观看电影| 欧美影院精品一区| 一区二区三区加勒比av| 不卡在线视频中文字幕| 欧美激情一区二区三区在线| 国产在线观看免费一区| 精品国产污网站| 蜜桃视频一区二区三区| 91精品国产品国语在线不卡| 亚洲国产一二三| 欧美日韩精品福利| 亚洲va天堂va国产va久| 欧美日韩综合一区| 日韩黄色在线观看| 欧美成人一区二区三区片免费| 老司机精品视频一区二区三区| 日韩视频不卡中文| 精品在线一区二区| 久久精品一区二区| 国产成人精品免费看| 国产精品电影一区二区三区| va亚洲va日韩不卡在线观看| 亚洲欧美成aⅴ人在线观看| 色婷婷综合激情| 日日摸夜夜添夜夜添亚洲女人| 91精品国产欧美日韩| 另类人妖一区二区av| 久久久久88色偷偷免费| gogogo免费视频观看亚洲一| 亚洲视频免费在线| 欧美视频一区二区三区在线观看| 图片区小说区国产精品视频| 欧美zozo另类异族| 懂色av中文一区二区三区| 亚洲色图一区二区三区| 欧美天堂一区二区三区| 麻豆国产91在线播放| 中文字幕av一区 二区| 色婷婷国产精品| 青青国产91久久久久久| 国产日产欧产精品推荐色| 91女人视频在线观看| 日韩国产欧美在线播放| 国产午夜精品久久| 欧美综合一区二区三区| 美女诱惑一区二区|