降维技术——在高维空间中寻找本质结构"

admin 2026-10-20 12:20:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

降维技术——在高维空间中寻找本质结构

原创

代码小铺
代码小铺

代码小铺

2026年6月28日 17:55
湖北

在小说阅读器读本章

去阅读

一张照片的维度灾难

一张 100×100 像素的灰度图片,在计算机眼里是一个 10000 维的向量——每个像素是一个维度。

问题来了:你真的需要 10000 个数字来描述这张图吗?

想想你自己是怎么描述一张人脸照片的——\"圆脸、大眼睛、短发、戴眼镜\"。你可能只用了不到 10 个特征,就抓住了关键信息。人脸的本质结构远远低于 10000 维。

降维技术要做的就是这件事:在高维数据中,找到真正重要的少数几个方向。

维数灾难:为什么高维很可怕

在深入降维之前,先理解为什么\"维度高\"是一件坏事。

想象你在一个空旷的房间里找一枚硬币:

  • • 1 维(一条线):沿着线找,很简单
  • • 2 维(一个平面):需要搜索的面积大了很多
  • • 3 维(一个空间):更难了
  • • 10000 维:数据点之间的距离变得几乎一样,\"近\"和\"远\"失去意义

这就是维数灾难(Curse of Dimensionality):

    1. 数据变得极度稀疏:高维空间中,点与点之间的距离趋于一致
    1. 模型容易过拟合:特征太多,模型容易\"记住\"噪声而不是学到规律
    1. 计算成本爆炸:维度越高,计算量呈指数增长
    1. 可视化不可能:人类最多理解三维

降维就是为了对抗这个灾难。

PCA 主成分分析:找最重要的方向

PCA(Principal Component Analysis) 是最经典的降维方法,思路优雅而直觉。

直觉比喻

想象你从高处俯瞰一片散落在地上的树叶。有些树叶大致沿着东西方向分布,有些沿南北方向。PCA 做的事情是:

    1. 找到数据\"展开最宽\"的方向 → 第一主成分
    1. 找到和第一个方向垂直、\"展开第二宽\"的方向 → 第二主成分
    1. 依次类推

就像给数据拍一张\"最佳角度\"的照片——你选的角度要能看到数据最多的变化。

数学直觉

PCA 在做什么?

    1. 计算数据的协方差矩阵(描述各维度之间的相关性)
    1. 对协方差矩阵做特征值分解
    1. 取最大的 K 个特征值对应的特征向量——这就是 K 个最重要的方向
    1. 把原始数据投影到这 K 个方向上,完成降维

特征值越大,说明数据在这个方向上的\"展开\"越大,包含的信息越多。

PCA 的优缺点

优点:

  • • 计算高效,有解析解
  • • 保留了数据的全局结构
  • • 去相关——降维后的各维度互不相关

缺点:

  • • 只能捕获线性结构
  • • 可解释性差——主成分是原始特征的线性组合,可能难以理解

t-SNE:邻居关系不变

t-SNE(t-distributed Stochastic Neighbor Embedding) 是另一种降维方法,特别适合可视化高维数据。

核心思想

t-SNE 的思路非常直觉:

在高维空间中是邻居的点,在低维空间中也应该保持邻居关系。

具体做法:

    1. 在高维空间中,计算每对点之间的\"相似度\"(用高斯分布,距离越近相似度越高)
    1. 在低维空间(通常是 2 维)中,也计算每对点的相似度(用 t 分布)
    1. 调整低维空间中的点的位置,使得两组相似度尽可能接近

为什么 t-SNE 的可视化那么好看

你可能在很多论文里见过 t-SNE 做出的彩色散点图——不同类别的点自动聚成漂亮的小团。这是因为:

  • • 关注局部结构:t-SNE 特别在意\"谁是邻居\",所以同一个类别的点会紧紧聚在一起
  • • t 分布的\"长尾\":低维空间用 t 分布而不是高斯分布,会让距离较远的团之间自然拉开,避免挤在一起

t-SNE 的局限

  • • 计算复杂度高:O(n²),大数据集上很慢
  • • 结果不稳定:每次运行结果可能不同(随机初始化)
  • • 不能保留全局结构:团与团之间的距离不一定有意义

UMAP:更快、更全局

UMAP(Uniform Manifold Approximation and Projection) 是 t-SNE 的\"升级版\",2018 年提出后迅速流行。

UMAP 基于流形学习和拓扑学的理论,核心思想是:高维数据分布在一个低维流形上,我们要找到这个流形并在低维空间中重建它。

相比 t-SNE 的优势:

特性 t-SNE UMAP
速度 慢 快很多(10-100 倍)
全局结构 差 好
可扩展性 万级数据 百万级数据
理论根基 概率论 拓扑学

流形学习:弯曲空间中的捷径

流形(Manifold) 听起来很抽象,但直觉很简单:

想象地球表面——它是三维空间中的一个二维曲面(流形)。从北京到纽约的直线距离穿过地球内部,但飞机走的是沿着球面的大圆航线。虽然地球是三维的,但我们在球面上只需要两个坐标(经度、纬度)就能定位。

流形学习假设高维数据也分布在一个低维流形上:

  • • 人脸图片(10000 维)→ 可能在 10-20 维的流形上(控制变量:角度、光照、表情……)
  • • 手写数字(784 维)→ 可能在 5-10 维的流形上

PCA、t-SNE、UMAP 都是流形学习的不同实现方式——它们都在试图\"展开\"这个弯曲的低维结构。

如何选择降维方法?

  你的目标是什么?
├── 保留全局结构 + 速度快 → PCA
├── 可视化(2D/3D) → t-SNE 或 UMAP
├── 大规模数据 + 可视化 → UMAP
├── 非线性结构 + 特征提取 → 自编码器(深度学习)
└── 预处理(给下游模型降特征数) → PCA

小结与展望

降维技术帮我们在高维数据的\"迷雾\"中找到本质结构。PCA 找全局最重要的方向,t-SNE 保留邻居关系做可视化,UMAP 兼顾速度和全局结构。

这些技术的共同主题是:数据看起来维度很高,但真正有用的信息往往藏在少数几个方向上。

下一站,我们把目光从\"空间\"转向\"时间\"——当数据不再是一组静态的特征,而是随时间变化的序列时,我们该如何分析和预测?


降维技术——在高维空间中寻找本质结构" 网络安全文章

降维技术——在高维空间中寻找本质结构"

本文系统介绍了降维技术在高维数据分析中的核心作用,首先通过图像案例阐释了维度灾难的概念及其四大挑战,随后重点剖析了PCA、t-SNE和UMAP三大主流方法的原理、优缺点与适用场景,并基于流形学习理论指出数据本质结构常存在于低维流形中,最后提供了根据目标选择降维方法的实用指南。
当传统渗透测试遇上AI碰撞" 网络安全文章

当传统渗透测试遇上AI碰撞"

本文介绍AI驱动的安全扫描工具AgenticSecurityScanner,支持传统扫描和AI代理两种模式,具备单文件零依赖、插件式架构、内置技能库等特点,提供多平台安装命令和实用扫描示例,强调工具在渗透测试中结合AI能力的创新应用。
Activepieces—ai工作流辅助工具" 网络安全文章

Activepieces—ai工作流辅助工具"

Activepieces是一款开源AI自动化工具,采用TypeScript编写,提供无代码/低代码工作流解决方案。核心用户包括企业团队、个人创作者和开发者,支持通过拖拽界面连接商业应用和AI模型。技术架构基于Pieces模块化框架和Flow引擎,具备沙盒隔离安全机制。文档详细介绍了Docker部署步骤和RSS监控机器人等实战案例,涵盖个人效率、团队协作、营销销售等多场景应用。
黑客如何用一个PR掏空你的代码库?一文看懂PwnRequest提权漏洞与防御" 网络安全文章

黑客如何用一个PR掏空你的代码库?一文看懂PwnRequest提权漏洞与防御"

本文详细分析了GitHub的PwnRequest供应链攻击漏洞,指出当pull_request_target触发器与actions/checkout结合时,黑客可通过PR注入恶意代码获取高权限。GitHub在actions/checkoutv7中新增拦截机制,默认阻止拉取Fork仓库的危险代码。文章建议开发者避免使用pull_request_target、实施最小权限原则并隔离不可信代码以防范此类攻击。
评论:0   参与:  0