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

news2024/9/20 10:11:53

在主成分分析系列(一)概览及数据为何要中心化这篇文章中介绍了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/707977.html

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

相关文章

单表-DQL

注意&#xff1a;这张图还包含了对于的顺序&#xff0c;先分组再排序&#xff0c;再分页&#xff0c;顺序不能乱 基本查询 # 1.基本查询 # 查询全部行 select * from tb_emp; select id, user_name, password, name, gender, image, job, entry_date, create_time, update_ti…

成本降低60%至70%?中国展现顶级电池技术,锂电就是下一个铅酸

在3月份&#xff0c;宁德时代宣布加速推进钠离子电池产业化&#xff0c;以降低成本并提供差异化产品和技术&#xff0c;帮助客户提升产品竞争力和占据更大市场份额。孚能科技已在上半年开始批量生产钠离子电池&#xff0c;而拓邦股份也在最近的国际电池技术展上发布了自家的钠离…

二、逻辑回归

二、逻辑回归1.线性回归2.分类问题1&#xff09;二分类2&#xff09;多分类 3.逻辑回归模型简介1&#xff09;逻辑回归背景2&#xff09;逻辑回归主要基于以下三个目的3&#xff09;优缺点 4.逻辑回归原理1&#xff09;构造函数&#xff08;Sigmoid函数&#xff09;2&#xff0…

阿里远程仓库环境安装

自己是做前端开发的&#xff0c;自己薅的阿里的三个月的免费的服务器&#xff0c;练练手。在安装环境的时候遇到一些坑&#xff0c;记录下来 获取到服务器之后我是通过Royal TSX工具远程连接的&#xff0c;作为一个前端可能想到先装一些基本的命令 介绍一些基本的命令&#xff…

Git学习笔记(二)

导航小助手 四、分支管理 4.1 管理分支 4.2 创建分支、切换分支、合并分支 4.3 删除分支 4.4 合并冲突 4.5 分支管理策略 4.5.1 分支策略 4.6 bug分支 4.7 删除临时分支 四、分支管理 4.1 管理分支 现在介绍一下Git的杀手级别功能之一&#xff1a;分支~ 理解分支&a…

解决:前端请求跨域问题

解决&#xff1a;前端请求跨域问题 问题一&#xff1a;Access to XMLHttpRequest at https://xxx/ICN40310000075_1687926884828.pdf from origin http://localhost:63342 has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requeste…

valgrind检测内存泄漏、越界访问、野指针访问实验

前言 本次测试包括&#xff0c;检测无误的代码&#xff0c;检测内存泄漏&#xff0c;检测访问越界&#xff0c;检测野指针&#xff0c;检测访问已经释放(已经被free)的内存。 一 安装valgrind sudo apt install valgrind 二 无错误 #include <stdio.h> #include <…

leetcode:836. 矩形重叠(python3解法)

难度&#xff1a;简单 矩形以列表 [x1, y1, x2, y2] 的形式表示&#xff0c;其中 (x1, y1) 为左下角的坐标&#xff0c;(x2, y2) 是右上角的坐标。矩形的上下边平行于 x 轴&#xff0c;左右边平行于 y 轴。 如果相交的面积为 正 &#xff0c;则称两矩形重叠。需要明确的是&…

在图像上绘制图形

1.绘制直线 cv.line(img, (0, 0), (511, 511), (255, 0, 0), 5)2.绘制圆形 cv.circle(img, (256, 256), 60, (0, 0, 255), -1) 3.绘制矩形 cv.rectangle(img, (100, 100), (400, 400), (0, 255, 0), 5)4.向图片中添加文字 cv.putText(img, "hello", (100, 150), cv.F…

google浏览器如何把 develop tools 弹窗设置为一个单独界面

更改默认的弹出式窗口和重定向设置 在计算机上打开 Chrome。在右上角&#xff0c;依次点击“更多”图标 设置。依次点击隐私设置和安全性 网站设置 弹出式窗口和重定向。选择要设为默认设置的选项。 管理特定网站的弹出式窗口和重定向 https://support.google.com/ch…

自动备份Windows的环境变量

执行脚本 ECHO OFF set year%date:~6,4% set month%date:~0,2% set day%date:~3,2% set hour%time:~0,2% set minute%time:~3,2% set second%time:~6,2% set backupTime%year%%month%%day%_%hour%%minute%%second% set>>D:/IDE/databack/pc_path/environment-backup-%ba…

【若依项目学习】day1-启动项目

若依开源框架&#xff0c;前后端分离项目&#xff0c;地址&#xff1a;http://doc.ruoyi.vip/ruoyi-vue/ 先配置环境 JDK1.8&#xff0c; MySQL5.7 &#xff0c;Maven3.6&#xff0c;redis、nginx(可以不配)、 node 具体见&#xff1a;https://ygstriver.blog.csdn.net/articl…

windows——【磁盘】C盘又又双叒叕满了,如何清理爆满的C盘

目录 磁盘又满了&#xff0c;咋整&#xff1f;1.初级版本&#xff0c;用windows自带清理工具【没啥用】2.控制面板&#xff0c;清理系统和保留空间【亲测有用】&#xff08;1&#xff09;在控制面板里面点击系统&#xff08;2&#xff09;在系统里面右键 3.直接删除C盘的文件&a…

家政软件是什么,上门预约家政软件有什么功能?

随着人们生活水平的提高和对便利性的需求增加&#xff0c;家政服务市场正呈现出快速增长的趋势。家政软件作为提供便捷、高效家政服务的工具&#xff0c;将成为满足用户需求的重要方式。这将推动家政软件市场的扩大。那么家政软件具体是什么样的一款软件呢&#xff1f; 家政上门…

额度系统,为什么需要有【预占额度】这个操作?

反向思维&#xff0c;若没有额度预占&#xff0c;系统会有什么问题&#xff1f; 没有额度预占 我们知道&#xff0c;额度预占、额度扣减是搭配调用的。这个流程&#xff0c;是在授信完支用期间的&#xff0c;流程如下图&#xff1a; 额度扣减&#xff1a; 核心建立借据成功&…

Vue3+TS+ElementPlus报错集锦

目录 1、导入TS类型报错 2、使用类型报错 3、Vue3引入文件爆红且不提示 4、为defineAsyncComponent引入的component子组件设置类型 5、类型“undefined”不能作为索引类型使用。 6、为props定义类型报错 7、在tsx中调用表单验证方法报错 8、为defineComponent中的props选…

1_5 Occupancy network

1、BEVerse: Unified Perception and Prediction in Birds-Eye-View for Vision-Centric Autonomous Driving 本文不想已经存在的单一任务优化方法&#xff0c;而是构建BEV的时空视频特征并联合推断视觉自动驾驶多任务。之前的任务是目标检测和地图语义分割一起做&#xff0c;之…

量子力学的起源和基本概念

亲爱的读者&#xff0c; 欢迎回到我们的量子力学系列文章。在我们的第一篇文章中&#xff0c;我们进行了量子力学的总体介绍。今天&#xff0c;我们将深入探讨量子力学的起源和一些基本概念。 量子力学的起源可以追溯到20世纪初&#xff0c;当时的科学家们遇到了一些古典物理…

stm32 + w25qxx + EasyFlash

一&#xff0c;软件介绍 EasyFlash 是一款开源的轻量级嵌入式Flash存储器库&#xff0c;方便实现基于Flash存储器的常见应用开发。适合智能家居、可穿戴、工控、医疗等需要断电存储功能的产品&#xff0c;资源占用低&#xff0c;支持各种 MCU 片上存储器。 [1] 该库目前提供…

CrossOver软件Mac2023下载安装教程

CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序。它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序&#xff0c;这一方式给大多数用户带来了方便。通过CrossOver实现跨平台的文件复制粘贴&#xff0c;使Mac/Linux系统与Windows应用良…