LLE理解

article/2025/10/14 6:40:12

背景

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

LLE属于流形学习(Manifold
Learning)的一种。一般认为LLE中的流形是一个不闭合的曲面。这个流形曲面有数据分布比较均匀,且比较稠密的特征。基于流行的降维算法希望在降维的过程中希望流形在高维的一些特征在低维可以得到保留。

一个形象的流形降维过程如下图。我们有一块卷起来的布,我们希望将其展开到一个二维平面,我们希望展开后的布能够在局部保持布结构的特征,其实也就是将其展开的过程,就想两个人将其拉开一样。

在这里插入图片描述

在局部保持布结构的特征,或者说数据特征的方法有很多种,不同的保持方法对应不同的流形算法。
在这里插入图片描述

LLE通过放弃所有样本全局最优的降维,只是通过保证局部最优来降维。同时假设样本集在局部是满足线性关系的,进一步减少的降维的计算量。

下面为一些利用流形降维方法对比:

在这里插入图片描述

LLE本质思想

在这里插入图片描述

LLE算法推导

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LLE计算过程

在这里插入图片描述

从图中可以看出,LLE算法主要分为三步,第一步是求K近邻的过程,这个过程使用了和KNN算法一样的求最近邻的方法。第二步,就是对每个样本求它在邻域里的K个近邻的线性关系,得到线性关系权重系数W,具体过程在第三节第一部分。第三步就是利用权重系数来在低维里重构样本数据,具体过程在第三节第二部分。

具体过程如下:

在这里插入图片描述

总结

LLE是广泛使用的图形图像降维方法,它实现简单,但是对数据的流形分布特征有严格的要求。比如不能是闭合流形,不能是稀疏的数据集,不能是分布不均匀的数据集等等,这限制了它的应用。

Sklearn提供API实现

sklearn的manifold提供了LLE方法(LocallyLinearEmbedding)

在这里插入图片描述

参数解释:

  1. n_neighbors:即我们搜索样本的近邻的个数,最重要的就是这个,默认是5。n_neighbors个数越大,则建立样本局部关系的时间会越大,也就意味着算法的复杂度会增加。当然n_neighbors个数越大,则降维后样本的局部关系会保持的更好。一般来说,如果算法运行时间可以接受,我们可以尽量选择一个比较大一些的n_neighbors。

  2. n_components:即我们降维到的维数。

  3. method: 即LLE的具体算法。LocallyLinearEmbedding支持4种LLE算法,分别是’standard’对应我们标准的LLE算法,'hessian’对应HLLE算法,‘modified’对应MLLE算法,‘ltsa’对应LTSA算法。默认是’standard’。一般来说HLLE/MLLE/LTSA算法在同样的近邻数n_neighbors情况下,运行时间会比标准的LLE长,当然降维的效果会稍微好一些。如果你对降维后的数据局部效果很在意,那么可以考虑使用HLLE/MLLE/LTSA或者增大n_neighbors,否则标准的LLE就可以了。需要注意的是使用MLLE要求n_neighbors>
    n_components,而使用HLLE要求n_neighbors> n_components * (n_components + 3) / 2

  4. neighbors_algorithm:这个是k近邻的搜索方法,和KNN算法的使用的搜索方法一样。算法一共有三种,第一种是蛮力实现,第二种是KD树实现,第三种是球树实现。对于这个参数,一共有4种可选输入,‘brute’对应第一种蛮力实现,‘kd_tree’对应第二种KD树实现,‘ball_tree’对应第三种的球树实现, ‘auto’则会在上面三种算法中做权衡,选择一个拟合最好的最优算法。需要注意的是,如果输入样本特征是稀疏的时候,无论我们选择哪种算法,最后scikit-learn都会去用蛮力实现‘brute’。个人的经验,如果样本少特征也少,使用默认的 ‘auto’就够了。 如果数据量很大或者特征也很多,用"auto"建树时间会很长,效率不高,建议选择KD树实现‘kd_tree’,此时如果发现‘kd_tree’速度比较慢或者已经知道样本分布不是很均匀时,可以尝试用‘ball_tree’。而如果输入样本是稀疏的,无论你选择哪个算法最后实际运行的都是‘brute’。

  5. reg :正则化系数,在n_neighbors大于n_components时,即近邻数大于降维的维数时,由于我们的样本权重矩阵不是满秩的,LLE通过正则化来解决这个问题。默认是0.001。一般不用管这个参数。当近邻数远远的大于降维到的维数时可以考虑适当增大这个参数。


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

相关文章

局部线性嵌入(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 问题截图 原因猜测 为什么会出现这种情况那?我猜测应该是权限问题,也就是说…

“暴力”解决HAXM installation failed问题

废话不多说,当你遇到 “Intel HAXM安装失败。要安装Intel HAXM,请遵循以下说明:https://githubCom/intel/haxm/wiki/安装-Windows上的说明” 的情况时(如下图所示) 造成安装失败有多种可能原因,每个人的电脑…

haxm intel庐_在电脑上安装Intel HAXM(硬件加速执行管理器)

用Inter Atom模式的Android模拟器启动报一下错误: Starting emulator for AVD new emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel …

关于android studio 中安装intel haxm问题的解决

关于android studio 安装intel haxm问题的解决 遇到的问题解决问题总结遇到的问题 安装android studio 过程中intel haxm失败,导致后续笔记本运行模拟器过程中漫长等待让我痛不欲生。于是着手解决intel haxm安装失败问题。我的笔记本型号是thinkpad w510,处理器i7 Q720,操作…

intel android haxm,使用Intel HAXM为Android模拟器加速,媲美真机

Intel HAXM (Hardware Accelerated Execution Manager) 使用基于 Intel(R) Virtualization Technology (VT) 的硬件加速, 因此需要 CPU 支持 VT , 而且仅限于 Intel CPU, 与 AMD CPU 无缘, Intel HAXM 的描述如下: 使用…

intel android haxm,使用Intel HAXM为 Android模拟器加速

Intel HAXM (Hardware Accelerated Execution Manager) 使用基于 Intel(R) Virtualization Technology (VT) 的硬件加速, 因此需要 CPU 支持 VT , 而且仅限于 Intel CPU, 与 AMD CPU 无缘, Intel HAXM 的描述如下:使用…

安装haxm时遇到的三种报错及解决措施

安装Android Studio时遇到这样的报错,花了一整天才解决掉,基本翻遍了CSDN上的所有相关文章,步骤如下: 检查错误原因参考文章1 这一步需要我们找到haxm的安装日志,路径在c盘里,具体如图,我的路径是C:\User…

Android Studio中启动模拟器时提示HAXM错误的解决方法

Android Studio中启动模拟器时,会提示HAXM错误,如图1所示。 图1 提示HAXM错误 以上错误的提示信息是需要在BIOS中打开“VT-x”设置,但是打开该设置后,依然会显示该错误信息。 相关链接1 VT-x,其中,VT是Vi…

《如何为Android Studio安装HAXM》

Preface: 1.Intel HAXM (Hardware Accelerated Execution Manager),即英特尔硬件加速执行管理器(Intel HAXM)是一款硬件辅助虚拟引擎(管理程序) 使用基于 Intel(R) Virtualization Technology (VT) 的硬件加速, 因此需要 CPU 支持 VT &…

移动平台复习(wust)

标题# 移动平台复习 第二章 Andriod开发环境搭建 1、什么是 HAXM? HAXM 全称是 Hardware Accelerated Execution Manager,是 Intel 转门为 Android 模拟器提供的硬件加速,电脑的 CPU 必须支持 Intel VT 虚拟技术。 2、什么是 Android SDK&…

如何安装HAXM,如何解决HAXM installation failed问题

如何安装HAXM,如何解决HAXM installation failed问题 在安卓开发的过程中,大家都会需要用到安卓虚拟设备,在Android Studio中运行虚拟设备要求安装Intel硬件加速器(HAXM),虽然说是推荐使用但实际上不安装就…