PCA降维算法详细推导

news2025/1/7 5:37:57

关于一个小小的PCA的推导

文章目录

    • 关于一个小小的PCA的推导
      • 1 谱分解 (spectral decomposition)
      • 2 奇异矩阵(singular matrix)
      • 3 酉相似(unitary similarity)
      • 4 酉矩阵
      • 5 共轭变换
      • 6 酉等价
      • 7 矩阵的迹的计算以及PCA算法推导
      • 8 幂等矩阵(idempotent matrix)
      • 9 Von Neumann's 迹不等式 [wiki链接](https://en.wikipedia.org/wiki/Trace_inequality#Von_Neumann.27s_trace_inequality)
      • 10 矩阵相似
      • 11 矩阵的特征值与特征向量
      • 12 正规矩阵
      • 13 正定矩阵、半正定矩阵
        • 正定矩阵
      • 参考文献

如果有概念不懂,请从目录中查找,或者直接检索。
如果想直入主题,请从第7小节开始看。

1 谱分解 (spectral decomposition)

矩阵中有一个概念叫做谱分解。

定理2.5.3

在这里插入图片描述

所以根据定理2.5.3的(a)(b)可知:**正规矩阵(请看第12条)都是酉可对角化(unitarily diagonalizable)**的,形式为:存在一个酉矩阵V使得A = V Λ V ∗ V \Lambda V^* VΛV, 并且 Λ = d i a g ( λ 1 , … , λ n ) \Lambda = diag (\lambda_1,\dots,\lambda_n) Λ=diag(λ1,,λn).

定理2.2.2 酉相似的两个矩阵的元素平方和相等。

在这里插入图片描述

由于酉相似的两个矩阵的元素平方和相等,所以自然就可以得到性质c.

根据舒尔三角化定理,任何复方阵都酉相似于一个三角阵,该三角阵的对角元素为其特征值。则写出它的舒尔分解形式:

A = U T U ∗ A = UTU^* A=UTU, 其中 U = [ u 1 , … , u n ] U = [u_1,\dots, u_n] U=[u1,,un]是一个酉矩阵, T = [ t i j ] ∈ M n T = [t_{ij}]\in M_n T=[tij]Mn是一个上三角矩阵。这样一个分解可以写成AU = UT,即A [ u 1 , … , u n ] [u_1,\dots,u_n] [u1,,un] = [ u 1 , … , u n ] [u_1,\dots,u_n] [u1,,un]T, 而T是对角阵,所以$Au_i = t_{ii}u_i $ for each i = 1 , … , n i = 1,\dots,n i=1,,n, 因此 U U U的n个列是A的标准正交的特征向量。

根据矩阵分析第134页首次出现谱分解给出的定义来看,谱分解的定义可以这么写:

其中酉矩阵的n个列向量就是A的特征向量。

一个正规矩阵可以表示成一个酉矩阵、一个对角矩阵、以及该酉矩阵的共轭转置的乘积。这样一个分解称作该正规矩阵谱分解。

谱分解中对角矩阵的对角元便是其特征值,酉矩阵的列向量便是其对应的特征向量。

2 奇异矩阵(singular matrix)

一个线性变换或者矩阵被称之为nonsingular(非奇异)(不奇怪),如果这个变换仅对0这个输入产生0的输出,否则它就是被称作singular(奇异)

对于这个概念,我觉得很有意思。singular这个英文单词百度百科上的英文意思是:奇怪的,独特的,独一无二的。根据上面的定义,如果某个变换将一个非零的东西映射成了0,则这个变换是很奇怪的,是异常的。

我觉得称之为非比寻常也是可以的,说明这样的变换具有一种超能力,能将非零的东西变成零,以至于独孤求败,无人可比(如果它是方阵,则没有与之对应的逆矩阵)。

方阵中,哪些矩阵不平常呢?

如果A是一个方阵,则下列条件是等价的。

A是非奇异矩阵, 等价于该矩阵存在逆矩阵 ,

等价于 Ax =0的有唯一解零向量 ,

等价于 0肯定不是A的特征值(因为矩阵的特征值的定义中需要从非零向量映射,而非奇异矩阵无法将非零向量映射到零向量,故0断然不是A的一个特征值)

3 酉相似(unitary similarity)

定义:对于酉矩阵来说,酉矩阵的共轭转置即为其逆矩阵。所以存在一个相似变换其对应的矩阵为酉矩阵,则称变换前后的两个矩阵是酉相似的。

性质

  • 如果两个矩阵酉相似,则两个矩阵的元素平方和相等,即二者的共轭转置与原矩阵的乘积的迹相等。 tr ⁡ B ∗ B = tr ⁡ A ∗ A \operatorname{tr} B^* B=\operatorname{tr} A^* A trBB=trAA

  • 如果某个矩阵酉相似于一个对角矩阵,则称该矩阵是酉可对角化的。

舒尔定理

可能基本矩阵理论中最有用的一个事实要归于舒尔的一个定理:任何复方阵酉相似于一个三角阵,该三角阵的对角元素是矩阵的特征值,可以以任意特定的顺序排列。这就是大名鼎鼎的舒尔形式、舒尔三角化:任何一个方阵都酉相似于一个对角线元素为该方阵的特征值的上三角矩阵。

4 酉矩阵

定义:酉矩阵的逆矩阵是其共轭转置。

说明:酉矩阵这一类矩阵的逆矩阵的形式简单,就是其共轭转置。求共轭转置比求逆更加简单。

性质

  • 酉矩阵是非奇异矩阵,其逆矩阵就是其共轭转置。酉矩阵的行向量组和列向量组均是标准正交的。酉矩阵这个线性变换对向量是保持距离的,即向量 x x x和向量 U x Ux Ux有相同的欧式范数。
  • 两个酉矩阵的乘积(如果可以相乘)仍为酉矩阵。

5 共轭变换

通过一个非奇异矩阵以及它的共轭转置来对一个矩阵进行映射,这样的变换称作共轭变换,形如: A → S ∗ A S A \rightarrow S^* A S ASAS

6 酉等价

定义:将一个矩阵,通过两个酉矩阵变换到一个新的矩阵,这样一个变换称作酉等价。

性质:

  • 每一个矩阵均酉等价于一个非负的对角阵,该对角阵的元素为矩阵的奇异值。这些奇异值很重要。

7 矩阵的迹的计算以及PCA算法推导

在矩阵理论推导过程中,经常会使用到矩阵的迹的计算方法,所以掌握该类计算方法对于理论推导是大有裨益的。

B ∈ R d , n B \in \mathbb{R}^{d, n} BRd,n , D ∈ R d , d D\in \mathbb{R}^{d,d} DRd,d, 求 B T D B B^T D B BTDB的迹。

用到的一个技术叫做 分块矩阵中的列分块。

(将矩阵进行分块,可以简化计算。当然在分块计算时,要先检查矩阵的行数与列数,判断是否可以进行相乘)

这里需要补充分块矩阵的相关知识。

https://baike.baidu.com/item/%E5%88%86%E5%9D%97%E7%9F%A9%E9%98%B5/10234479 (分块矩阵,百度百科链接)

首先将B进行列分块, B = [ b 1 , … , b n ] , b i ∈ R d B = [b_1,\dots, b_n], b_i\in \mathbb{R}^d B=[b1,,bn],biRd

然后

在这里插入图片描述

在这里插入图片描述

看到这里,就可以来进行PCA算法的证明了。

PCA算法是一个降维算法,方法是使用一个线性变换将原来的高维空间的向量映射到一个低维空间。目标是找到这样一个线性变换,即一个矩阵。要求是不仅能够将原始向量从高维空间映射到低维空间,还要能够从低维空间映射回来,所以这就又需要一个变换,即又一个矩阵,并且要求映射回来的向量与原始向量尽可能的逼近。

x 1 , … , x m x_1,\dots, x_m x1,,xm R d \mathbb{R}^d Rd中的 m m m个向量, 我们要将其映射到 R n \mathbb{R}^n Rn中(n<d). 我们需要一个矩阵 W ∈ R n , d W \in \mathbb{R}^{n, d} WRn,d将其映射过去:
x ↦ W x \mathbf{x} \mapsto W \mathbf{x} xWx
然后还需要一个矩阵 U ∈ R d , n U \in \mathbb{R}^{d, n} URd,n,可以用来恢复每一个向量的压缩版本,即对于一个压缩后的向量 y = W x \mathbf{y}=W \mathbf{x} y=Wx, 我们可以构造 x ~ = U y \tilde{\mathbf{x}}=U \mathbf{y} x~=Uy,使得 x ~ = U y \tilde{\mathbf{x}}=U \mathbf{y} x~=Uy位于原始高维空间 R d \mathbb{R}^d Rd, 且尽可能与原始向量之间的平方距离尽可能小,就是下面这样一个优化问题:
argmin ⁡ W ∈ R n , d , U ∈ R d , n ∑ i = 1 m ∥ x i − U W x i ∥ 2 2 \underset{W \in \mathbb{R}^{n, d}, U \in \mathbb{R}^{d, n}}{\operatorname{argmin}} \sum_{i=1}^m\left\|\mathbf{x}_i-U W \mathbf{x}_i\right\|_2^2 WRn,d,URd,nargmini=1mxiUWxi22
首先,我们证明解集一定满足下面这种形式:

U U U的列向量组是标准正交的,且 W W W U U U的转置矩阵。

在这里插入图片描述

证明可参见矩阵分析引理23.1,由于时间关系,先放一放。

上述结论说明,解集是引理23.1中满足条件的U,W组成的集合的子集。

于是,上述优化问题可以将搜索范围进一步缩小:
argmin ⁡ U ∈ R d , n : U ⊤ U = I ∑ i = 1 ∥ x i − U U ⊤ x i ∥ 2 2 . \underset{U \in \mathbb{R}^{d, n}: U^{\top} U=I}{\operatorname{argmin}} \sum_{i=1}\left\|\mathbf{x}_i-U U^{\top} \mathbf{x}_i\right\|_2^2 . URd,n:UU=Iargmini=1 xiUUxi 22.
上述目标函数可以化为:
在这里插入图片描述

由于矩阵的迹是一个线性算子,所以累加符号可以与迹运算进行交换,进一步将上述问题转化为:
argmax ⁡ U ∈ R d , n : U ⊤ U = I trace ⁡ ( U ⊤ ∑ i = 1 m x i x i ⊤ U ) \underset{U \in \mathbb{R}^{d, n}: U^{\top} U=I}{\operatorname{argmax}} \operatorname{trace}\left(U^{\top} \sum_{i=1}^m \mathbf{x}_i \mathbf{x}_i^{\top} U\right) URd,n:UU=Iargmaxtrace(Ui=1mxixiU)
A = ∑ i = 1 m x i x i ⊤ A=\sum_{i=1}^m \mathbf{x}_i \mathbf{x}_i^{\top} A=i=1mxixi, 那么问题则转化为:
argmax ⁡ U ∈ R d , n : U ⊤ U = I trace ⁡ ( U ⊤ A U ) \underset{U \in \mathbb{R}^{d, n}: U^{\top} U=I}{\operatorname{argmax}} \operatorname{trace}\left(U^{\top} A U\right) URd,n:UU=Iargmaxtrace(UAU)
如何求解该优化问题?首先要能够对目标函数进行计算:

可以验证矩阵A是对称矩阵,而对称矩阵是正规矩阵,正规矩阵又可以进行谱分解,写出其谱分解形式 A = V D V T A = VDV^T A=VDVT, 其中 D D D为对角阵,对角元素为 A A A的特征值, V V V为酉矩阵,即 V V T = V T V = I VV^T = V^TV = I VVT=VTV=I, 且 V V V的列向量组为 A A A的特征向量。


trace ⁡ ( U ⊤ A U ) = trace ⁡ ( U ⊤ V D V T U ) \operatorname{trace}\left(U^{\top} A U\right) =\operatorname{trace}\left(U^{\top}VDV^T U\right) trace(UAU)=trace(UVDVTU)

进行一个变量代换,令 B = V T U ∈ R d , n B = V^T U \in \mathbb{R}^{d,n} B=VTURd,n

于是,便有了下面的推导:

注:经过一下演算(通过半正定二次型的定义),可知 A A A是半正定矩阵,所以矩阵D的对角元素均非负。

主要思路是通过Von Neumann提出的埃尔米特半正定复方阵乘积的迹不等式。
在这里插入图片描述

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

在这里插入图片描述

8 幂等矩阵(idempotent matrix)

若一个矩阵是方阵,且矩阵的平方仍为自己,则称该方阵为幂等矩阵。(顾名思义,取幂仍为自己的矩阵称为幂等矩阵)

性质:

  • 幂等矩阵的迹等于幂等矩阵的秩。
  • 幂等矩阵要么相似于对角元全为1或者0的对角阵。(即对角阵的对角元的元素只能是0,1,不会出现其他值)。

9 Von Neumann’s 迹不等式 wiki链接

对于两个埃尔米特的n阶半正定复方阵A, 和B, 它们的特针织现在按照递减的顺序进行排列分别为 a 1 ≥ a 2 ≥ ⋯ ≥ a n a_1\ge a_2\ge\dots\ge a_n a1a2an b 1 ≥ ⋯ ≥ b n b_1\ge\dots\ge b_n b1bn,

则有 Tr ⁡ ( A B ) ≤ ∑ i = 1 n a i b i \operatorname{Tr}(A B) \leq \sum_{i=1}^n a_i b_i Tr(AB)i=1naibi

10 矩阵相似

如果两个矩阵相似,则这两个矩阵有相同的特征值。

11 矩阵的特征值与特征向量

对于一个n阶矩阵A来说,如果一个标量 λ \lambda λ和一个非零向量 x x x满足
A x = λ x , x ∈ C n , x ≠ 0 , λ ∈ C Ax = \lambda x, x\in C^n, x\ne 0, \lambda \in C Ax=λx,xCn,x=0,λC
λ \lambda λ称为A的一个特征值, x x x称为A属于 λ \lambda λ的特征向量。 ( λ , x ) (\lambda, x) (λ,x)是矩阵 A A A的一个特征对。

特征值和特征向量从来都是成对出现的。

12 正规矩阵

正规矩阵是非常重要的一类矩阵:它包括

酉矩阵、埃尔米特矩阵、斜埃尔米特矩阵(skew Hermitian)、实正交矩阵、实对称矩阵、实斜对称矩阵。

正规矩阵的定义: 如果一个n维矩阵A满足它和它的共轭转置矩阵是可交换的,则称该矩阵是正规矩阵。

正规矩阵的性质:

13 正定矩阵、半正定矩阵

有一类埃尔米特矩阵,它们有一个特殊的正的性质,它们自然地出现在很多应用中。带有这种正性的埃尔米特矩阵也将正数推广到了矩阵上。这个观察经常为正定矩阵的应用和性质提供了新的视角。下面一些例子也展现了这种特殊的埃尔米特矩阵的出现的方式。

例如 Hessian矩阵、协方差矩阵等。

正定矩阵

定义:称一个埃尔米特矩阵是正定的,如果对于任意的复数域上的非零向量,其二次型均为正数,则称该矩阵是正定矩阵。

同理,如果二次型为非负数,则称该矩阵为半正定矩阵。

参考文献

[1] https://math.stackexchange.com/questions/1902421/prove-that-the-trace-of-the-matrix-product-uau-is-maximized-by-setting-us

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

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

相关文章

Android studio 旧版本下载,NDK旧版本下载

记录一下旧版的ndk 和 Android studio 官方下载备份。 1.NDK 旧版本下载地址 下载地址&#xff1a;https://github.com/android/ndk/wiki/Unsupported-Downloads 2.Android studio 旧版本下载 下载地址 https://developer.android.com/studio/archive 如果出现以下页面 点击…

开源存储详解-分布式存储与ceph

ceph体系结构 rados&#xff1a;reliable, autonomous, distributed object storage, rados rados采用c开发 对象存储 ceph严格意义讲只提供对象存储能力&#xff0c;ceph的块存储能力实际是基于对象存储库librados的rbd 对象存储特点 对象存储采用put/get/delete&#xf…

Midjourney Imagine API 使用

Midjourney Imagine API 申请及使用 Midjourney 是一款非常强大的 AI 绘图工具&#xff0c;只要输入关键字&#xff0c;就能在短短一两分钟生成十分精美的图像。Midjourney 以其出色的绘图能力在业界独树一帜&#xff0c;如今&#xff0c;Midjourney 早已在各个行业和领域广泛…

docker从下载到Python项目打包到容器中运行(解决下拉超时问题)

docker安装&#xff08;如果第一步或者第二步没有成功&#xff0c;说明是你的镜像源有问题&#xff0c;私聊我获取镜像源&#xff09;镜像位置_/etc/yum.repos.d/CentOS-Base.repo sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/dock…

运算指令(PLC)

加 ADD 减 SUB 乘 MUL 除 DIV 浮点运算 整数运算

Linux高级--3.2.5 “外挂式”死锁监测设计

一、生活中“死锁”的场景 三个人&#xff0c;甲乙丙&#xff0c; 甲借了丙的钱&#xff0c;丙借了乙的钱&#xff0c;乙借了甲的钱。 甲找乙还钱&#xff0c;乙说&#xff1a;“别人还我 我就还你 ”&#xff0c;甲说&#xff1a;“好&#xff0c;那我等你” 乙找丙还钱&am…

图像去雾 | 基于Matlab的图像去雾系统(四种方法)

图像去雾 | 基于Matlab的图像去雾系统&#xff08;四种方法&#xff09; 目录 图像去雾 | 基于Matlab的图像去雾系统&#xff08;四种方法&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于Matlab的图像去雾系统&#xff08;四种方法&#xff09; 关于图像…

解决Vue中设置el-select的高度不生效问题

el-select是Element UI框架中的一个选择器组件&#xff0c;它允许用户从多个选项中选择一个或多个项目。但这里确存在一个小坑&#xff0c;我们可以看到直接修改el-select的高度是无法生效的 <template><div id"login"><el-select v-model"role…

嵌入式驱动开发详解8(阻塞/非阻塞/异步通信)

文章目录 前言阻塞非阻塞异步通知后续 前言 首先来回顾一下“中断”&#xff0c;中断是处理器提供的一种异步机制&#xff0c;我们配置好中断以后就 可以让处理器去处理其他的事情了&#xff0c;当中断发生以后会触发我们事先设置好的中断服务函数&#xff0c; 在中断服务函数…

人工智能之数学基础:向量内积以及应用

本文重点 向量的点积(Dot Product),又称数量积(Scalar Product)或内积,是线性代数中的一个重要概念。它接受两个向量作为输入,并返回一个实数作为输出。点积不仅在数学和物理学中有广泛应用,而且在人工智能领域也扮演着重要角色。 内积 在数学上,向量x和向量y的内积…

集线器,交换机,路由器,mac地址和ip地址知识记录总结

一篇很不错的视频简介 基本功能 从使用方面来说&#xff0c;都是为了网络传输的标识&#xff0c;和机器确定访问对象 集线器、交换机和路由器 常听到路由器和集线器&#xff0c;下面是区别&#xff1a; 集线器 集线器&#xff1a;一个简单的物理扩展接口数量的物理硬件。…

linux 逻辑卷挂盘

1.输入 sudo-i 转到root账号下。 2. 输入root密码后登录&#xff0c;输入parted -l &#xff0c;发现与以前的挂盘不一样&#xff0c;未挂的盘与系统盘在一起&#xff0c;都是/dev/vda里。 2.输入 lsblkr,查看逻辑分区的设备名称 3. 新增目录 mkdir /data 4. 尝试直接将逻辑分…

python23-常用的第三方库01:request模块-爬虫

requests 模块是 Python 中的一个第三方库&#xff0c;用于发送 HTTP 请求。 它提供了一个简单且直观的 API&#xff0c;使得发送网络请求和解析响应变得非常容易。requests 模块支持各种 HTTP 方法&#xff0c;如 GET、POST、PUT、DELETE 等&#xff0c;并且具有处理 cookies…

解释一下:运放的输入失调电流

输入失调电流 首先看基础部分:这就是同相比例放大器 按照理论计算,输入VIN=0时,输出VOUT应为0,对吧 仿真与理论差距较大,有200多毫伏的偏差,这就是输入偏置电流IBIAS引起的,接着看它的定义 同向和反向输入电流的平均值,也就是Ib1、Ib2求平均,即(Ib1+Ib2)/2 按照下面…

常规继承类对象大小

这个相对简单&#xff0c;只需要考虑类对象大小的累加和内存对齐 #include<iostream> using namespace std;class Base { public:int ma;int mb;char mc; };class Derive :public Base { public:int md; };class Derive2 :public Derive { public:int me; };int main() …

Scrum中敏捷项目经理(Scrum Master)扮演什么角色?

敏捷开发模式已经逐渐被主流的软件研发团队所接受&#xff0c;其中Scrum是最具代表性的敏捷方法之一。Scrum框架中有三个核心角色&#xff1a;Product Owner&#xff08;PO&#xff09;、Scrum Master&#xff08;SM&#xff09;和Development Team&#xff08;DT&#xff09;。…

[网络安全]数据安全领域关键技术总结

去标识计算技术 概念 去标识计算 (Differential Privacy) 是一种数据隐私保护技术&#xff0c;它可以在不暴露个人敏感信息的前提下进行统计分析&#xff0c;并保证对隐私的泄露控制在可承受的范围之内。 底层逻辑 基于差分隐私的去标识计算是指在计算处理中采用一些差分隐私…

手机租赁平台开发实用指南与市场趋势分析

内容概要 在当今快速变化的科技时代&#xff0c;手机租赁平台的发展如火如荼。随着越来越多的人希望使用最新款的智能手机&#xff0c;但又不愿意承担昂贵的购机成本&#xff0c;手机租赁平台应运而生。这种模式不仅为用户提供了灵活的选择&#xff0c;还为企业创造了新的商机…

【从零开始入门unity游戏开发之——C#篇42】C#补充知识——随机数(Random)、多种方法实现string字符串拼接、语句的简写

文章目录 一、随机数1、Random.Next()生成随机整数示例&#xff1a;生成一个随机整数生成指定范围内的随机整数 2、Random.NextSingle生成随机浮点数示例&#xff1a;生成随机浮点数 3、 生成随机字母或字符示例&#xff1a;生成随机字母示例&#xff1a;生成随机小写字母 二、…

overleaf写学术论文常用语法+注意事项+审阅修订

常用语法 导入常用的宏包 \usepackage{cite} \usepackage{amsmath,amssymb,amsfonts} \usepackage{algorithmic} \usepackage{algorithm} \usepackage{graphicx} \usepackage{subfigure} \usepackage{textcomp} \usepackage{xcolor} \usepackage{lettrine} \usepackage{booktab…