《PCA 原理推导》18-5线性变换生成的随机变量y_i和y_j的协方差 公式解析

本文是将文章《PCA 原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


公式 18 - 5 18\text{-}5 18-5 的内容如下:

cov ( y i , y j ) = a i T Σ a j , i , j = 1 , 2 , … , m \text{cov}(y_i, y_j) = a_i^T \Sigma a_j, \quad i, j = 1, 2, \dots, m cov(yi,yj)=aiTΣaj,i,j=1,2,,m


解释公式 18 - 5 18\text{-}5 18-5

背景与意义

公式 18 - 5 18\text{-}5 18-5 描述了通过线性变换生成的随机变量 y i y_i yi y j y_j yj 的协方差关系。在主成分分析(PCA)中,这个公式用于衡量不同主成分之间的线性相关性。

主成分分析的目标是寻找一组新的坐标轴(即主成分),使得这些轴之间相互正交(线性无关),从而消除原始数据中不同特征之间的相关性。这一过程依赖于协方差公式来分析线性相关性。


公式符号解析
  1. cov ( y i , y j ) \text{cov}(y_i, y_j) cov(yi,yj) 表示变换后随机变量 y i y_i yi y j y_j yj 的协方差。协方差反映了两个变量之间的线性相关性。如果协方差为零,说明这两个变量是线性无关的。

  2. Σ \Sigma Σ 表示原始随机向量 x x x 的协方差矩阵,定义为:
    Σ = E [ ( x − μ ) ( x − μ ) T ] \Sigma = \mathbb{E}[(x - \mu)(x - \mu)^T] Σ=E[(xμ)(xμ)T]

    它是一个 m × m m \times m m×m 的对称矩阵,描述了原始数据的各个特征之间的线性关系。

  3. a i , a j a_i, a_j ai,aj
    表示用于线性变换的权重向量,分别定义了第 i i i 和第 j j j 个主成分的方向。

  4. a i T Σ a j a_i^T \Sigma a_j aiTΣaj
    这是协方差矩阵 Σ \Sigma Σ 的二次型形式,表示将协方差矩阵作用于两个方向 a i a_i ai a j a_j aj 后得到的协方差值。


公式推导

假设通过线性变换得到的随机变量为:
y i = a i T x , y j = a j T x y_i = a_i^T x, \quad y_j = a_j^T x yi=aiTx,yj=ajTx

y i y_i yi y j y_j yj 的协方差定义为:
cov ( y i , y j ) = E [ ( y i − E ( y i ) ) ( y j − E ( y j ) ) ] \text{cov}(y_i, y_j) = \mathbb{E}[(y_i - \mathbb{E}(y_i))(y_j - \mathbb{E}(y_j))] cov(yi,yj)=E[(yiE(yi))(yjE(yj))]

  1. 代入 y i = a i T x y_i = a_i^T x yi=aiTx y j = a j T x y_j = a_j^T x yj=ajTx
    cov ( y i , y j ) = E [ ( a i T x − E ( a i T x ) ) ( a j T x − E ( a j T x ) ) ] \text{cov}(y_i, y_j) = \mathbb{E}[(a_i^T x - \mathbb{E}(a_i^T x))(a_j^T x - \mathbb{E}(a_j^T x))] cov(yi,yj)=E[(aiTxE(aiTx))(ajTxE(ajTx))]

  2. 利用期望的线性性质:
    由于 a i a_i ai a j a_j aj 是常量向量,可以将其从期望符号内提取出来:
    cov ( y i , y j ) = a i T E [ ( x − E ( x ) ) ( x − E ( x ) ) T ] a j \text{cov}(y_i, y_j) = a_i^T \mathbb{E}[(x - \mathbb{E}(x))(x - \mathbb{E}(x))^T] a_j cov(yi,yj)=aiTE[(xE(x))(xE(x))T]aj

  3. 协方差矩阵的定义:
    根据协方差矩阵的定义:
    Σ = E [ ( x − E ( x ) ) ( x − E ( x ) ) T ] \Sigma = \mathbb{E}[(x - \mathbb{E}(x))(x - \mathbb{E}(x))^T] Σ=E[(xE(x))(xE(x))T]

    将其代入上式:
    cov ( y i , y j ) = a i T Σ a j \text{cov}(y_i, y_j) = a_i^T \Sigma a_j cov(yi,yj)=aiTΣaj


几何意义
  1. 协方差的几何解释:

    • 公式 a i T Σ a j a_i^T \Sigma a_j aiTΣaj 描述了原始数据 x x x 在两个方向 a i a_i ai a j a_j aj 上的投影之间的线性相关性。
    • 如果协方差为零,即 cov ( y i , y j ) = 0 \text{cov}(y_i, y_j) = 0 cov(yi,yj)=0,说明 y i y_i yi y j y_j yj 是线性无关的(在 PCA 中,这对应于两个主成分是正交的)。
  2. PCA 中的作用:

    • PCA 的目标是通过选择一组正交的 a i a_i ai a j a_j aj,使得变换后的主成分 y i y_i yi y j y_j yj 的协方差为零(线性无关)。
    • 如果协方差不为零,说明 y i y_i yi y j y_j yj 之间存在某种线性相关性,需要重新调整主成分方向以消除这种相关性。

举例说明

假设数据 x x x 是二维随机向量,其协方差矩阵为:
Σ = [ 4 2 2 3 ] \Sigma = \begin{bmatrix} 4 & 2 \\ 2 & 3 \end{bmatrix} Σ=[4223]

选择两个方向向量:
a 1 = [ 1 0 ] , a 2 = [ 0 1 ] a_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \quad a_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix} a1=[10],a2=[01]

y 1 = a 1 T x y_1 = a_1^T x y1=a1Tx y 2 = a 2 T x y_2 = a_2^T x y2=a2Tx,它们的协方差为:
cov ( y 1 , y 2 ) = a 1 T Σ a 2 \text{cov}(y_1, y_2) = a_1^T \Sigma a_2 cov(y1,y2)=a1TΣa2

计算过程:

  1. 先计算 Σ a 2 \Sigma a_2 Σa2
    Σ a 2 = [ 4 2 2 3 ] [ 0 1 ] = [ 2 3 ] \Sigma a_2 = \begin{bmatrix} 4 & 2 \\ 2 & 3 \end{bmatrix} \begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 3 \end{bmatrix} Σa2=[4223][01]=[23]

  2. 再计算 a 1 T Σ a 2 a_1^T \Sigma a_2 a1TΣa2
    a 1 T Σ a 2 = [ 1 0 ] [ 2 3 ] = 2 a_1^T \Sigma a_2 = \begin{bmatrix} 1 & 0 \end{bmatrix} \begin{bmatrix} 2 \\ 3 \end{bmatrix} = 2 a1TΣa2=[10][23]=2

因此, y 1 y_1 y1 y 2 y_2 y2 的协方差为 2 2 2,说明它们之间存在相关性。


公式 18 - 5 18\text{-}5 18-5 的作用
  1. 衡量主成分之间的相关性:
    公式提供了一种计算变换后随机变量之间协方差的方法。
  2. 验证主成分的正交性:
    在 PCA 中,我们希望通过选择正交的方向向量 a i a_i ai a j a_j aj,使得协方差为零,从而消除主成分之间的相关性。
  3. 数学基础:
    公式直接体现了协方差矩阵的作用,它描述了原始数据特征之间的相关性如何通过线性变换传播到新特征空间。

总结

公式 18 - 5 18\text{-}5 18-5 描述了主成分之间的协方差,它是主成分分析的核心之一。通过选择合适的方向向量 a i a_i ai a j a_j aj,PCA 可以确保主成分彼此正交(协方差为零),从而实现降维和特征去相关的目标。这一公式体现了线性代数中二次型和协方差矩阵的深刻联系。

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

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

相关文章

数据结构(初阶4)---循环队列详解

循环队列 1.循环队列的结构  1).逻辑模式 2.实现接口  1).初始化  2).判断空和满  3).增加  4).删除  5).找头  6).找尾 3.循环队列的特点 1.循环队列的结构 1).逻辑模式 与队列是大同小异的, 其中还是有一个指向队列头的head指针, 也有一个指向尾…

C++知识点总结(57):STL综合

STL综合 一、数据结构1. 队列2. 映射 二、队列例题1. 约瑟夫环&#xff08;数据加强&#xff09;2. 打印队列3. 小组队列4. 日志统计 2.0 三、映射真题1. 眼红的 Medusa2. 美食评委 一、数据结构 1. 队列 功能代码定义queue<tp>q入队.push(x)出队.pop()队头.front()队尾…

java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?

大家好&#xff0c;我是锋哥。今天分享关于【java中volatile 类型变量提供什么保证&#xff1f;能使得一个非原子操作变成原子操作吗&#xff1f;】面试题。希望对大家有帮助&#xff1b; java中volatile 类型变量提供什么保证&#xff1f;能使得一个非原子操作变成原子操作吗&…

Python - 初识Python;Python解释器下载安装;Python IDE(一)

一、初识Python Python 是一种高级编程语言&#xff0c;Python是一种面向对象的解释型计算机程序设计语言&#xff0c;Python由荷兰国家数学与计算机科学研究中心的吉多范罗苏姆&#xff08;&#xff09;Guido van Rossum吉多范罗苏姆&#xff08;&#xff09;于1989 年底发明…

flink StreamGraph 构造flink任务

文章目录 背景主要步骤代码 背景 通常使用flink 提供的高级算子来编写flink 任务&#xff0c;对底层不是很了解&#xff0c;尤其是如何生成作业图的细节 下面通过构造一个有向无环图&#xff0c;来实际看一下 主要步骤 1.增加source 2.增加operator 3. 增加一条边&#xff0…

AR眼镜方案_AR智能眼镜阵列/衍射光波导显示方案

在当今AR智能眼镜的发展中&#xff0c;显示和光学组件成为了技术攻坚的主要领域。由于这些组件的高制造难度和成本&#xff0c;其光学显示模块在整个设备的成本中约占40%。 采用光波导技术的AR眼镜显示方案&#xff0c;核心结构通常由光机、波导和耦合器组成。光机内的微型显示…

六:从五种架构风格推导出HTTP的REST架构

在分布式系统中,架构风格(Architectural Style)决定了系统组件如何交互、通信、存储和管理数据。每种架构风格都有其独特的特性和适用场景。本文将从五种典型的架构风格出发,逐步探讨它们如何影响了REST(Representational State Transfer,表述性状态转移)架构风格的设计…

星辰资讯 | TiDB v7.5.4 v8.4.0 发版

作者&#xff1a; ShawnYan 原文来源&#xff1a; https://tidb.net/blog/6e299751 TiDB 8.4.0 DMR 发版 11 月 11 日&#xff0c;TiDB 8.4.0 版本发布&#xff0c;以下是该版本的一些关键特性和改进&#xff1a; 性能 分区表全局索引成为正式功能 &#xff1a;提高检索…

Python 打包教程:从零开始构建可分发的Python包

Python 打包教程&#xff1a;从零开始构建可分发的Python包 引言 在Python开发中&#xff0c;打包是一个重要的环节。无论是共享代码、发布库还是部署应用&#xff0c;创建一个可分发的Python包都是必不可少的步骤。本文将详细介绍如何打包Python项目&#xff0c;涵盖从基础知…

大模型基础BERT——Transformers的双向编码器表示

大模型基础BERT——Transformers的双向编码器表示 整体概况 BERT&#xff1a;用于语言理解的深度双向Transform的预训练 论文题目&#xff1a;BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Bidirectional Encoder Representations from…

Python教程笔记(2)

Python教程 5.1 列表详解5.1.3 列表推导式5.1.4 嵌套的列表推导式 5.7 深入条件控制6.1 模块详解6.3 dir()7.1 格式化字符串字面值7.1.3 手动格式化字符串 7.2 读写文件 5.1 列表详解 Python 中所有可变数据结构返回值为None。实现队列最好用 collections.deque。 5.1.3 列表…

DAHL:利用由跨越 29 个类别的 8,573 个问题组成的基准数据集,评估大型语言模型在生物医学领域长篇回答的事实准确性。

2024-11-14&#xff0c;由首尔国立大学创建的DAHL数据集&#xff0c;为评估大型语言模型&#xff08;LLMs&#xff09;在生物医学领域长文本生成中的幻觉问题提供了一个重要的工具&#xff0c;这对于提高模型的准确性和可靠性具有重要意义。 数据集地址&#xff1a;DAHL|生物医…

GStreamer 简明教程(九):Seek 与跳帧

系列文章目录 GStreamer 简明教程&#xff08;一&#xff09;&#xff1a;环境搭建&#xff0c;运行 Basic Tutorial 1 Hello world! GStreamer 简明教程&#xff08;二&#xff09;&#xff1a;基本概念介绍&#xff0c;Element 和 Pipeline GStreamer 简明教程&#xff08;三…

【微软:多模态基础模型】(1)从专家到通用助手

欢迎关注【youcans的AGI学习笔记】原创作品 【微软&#xff1a;多模态基础模型】&#xff08;1&#xff09;从专家到通用助手 【微软&#xff1a;多模态基础模型】&#xff08;2&#xff09;视觉理解 【微软&#xff1a;多模态基础模型】&#xff08;3&#xff09;视觉生成 【微…

GRE做题笔记(零散的个人经验)

locomotive机车By 1813, the Luddite resistance had all but vanished. all but表示“几乎完全”的程度&#xff0c;或者表示排除piston活塞attributed to 归因于how a sportsperson accounted for their own experience of stress 运动员如何解释自己的压力经历 &#xff0c;…

【蓝桥杯算法】Java的基础API

1. BigInteger 的使用 1.1. 判素数 package 模板;import java.math.BigInteger; import java.util.Scanner;public class 判素数 {static Scanner in new Scanner(System.in);public static void main(String[] args) {int q in.nextInt();while (q-- > 0) {BigInteger …

【项目实战】基于 LLaMA-Factory 通过 LoRA 微调 Qwen2

【项目实战】基于 LLaMAFactory 通过 LoRA 微调 Qwen2 一、项目介绍二、环境准备1、环境准备2、安装LLaMa-Factory3、准备模型数据集3.1 模型准备3.2 数据集准备 三、微调1、启动webui2、选择参数3、训练 四、测试五、总结 一、项目介绍 LLaMA-Factory是一个由北京航空航天大学…

数据仓库在大数据处理中的作用

数据仓库&#xff08;Data Warehouse&#xff0c;简称DW或DWH&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。以下是对数据仓库及其在大数据处理中作用的详细解释&#xff1a; 一、数据仓库的定义 面向主题&#x…

第23课-C++-红黑树的插入与旋转

&#x1f307;前言 红黑树是一种自平衡的二叉搜索树&#xff0c;因其出色的性能&#xff0c;广泛应用于实际中。Linux 内核中的 CFS 调度器便是一个使用红黑树的例子&#xff0c;这足以说明它的重要性。红黑树的实现通过红黑两种颜色的控制来维持平衡&#xff0c;并在必要时使…

基于 CentOS7.6 的 Docker 下载常用的容器(MySQLRedisMongoDB),解决拉取容器镜像失败问题

安装MySQL&Redis&MongoDB mysql选择是8版本&#xff0c;redis是选择4版本、mongoDB选择最新版&#xff0c;也可以根据自己的需要进行下载对应的版本&#xff0c;无非就是容器名:版本号 这样去拉去相关的容器镜像。如果你还不会在服务器中安装 docker&#xff0c;可以查…