当前位置: 首页 > news >正文

通过拉普拉斯特征映射降维

拉普拉斯特征映射(Laplacian Eigenmaps),主要包括拉普拉斯特征映射(Laplacian Eigenmaps)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1 介绍
  拉普拉斯特征映射(Laplacian Eigenmaps)是一种不太常见的降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。也许这样讲有些抽象,具体来讲,拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。

2 推导
  拉普拉斯特征映射通过构建邻接矩阵为 W W W (邻接矩阵定义见这里) 的图来重构数据流形的局部结构特征。其主要思想是,如果两个数据 实例 i i i j j j 很相似,那么 i i i j j j 在 降维后目标子空间中应该尽量接近。设数据实例的数目为 n n n ,目标子空间即最终的降维目标的维度为 m m m 。 定义 $ n \times m$ 大小的矩阵 Y Y Y ,其中每一个行向量 y i T y_{i}^{T} yiT 是数据实例 i i i 在目标 m m m 维子空间中的向量表示(即降维后的数据实例 i i i )。我们的目的是 让相似的数据样例 i i i j j j 在降维后的目标子空间里仍旧尽量接近,故拉普拉斯特征映射优化的目标函数如下:

min ⁡ ∑ i , j ∥ y i − y j ∥ 2 W i j \min \sum\limits _{i, j}\left\|y_{i}-y_{j}\right\|^{2} W_{i j} mini,jyiyj2Wij

下面开始推导:

$ \begin{array}{l} \sum\limits_{i=1}^{n} \sum\limits_{j=1}{n}&\left|y_{i}-y_{j}\right|{2} W_{i j} \ &=\sum\limits_{i=1}^{n} \sum\limits_{j=1}{n}\left(y_{i}{T} y_{i}-2 y_{i}^{T} y_{j}+y_{j}^{T} y_{j}\right) W_{i j} \ &=\sum\limits_{i=1}{n}\left(\sum\limits_{j=1}{n} W_{i j}\right) y_{i}^{T} y_{i}+\sum\limits_{j=1}{n}\left(\sum\limits_{i=1}{n} W_{i j}\right) y_{j}^{T} y_{j}-2 \sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} y_{i}^{T} y_{j} W_{i j} \ &=2 \sum\limits_{i=1}^{n} D_{i i} y_{i}^{T} y_{i}-2 \sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} y_{i}^{T} y_{j} W_{i j} \ &=2 \sum\limits_{i=1}^{n}\left(\sqrt{D_{i i}} y_{i}\right)^{T}\left(\sqrt{D_{i i}} y_{i}\right)-2 \sum\limits_{i=1}^{n} y_{i}{T}\left(\sum\limits_{j=1}{n} y_{j} W i j\right) \ &=2 \operatorname{trace}\left(Y^{T} D Y\right)-2 \sum\limits_{i=1}^{n} y_{i}^{T}(Y W)_{i} \ &=2 \operatorname{trace}\left(Y^{T} D Y\right)-2 \operatorname{trace}\left(Y^{T} W Y\right) \ &=2 \operatorname{trace}\left[Y^{T}(D-W) Y\right] \ &=2 \operatorname{trace}\left(Y^{T} L Y\right) \end{array} $

其中 $W $ 是图的邻接矩阵,对角矩阵 D D D 是图的度矩阵 ( D i i = ∑ j = 1 n W i j ) \left(D_{i i}=\sum\limits_{j=1}^{n} W_{i j}\right) (Dii=j=1nWij) ,$ L=D-W$ 成为图的拉普拉斯矩阵。

变换后的拉普拉斯特征映射优化的目标函数如下:

min ⁡ trace ⁡ ( Y T L Y ) s.t.  Y T D Y = I \begin{array}{l}\min \operatorname{trace}\left(Y^{T} L Y\right)\\ \text { s.t. } Y^{T} D Y=I \end{array} mintrace(YTLY) s.t. YTDY=I

其中限制条件 s . t . Y T D Y = I s . t . Y^{T} D Y=I s.t.YTDY=I 保证优化问题有解,下面用拉格朗日乘子法对目标函数求解:

f ( Y ) = tr ⁡ ( Y T L Y ) + tr ⁡ [ Λ ( Y T D Y − I ) ] f(Y)=\operatorname{tr}\left(Y^{T} L Y\right)+\operatorname{tr}\left[\Lambda\left(Y^{T} D Y-I\right)\right] f(Y)=tr(YTLY)+tr[Λ(YTDYI)]

∂ f ( Y ) ∂ Y = L Y + L T Y + D T Y Λ T + D Y Λ = 2 L Y + 2 D Y Λ = 0 \begin{array}{l} \frac{\partial f(Y)}{\partial Y}&=L Y+L^{T} Y+D^{T} Y \Lambda^{T}+D Y \Lambda \\ &=2 L Y+2 D Y \Lambda=0 \end{array} Yf(Y)=LY+LTY+DTYΛT+DYΛ=2LY+2DYΛ=0

∴ L Y = − D Y Λ \therefore L Y=-D Y \Lambda LY=DYΛ

其中用到了矩阵的迹的求导,具体方法见 迹求导。 Λ \Lambda Λ 为一个对角矩阵,另外 L L L D D D 均为实对称矩阵,其转置与自身相等。对于单独的 y y y 向量,上式可写为: L y = λ D y L y=\lambda D y Ly=λDy,这是一个广义特征值问题。通过求得 m m m 个最小非零特征值所对应的特征向量,即可达到降维的目 的。

关于这里为什么要选择 m m m 个最小非零特征值所对应的特征向量。将 $L Y=-D Y \Lambda $ 带回到 min ⁡ trace ⁡ ( Y T L Y ) \min \operatorname{trace}\left(Y^{T} L Y\right) mintrace(YTLY) 中,由于有着约束条件 Y T D Y = I Y^{T} D Y=I YTDY=I 的限制,可以得到 $ \min \quad \operatorname{trace}\left(Y^{T} L Y\right)=\min \quad t r a c e(-\Lambda)$ 。即为特 征值之和。我们为了目标函数最小化,要选择最小的 m m m 个特征值所对应的特征向量。

3 步骤
  使用时算法具体步骤为:

步骤1:构建图

使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。K是一个预先设定的值。

步骤2:确定权重

确定点与点之间的权重大小,例如选用热核函数来确定,如果点 i 和点 j 相连,那么它们关系的权重设定为:

W i j = e − ∥ x i − x j ∥ 2 t W_{i j}=e^{-\frac{\left\|x_{i}-x_{j}\right\|^{2}}{t}} Wij=etxixj2

另外一种可选的简化设定是 W i j = 1 W_{i j}=1 Wij=1 如果点 i i i ,$ j$ 相连,否则 $W_{i j}=0 $ 。

步骤3:特征映射

计算拉普拉斯矩阵 L L L 的特征向量与特征值: $L y=\lambda D y $

使用最小的 m m m 个非零特征值对应的特征向量作为降维后的结果输出。

相关文章:

通过拉普拉斯特征映射降维

拉普拉斯特征映射(Laplacian Eigenmaps),主要包括拉普拉斯特征映射(Laplacian Eigenmaps)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 1 …...

【信息安全原理】——传输层安全(学习笔记)

📖 前言:为保证网络应用,特别是应用广泛的Web应用数据传输的安全性(机密性、完整性和真实性),可以在多个网络层次上采取安全措施。本篇主要介绍传输层提供应用数据安全传输服务的协议,包括&…...

GBDT减少模型偏差、随机森林减小模型方差

1、Adaboost算法原理,优缺点: 理论上任何学习器都可以用于Adaboost.但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。 Adaboost…...

使用IDEA工具处理git合并后的冲突的细节

使用 IDEA 处理合并(merge) 使用IDEA处理git合并如果遇到冲突,对冲突文件的不冲突部分需要处理吗?会自动将双方不冲突的部分合并吗? 比如如下,使用 IDEA 合并 branch1 到 branch2 分支,出现了冲突,如下图…...

快速下载ChatGLM系列模型

1. 说明与步骤 在无法访问huggingface的网络环境下(或者是网速不够好时),(目前)还可以使用参考1中清华云盘的链接来下载,在linux下可以直接用如下wget命令来下载最耗时的模型部分。注意还需要把模型的.py等…...

【数据结构】顺序表 | 详细讲解

在计算机中主要有两种基本的存储结构用于存放线性表:顺序存储结构和链式存储结构。本篇文章介绍采用顺序存储的结构实现线性表的存储。 顺序存储定义 线性表的顺序存储结构,指的是一段地址连续的存储单元依次存储链性表的数据元素。 线性表的&#xf…...

100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?

风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。本文以视频的形式阐述什么是风控建模,并提供风控建模原理和Python实现文章清单。首先了解什么是风控建模? 下文梳理风控模型搭建的原理和Python实现,按顺序做成清单的形式,点击即可进入相应文章链接。方…...

HTML转义字符

HTML&#xff0c;XML文件中存在部分字符作为标志字符无法作为文本内容使用&#xff0c;如< >&#xff0c;如果想在文本中输出&#xff0c;可使用转义字符。 < 的转义字符为 " < " > 的转义字符为 " > " <TextView.... ....android:t…...

【STM32】

STM32 1 CMSIS1.1 概述1.2 CMSIS 应用程序文件描述 2 库2.1 简介2.2 标准外设库&#xff08;standrd Peripheral Libraries&#xff09;2.3 HAL 库2.3.1 目录结构2.3.2 HAL库API函数和变量的命名规则2.3.3 HAL库对寄存器位操作的相关宏定义2.3.4 HAL库回调函数2.3.5 HAL使用注意…...

U盘不可以访问的维护

u盘打不开&#xff0c;可按下图&#xff0c;设置&#xff1a;winR→gpedit.msc&#xff1b;配置“管理模板”→“系统”→“可移动存储访问”→“所有可移动存储类”。 然后&#xff0c;选择“未配置”&#xff0c;如下图...

SpringCloud 微服务全栈体系(十三)

第十一章 分布式搜索引擎 elasticsearch 二、索引库操作 索引库就类似数据库表&#xff0c;mapping 映射就类似表的结构。 我们要向 es 中存储数据&#xff0c;必须先创建“库”和“表”。 1. mapping 映射属性 mapping 是对索引库中文档的约束&#xff0c;常见的 mapping …...

ROC 曲线详解

前言 ROC 曲线是一种坐标图式的分析工具&#xff0c;是由二战中的电子和雷达工程师发明的&#xff0c;发明之初是用来侦测敌军飞机、船舰&#xff0c;后来被应用于医学、生物学、犯罪心理学。 如今&#xff0c;ROC 曲线已经被广泛应用于机器学习领域的模型评估&#xff0c;说…...

113.路径总和II

原题链接&#xff1a;113.路径总和II 需复刷 思路&#xff1a; 跟112.路径总和不同&#xff0c;该题是要你找出所有相同的路径&#xff0c;那么此时就要注意存储&#xff0c;递归和回溯了。 全代码&#xff1a; class Solution { public:vector<vector<int>> re…...

【Linux】WSL安装Kali及基本操作

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍WSL安装Kali及基本操作。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路…...

Linux基础开发工具之调试器gdb

文章目录 1.编译成的可调试的debug版本1.1gcc test.c -o testdebug -g1.2readelf -S testdebug | grep -i debug 2.调试指令2.0quit退出2.1list/l/l 数字: 显示代码2.2run/r运行2.3断点相关1. break num/b num: 设置2. info b: 查看3. d index: 删除4. n: F10逐过程5. p 变量名…...

Apache APISIX 的 Admin API 默认访问令牌漏洞(CVE-2020-13945)漏洞复现

漏洞描述 Apache APISIX 是一个动态、实时、高性能的 API 网关。Apache APISIX 有一个默认的内置 API 令牌&#xff0c;可用于访问所有 admin API&#xff0c;通过 2.x 版本中添加的参数导致远程执行 LUA 代码。 漏洞环境及利用 启动docker环境 访问9080端口 通过 admin api…...

Clickhouse学习笔记(3)—— Clickhouse表引擎

前言&#xff1a; 有关Clickhouse的前置知识详见&#xff1a; 1.ClickHouse的安装启动_clickhouse后台启动_THE WHY的博客-CSDN博客 2.ClickHouse目录结构_clickhouse 目录结构-CSDN博客 Cickhouse创建表时必须指定表引擎 表引擎&#xff08;即表的类型&#xff09;决定了&…...

WebSocket是什么以及其与HTTP的区别

新钛云服已累计为您分享774篇技术干货 HTTP协议 HTTP是单向的&#xff0c;客户端发送请求&#xff0c;服务器发送响应。举个例子&#xff0c;当用户向服务器发送请求时&#xff0c;该请求采用HTTP或HTTPS的形式&#xff0c;在接收到请求后&#xff0c;服务器将响应发送给客户端…...

Flutter 实战:构建跨平台应用

文章目录 一、简介二、开发环境搭建三、实战案例&#xff1a;开发一个简单的天气应用1. 项目创建2. 界面设计3. 数据获取4. 实现数据获取和处理5. 界面展示6. 添加动态效果和交互7. 添加网络错误处理8. 添加刷新功能9. 添加定位功能10. 添加通知功能11. 添加数据持久化功能 《F…...

Python中68个内置函数的使用与归类

前言 在Python解释器中内置的、可以直接使用的函数。这些函数不需要额外的导入或安装&#xff0c;可以直接在Python代码中调用。Python内置函数包括了很多常用的功能&#xff0c;比如对数据类型的操作、数学运算、字符串处理、文件操作等。一些常见的内置函数包括print()、len…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...