https://www.lamda.nju.edu.cn/aml24fall/slides/Chap10.pptx

目录

1.MDS (Multiple Dimensional Scaling) 多维缩放方法

2. 主成分分析 (Principal Component Analysis, PCA)

2.1 凸优化证明

2.2 人脸识别降维应用

3. 核化PCA

4. 流行学习

4.1 LLE 局部线性嵌入(Locally Linear Embedding) 

4.2 Isomap(等距特征映射)

5. 距离度量学习 (distance metric learning)

5.1 马氏距离 度量矩阵M

5.2 近邻成分分析 NCA

5.3 LMNN:Large Margin Nearest Neighbors


聚类 近朱者赤近墨者黑     kNN k的选取(参数影响结果 参数敏感性)+ 距离计算

密采样(dense sampling) 高维维度爆炸

如果近邻的距离阈值设为10^-3,

假定维度为20,如果样本需要满足密采样条件,需要的样本数量近10^60。

高维距离计算困难 内积都很困难,所以需要降维

人是三维生物 但我们说要去某个地理位置 就说二维位置。(数据本身暗含低维假设 数据冗余

打蚊子降维;  梵高的画流形(非线性) 毕加索的画分段线性

1.MDS (Multiple Dimensional Scaling) 多维缩放方法

旨在寻找一个低维子空间,样本在此子空间内的距离样本原有距离尽量保持不变。

线性降维:矩阵乘法。

变形问题:如何在低维子空间和高维空间之间保持样本之间的内积不变?后续证明 保内积<=>保距离。

设样本之间的内积矩阵均为B  对B进行特征值分解:

     

谱分布长尾:存在相当数量的小特征值 ; 只保留前几个大维度特征

内积可以求取距离 

距离矩阵D 可以求取内积矩阵B.  所以保内积 等价 保距离不变。

  

2. 主成分分析 (Principal Component Analysis, PCA)

正交属性空间中的样本点,如何使用一个超平面对所有样本进行恰当的表达?

把散点拍到一个平面    主成分分析的两种等价推导:最近重构性 与 最大可分性

1. 最近重构性:样本点到这个超平面的距离都足够近(平面拟合这些点 都很近)

样本中心化 + 标准正交基  

3i+4j+5k = (3,4,5)·(i,j,k) 内积    如何得到3?  和i做内积即可。 某方向的投影,即和那个方向的基做内积

   w空间下的z 反推x,各个分量加起来。

最小化这个迹 并基正交,可以转化为优化问题  是一个QCQP问题

拉格朗日乘子法可得    

2. 最大可分性:样本点在这个超平面上的投影能尽可能分开

保持样本本身的特性 -- 保留样本和其他样本的差异性    下式和上式相同

2.1 凸优化证明

利用对称矩阵乘上 W^T W 求导 -> 2W

 

2.2 人脸识别降维应用

选取特征基,脸的空间中的基 还是脸; 被称为特征脸eigenface 

黑白深浅表示某个局部识别的权重比例 比如第一张图表示头发权重很高,第四张图表示胡子权重很高

3. 核化PCA

4. 流行学习

       若低维流形嵌入到高维空间中,则数据样本在高维空间的分布虽然看上去非常复杂, 但在局部上仍具有欧氏空间的性质,因此,可以容易地在局部建立降维映射关系,然后再设法将局部映射关系推广到全局。

可以类比成:世界地图与地球仪   想象一下我们的地球

  1. 高维空间(真实世界):地球本身是一个三维的球体(一个嵌入在三维空间中的二维流形)。你站在上面能感觉到它的弧度,这是一个复杂的曲面。

  2. 低维流形:但我们平时使用的世界地图,是一张二维的纸。这张纸就是一个二维的表示

  3. 局部具有欧氏空间性质:虽然整个地球是弯曲的,但你在你家小区、甚至整个城市范围里活动时,你完全可以把地面当成是平的。在这个“局部”范围内,东西南北、距离长短的规则(即欧几里得几何法则)都是成立的。这就叫“局部上仍具有欧氏空间的性质”。

  4. 在局部建立降维映射:制图师如何绘制地图呢?他们不会一下子画整个地球。而是会一小块一小块地(比如先画一个城市,再画一个省)进行测绘。在每一小块区域内,因为他们可以把地面当成平的,所以可以非常准确地将三维地形映射到二维纸上。这个过程就是“在局部建立降维映射关系”。

  5. 将局部关系推广到全局:最后,制图师需要把所有这些小块的、平整的地图,用某种方法(比如各种地图投影算法)拼接、缝合起来,形成一张完整的、但必然有某种失真(比如格陵兰岛看起来和非洲一样大)的世界地图。这就是“设法将局部映射关系推广到全局”。

4.1 LLE 局部线性嵌入(Locally Linear Embedding) 

低维空间 保留近邻关系 + 近邻权重

每个数据点都可以由其最近邻的若干个点的线性组合来重构;

第一步:使用 K-NN(K近邻)或 ε-球 的方法找到它的 k 个最近邻点

第二步:计算局部线性关系的权重矩阵 我们试图用它的 k 个近邻点 x_j 来最佳地重构它自己。即,找到一组权重系数 W_ij,使得重构误差最小化

    

第三步:寻找一组低维表示 y_i 使得第二步中计算出的权重 W_ij 仍然能最好地重构 y_i

4.2 Isomap(等距特征映射)

测地距离才真实:数据点之间的真实相似性应该用流形上两点之间的最短路径(测地距离)来度量。

瑞士卷展平:理想情况沿着曲面走一圈;保距保的是 展开后平面的距离

飞机两城市飞行轨迹:不只是直接走圆弧 而是要求走的路径经过有机场的城市(失事着陆)

选取一些点 把这些点两两连起来 形成路线 (有点像无向图单源最短路)

第一步:使用 K-NN(K近邻)或 ε-球 的方法找到它的 k 个最近邻点

第二步:基于最短路径算法 近似任意两点之间的测地线(geodesic)距离

第三步:寻找一个低维表示,使得在低维空间中点与点之间的欧氏距离,尽可能地接近第一步中计算出的测地距离矩阵 D_G

5. 距离度量学习 (distance metric learning)

降维的主要目的是希望找到一个“合适的”低维空间,在那个空间再算欧氏距离。

能否根据data的类别 直接“学出”合适的距离?

核心思想: 让机器从数据中自动学习一个最优的距离度量函数,而不是手动选择。

5.1 马氏距离 度量矩阵M

即两个点之间 向量的长度的平方。(xi-xj)^T (xi-xj)

中间乘以一个对角阵 W 即进行不同维度的加权。

中间乘一个半正定对称矩阵(为了保持距离非负且对称)M(度量矩阵)

得到马氏距离 (Mahalanobis distance)

若已知“必连(must-link) 约束集合M  目标函数最小化他们之间的距离,

与“勿连”(cannot-link) 约束集合C(最少也要距离1)因为没有对M的尺度放缩限制条件 设置一个常数。

则可转化为求解这个凸优化问题:

5.2 近邻成分分析 NCA

近邻成分分析(Neighbourhood Component Analysis,简称 NCA) (致敬PCA)

近邻分类器在进行判别时通常使用多数投票法,邻域中的每个样本投1票, 邻域外的样本投0票。

不妨将其替换为概率投票法 j 对 i 投票的影响力,像softmax。

单个样本即 各种j对i的投票和;整个训练集 即所有样本求和。

5.3 LMNNLarge Margin Nearest Neighbors

学习一个新的距离度量,使得在这个新的空间里,K-NN算法的性能达到最优。

临近位置 相似标签要尽量近 不同标签尽量远;至少要间隔margin 否则惩罚。

 拉近损失

拉远损失 差值是否>1 的一个0-1变量;写在优化问题中 设置为ε

  

 加权一下

  维度降下去了 丢掉了什么信息?丢掉了训练的时候用的信息。

比如上面的 i,j,l 三元组训练。抽取所有三元组 就是n^3级别 不算这么多,进行采样,那么没被采样到的数据 相当于被丢掉了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96746.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96746.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96746.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes 弹性伸缩:深入讲解 HPA 和 VPA

1. 介绍 Kubernetes 提供了多种资源管理方式&#xff0c;其中 弹性伸缩&#xff08;Auto-scaling&#xff09;是最重要的特性之一。弹性伸缩可以根据应用的负载变化自动调整 Pod 的数量和资源&#xff0c;以确保在高负载下应用能够正常运行&#xff0c;而在低负载时节省资源。在…

大数据毕业设计选题推荐-基于大数据的家庭能源消耗数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇…

【Spring】原理解析:Spring Boot 自动配置的核心机制与实战剖析

一、引言在当今的 Java 开发领域&#xff0c;Spring Boot 凭借其快速搭建项目、简化配置等优势&#xff0c;成为了众多开发者的首选框架。而 Spring Boot 自动配置作为其核心特性之一&#xff0c;极大地提升了开发效率&#xff0c;让开发者能够更专注于业务逻辑的实现。本文将深…

Java forEach中不能用i++的原因以及代替方案

因为在 Lambda 表达式内部访问的外部局部变量必须是 final 或 effectively final&#xff08;事实最终变量&#xff09;&#xff0c;而 i 操作试图改变这个变量的值&#xff0c;违反了这一规定。下面我们来详细拆解这个问题&#xff0c;让你彻底明白。1. 一个具体的例子我们先看…

第十四届蓝桥杯青少组C++选拔赛[2023.1.15]第二部分编程题(2 、寻宝石)

参考程序&#xff1a;#include <bits/stdc.h> using namespace std;int main() {int N;cin >> N; // 读入盒子数vector<int> a(N);for (int i 0; i < N; i) cin >> a[i]; // 读入每个盒子的宝石数// N > 3&#xff08;题目保证&#x…

9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用

一、引言在影视行业分析与数据科学实践中&#xff0c;高分电影数据的深度挖掘已成为平台优化内容推荐、制片方研判市场趋势、影迷发现优质作品的核心支撑 —— 通过上映年份与评分的关联可捕捉电影质量演变、依托热度与投票数能定位爆款潜质、结合剧情概述可开展情感与主题分析…

Tomcat PUT方法任意写文件漏洞学习

1 PUT请求 PUT请求是一种在HTTP协议中常见的请求方法 1.1 基本原理 PUT请求是一种用于向指定资源位置上传新的实体数据的请求方法&#xff0c;与其他请求方法的区别在于&#xff0c;PUT请求用于创建或者更新只当资源位置的实体数据。它与GET请求不同&#xff0c;PUT请求会替换掉…

【C++基础】初识模板——一起步入泛型编程的大门

引言在 C 世界里&#xff0c;模板&#xff08;Template&#xff09;就像一把万能钥匙。它允许你编写通用的代码&#xff0c;让编译器在需要的时候为具体类型生成对应的函数或类。换句话说&#xff0c;模板是 C 泛型编程&#xff08;Generic Programming&#xff09; 的基石。 如…

项目管理框架如何影响团队协作

在项目执行过程中&#xff0c;项目管理框架不仅是一套工具和流程&#xff0c;更是团队协作方式的基础。不同的项目管理框架会深刻影响团队沟通效率、任务分配、决策方式和整体协同效果。 传统框架通常强调层级与计划&#xff0c;带来高度规范化的协作&#xff1b;敏捷框架则强调…

正向代理,反向代理,负载均衡还有nginx

这是一个非常核心且重要的后端/运维知识领域。我会用尽可能清晰易懂的方式&#xff0c;结合生动的比喻&#xff0c;为你详细梳理这些概念。核心概念一览我们先从一个宏观的角度来理解它们之间的关系&#xff1a;代理&#xff08;Proxy&#xff09;&#xff1a; 一个中间人的角色…

WebSocket压缩传输优化:机器视觉高清流在DCS中的低延迟方案

引言在现代工业自动化领域&#xff0c;分布式控制系统&#xff08;DCS&#xff09;正面临着前所未有的数据挑战。随着机器视觉技术的广泛应用&#xff0c;高清视频流已成为监控产品质量、检测设备异常和保障生产安全的重要手段。然而&#xff0c;将720P、1080P甚至4K分辨率的高…

《Linux常见命令》

ls 功能&#xff1a;列出目录下的子目录与文件&#xff0c;对于文件&#xff0c;还会列出文件名及其他信息。 语法&#xff1a;ls [选项] [目录或文件] 1.常用选项及说明选项说明-a列出目录下的所有文件&#xff0c;包括以 . 开头的隐含文件-d将目录象文件一样显示&#xff0c;…

Python数据分析:函数定义时的位置参数。

目录1 代码示例2 欢迎纠错3 免费爬虫4 论文写作/Python 学习智能体1 代码示例 直接上代码。 def pargs1(a, b):"""先看确定数量的位置参数。最简单的位置参数。a和b都叫而且只能叫“位置参数”。所谓确定数量&#xff0c;很明显&#xff0c;是两个就是两个&…

《没有架构图?用 netstat、ss、tcpdump 还原服务连接与数据流向》

&#x1f4e2; 你是否遇到过这些问题&#xff1f; 接手一个老项目&#xff0c;只有服务器账号&#xff0c;没有架构图&#xff1f;服务突然异常&#xff0c;但不知道它依赖哪些外部系统&#xff1f;想画数据流向图&#xff0c;却找不到文档&#xff1f; 别担心&#xff01;只要…

Redis列表(List):实现队列/栈的利器,底层原理与实战

Redis列表&#xff08;List&#xff09;&#xff1a;实现队列/栈的利器&#xff0c;底层原理与实战 1. Redis列表概述 1.1 什么是Redis列表 Redis列表&#xff08;List&#xff09;是一个有序的字符串元素集合&#xff0c;支持在头部和尾部进行高效的插入和删除操作。它可以…

OpenCV 图像双三次插值

文章目录 一、简介 二、实现代码 三、实现效果 参考资料 一、简介 在数学中,双三次插值是三次样条插值(一种将三次插值应用于数据集的方法)的扩展,用于在二维规则网格上插值数据点。插值曲面(指核形状,而非图像)比通过双线性插值或最近邻插值获得的相应曲面更平滑。双三…

【Java实战㊲】Spring Security:为Spring Boot应用筑牢安全防线

目录 一、Spring Security 概述 1.1 Spring Security 核心功能 1.2 Spring Security 与 Shiro 对比 二、Spring Boot 整合 Spring Security 基础 2.1 整合依赖导入 2.2 默认安全配置 2.3 自定义用户认证 2.4 自定义登录与注销 三、Spring Security 授权控制 3.1 基于角色的授权…

linux命令—stat

命令简介 stat是Linux中用于查看文件或文件系统的详细状态信息的强大命令。它比ls -l更全面&#xff0c;其输出信息包括但不限于&#xff1a;文件大小、权限、所有者、最后访问/修改/状态变更时间、inode号、所在设备信息等。 用法 stat命令的语法格式如下 stat [选项] 文件…

解决串口数据乱序问题

环境&#xff1a;jetson nano ubuntu 20.04python 3.12终于是找到解决串口乱序的最佳解决办法了&#xff0c;先来看看什么是串口乱序&#xff1a;这就是一个典型的串口乱序&#xff0c;我的发送端发送 的协议为0x55 0x51 ...0x55 0x52 ...0x55 0x53 ...0x55 0x54 ...在这四条协…

Spring的注解

声明Bean的注解 Component Controller Service Repository 后三种为Component的别名&#xff0c;之所以不同是因为可读性的考虑 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Controller {AliasFor(//别名an…