机器学习4-PCA降维

ops/2025/3/7 0:39:14/

1 降维

在数据处理过程中,会碰到维度爆炸,维度灾难的情况,为了得到更精简更有价值的信息,我们需要进一步处理,用的方法就是降维。

降维有两种方式:特征抽取、特征选择

  • 特征抽取:就是特征映射,它的思想是把高纬空间的数据映射到低维空间,比如PCA降维、基于神经网络的降维
  • 特征选择:
    • 过滤式(打分机制):过滤,指的是通过某个阈值进行过滤,比如经常会看到但可能并不会去用的,根据方差、信息增益、互信息、相关系数、卡方检验、F检验来选择特征。

      (什么是互信息?在某个特定类别出现频率高,但其他类别出现频率比较低的词条与该类的互信息比较大。通常互信息作为特征词和类别之间的测度,如果特征词属于该类的话,他们的互信息就大)

      image.png

    • 包裹式:每次迭代产生一个特征子集,评分

    • 嵌入式:先通过机器学习模型训练来对每个特征得到一个权重值,接下来和过滤式相似,通过设定某个阈值来筛选特征。区别在于,嵌入式采用机器学习训练,过滤式采用统计特征

    • 过滤式方法运用统计指标来为每个特征打分并筛选特征,其聚焦于数据本身的特点。其优点是计算快,不依赖与具体的模型,缺点是选择的统计指标不是为特定模型定制的,因而最后的准确率可能不高,而且因为进行的是单变量统计检验,没有考虑特征间的相互关系

    • 包裹式方法使用模型来筛选特征,通过不断地增加或删除特征,在验证集上测试模型准确率,寻找最优的特征子集。包裹式方法因为有模型的直接参与,因而通常准确性较高,但是因为每变动一个特征都要重新训练模型,因而计算开销大,其另一个缺点是容易过拟合

    • 嵌入式方法利用了模型本身的特性,将特征选择嵌入到模型的构建过程中。典型的如Lasso和决策树模型等。准确率较高,计算复杂度介于过滤式和包裹式方法之间,但缺点是只有部分模型有这个功能

Principal Components Analysis 主成分分析在压缩消除冗余和数据噪音消除等有广泛应用

2 特征值和特征向量

A ξ = λ ξ A\xi=\lambda\xi Aξ=λξ

首先要理解矩阵线性变换,即矩阵乘法:矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在变换过程中,原向量主要发生旋转、伸缩变化。如果矩阵对某一向量或某些向量只发生伸缩变换,不对这些向量产生旋转效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值

在数据挖掘中,就会直接用特征值来描述对应特征向量方向上包含的信息量,而某一特征值除以所有特征值的和得到的值:该特征向量的方差贡献率。(在该维度下蕴含的信息的比例)

经过特征向量变换下的数据称为变量的主成分,当前m各主成分累计的方差贡献率达到85%以上就保留这m个的主成分数据,实现对数据进行降维的目的。

3 PCA的目标

PCA的目标是实现最小投影距离,最大投影方差。降维后不同维度的相关性为0。(也就是向量之间正交)

image.png

显然数据离散性最大,代表数据在所投影的维度有越高的区分度,这个区分度就是信息量。

应该考虑新的坐标轴,将坐标轴进行旋转就能正确降维,这个旋转的操作就要用到线性变换—奇异值分解

image.png

通过矩阵A对坐标系X进行旋转,经过一些数学推导,其实就可以得知,特征值对应的特征向量就是理想中想取得的正确坐标轴,而特征值就等于数据在旋转后的坐标上对应维度的方差(沿对应的特征向量的数据的方差)。而A其实即为我们想求得的那个降维特征空间,Y则使我们想要的降维后的数据。

4 PCA过程

4.1 中心化

采用了中心化,均值为0,如果不进行中心化,可能第一主成分的方向有误

image.png

这里可以看出主成分分析的目的是最小化投影距离,最大化投影方差。如果不中心化就达不到上述目的。

image.png

4.2 标准化数据

为什么要标准化,因为等下要算特征值和特征向量,特征值对应的特征向量就是理想中想取得的正确坐标轴,而特征值就等于数据在变换后的坐标上对应维度的方差(沿对应的特征向量的数据的方差)。

考虑这样一个例子,一个特征表示对象的长度(米为单位),而第二个特征表示对象的宽度(厘米为单位)。如果数据没有被标准化,那么最大方差及最大特征向量将隐式地由第一个特征定义。

4.3 算协方差矩阵

为什么要算协方差矩阵?我们之前的目的是在降维后的每一维度上,方差最大。而方差最大,则容易想到的就是协方差矩阵,去中心化后,协方差矩阵的对角线上的值正好就是各个数据维度的方差。原始数据的协方差矩阵X【n * n】,对应的就是降维后的数据的方差。而我们的目的,这是使方差最大,这就又想到另一个概念,迹(trace),因为迹是对角线上所有元素之和,则协方差矩阵的迹,就是方差之和,这样我们就可以构建损失函数,即argmax(协方差矩阵X的迹)

4.4 过程

  1. 首先设新的坐标系为W【n×n】

[ w 1 , w 2 , w 3 , . . . , w n ] [w_1,w_2,w_3, ...,w_n] [w1,w2,w3,...,wn]

	显然w为标准正交基

∣ ∣ w ∣ ∣ 2 = 1 , w i T w j = 0 ||w||_2 =1, w_i^Tw_j=0 ∣∣w2=1,wiTwj=0

  1. 在新的坐标系的投影为

    Z = W T X Z=W^TX Z=WTX

    其中Z为{z1,z2,z3,…,zn}

  2. 向量Xi在w上的投影坐标可以表示为

    ( x i , w ) = x i T w (x_i,w)=x_i^Tw (xi,w)=xiTw


http://www.ppmy.cn/ops/163737.html

相关文章

【HarmonyOS Next】自定义Tabs

背景 项目中Tabs的使用可以说是特别的频繁,但是官方提供的Tabs使用起来,存在tab选项卡切换动画滞后的问题。 原始动画无法满足产品的UI需求,因此,这篇文章将实现下面页面滑动,tab选项卡实时滑动的动画效果。 实现逻…

AutoGen学习笔记系列(六)Tutorial - Termination

这篇文章瞄准的是AutoGen框架官方教程中的 Tutorial 章节中的 Termination 小节,主要介绍了更细粒度上图如何终止Team组内轮询的过程。 官网链接:https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/termination.ht…

mssql2008与mssql2014绿色版数据库软件,免安装,下载解压就可以使用

mssql2008与mssql2014绿色版数据库软件,免安装,下载解压就可以使用 mssql2008与mssql2014绿色版数据库软件,免安装,下载解压就可以使用 下载地址: 通过网盘分享的文件:【软件】mssql2008与mssql2014绿色版数…

my学习网址

文章目录 1.软件版本管控GIT学习网站大全1官方文档类2在线教程类3互动学习类4问答社区类 1.软件版本管控 GIT学习网站大全 廖雪峰网站 以下为你推荐不同类型的学习Git的网站: 1官方文档类 Git官方文档 网址:https://git-scm.com/doc link特点&#x…

【Java面试】重载(Overload)和 重写(Override)的区别

在Java编程中,重载(Overload) 和 重写(Override)是两个非常重要的概念,它们都与方法的行为相关,但有着本质的区别。理解它们的区别是Java面试中的常见考点。本文将详细解析重载和重写的区别&…

直接法估计相机位姿

引入 在前面的文章:运动跟踪——Lucas-Kanade光流中,我们了解到特征点法存在一些缺陷,并且用光流法追踪像素点的运动来替代特征点法进行特征点匹配的过程来解决这些缺陷。而这篇文章要介绍的直接法则是通过计算特征点在下一时刻图像中的位置…

Spark核心之02:RDD、算子分类、常用算子

spark内存计算框架 一、目标 深入理解RDD弹性分布式数据集底层原理掌握RDD弹性分布式数据集的常用算子操作 二、要点 ⭐️1. RDD是什么 RDD(Resilient Distributed Dataset)叫做**弹性分布式数据集,是Spark中最基本的数据抽象&#xff0c…

什么是 JVM? JVM (Java Virtual Machine)

JVM(Java Virtual Machine,Java 虚拟机)是一个虚构出来的计算机,它是一种规范,有自己的指令集,并且在运行时操作各种内存区域。JVM 是 Java 平台的核心组成部分,负责执行 Java 字节码&#xff0…