lle matlab 实例_lle算法详解及matlab代码实现

LLE

算法代码

% LLE ALGORITHM (using K nearest neighbors)

%

% [Y] = lle(X,K,dmax)

%

% X = data as D x N matrix (D = dimensionality, N = #points)

%(D =

点的维数

, N =

点数

)

% K = number of neighbors(

领域点的个数

)

% dmax = max embedding dimensionality(

最大嵌入维数

)

% Y = embedding as dmax x N matrix

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

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

function [Y] = lle(X,K,d)

[D,N] = size(X);

%D

是矩阵的行数,

N

是矩阵的列数

fprintf(1,'LLE running on %d points in %d dimensions\n',N,D);

% STEP1: COMPUTE PAIRWISE DISTANCES & FIND NEIGHBORS

%

寻找邻居数据点

fprintf(1,'-->Finding %d nearest neighbours.\n',K);

X2 = sum(X.^2,1);

%

矩阵

X

中的每个元素以

2

为指数求幂值,并且竖向相加

%if two point X=(x1,x2),Y=(y1,y2)

%than the distance between X and Y is sqtr((x1-y1) .^2+ (x2-y2).^2)

distance = repmat(X2,N,1)+repmat(X2',1,N)-2*X'*X;

%repmat

就是在行方向把

X2

复制成

N

,

列方向为

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值