主成分分析系列(二)为什么特征向量是主成分

news2025/1/10 2:36:23

在主成分分析系列(一)概览及数据为何要中心化这篇文章中介绍了PCA算法的大概想法及数据为何要中心化,在这篇文章具体推导PCA算法的过程。

1. 首先 PCA 最原始的想法是:

  • V \mathbf{V} V d {d} d线性空间(即 R d \mathbb{R}^d Rd), W \mathbf{W} W V \mathbf{V} V k k k线性子空间 k < d k<d k<d)。在 W \mathbf{W} W 中找到数据 D = { x 1 , x 2 , … x n } \mathbf{D}=\{ \mathbf{x_1},\mathbf{x_2},\dots \mathbf{x_n} \} D={x1,x2,xn} 最准确的表达。 x i ∈ R d , i = 1 , … , n \mathbf{x_i} \in \mathbb{R}^d, i = 1,\dots,n xiRd,i=1,,n

  • 一组 d d d 维向量 { e 1 , e 2 , … , e k } \{\mathbf {e_1,e_2,…,e_k}\} {e1,e2,,ek},它形成 W \mathbf {W} W的一组正交基 。在 W \mathbf{W} W空间中的任何向量都可以被表示为 ∑ i = 1 k α i e i \sum_{i=1}^{k}\alpha_i \mathbf{e}_{i} i=1kαiei

  • 那么向量 x 1 \mathbf{x_1} x1可以被表示为
    ∑ i = 1 k α 1 i e i \sum_{i=1}^{k}\alpha_{1i} \mathbf{e}_{i} i=1kα1iei

  • 针对向量 x 1 \mathbf{x_1} x1,误差为
    e r r o r = ∥ x 1 − ∑ i = 1 k α 1 i e i ∥ 2 \mathbf{error} = \Vert \mathbf{x_1}-\sum_{i=1}^{k}\alpha_{1i} \mathbf{e}_{i} \Vert^2 error=x1i=1kα1iei2
    在这里插入图片描述
    所以,接下来,我们要把所有的 e r r o r \mathbf{error} error 加和,每个 x j \mathbf{x_j} xj 可以表示为
    x j = ∑ i = 1 k α j i e i \mathbf{x_j}=\sum_{i=1}^{k}\alpha_{ji} \mathbf{e}_{i} xj=i=1kαjiei

那么所有的误差是:
在这里插入图片描述
为了求得 J \mathbf{J} J 的最小值,我们需要求相关的偏导数,也需要限制 { e 1 , e 2 , … , e k } \{\mathbf {e_1,e_2,…,e_k}\} {e1,e2,,ek}是正交向量。

2. 让我们先化简 J \mathbf{J} J的表达:

在这里插入图片描述
注意,下面 x j t \mathbf{x_j}^t xjt 右上角的 t 表示向量的转置。

在这里插入图片描述

3. 求偏导

α ∗ ∗ \alpha_{**} α∗∗ 求偏导, α ∗ ∗ \alpha_{**} α∗∗的下标取 m l ml ml,即 α m l \alpha_{ml} αml
在这里插入图片描述

因此,针对 α m l \alpha_{ml} αml 的最优点是
在这里插入图片描述

α m l = x m t e l \alpha_{ml}=\mathbf{x_m}^t\mathbf{e_l} αml=xmtel回代 J \mathbf{J} J的表达式
得到
在这里插入图片描述

得到
在这里插入图片描述

J \mathbf{J} J 表达式的后半部分 重写成下面的形式
( a t b ) 2 = ( a t b ) ( a t b ) = ( b t a ) ( a t b ) = b t ( a a t ) b (\mathbf{a}^{t}\mathbf{b})^{2}=(\mathbf{a}^{t}\mathbf{b})(\mathbf{a}^{t}\mathbf{b})=(\mathbf{b}^{t}\mathbf{a})(\mathbf{a}^{t}\mathbf{b})=\mathbf{b}^{t}(\mathbf{a}\mathbf{a}^{t})\mathbf{b} (atb)2=(atb)(atb)=(bta)(atb)=bt(aat)b

在这里插入图片描述
其中, S \mathbf{S} S 等于
S = ∑ j = 1 n x j x j t \mathbf{S}=\sum_{j=1}^{n}\mathbf{x}_j\mathbf{x}_j^t S=j=1nxjxjt
S \mathbf{S} S 被称为 scatter 矩阵,它只不过是 n − 1 n-1 n1乘上样本协方差矩阵 Σ ^ \hat{\Sigma} Σ^
在这里插入图片描述
此时,
在这里插入图片描述
那么最 J \mathbf{J} J 等价于最
在这里插入图片描述

4. 拉格朗日乘子法

同时,因为前文假设 e i \mathbf{e_i} ei是正交单位向量, 也要限制所有
e i t e i = 1 , i = 1 , … , n \mathbf{e}_{i}^t\mathbf{e}_{i} =1 ,\quad i=1,\dots,n eitei=1,i=1,,n
使用拉格朗日乘子法,对所有的限制使用相应的 λ 1 , … , λ k \lambda_1,\dots,\lambda_k λ1,,λk
现在,我们需要最小化新的优化函数
在这里插入图片描述
求关于 e m \mathbf{e}_m em的所有的偏导数:
在这里插入图片描述
所以, λ m \lambda_m λm e m \mathbf{e}_m em 分别是 scatter矩阵 S \mathbf{S} S特征值特征向量
在这里插入图片描述

e m \mathbf{e}_m em 回代下式
在这里插入图片描述
而且使用推导结论: S e m = λ m e m \mathbf{S}\mathbf{e}_m=\lambda_m\mathbf{e}_m Sem=λmem
可以得到
在这里插入图片描述
因此,为了最小化 J \mathbf{J} J,将 S \mathbf{S} S k k k 个特征向量对应于 k k k 个最大特征值作为 W \mathbf{W} W 的基底。

  • S \mathbf{S} S的特征值越大,对应特征向量方向的方差越大。注意,这个结论还没证明,在下面一篇文章给出证明,先假设这个结论是正确的。

直观地,从在主成分分析系列(一)概览及数据为何要中心化这篇文章中例子来看,
在这里插入图片描述
这个结果正是我们所期望的:将 x \mathbf{x} x 投影到方差最大的 k k k 维子空间中
这是非常直观的:将注意力限制在分散最大的方向上。

因此,PCA 可以被认为是通过旋转旧轴(因为轴需要满足过原点,相互正交地限制)来寻找新的正交基,直到找到最大方差的方向。
在这里插入图片描述

5.PCA用作数据逼近

{ e 1 , e 2 , … , e d } \{\mathbf {e_1,e_2,…,e_d}\} {e1,e2,,ed}是 scatter 矩阵 S \mathbf{S} S 的所有特征向量,并且是按照它们对应的特征值大小降序排列的。那么
不需要任何近似,任何的样本 x i \mathbf{x_i} xi都能写成
在这里插入图片描述
系数 α m = x i t e m \alpha_m=\mathbf{x}_i^{t}\mathbf{e}_m αm=xitem被称作主成分(principle component )

  • k k k 越大,近似越好
  • 成分是按照重要性排序的,越重要的越放在前面。
    因此 PCA 将 x i \mathbf{x}_i xi 的前 ¥k$ 个最重要的分量作为 x i \mathbf{x}_i xi的近似值

6.最后一步

现在我们已经知道如何投影数据,最后一步是改变坐标以获得最终的 k k k维向量 y \mathbf{y} y
在这里插入图片描述
令矩阵
在这里插入图片描述
则坐标变换是
在这里插入图片描述
E t \mathbf{E}_t Et 下,特征向量成为标准基:

在这里插入图片描述

7. PCA算法的流程

在这里插入图片描述

8. PCA算法的例子

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

9. PCA 算法的缺点

  • PCA 旨在准确表示数据,而不是数据分类。
  • 然而,最大方差的方向对于分类可能是无用的
    在这里插入图片描述

参考文献

Introduction to Statistical Machine Learning
Lecture 2
Anders Eriksson
School of Computer Science
University of Adelaide, Australia

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

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

相关文章

python项目导入导出依赖包

1. 导出所有依赖包 进入项目路径&#xff0c;执行以下命令&#xff1a; pip freeze > requirements.txt然后在当前目录是可以看到生成“requirements.txt”文件&#xff0c;可以打开看看&#xff0c;会发现有很多个包信息&#xff0c;其实这里是把你当前python环境的所有包…

如何编写一个含有抄底信号的副图指标

如果你作为通达信软件源代码的程序维护员&#xff0c;如何编写一个含有抄底提示的副图指标&#xff1f;请看下面的的示例教程。(python语言) python # 导入所需的库 import talib # 计算移动平均线 def moving_average(data, period): ma talib.SMA(data, timeperiodperio…

江苏一学霸,高考居然考了0分,老师们调取了监控后,才发现真相

学校里的学霸&#xff0c;李明&#xff0c;一直以来都是大家羡慕的对象。他聪明伶俐&#xff0c;学习优秀&#xff0c;每次考试都能轻松取得满分。而这次高考&#xff0c;他的成绩却让所有人大跌眼镜——零分&#xff01;这个让人难以置信的结果引发了全校师生的困惑和疑问。 在…

还傻傻搞不懂MySQL事务隔离级别么(图文并茂,保证你懂!)

本文首发于公众号【看点代码再上班】&#xff0c;欢迎围观&#xff0c;第一时间获取最新文章。 原文&#xff1a;还傻傻搞不懂MySQL事务隔离级别么&#xff08;图文并茂&#xff0c;保证你懂&#xff01;&#xff09; 大家好&#xff0c;我是tin&#xff0c;这是我的第25篇原创…

MySQL 服务无法启动

问题场景&#xff1a; 启动mysql&#xff1a;net start mysql 临时解决办法&#xff1a; tasklist| findstr "mysql"taskkill/f /t /im mysqld.exemysqld --console重新打开一个cmd测试连接mysql 永久解决办法&#xff1a; 找到Mysql的根目录&#xff0c;删除dat…

云原生时代,如何通过极狐GitLab x KubeSphere 构建安全应用?

目录 DevSecOps 是什么&#xff1f;如何帮助我们打造云原生安全生态&#xff1f; 如何寻找云原生 DevSecOps 落地切入点&#xff1f; 第一层&#xff1a;K8s 安全 第二层&#xff1a;容器镜像安全 第三层&#xff1a;应用程序安全 这么多安全功能&#xff0c;如何去实现落…

RISCV Reader笔记_5 RV32A,RV32C

原子指令 RV32A 是 RISCV 支持原子操作的扩展。主要有两种实现方式&#xff1a;内存原子操作&#xff08;AMO&#xff09;&#xff0c;加载保留/条件存储&#xff08;load reserved / store conditional&#xff09; AMO&#xff1a;一个处理器对内存的操作不会被打断&#xf…

数据库建表之外键关联

0前言 摘自某一段记事&#xff1a;   在实际的开发中&#xff0c;必然遇到“编辑操作”&#xff0c;而编辑操作&#xff0c;看似简单&#xff0c;实则其影响面甚广。本着设计的“贯穿性”和逻辑一致性&#xff0c;本文将按照&#xff0c;创建基础表的字段建议&#xff0c;创…

STM32 Proteus UCOSII系统水塔鱼缸水位控制系统-0052

STM32 Proteus UCOSII系统水塔鱼缸水位控制系统-0052 Proteus仿真小实验&#xff1a; STM32 Proteus UCOSII系统水塔鱼缸水位控制系统-0052 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 LCD1602显示器多个按键&#xff08;注水、排水&#xff09;驱动电路电位…

HOT32-复制带随机指针的链表

leetcode原题链接&#xff1a;复制带随机指针的链表 题目描述 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xf…

企业如何判断是否选择CRM系统?

如今&#xff0c;以客户为中心的观点已经被广泛认可&#xff0c;想要建立以客户为中心的战略离不开CRM客户关系管理系统的应用&#xff0c;企业什么时候需要CRM&#xff1f;附CRM软件的选购指南。当企业出现这4点问题的时候证明是时候部署CRM了。 1.客户资料散乱 通常每个业务…

【结构型设计模式】桥接模式

一、写在前面 桥接模式&#xff08;Bridge&#xff09;&#xff1a;桥接模式是一种结构型设计模式&#xff0c;其目的是将抽象部分和实现部分分离&#xff0c;允许它们可以独立地变化。该模式通过创建一个桥接类&#xff0c;连接抽象和实现&#xff0c;使得它们可以独立地进行…

【前端|CSS系列第3篇】CSS盒模型、浮动及定位

在前端开发中&#xff0c;CSS是一项重要的技术&#xff0c;用于控制网页的样式和布局。在本系列的第三篇文章中&#xff0c;我们将学习CSS的盒模型、浮动以及定位&#xff0c;这些概念和技术在页面布局中起着至关重要的作用。通过本文的学习&#xff0c;希望能够帮助大家更好地…

阿里云远程仓库环境安装

记录一些基本的命令&#xff1a; 一、apt-get&#xff0c;是一条linux命令&#xff0c;适用于deb包管理式的操作系统&#xff08;例如Ubuntu系统&#xff09;&#xff0c;主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 // 常用命令&#xff1a; ap…

沐风老师3DMAX虚线对象插件Dashed使用方法详解

3DMAX虚线对象插件Dashed教程 Dashed虚线对象插件&#xff0c;用于沿拾取路径创建虚线&#xff08;或实线&#xff09;几何体对象 【主要特点】 -更多实用参数可以调节。 -沿着样条曲线测量距离值&#xff08;如&#xff1a;笔划长度、间距、分段长度等&#xff09;&#xff…

MySql的MVCC_存储引擎_历史_开发模式

概览 一. 多版本并发控制(MVCC)1.概述2.InnoDB的MVCC 二.MySql的存储引擎 一. 多版本并发控制(MVCC) 1.概述 可以认为MVCC是行级锁的一个变种,其在很多情况下避免了加锁操作&#xff0c;因此开销更低。 不同存储引擎的MVCC实现是不同的&#xff0c;但大部分实现了非阻塞的读…

Nginx(5)nginx的负载均衡

负载均衡 负载均衡的原理及处理流程负载均衡的作用 负载均衡常用的处理方式Nginx七层负载均衡Nginx七层负载均衡的指令Nginx七层负载均衡的实现流程 负载均衡状态负载均衡策略负载均衡案例案例一&#xff1a;对所有请求实现一般轮询规则的负载均衡案例二&#xff1a;对所有请求…

红色通信史(二):半部电台起家

上一期&#xff0c;我给大家介绍了“四一二”反革命政变后&#xff0c;我党在上海开通了第一部秘密电台的过程。 秘密电台的开通&#xff0c;标志着我党通信事业正式起步。然而&#xff0c;没过多久&#xff0c;顾顺章叛变&#xff0c;给上海党组织带来了极大的破坏。于是&…

事务

事务回顾MySQL事务Spring事务实现编程式事务实现&#xff1a;声明式事务 Transactional 注解作用范围及名称&#xff08;value/transactionManager&#xff09;隔离级别&#xff1a;isolation超时时间&#xff1a;timeout修改只读事务指定异常异常捕获情况 事务失效场景Transac…

高等数学II-知识点(1)——原函数的概念、不定积分、求原函数的两种常用方法 (凑微分法、第二换元法)、分部积分法、有理函数原函数求法、典型三角函数原函数求法

目录 原函数的概念 不定积分 定义 不定积分的基本积分公式 不定积分的运算法则 求原函数的两种常用方法 第一换元法&#xff08;凑微分法&#xff09; 第二换元法 分部积分法 有理函数原函数求法 典型三角函数原函数求法 原函数的概念 设在区间上有定义&#xff0c…