LLE算法实现与sklearn实现

article/2025/10/14 5:49:16

在pyhton的机器学习库sklearn中,LLE等降维算法可以直接调用,在本次大作业中,根据LLE的推导过程编写算法实现了LLE,与mainfold自带的LLE进行对比。由于后面的实验中都是直接调用LocallyLinearEmbedding,所以用大量篇幅介绍了LocallyLinearEmbedding的参数含义以及调参方法。

图2-5 LLE算法推导实现与sklearn实现对比

由图2-5可知,自行编写的LLE降维算法在降维之后的效果略逊于sklearn中提供的接口,后面的实验中都是直接调用LocallyLinearEmbedding再调参,以下给出自行实现LLE算法的步骤以及LocallyLinearEmbedding参数意义。

My_LLE算法流程:

step1:利用KNN找到每个数据最近的K个近邻点

step2:求出权重系数W

step3:得到M

step4:返回最小的d’个特征值所对应发的特征向量

sklearn调用参数含义:

Mainfold.LocallyLinearEmbedding(n_neighbors,n_components,method)[4][11]

LLE算法LocallyLinearEmbedding使用起来并不复杂,一般来说,需要调参的参数只有样本近邻的个数即n_neighbors的值。

  1. n_neighbors:即k近邻算法时选取的最近邻个数,默认是5。 n_neighbors个数越大,则建立样本局部关系的时间会越大,也就意味着算法的复杂度会增加。当然n_neighbors个数越大,则降维后样本的局部关系会保持的更好。如果算法的运行时间可以接受,我们可以采用一个比较大的n_neighbors。但是n_neighbors取值太大,不同颜色的数据开始相互重叠,说明选取的近邻个数太多则不能反映数据的流形信息。n_neighbors参数变化对降维的影响如图2-6所示。
  2. n_components:即我们降维到的维数。可视化数据一般可以选择2-5维。
  3. method:即LLE的具体算法。LocallyLinearEmbedding支持4种LLE算法,分别是'standard'对应我们标准的LLE算法,'hessian'对应HLLE算法,'modified'对应MLLE算法,‘ltsa’对应LTSA算法。默认是'standard'。 
  4. neighbors_algorithm:这个是k近邻的搜索方法,和KNN算法的使用的搜索方法一样。对于这个参数,一共有4种可选输入,‘brute’对应第一种蛮力实现,‘kd_tree’对应第二种KD树实现,‘ball_tree’对应第三种的球树实现,‘auto’则会在上面三种算法中做权衡,选择一个拟合最好的最优算法。

图2-6.LLE降维在不同k值的二维分布结果。n_neighbors=k

可以看出,当k取值较小(k=1、2、3、4)时,因为当近邻个数太少时,难以很好地反映数据的拓扑关系,LLE算法不能将数据很好地映射到低维空间,当k值取值适合,比如k=15,可见不同颜色的数据能很好地被分开并保持适合的间距。但若k取值太大,如k=100,999,不同颜色的数据开始相互重叠,说明选取的近邻个数太多则不能反映数据的流形信息。


http://chatgpt.dhexx.cn/article/Dest3J1Q.shtml

相关文章

一句话总结LLE(流形学习)

一句话总结LLE(流形学习) 核心:用一个样本点的邻居的线性组合近似重构这个样本,将样本投影到低维空间中后依然保持这种线性组合关系。 局部线性嵌入(简称LLE)将高维数据投影到低维空间中,并保持…

流行学习一LLE_机器学习

前言: 流行学习主要用于聚类,分类和回归算法,例如人脸识别(旋转不变性,光照不变性) 流行是几何中一个概念,它是高维空间中的几何结构,即高维空间中点构成的集合。 简单的理解为二维空间的曲线&a…

lle算法c 语言,局部线性嵌入算法(LLE)与其Python实现-Go语言中文社区

PCA是至今为止运用最为广泛的数据降维算法,它通过最小化重构误差达到将高维数据映射到低维并同时保留数据中所存在的绝大部分信息。但是一般的PCA也有缺点,它只能实现线性降维。当然现在也有kernel PCA可以实现非线性降维,但我们今天介绍的是…

LLE降维

LLE 是 Locally Linear embedding 直观是在样本点的高维空间相邻近的话,可以用低维的子空间描述。 基本原理分三步: (1) 找到邻居 neighbors .(可以使用多种方法,邻居K的数目选择影响很大) (2&#xff09…

局部线性嵌入LLE

[1]https://www.cnblogs.com/pinard/p/6266408.html [2]Graph Embedding Techniques, Applications, and Performance: A Survey 主要参考和图片来源[1] LLE推导算法流程 局部线性嵌入(Locally Linear Embedding,LLE),一种重要降维方法,与PCA、LDA相比…

LLE降维算法

欢迎关注”生信修炼手册”! 流形分析作为非线性降维的一个分支,拥有多种算法,常见的算法列表如下 流形分析的要点在于降维之后,仍然保留流形中的某些几何属性。之前介绍的isomap保留了测地距离这一几何属性,由于考虑的是全局关系&…

LLE算法

Locally linear embedding (LLE) (Sam T.Roweis and Lawrence K.Saul, 2000)以及Supervised locally linear embedding (SLLE) (Dick and Robert, 2002) 是最近提出的非线性降维方法,它能够使降维后的数据保持原有拓扑结构。 LLE算法可以有图1所示的一个例子来描述。…

LLE原理总结

原文: https://www.cnblogs.com/pinard/p/6266408.html?utm_sourceitdadao&utm_mediumreferral 局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法。和传统的PCA,LDA等关注样本方差的降维方法相比,…

LLE原理及推导过程

1.概述 所谓LLE(局部线性嵌入)即”Locally Linear Embedding”的降维算法,在处理所谓流形降维的时候,效果比PCA要好很多。 首先,所谓流形,我们脑海里最直观的印象就是Swiss roll,在吃它的时候喜欢把它整个摊开成一张饼再吃,其实这个过程就实现了对瑞士卷的降维操作…

LLE理解

背景 局部线性嵌入(Locally Linear Embedding,以下简称LLE)是一种降维方法。和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由于LLE在降维时保持了样本的局部特征,它广泛的用于…

局部线性嵌入(LLE)原理总结

局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法。和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由于LLE在降维时保持了样本的局部特征,它广泛的用于图像图像识别,高维数据可视化等领域。下面我们就对…

机器学习之:LLE (locally linear embedding) 局部线性嵌入降维算法

文章目录 LLE1. LLE 是什么2. LLE 的主要思想3. LLE 算法推导过程3.1 如何找到 k 个近邻3.2 找 x i x_i xi​ 与这 k 个近邻的线性关系3.3 x i x_i xi​ 与 k 个近邻点的线性关系求解过程3.3.1 奇异值分解3.3.1.1 特征值分解 (EVD)3.3.1.2 奇异值分解&…

安装HAXM

老师给的是在网上下载HAXM。但事实上打开这里你会发现Android 已经自动下载了HAXM 因此你要做的是找到HAXM路径,然后继续安装它。我的路径是 C:\Users\DELL\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager

Intel x86 Emulator Accelerator(HAXM installer)无法安装

在sdk manager中Intel x86 Emulator Accelerator(HAXM installer)后面显示 NOT compatible with windows 这个时候可以尝试手动安装Intel x86 Emulator Accelerator(HAXM installer) 1、在网上下载后,https://software.intel.com/en-us/articles/intel-hardware-a…

haxm intel庐_Android Studio中Intel HAXM的那些坑

最近用过两台电脑折腾Android Studio,都是windows的系统,不知道为什么连着踩了两个坑。 第一台我结束了qemu-system-i386.exe这个倒霉的进程 导致我开启模拟器的时候一直提示我没有安装Intel HAXM,没办法咯,只好再安装一遍&#x…

AMD CPU无法安装Intel HAXM解决方法

步骤1. 步骤2. 找到安装目录(我的安装目录:D:\Android\SDK\extras\google\Android_Emulator_Hypervisor_Driver)下的这个文件:silent_install,右击该文件选择“以管理员运行”,即可。

Android Studio 如何 安装 HAXM

Android Studio 如何 安装 HAXM 打开 Android Stutio打开设置搜索 Android,定位到 Android SDK切换到 SKD Tools 标签,然后点选下面的 Intel x86 Emulator Eccelerator(HAXM installer),之后 Apply 应用,编辑器就会自动下载这个东…

HAXM installation failed. To install HAXM follow the instructions found at

AMD处理器 在控制面板中打开虚拟机平台,重启电脑

Android Studio中 HAXM安装失败的问题(Intel HAXM installation failed. To install Intel HAXM follow the…)

我要喷人了,这破Android Studio也太难搞了,环境按了我半天各种问题都试了,友友们啊记得先看日志再去找问题,我就是只看报错没有找日志后面突然去看一下就找到问题了 日志就是报错信息上面的那一句,我这里日志说的是&a…

Android Studio启动虚拟机时一直提示安装Haxm

目录 问题描述 问题截图 原因猜测 解决方案 问题描述 Android Studio启动虚拟机时一直出现Install Haxm,但是按照他的安装步骤后还是不停的弹出提示安装Haxm 问题截图 原因猜测 为什么会出现这种情况那?我猜测应该是权限问题,也就是说…