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

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

?? isomap.m

?? 常用ROBUST STATISTICAL
?? 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.coords2meweqk.  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');
     end
elseif n_fcn=='epsilon'
     epsilon = n_size; 
else 
     error('Neighborhood function must be either epsilon or k'); 
end
if nargin < 3
     error('Too few input arguments'); 
elseif nargin < 4
     options = struct('dims',1:10,'overlay',1,'comp',1,'display',1,'verbose',1); 
end
INF =  1000*max(max(D))*N;  %% effectively infinite distance

if ~isfield(options,'dims')
     options.dims = 1:10; 
end
if ~isfield(options,'overlay')
     options.overlay = 1; 
end
if ~isfield(options,'comp')
     options.comp = 1; 
end
if ~isfield(options,'display')
     options.display = 1; 
end
if ~isfield(options,'verbose')
     options.verbose = 1; 
end
dims = 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; 
     end
elseif n_fcn == 'epsilon'
     warning off    %% Next line causes an unnecessary warning, so turn it off
     D =  D./(D<=epsilon); 
     D = min(D,INF); 
     warning on
end

D = min(D,D');    %% Make sure distance matrix is symmetric

if (overlay == 1)
     E = int8(1-(D==INF));  %%  Edge information for subsequent graph overlay
end

% 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']); 
     end
end

%%%%% 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 once
size_comps = n_connect(comps);     %% size of each connected component
[tmp, comp_order] = sort(size_comps);  %% sort connected components by size
comps = comps(comp_order(end:-1:1));    
size_comps = size_comps(comp_order(end:-1:1)); 
n_comps = length(comps);               %% number of connected components
if (comp>n_comps)                
     comp=1;                              %% default: use largest component
end
disp(['  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
     end
end

clear 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;
     end
end

return;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久国产综合精品女不卡| 国产sm精品调教视频网站| 欧美中文字幕久久| 一区二区三区在线视频播放| 欧美色图天堂网| 国产成人亚洲综合色影视| 日韩免费性生活视频播放| 久久国产婷婷国产香蕉| 中日韩av电影| 色综合久久88色综合天天6 | 日韩精品电影一区亚洲| 日韩一级大片在线| 高清在线成人网| 亚洲免费成人av| 91麻豆精品久久久久蜜臀| 久久疯狂做爰流白浆xx| 国产精品理论片| 欧美日韩极品在线观看一区| 国产在线精品免费| 亚洲精品欧美激情| 欧美v日韩v国产v| 91视频一区二区三区| 免费人成精品欧美精品| 国产精品久久久久久久久搜平片| 欧美三级在线视频| 国产精品一区二区三区99| 一区二区三区在线不卡| www久久精品| 91国产成人在线| 国产一区二区免费看| 亚洲黄色av一区| 久久女同精品一区二区| 欧洲色大大久久| 国产剧情在线观看一区二区| 亚洲线精品一区二区三区八戒| 精品国产乱码久久久久久老虎 | 中文字幕一区二区三区不卡在线 | **欧美大码日韩| 精品美女一区二区| 91在线小视频| 国产成人av福利| 中文字幕综合网| 色婷婷av久久久久久久| 奇米色一区二区| 狠狠色丁香婷综合久久| 国产一区在线视频| 国产福利一区二区三区视频| 国产精品一区二区久久精品爱涩| 国产自产v一区二区三区c| 国产乱人伦偷精品视频免下载| 国产一区二区免费看| 国产传媒日韩欧美成人| av在线一区二区| 91啪亚洲精品| 欧美精品乱人伦久久久久久| 日韩一级大片在线观看| 久久嫩草精品久久久精品| 国产欧美日本一区二区三区| 亚洲视频一区在线| 亚洲bt欧美bt精品777| 天天免费综合色| 国产一二三精品| 91视频www| 91精品国产麻豆| 国产人伦精品一区二区| 亚洲精品综合在线| 奇米色777欧美一区二区| 国产传媒一区在线| 欧美三日本三级三级在线播放| 日韩精品一区二区三区老鸭窝| 国产人久久人人人人爽| 亚洲国产欧美日韩另类综合 | 欧美视频一区在线| 精品乱人伦一区二区三区| 亚洲欧洲日产国产综合网| 亚欧色一区w666天堂| 国产麻豆精品在线观看| 在线亚洲欧美专区二区| 欧美精品一区男女天堂| 一区二区三区成人| 激情av综合网| 在线国产电影不卡| 久久精品夜色噜噜亚洲aⅴ| 一区二区三区美女| 国产乱码字幕精品高清av| 一本大道综合伊人精品热热| 欧美成人女星排行榜| 夜夜亚洲天天久久| 国产精品一二三四五| 欧美日韩国产首页在线观看| 久久久不卡网国产精品一区| 亚洲国产精品久久一线不卡| 国产精品18久久久久久vr| 欧美日本精品一区二区三区| 综合在线观看色| 国产资源在线一区| 制服丝袜亚洲播放| 亚洲欧美偷拍三级| 高清shemale亚洲人妖| 欧美一区二区三区四区在线观看| 亚洲欧美在线另类| 国产在线麻豆精品观看| 欧美日产在线观看| 一区二区三区日韩精品| 国产福利视频一区二区三区| 日韩欧美高清在线| 91视频一区二区三区| 久久久久久麻豆| 视频一区视频二区在线观看| 97aⅴ精品视频一二三区| 久久久久久黄色| 蜜乳av一区二区三区| 欧美精品色一区二区三区| 亚洲人成网站影音先锋播放| 国产不卡在线播放| 欧美大度的电影原声| 日日夜夜免费精品| 欧美精品黑人性xxxx| 性久久久久久久久| 欧美私人免费视频| 亚洲午夜久久久久久久久电影院 | 亚洲激情自拍偷拍| 成人ar影院免费观看视频| 国产日韩高清在线| 国产精品乡下勾搭老头1| 337p日本欧洲亚洲大胆精品| 蜜桃一区二区三区四区| 欧美一级高清片在线观看| 日韩vs国产vs欧美| 欧美一三区三区四区免费在线看| 天堂资源在线中文精品| 欧美日韩午夜在线视频| 首页国产欧美久久| 欧美精品99久久久**| 日日夜夜精品视频天天综合网| 欧美巨大另类极品videosbest | 激情综合网天天干| 精品国产伦一区二区三区免费| 久久国产视频网| 久久婷婷成人综合色| 国产一区二区电影| 国产偷国产偷精品高清尤物 | 日韩欧美中文字幕公布| 免费成人美女在线观看| 欧美大片顶级少妇| 国产不卡免费视频| 国产精品天天看| 日本道色综合久久| 午夜欧美2019年伦理| 91麻豆精品国产自产在线观看一区| 美女视频黄a大片欧美| 精品久久久久久久久久久院品网| 国精产品一区一区三区mba视频 | 一本色道久久综合亚洲精品按摩| 亚洲人成在线观看一区二区| 精品视频一区二区三区免费| 免费观看成人av| 国产欧美日韩中文久久| 99国产欧美另类久久久精品 | 国内久久婷婷综合| 久久精品视频网| 91国产福利在线| 看电视剧不卡顿的网站| 国产嫩草影院久久久久| 欧美主播一区二区三区| 久久99热国产| 日韩美女视频一区二区| 欧美一区二区在线视频| 国产69精品久久777的优势| 国产成人av电影在线播放| 亚洲欧美偷拍另类a∨色屁股| 在线电影欧美成精品| 风间由美一区二区三区在线观看 | 国产精品自拍三区| 伊人一区二区三区| 日韩精品在线网站| 97久久精品人人澡人人爽| 天堂影院一区二区| 国产精品乱码一区二区三区软件 | 日韩激情视频在线观看| 国产亚洲一区二区三区在线观看| 色婷婷久久综合| 国产一区二区三区免费看| 一区二区三区 在线观看视频| 精品日韩成人av| 日本精品视频一区二区| 久久精品国产成人一区二区三区| 一区在线播放视频| 日韩美女一区二区三区四区| 91亚洲精品乱码久久久久久蜜桃 | eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 成人a区在线观看| 美女脱光内衣内裤视频久久网站 | 国产精品99久久久久久宅男| 亚洲成人综合视频| 亚洲三级免费观看| 久久精品人人做人人综合| 宅男在线国产精品| 欧美影院精品一区| 99久久99久久精品免费观看|