• 大小: 2.71KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


LLE 作者源代码,逐语句翻译以及解释

资源截图

代码片段和文件信息

% LLE ALGORITHM (using K nearest neighbors)
%
% [Y] = lle(XKdmax)
%
% X = data as D x N matrix (D = dimensionality N = #points)
% K = number of neighbors
% dmax = max embedding dimensionality
% Y = embedding as dmax x N matrix

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [Y] = lle(XKd)

[DN] = size(X);
fprintf(1‘LLE running on %d points in %d dimensions\n‘ND);


% STEP1: COMPUTE PAIRWISE DISTANCES & FIND NEIGHBORS 
% 计算每一对样本之间的距离,并且寻找近邻点
fprintf(1‘-->Finding %d nearest neighbours.\n‘K);

X2 = sum(X.^21);
distance = repmat(X2N1)+repmat(X2‘1N)-2*(X‘*X);  %利用矩阵的分解求样本之间的距离,值得借鉴

[sortedindex] = sort(distance);   % 将distance从小到大进行排序,得到的是距离各个点的距离,并得到坐标
neighborhood = index(2:(1+K):);  % 第一行一定是0,因此从第二行开始,到第K+1行结束



% STEP2: SOLVE FOR RECONSTRUCTION WEIGHTS    
%  寻找权重,
fprintf(1‘-->Solving for reconstruction weights.\n‘);
% 此处的正则化不懂
if(K>D) 
  fprintf(1‘   [note: K>D; regularization will be used]\n‘); 
  tol=1e-3;   % 代表0.001 误差,正则化保证可逆  % regul

评论

共有 条评论