【人工智能】—_维度灾难、降维、主成分分析PCA、获取旧数据、非线性主成分分析

news2025/1/22 8:02:29

文章目录

  • 高维数据与维度灾难
  • 维度灾难
  • 降维
  • 为什么需要降维?
  • PRINCIPLE COMPONENT ANALYSIS
  • 主成分的几何图像
  • 最小化到直线距离的平方和
  • 举例
  • 主成分的代数推导
  • 优化问题
  • 计算主成分(Principal Components, PCs)的主要步骤
  • 获取旧数据的方法?
  • 主成分分析的最优性性质
  • 主要的理论结果
  • PCA图像压缩
  • 使用核的非线性主成分分析
  • 评价

高维数据与维度灾难

大多数机器学习和数据挖掘技术对于高维数据可能不太有效。这是由于维度灾难(Curse of Dimensionality)导致的。

随着维度的增加,查询的准确性和效率会迅速下降。因此,在高维数据中,许多机器学习和数据挖掘技术可能无法处理。

然而,高维数据的内在维度可能很小。例如,在某种类型的疾病中负责的基因数量可能很少。因此,对于高维数据,需要使用专门针对高维数据的技术,如降维和特征选择,以提高机器学习和数据挖掘的效率和准确性。

维度灾难

在高维数据中,维度灾难(Curse of Dimensionality)会导致以下问题:

  • 随着维度的增加,数据在所占用的空间中变得越来越稀疏。
  • 密度和点之间的距离的定义对于聚类和异常检测变得越来越无意义。
  • 如果 N 1 = 100 N_1=100 N1=100 表示单个输入问题的密集样本,则在维度为 10 10 10 的情况下,需要样本量为 N 10 = 10 0 10 N_{10}=100^{10} N10=10010 才能获得相同的采样密度。
  • 半径为 r r r、维度为 d d d 的超球体与边长为 2 r 2r 2r、维度为 d d d 的超立方体之间的比例在 d d d 趋近于无穷时收敛于 0 0 0,即几乎所有的高维空间都“远离”中心。
    在这里插入图片描述

因此,对于高维数据,需要特别注意选择适当的特征和降维技术,以便提高数据的密度和距离的意义,同时减少维度灾难的影响。

降维

降维(Dimensionality Reduction)是指将原始高维数据映射到低维空间的过程。

在不同的问题设置下,降维的标准可能会有所不同:

  • 无监督学习:最小化信息损失;
  • 监督学习:最大化类别差异。

给定由 d d d 个变量组成的数据点集合,可以计算将数据映射到低维空间的线性变换(投影)。设 f ( x 1 , x 2 , … , x n ) f(x_1, x_2, \ldots, x_n) f(x1,x2,,xn) 是在 R d R^d Rd 上的原始数据点, P P P 是一个 R d × m R^{d \times m} Rd×m 的矩阵,表示投影。则,变换后的数据点 y y y y = P T f ( x 1 , x 2 , … , x n ) y = P^T f(x_1, x_2, \ldots, x_n) y=PTf(x1,x2,,xn) 得到,其中 m ≪ d m \ll d md

因此,可以通过找到最优投影矩阵 P P P,在保留重要特征和最小化信息损失的同时降低数据维度,从而实现降维的目的。常用的降维技术包括主成分分析(PCA)和线性判别分析(LDA)等。
在这里插入图片描述

为什么需要降维?

降维(Dimensionality Reduction)有以下应用:

  • 可视化:将高维数据投影到二维或三维平面上,以便可视化和理解数据的结构和特征。
  • 数据压缩:降维可以减少数据的维度,从而提高数据的存储和检索效率。
  • 噪声去除:降维可以去除冗余和不相关的特征,从而对查询准确性产生积极影响。

因此,降维是在处理高维数据时非常重要的技术,可以帮助我们更好地理解和利用数据。

PRINCIPLE COMPONENT ANALYSIS

主成分分析(Principal Component Analysis,PCA)是一种常用的无监督学习算法,用于降低数据的维度并发现数据中的主要成分。

维度降低(Dimensionality reduction)是指通过减少数据的特征维度,将高维数据映射到低维空间中。维度降低的目的有以下几个方面:

  1. 数据压缩:高维数据可能包含冗余信息,通过降维可以减少存储空间和计算开销。
  2. 特征选择:降维可以帮助选择最相关的特征,去除噪音或不重要的特征,提高模型的效果和泛化能力。
  3. 可视化:降维可以将高维数据可视化在二维或三维空间中,更直观地理解数据之间的关系。

主成分分析(PCA)是一种经典的降维技术。它通过线性变换将原始数据映射到一组新的正交特征上,这些特征被称为主成分。PCA的目标是找到能够最大化数据方差的投影方向,从而保留尽可能多的数据信息。通过PCA,可以对数据进行降维,将其表示为较少数量的主成分,其中每个主成分都是原始特征的线性组合。

非线性PCA使用核函数(Kernels)扩展了传统的PCA方法,使其能够处理非线性数据。通过应用核函数,可以将原始数据映射到高维特征空间,然后在该空间中进行线性PCA。这样可以处理非线性关系,发现更复杂的数据结构和模式。

主成分的几何图像

在主成分分析中,主成分可以通过几何图像来理解。对于在 d d d 维空间中的 n n n 个数据点,主成分分析可以将数据投影到一维空间中。

具体地,可以选择一条直线,使得数据点在该直线上分布得很好。这条直线被称为主成分。主成分是在保留数据大部分信息的前提 下,将数据投影到一维空间中的最佳方式。

在这里插入图片描述

主成分的选择可以通过计算数据的协方差矩阵和对该矩阵进行特征值分解来实现。每个特征向量都代表了在数据中的一个主要方向,并且与该方向上的方差成比例。因此,可以选择特征值最大的几个特征向量来作为主成分,并将数据投影到这些方向上。

最小化到直线距离的平方和

在主成分分析中,为了找到最佳的主成分,需要最小化数据点到该主成分投影的距离的平方和。这是因为,最小化这个距离的平方和可以最大化数据点在主成分上的投影的平方和。

具体地,可以将每个数据点表示为向量 x \mathbf{x} x,然后将其投影到主成分上得到向量 p \mathbf{p} p。这个投影可以通过将向量 x \mathbf{x} x 投影到主成分的单位向量 u \mathbf{u} u 上来实现,即 p = x ⋅ u u \mathbf{p} = \mathbf{x} \cdot \mathbf{u} \mathbf{u} p=xuu

然后,最小化每个数据点到主成分的距离的平方和,可以表示为以下式子:

∑ i = 1 n ∥ x i − p i ∥ 2 \sum_{i=1}^n \|\mathbf{x}_i - \mathbf{p}_i\|^2 i=1nxipi2

其中, ∥ ⋅ ∥ \|\cdot\| 表示向量的范数。将向量 p i \mathbf{p}_i pi 替换为 x i ⋅ u u \mathbf{x}_i \cdot \mathbf{u} \mathbf{u} xiuu,可以得到以下式子:

∑ i = 1 n ∥ x i − ( x i ⋅ u ) u ∥ 2 \sum_{i=1}^n \|\mathbf{x}_i - (\mathbf{x}_i \cdot \mathbf{u}) \mathbf{u}\|^2 i=1nxi(xiu)u2

为了最小化这个式子,需要最大化每个数据点在主成分上的投影的平方和。这是由于,根据勾股定理,数据点到主成分的距离的平方和等于每个数据点在主成分上的投影与该数据点之间的距离的平方和。因此,最小化数据点到主成分的距离的平方和等价于最大化每个数据点在主成分上的投影的平方和。
在这里插入图片描述

综上所述,为了找到最佳的主成分,需要最大化每个数据点在主成分上的投影的平方和,即最小化数据点到主成分的距离的平方和。

举例

在这里插入图片描述

具体来说,第一个主成分是对原始数据的最小距离拟合,以得到一条直线,使得数据点在该直线上分布得很好。该直线是在保留了数据大部分信息的情况下,将数据投影到一维空间中的最佳方式。

第二个主成分是在与第一个主成分正交的平面上进行的最小距离拟合。该平面是由第一个主成分所定义的直线所张成的平面的垂直平面。通过这个过程,可以找到另一条直线,使得数据点在该直线上分布得很好,并且与第一个主成分正交。

主成分的代数推导

在主成分分析中,主成分可以通过代数推导来获得。设有一个 d d d 维的数据集,其中包含 n n n 个数据点,可以将其表示为一个 d × n d \times n d×n 的矩阵 X X X。我们的目标是找到一个 d d d 维的向量 u \mathbf{u} u,使得将数据投影到该向量上时,投影数据的方差最大。在这里插入图片描述

具体来说,我们首先将数据投影到一个 d d d 维的向量 u \mathbf{u} u 上,得到一个一维的数据集 Y = u ⊤ X Y=\mathbf{u}^\top X Y=uX
在这里插入图片描述

然后,我们要找到一个 u 1 u_1 u1最大化这个数据集的方差,即:

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

优化问题

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

我们可以使用拉格朗日乘数法来求解主成分。具体来说,我们要求解以下问题:

max ⁡ u u ⊤ S u  subject to u ⊤ u = 1 \max_{\mathbf{u}} \mathbf{u}^\top S \mathbf{u } \text{ subject to} \quad \mathbf{u}^\top \mathbf{u} = 1 umaxuSu subject touu=1

其中, S S S 是数据的协方差矩阵。我们可以使用拉格朗日乘数法将约束条件加入目标函数中,得到:

L ( u , λ ) = u ⊤ S u − λ ( u ⊤ u − 1 ) L(\mathbf{u}, \lambda) = \mathbf{u}^\top S \mathbf{u} - \lambda(\mathbf{u}^\top \mathbf{u} - 1) L(u,λ)=uSuλ(uu1)

其中, λ \lambda λ 是拉格朗日乘数。对 u \mathbf{u} u λ \lambda λ 分别求导并令其等于零,可以得到:

∂ L ∂ u = 2 S u − 2 λ u = 0 ∂ L ∂ λ = u ⊤ u − 1 = 0 \begin{aligned} \frac{\partial L}{\partial \mathbf{u}} &= 2S\mathbf{u} - 2\lambda \mathbf{u} = 0 \\ \\ \frac{\partial L}{\partial \lambda} &= \mathbf{u}^\top \mathbf{u} - 1 = 0 \end{aligned} uLλL=2Su2λu=0=uu1=0

将第一个式子中的 u \mathbf{u} u 提出来,可以得到:

S u = λ u S\mathbf{u} = \lambda \mathbf{u} Su=λu

这个式子说明,投影向量 u \mathbf{u} u 是数据集的协方差矩阵 S S S 的特征向量,对应的特征值为 λ \lambda λ。因此,可以通过计算协方差矩阵 S S S 的特征向量和特征值,来确定投影向量 u \mathbf{u} u,以及数据在该投影向量上的投影。通过类似的方式,可以确定更多的主成分。每个主成分都是在前面主成分所定义的子空间上进行的最小距离拟合,并且与前面的主成分正交。

计算主成分(Principal Components, PCs)的主要步骤

计算数据的协方差矩阵 S S S
在这里插入图片描述
如果数据没有被中心化,则需要先将每个变量的均值减去每个观测值:在这里插入图片描述,然后再计算 S S S

在这里插入图片描述

找到前 m m m 个特征向量在这里插入图片描述

通过解特征向量问题得到 S u = λ u S\mathbf{u}=\lambda\mathbf{u} Su=λu 的特征向量 u \mathbf{u} u,并按照对应的特征值 λ \lambda λ 从大到小排序,选取前 m m m 个特征向量。
形成投影矩阵 P P P在这里插入图片描述

将前 m m m 个特征向量按列组成矩阵 P P P,这个矩阵可以将数据投影到前 m m m 个主成分所张成的子空间中。
对一个新的测试点进行投影在这里插入图片描述在这里插入图片描述

获取旧数据的方法?

如果P是一个方阵,我们可以通过下式来恢复x。
在这里插入图片描述

在这种情况下,P并不是满秩的,但我们仍然可以通过在这里插入图片描述来恢复x,并且会丢失一些信息。

  • 目标:损失最少的信息

主成分分析的最优性性质

在这里插入图片描述

主要的理论结果

由协方差矩阵S的前m个特征向量组成的矩阵P解决了以下最小问题:
在这里插入图片描述

其中,P 是由协方差矩阵 S 的前 m 个特征向量组成的矩阵。

PCA投影使大小为m的所有线性投影中的重建误差最小化。

PCA图像压缩

在这里插入图片描述

使用核的非线性主成分分析

根据点积重写PCA

  • 假设数据已经中心化在这里插入图片描述

  • 协方差矩阵S可以写成在这里插入图片描述

  • 如果 u u u是对应于非零特征值的S的特征向量在这里插入图片描述

  • S的特征向量位于由所有数据点跨越的空间中在这里插入图片描述

  • 协方差矩阵可以写成矩阵形式:
    在这里插入图片描述

评价

PCA(主成分分析)的评论:

• PCA是一种线性降维方法。

• PCA可以进行核化处理,从而可以处理非线性问题。

• 许多非线性降维方法(如Isomap、图拉普拉斯特征映射和局部线性嵌入/LLE)可以看作是使用特殊核的核PCA。

• PCA是一个非凸优化问题,但是相对容易求解。

• PCA是一种在统计学和机器学习中广泛应用的方法,它可以用于数据降维、特征提取、数据可视化等领域。PCA能够提取数据中最重要的特征,并将数据投影到低维空间中,以便更好地理解数据。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算一组数据中的低中位数即如果一组数据中有两个中位数则较小的那个为低中位数statistics.median_low()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算一组数据中的低中位数 即如果一组数据中有两个中位数 则较小的那个为低中位数 statistics.median_low() 选择题 以下程序的运行结果是? import statistics data_1[1,2,3,4,5] data_2[1,2,…

IIR滤波器

IIR滤波器原理 IIR的特点是:非线性相位、消耗资源少。 IIR滤波器的系统函数与差分方程如下所示: 由差分方程可知IIR滤波器存在反馈,因此在FPGA设计时要考虑到有限字长效应带来的影响。差分方程中包括两个部分:输入信号x(n)的M节…

LLM学习笔记(1)

学习链接 ChatGPT Prompt Engineering for Developers - DeepLearning.AI 一、prompt engineering for developer 1、原则 prompting principles and iterative pattern 2、用于summarize 环境与helper functions import openai import osfrom dotenv import load_dotenv…

C语言深入理解指针(非常详细)(二)

目录 指针运算指针-整数指针-指针指针的关系运算 野指针野指针成因指针未初始化指针越界访问指针指向的空间释放 如何规避野指针指针初始化注意指针越界指针不使用时就用NULL避免返回局部变量的地址 assert断言指针的使用和传址调用传址调用例子(strlen函数的实现&a…

MySQL 8.0.34安装教程

一、下载MySQL 1.官网下载 MySQL官网下载地址: MySQL :: MySQL Downloads ,选择下载社区版(平时项目开发足够了) 2.点击下载MySQL Installer for Windows 3.选择版本8.0.34,并根据自己需求,选择下载全社区安…

2023开学礼新疆石河子大学图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》许少辉新财经理工

2023开学礼新疆石河子大学图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》许少辉新财经理工

监控服务器与Zabbix服务器时间同步配置

一、简介 zabbix server数据采集对时间同步的要求比较高,因为被监控的主机时间快了,会导致数据读取失败等问题,时间慢了,会有一堆的因为数据写入延时产生的误告警,会发生告警恢复时间比告警产生时间早的情况。此案列以…

CSS中如何实现文字渐变色效果(Text Gradient Color)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 文字渐变色效果(Text Gradient Color)⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这…

MIT6.824 Spring2021 Lab 1: MapReduce

文章目录 0x00 准备0x01 MapReduce简介0x02 RPC0x03 调试0x04 代码coordinator.gorpc.goworker.go 0x00 准备 阅读MapReduce论文配置GO环境 因为之前没用过GO,所以 先在网上学了一下语法A Tour of Go 感觉Go的接口和方法的语法和C挺不一样, 并发编程也挺有意思 0x01 MapRed…

Navicat16安装教程

注:因版权原因,本文已去除破解相关的文件和内容 1、在本站下载解压后即可获得Navicat16安装包和破解补丁,如图所示 2、双击“navicat160_premium_cs_x64.exe”程序,即可进入安装界面, 3、点击下一步 4、如图所示勾选“…

Delphi 12 β版新增两个有用功能

目录 一、字符串长度允许超过255 二、新增多字符串功能 一、字符串长度允许超过255 现在,字符串字面量的长度可以超过 255 个字符;换句话说,字符串字面量不再局限于经典的 Pascal ShortString 类型。注意字面字符串的长度仍可能受到编辑器的…

一文读懂强化学习:RL全面解析与Pytorch实战

目录 一、引言强化学习的核心组成为什么强化学习重要?实用性与广泛应用自适应与优化推动AI研究前沿引领伦理与社会思考 二、强化学习基础马尔可夫决策过程(MDP)状态(State)动作(Action)奖励&…

私有云盘Nextcloud在线解压开发(瞎搞瞎搞0.0)

私有云盘 Nextcloud在线解压开发 缘由: 问:为啥百度网盘会员人家可以在线解压哇??? 我:what?那必须安排哇!!! python代码如下 from flask import Flask, req…

个微机器人开发接口

请求URL: http://域名地址/member/login域名地址开发者账号密码:后台系统自助开通 请求方式: POST 请求头Headers: Content-Type:application/json 参数: 参数名必选类型说明account是string开发者账号password…

Centos 7 通过Docker部署OnlyOffice

前言: 在本文中,我们将详细介绍如何使用 Docker 部署功能强大的协作办公套件 OnlyOffice。通过 Docker,您可以轻松构建、部署和管理 OnlyOffice,从而提高团队协作和企业办公的效率。 一、安装Docker 1、向系统添加Docker CE软件仓…

Python小知识 - 1. Python装饰器(decorator)

Python装饰器(decorator) Python装饰器是一个很有用的功能,它可以让我们在不修改原有代码的情况下,为已有的函数或类添加额外的功能。 常见的使用场景有: a. 函数缓存:对于一些计算量较大的函数&#xff0c…

【小沐学NLP】Python使用NLTK库进行分词

文章目录 1、简介2、安装2.1 安装nltk库2.2 安装nltk语料库 3、测试3.1 分句分词3.2 停用词过滤3.3 词干提取3.4 词形/词干还原3.5 同义词与反义词3.6 语义相关性3.7 词性标注3.8 Text对象 结语 1、简介 NLTK - 自然语言工具包 - 是一套开源Python。 支持自然研究和开发的模块…

Android GB28181客户端开发(1):GB28181协议简介

Android GB28181客户端开发(1):GB28181协议简介 公共安全视频监控联网系统信息传输、交换、控制技术要求(2016版) 源码请翻到文章结尾 介绍GB28181协议 GB28181协议是一种基于IP网络的远程视频监控系统,它定义了设备之间的通信协议和数据格式。GB28181协议的主要特点是支…

YOLOv5算法改进(14)— 更换Neck之BiFPN

前言:Hello大家好,我是小哥谈。BiFPN ( Bidirectional Feature Pyramid Network )是一种加权双向(自顶向下 自底向上)特征金字塔网络,是目标检测中神经网络架构设计的选择之一,是为…

【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】

文章目录 说明细节一:首页滑动到底部,需要查询下一页的商品界面预览页面实现 细节二:当页面滑动到下方,出现一个回到顶端的悬浮按钮细节三:商品分列说明优化前后效果对比使用回溯算法实现ControllerService回溯算法 优…