PCA 原理推导

针对高维数据的降维问题,PCA 的基本思路如下:首先将需要降维的数据的各个变量标准化(规范化)为均值为 0,方差为 1 的数据集,然后对标准化后的数据进行正交变换,将原来的数据转换为若干个线性无关向量表示的新数据:这些新向量表示的数据不仅要求相互线性无关,而且需要所包含的信息量最大。PCA 的一个示例如图 18-1 所示。
图 18-1 PCA 示例
  图 18-1 中,左图是一组由变量 x 1 x_1 x1 x 2 x_2 x2 表示的二维空间,数据分布于图中椭圆形区域内,能够看到,变量 x 1 x_1 x1 x 2 x_2 x2 存在一定的相关关系;右图是对数据进行正交变换后的数据坐标系中,向变量 y 1 y_1 y1 y 2 y_2 y2 表示。为了使得变换后的信息量最大,PCA 使用方差最大的方向作为新坐标系的第一坐标轴 y 1 y_1 y1,方差第二大的作为第二坐标轴 y 2 y_2 y2

PCA 使用方差衡量新变量的信息量大小,按照方差大小排序依次为第一主成分、第二主成分、⋯⋯,下面对 PCA 原理进行简单推导。

假设原始数据为 m 维随机变量 x = ( x 1 , x 2 , ⋯ , x m ) ⊤ x = (x_1, x_2, \cdots, x_m)^\top x=(x1,x2,,xm),其均值向量 μ = E ( x ) = ( μ 1 , μ 2 , ⋯ , μ m ) ⊤ \mu = E(x) = (\mu_1, \mu_2, \cdots, \mu_m)^\top μ=E(x)=(μ1,μ2,,μm),协方差矩阵为:

Σ = cov ⁡ ( x , x ) = E [ ( x − μ ) ( x − μ ) ⊤ ] (18-1) \Sigma = \operatorname{cov}(x, x) = E \left[ (x - \mu)(x - \mu)^\top \right] \tag{18-1} Σ=cov(x,x)=E[(xμ)(xμ)](18-1)

由 m 维随机变量 x x x 到 m 维随机变量 y = ( y 1 , y 2 , ⋯ , y m ) ⊤ y = (y_1, y_2, \cdots, y_m)^\top y=(y1,y2,,ym) 的线性变换:

y i = a i ⊤ x = a i 1 x 1 + a i 2 x 2 + ⋯ + a i m x m (18-2) y_i = a_i^\top x = a_{i1} x_1 + a_{i2} x_2 + \cdots + a_{im} x_m \tag{18-2} yi=aix=ai1x1+ai2x2++aimxm(18-2)

其中 a i ⊤ = ( a i 1 , a i 2 , ⋯ , a i m ) a_i^\top = (a_{i1}, a_{i2}, \cdots, a_{im}) ai=(ai1,ai2,,aim)

经线性变换后的随机变量 y i y_i yi 的均值、方差和协方差统计量可以表示为:

E ( y i ) = a i ⊤ μ , i = 1 , 2 , ⋯ , m (18-3) E(y_i) = a_i^\top \mu, \quad i = 1, 2, \cdots, m \tag{18-3} E(yi)=aiμ,i=1,2,,m(18-3)

var ⁡ ( y i ) = a i ⊤ Σ a i , i = 1 , 2 , ⋯ , m (18-4) \operatorname{var}(y_i) = a_i^\top \Sigma a_i, \quad i = 1, 2, \cdots, m \tag{18-4} var(yi)=aiΣai,i=1,2,,m(18-4)

cov ⁡ ( y i , y j ) = a i ⊤ Σ a j , i , j = 1 , 2 , ⋯ , m (18-5) \operatorname{cov}(y_i, y_j) = a_i^\top \Sigma a_j, \quad i, j = 1, 2, \cdots, m \tag{18-5} cov(yi,yj)=aiΣaj,i,j=1,2,,m(18-5)

当随机变量 x x x 到随机变量 y y y 的线性变换满足如下条件时,变换后的 y 1 , y 2 , ⋯ , y m y_1, y_2, \cdots, y_m y1,y2,,ym 分别为随机变量 x x x 的第一主成分、第二主成分、⋯⋯、第 m 主成分。

  1. 线性变换的系数向量 a i a_i ai 为单位向量,有 a i ⊤ a i = 1 , i = 1 , 2 , ⋯ , m a_i^\top a_i = 1, \ i = 1, 2, \cdots, m aiai=1, i=1,2,,m
  2. 线性变换后的变量 y i y_i yi y j y_j yj 线性无关,即 cov ⁡ ( y i , y j ) = 0 ( i ≠ j ) \operatorname{cov}(y_i, y_j) = 0(i \neq j) cov(yi,yj)=0(i=j)
  3. 变量 y i y_i yi 是随机变量 x x x 所有线性变换中方差最大的, y 2 y_2 y2 是与 y 1 y_1 y1 无关的所有线性变换中方差最大的。

上述三个条件给出了求解主成分的基本方法。根据优化目标和约束条件,我们可以使用拉格朗日乘子法来求解主成分。下面以第一主成分为例进行求解推导。第一主成分的优化问题的数学表达为:

max ⁡ a 1 ⊤ Σ a 1 (18-6) \max \quad a_1^\top \Sigma a_1 \tag{18-6} maxa1Σa1(18-6)

s . t . a 1 ⊤ a 1 = 1 (18-7) s.t. \quad a_1^\top a_1 = 1 \tag{18-7} s.t.a1a1=1(18-7)

定义拉格朗日目标函数如下:

L = a 1 ⊤ Σ a 1 − λ ( a 1 ⊤ a 1 − 1 ) (18-8) L = a_1^\top \Sigma a_1 - \lambda (a_1^\top a_1 - 1) \tag{18-8} L=a1Σa1λ(a1a11)(18-8)

将式 (18-8) 的拉格朗日函数对 a 1 a_1 a1 求导并令其为 0,有:

∂ L ∂ a 1 = Σ a 1 − λ a 1 = 0 (18-9) \frac{\partial L}{\partial a_1} = \Sigma a_1 - \lambda a_1 = 0 \tag{18-9} a1L=Σa1λa1=0(18-9)

根据矩阵特征值与特征向量的关系,由式 (18-9) 可知 λ \lambda λ Σ \Sigma Σ 的特征值, a 1 a_1 a1 为对应的单位特征向量。假设 a 1 a_1 a1 Σ \Sigma Σ 的最大特征值 λ 1 \lambda_1 λ1 对应的单位特征向量,那么 a 1 a_1 a1 λ 1 \lambda_1 λ1 均为上述优化问题的最优解。所以 a 1 T x a_1^Tx a1Tx 为第一主成分,其方差为对应协方差矩阵的最大特征值:

var ⁡ ( a 1 ⊤ x ) = a 1 ⊤ Σ a 1 = λ 1 (18-10) \operatorname{var}(a_1^\top x) = a_1^\top \Sigma a_1 = \lambda_1 \tag{18-10} var(a1x)=a1Σa1=λ1(18-10)

这样,第一主成分的推导就完成了。同样的方法可用来求解第 k 主成分,第 k 主成分的方差的特征值为:

var ⁡ ( a k ⊤ x ) = a k ⊤ Σ a k = λ k , k = 1 , 2 , ⋯ , m (18-11) \operatorname{var}(a_k^\top x) = a_k^\top \Sigma a_k = \lambda_k, \quad k = 1, 2, \cdots, m \tag{18-11} var(akx)=akΣak=λk,k=1,2,,m(18-11)

最后,梳理一下 PCA 的计算流程:

  1. 对 m 行 n 列的数据 X 先按照均值为 0,方差为 1 进行标准化处理;
  2. 计算标准化后的 X 的协方差矩阵 C = 1 n X X ⊤ C = \frac{1}{n} XX^\top C=n1XX
  3. 计算协方差矩阵 C C C 的特征值和对应的特征向量;
  4. 将特征向量按照对应的特征值大小排序组成矩阵,取前 k 行构成的矩阵 P P P
  5. 计算 Y = P X Y = PX Y=PX 即可得到经过 PCA 降维后的 k 维数据。

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

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

相关文章

河道无人机雷达测流监测系统由哪几部分组成?

在现代水利管理中,河道无人机雷达监测系统正逐渐成为一种重要的工具,为河道的安全和管理提供了强大的技术支持。那么,这个先进的监测系统究竟由哪几部分组成呢? 河道无人机雷达监测系统工作原理 雷达传感器通过发射电磁波或激光束…

DDRPHY数字IC后端设计实现系列专题之数字后端floorplanpowerplan设计

3.2.3 特殊单元的布局 布图阶段除了布置 I/O 单元和宏单元,在 28nm 制程工艺时,还需要处理两种特 殊的物理单元,Endcap 和 Tapcell。 DDRPHY数字IC后端设计实现系列专题之后端设计导入,IO Ring设计 (1)拐…

实现金蝶云与MySQL的无缝数据集成

金蝶云与MySQL的费用申请单数据集成案例 金蝶云星空数据集成到MySQL的技术案例分享 在企业信息化系统中,数据的高效流转和准确对接是业务顺利运行的关键。本文将聚焦于一个具体的系统对接集成案例:如何通过轻易云数据集成平台,将金蝶云星空中…

Flink Source 详解

Flink Source 详解 原文 flip-27 FLIP-27 介绍了新版本Source 接口定义及架构 相比于SourceFunction,新版本的Source更具灵活性,原因是将“splits数据获取”与真“正数据获取”逻辑进行了分离 重要部件 Source 作为工厂类,会创建以下两…

Android Settings 单元测试 | 如何运行单元测试?

背景 在Android Settings 单元测试 | Telephony Network 模块 APN 案例中粗略介绍了单元测试逻辑内容,但是在独立APK里面如何将单元测试跑起来还是有疑问,因为APP不能直接install,无法借助Android Studio直接Run,在安装的一步会报…

【Qt聊天室】客户端实现总结

目录 1. 项目概述 2. 功能实现 2.1 主窗口设计 2.2 功能性窗口 2.3 主界面功能实现 2.4 聊天界面功能实现 2.5 个人信息功能开发 2.6 用户信息界面设置功能 2.7 单聊与群聊 2.8 登录窗口 2.9 消息功能 3. 核心设计逻辑 3.1 核心类 3.2 前后端交互与DataCenter 4…

行业类别-智能制造-子类别工业4.0-细分类别物联网应用-应用场景智能工厂建设

1.大纲分析 针对您提出的题目“4.0 行业类别-智能制造-子类别工业4.0-细分类别物联网应用-应用场景智能工厂建设”,以下是一个详细的大纲分析,旨在深入探讨该应用场景下的各个方面: 一、引言 智能制造与工业4.0概述 智能制造的定义与发展趋…

【异常记录】Junitmock之InvalidUseOfMatchersException异常

mock之InvalidUseOfMatchersException异常 新手小白对mock一知半解,就开始自测了,被这个InvalidUseOfMatchersException困扰了一晚上。排查了好久,大多数文章都把英文翻译了一遍,但自检无问题。最后发现是,注入的时候…

将多张图片按照顺序合并成一个PDF文件

刚开始合并没有顺序,合并成了一个指定文件了,但排序是乱的。 import os from PIL import Imagedef folder_to_pdf(folder_path, output_path):image_paths []for file_name in os.listdir(folder_path):if file_name.endswith((jpg, jpeg, png)):image…

普通电脑上安装属于自己的Llama 3 大模型和对话客户端

#大模型下载地址:# Llama3 因为Hugging Face官网正常无法访问,因此推荐国内镜像进行下载: 官网地址:https://huggingface.co 国内镜像:https://hf-mirror.com GGUF 模型文件名称接受,如上述列表中&…

实用且免费的 IP 地域查询 API 接口推荐

实用且免费的 IP 地域查询 API 接口推荐 在日常开发中,IP 地域查询是一个常见需求。最近无意间发现一个实用的 IP 地域查询 API,目前是免费的,未来是否收费尚不可知,但在当前情况下非常值得推荐。 API 地址示例: ht…

java瑞吉外卖

环境搭建 一、数据库环境搭建 1.新建数据库reggie&#xff0c;这里字符集一般用utf8mb4&#xff0c;排序规则一般用utf8mb4_general_ci或utf8mb4_unicode_ci 2.然后导入表结构 二、创建springboot工程 然后检查maven仓库设置&#xff0c;jdk 这是我的pom.xml文件 <?xml …

提高 RAG 生成准确性

提高 RAG 生成准确性&#xff1a;详细优化策略与具体示例 1. 优化检索模块&#xff1a;提高检索的相关性与准确性 在 RAG 中&#xff0c;检索模块&#xff08;Retriever&#xff09;用于从大量文档中选择相关内容。如果检索模块选择的文档与问题不匹配&#xff0c;生成的答案…

App Store用户评论如何影响ASO优化

您是否专注于提高应用的知名度&#xff0c;并想知道应用商店评分和用户评论如何发挥作用&#xff1f;应用商店用户评论和评分对于塑造应用的成功至关重要&#xff0c;并且可以显著影响您的应用商店优化 (ASO) 策略。本文提供了利用这些元素为您带来优势的见解和策略。 如今&…

我谈二值形态学基本运算——腐蚀、膨胀、开运算、闭运算

Gonzalez从集合角度定义膨胀和腐蚀&#xff0c;不易理解。 Through these definitions, you can interpret dilation and erosion as sliding neighborhood operations analogous to convolution (or spatial filtering). 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向…

狼蛛F87Pro键盘常用快捷键的使用说明

基础调节 1、FN ESC &#xff1a;恢复默认 2、FN ~ &#xff1a;2.4G对码 3、FN 1 &#xff1a;蓝牙设备1# 4、FN 2 &#xff1a;蓝牙设备2# 5、FN 3 &#xff1a;蓝牙设备3# 6、FN Q &#xff1a;Android系统 7、FN W &#xff1a;Windows系统 8、FN E &#x…

深入解析 CentOS 7 上 MySQL 8.0 的最佳实践20241112

深入解析 CentOS 7 上 MySQL 8.0 的最佳实践 随着现代数据库应用需求的快速增长&#xff0c;MySQL 8.0 成为许多企业和开发者的首选数据库管理系统。其性能改进、增强的安全特性以及强大的兼容性&#xff0c;使其在现代架构中占据重要地位。本篇博客将基于实践经验&#xff0c…

【AIGC】如何通过ChatGPT提示词Prompt定制个性学习计划

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;提示词&#x1f4af;配置信息使用方法 &#x1f4af;指令/language/plan/start/test/continue/config &#x1f4af;小结 &#x1f4af;前言 在这篇文章中…

深入探索React合成事件(SyntheticEvent):跨浏览器的事件处理利器

标题&#xff1a;深入探索React合成事件&#xff08;SyntheticEvent&#xff09;&#xff1a;跨浏览器的事件处理利器 引言 在React的世界里&#xff0c;事件处理是构建交互式应用的核心。React的合成事件&#xff08;SyntheticEvent&#xff09;是React事件系统的一部分&…

效益登记册效益管理计划

效益登记册 benefit Register效益管理计划效益登记册汇集并列出项目集计划的效益&#xff0c;用于在项目集的整个持续时间内测量和沟通效益的交付。在效益识别阶段&#xff0c;效益登记册根据项目集商业论证、组织战略计划和其他相关项目集自标而编制。随后&#xff0c;登记册由…