为什么在运行一个关于lle算法详解的m函数时提示找不到模块

数据降维方法LLE算法matlab代码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据降维方法LLE算法matlab代码
上传于||暂无简介
你可能喜欢LLE方法在图像检索中的应用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
LLE方法在图像检索中的应用
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 684|回复: 3|关注: 0
为什么在运行一个关于lle算法的m函数时提示找不到模块?
<h1 style="color:# 麦片财富积分
新手, 积分 17, 距离下一级还需 33 积分
关注者: 1
本帖最后由 菜鸟聪 于
17:03 编辑
function [Y] = mm(X,K,d)
%LLE
% LLE ALGORITHM (using K nearest neighbors)
%
% [Y] = mm(X,K,dmax)
%
% 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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[D,N] = size(X);%获取样本中的信息,其中D是维数,也是矩阵的行数;N代表点数,也是列数
%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,1).代表矩阵重点而每个元素平方,而1代表列求和得到行向量,若是2则是行求和,得到列向量
%矩阵X中的每个元素以2为指数求幂值,并且竖向相加
%if two point X=(x1,x2),Y=(y1,y2)
%than the distance between X and Y is sqtr(x1-y1)+sqtr(x2-y2)
distance = repmat(X2,N,1)+repmat(X2',1,N)-2*(X'*X);
%repmat就是在行方向把X2复制成N份,列方向为1份
[sorted,index] = sort(distance);
%sort是对矩阵排序,sorted是返回对每列排序的结果,index是返回排序后矩阵中每个数在矩阵未排序前每列中的位置
neighborhood = index(2:(1+K),:);
% STEP2: SOLVE FOR RECONSTRUCTION WEIGHTS
%计算重构权
fprintf(1,'--&Solving for reconstruction weights.\n');
&&fprintf(1,'& &[note: K&D; regularization will be used]\n');
&&tol=1e-3; % regularlizer in case constrained fits are ill conditioned
else
&&tol=0;
end
W = zeros(K,N); % 创建一个KxN的0矩阵;
for ii=1:N
& &z = X(:,neighborhood(:,ii))-repmat(X(:,ii),1,K); % shift ith pt to origin
& &C = z'*z;& && && && && && && && && && && && && & % local covariance
& &C = C + eye(K,K)*tol*trace(C);& && && && && && & % regularlization (K&D)
& &W(:,ii) = C\ones(K,1);& && && && && && && && && &% solve Cw=1
& &W(:,ii) = W(:,ii)/sum(W(:,ii));& && && && && && &% enforce sum(w)=1
% STEP 3: COMPUTE EMBEDDING FROM EIGENVECTS OF COST MATRIX M=(I-W)'(I-W)
%计算矩阵M=(I-W)'(I-W)的最小d个非零特征值对应的特征向量
fprintf(1,'--&Computing embedding.\n');
% M=eye(N,N); % use a sparse matrix with storage for 4KN nonzero elements
M = sparse(1:N,1:N,ones(1,N),N,N,4*K*N);
for ii=1:N
& &w = W(:,ii);
& &jj = neighborhood(:,ii);
& &M(ii,jj) = M(ii,jj) - w';
& &M(jj,ii) = M(jj,ii) -
& &M(jj,jj) = M(jj,jj) + w*w';
% CALCULATION OF EMBEDDING
options.disp = 0; options.isreal = 1; options.issym = 1;
[Y,eigenvals] = eigs(M,d+1,0,options);
%[Y,eigenvals] = jdqr(M,d+1);%change in using JQDR func
Y = Y(:,2:d+1)'*sqrt(N); % bottom evect is [1,1,1,1...] with eval 0
fprintf(1,'Done.\n');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% other possible regularizers for K&D
%& &C = C + tol*diag(diag(C));& && && && && && && &&&% regularlization
%& &C = C + eye(K,K)*tol*trace(C)*K;& && && && && &&&% regularlization复制代码
出现问题的提示是:
LLE running on 10 points in 2 dimensions
--&Finding 3 nearest neighbours.
BLAS loading error:
F:\Matlab\bin\win32\atlas_Athlon.dll: 找不到指定的模块。
Error in mm (line 26)
distance = repmat(X2,N,1)+repmat(X2',1,N)-2*(X'*X);
这是什么原因呢?
<h1 style="color:# 麦片财富积分
关注者: 1
哪位大神能帮我解答一下?
<h1 style="color:#80 麦片财富积分
关注者: 206
貌似是处理器的问题吧
atlas_Athlon.dll
上网找相关问题
<h1 style="color:# 麦片财富积分
关注者: 1
貌似是处理器的问题吧
atlas_Athlon.dll
上网找相关问题
谢谢你的回复 我之前查过该问题,原因我感觉不是一个,首先我的电脑是win64,错误报告的文件包都没有 我直接在环境系统变量中将BIOS删掉,并且以兼容模式打开matlab 就解决了!
站长推荐 /1
Powered by2125人阅读
机器学习(32)
&#65279;&#65279;
Locally linear embedding (LLE) (Sam T.Roweis and Lawrence K.Saul, Science,2000)是一种非线性降维方法,它能够使降维后的数据保持原有拓扑结构。&
原始特征的数量可能很大,或者说样本是处于一个高维空间中,通过映射或变换的方法,降高维数据降低到低维空间中的数据,这个过程叫特征提取,也称降维。
& &特征提取得基本任务研究从众多特征中求出那些对分类最有效的特征,从而实现特征空间维数的压缩。传统的降维技术可以分为线性和非线性两类。
(1)线性降维算法主要有PCA(Principal Component Analysis)、MDS(Multidimensional Scaling)及ICA;
(2)非线性降维算法主要有自组织影射网络(Self-organising map, 生成拓扑映射(Generative Topographic mapping), 主曲线和表面(Principal Curves and Surfaces), 自编码神经网络(Auto-encoder Neural Networks)和线性混合模型(Mixtures of Linear Models)。其中LLE,作为一种新的降维方法,既有非线性的特点,又有线性方法的优点,这几年成为人们研究的热点。
&LLE算法可以有图1所示的一个例子来描述。在图1所示中,LLE能成功地将三维非线性数据映射到二维空间中。如果把图1(B)中红颜色和蓝颜色的数据分别看成是分布在三维空间中的两类数据,通过LLE算法降维后,则数据在二维空间中仍能保持相对独立的两类。在图1(B)中的黑色小圈中可以看出,如果将黑色小圈中的数据映射到二维空间中,如图1(C)中的黑色小圈所示,映射后的数据任能保持原有的数据流形,这说明LLE算法确实能保持流形的领域不变性。由此LLE算法可以应用于样本的聚类。而线性方法,如PCA和MDS,都不能与它比拟的。LLE算法操作简单,且算法中的优化不涉及到局部最小化。该算法能解决非线性映射,但是,当处理数据的维数过大,数量过多,涉及到的稀疏矩阵过大,不易于处理。在图1中的球形面中,当缺少北极面时,应用LLE算法则能很好的将其映射到二维空间中,如图1中的C所示。如果数据分布在整个封闭的球面上,LLE则不能将它映射到二维空间,且不能保持原有的数据流形。那么我们在处理数据中,首先假设数据不是分布在闭合的球面或者椭球面上。
图1 非线性降维实例:B是从A中提取的样本点(三维),通过非线性降维
算法(LLE),将数据映射到二维空间中(C)。从C图中的颜色可以看出
通过LLE算法处理后的数据,能很好的保持原有数据的邻域特性
&&&&LLE算法是最近提出的针对非线性数据的一种新的降维方法,处理后的低维数据均能够保持原有的拓扑关系。它已经广泛应用于图像数据的分类与聚类、文字识别、多维数据的可视化、以及生物信息学等领域中。
&&&&LLE算法可以归结为三步: (1)寻找每个样本点的k个近邻点;(2)由每个样本点的近邻点计算出该样本点的局部重建权&#20540;矩阵;(3)由该样本点的局部重建权&#20540;矩阵和其近邻点计算出该样本点的输出&#20540;。具体的算法流程如图2所示。
图2 LLE算法流程
&&&&算法的第一步是计算出每个样本点的k个近邻点。把相对于所求样本点距离最近的k个样本点规定为所求样本点的k个近邻点。k是一个预先给定&#20540;。Sam T.Roweis 和 Lawrence K.Saul算法采用的是欧氏距离,则减轻复杂的计算。然而本文是假定高维空间中的数据是非线性分布的,采用了diijstra距离。Dijkstra
距离是一种测地距离,它能够保持样本点之间的曲面特性,在ISOMAP算法中有广泛的应用。针对样本点多的情况,普通的dijkstra算法不能满足LLE算法的要求。
&&&&LLE算法的第二步是计算出样本点的局部重建权&#20540;矩阵。这里定义一个误差函数,如下所示:
&其中为x_i的k个近邻点,是&x_i与x_ij之间的权&#20540;,且要满足条件:&。这里求取W矩阵,需要构造一个局部协方差矩阵&。
&&&&将上式与相结合,并采用拉&#26684;朗日乘子法,即可求出局部最优化重建权&#20540;矩阵:
& & &在实际运算中,可能是一个奇异矩阵,此时必须正则化,如下所示:
其中r是正则化参数,I是一个kxk的单位矩阵。
&&&&LLE算法的最后一步是将所有的样本点映射到低维空间中。w保持不变,映射条件满足如下所示:
其中,为损失函数&#20540;,y_i是x_i的输出向量,是的k个近邻点,且要满足两个条件,即:
其中I是m*m的单位矩阵。这里的可以存储在N*N的稀疏矩阵W中,当x_i是x_j的近邻点时,,否则,。则损失函数可重写为:
要使损失函数&#20540;达到最小, 则取Y为M的最小m个非零特征&#20540;所对应的特征向量。在处理过程中,将M的特征&#20540;从小到大排列,第一个特征&#20540;几乎接近于零,那么舍去第一个特征&#20540;。通常取第2到m&#43;1间的特征&#20540;所对应的特征向量作为输出结果。
[1] Nonlinear dimensionality reduction by locally linear embedding.Sam Roweis & Lawrence Saul.Science,
v.290 no.5500 , Dec.22, 2000. pp..
[2]&An Introduction to Locally Linear Embedding.Lawrence Saul & Sam Roweis.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:364733次
积分:3870
积分:3870
排名:第6168名
原创:45篇
转载:48篇
评论:162条
(3)(1)(5)(1)(1)(3)(5)(1)(1)(1)(1)(2)(1)(3)(8)(2)(16)(3)(2)(2)(8)(4)(4)(7)(3)(1)(4)(1)(1)

我要回帖

更多关于 lle算法 的文章

 

随机推荐