[模式识别复习笔记] 第6章 PCA

news/2024/9/25 23:16:11

1. 主成分分析 PCA

PCA:寻找最能够 表示 原始数据的投
影方法,对数据进行降维,除去冗余的信息。——不考虑类别

1.1 PCA 主要步骤

  1. 计算 散布矩阵 \(S\)(或者样本的协方差矩阵)

    \[S = \sum_{i=1}^{n}(\bm{x}_i - \bm{\mu})(\bm{x}_i - \bm{\mu})^{\text{T}} \]

    其中 \(\bm{\mu} = \frac{1}{n}\sum_{i=1}^{n} \bm{x}_i\)

  2. \(S\bm{e}_i = \lambda_i \bm{e}_i\) 计算 \(S\)特征值 \(\lambda_i\)特征向量 \(\bm{e}_i\)\(\bm{e}_i\) 也称为主成分,任意两个主成分 正交,且 \(||\bm{e}||=1\)

  3. 按照特征值 从大到小 将对应的特征向量进行排序;

  4. 选择 特征值前 \(d^{'}\) 的特征向量作为投影向量,构成特征向量矩阵 \(Q \in \mathbb{R}^{d\times d^{'}}\) ,是一个标准正交矩阵;

  5. 对于任意的 \(d\) 维样本 \(\bm{x}_i\),用 \(PCA\) 降维后的 \(d^{'}\) 维向量为:

    \[\bm{y}_i = Q^{\text{T}}(\bm{x}_i - \bm{\mu}) \]



最大的几个特征值占据了所有特征值之和的绝大部分。将数据投影到少数几个最大特征值对应的特征向量方向上即可保留原数据中的绝大部分信息。样本投影到主成分上方差越大越能表明这个主成分能够更好地区分样本



1.2 PCA 的几何解释



1.3 例题

例题 1

给定 \(d\) 维的样本集 \(D = \{ \bm{x}_1, \bm{x}_2, \ldots, \bm{x}_n \}\)\(\bm{\mu}\) 为均值向量。已知协方差矩阵为 \(\bm{\Sigma} = \frac{1}{n - 1}\sum_{i=1}^{n}(\bm{x}_i - \bm{\mu})(\bm{x}_i - \bm{\mu})^{\text{T}}\),散布矩阵为 \(S = \sum_{i=1}^{n}(\bm{x}_i - \bm{\mu})(\bm{x}_i - \bm{\mu})^{\text{T}}\)

请分析在 \(\text{PCA}\) 中用协方差矩阵来代替散步矩阵是否会有影响,并证明。

解:

不产生影响。

\(\bm{e}\) 为协方差矩阵 \(\bm{\Sigma}\) 中特征值 \(\lambda\) 对应的特征向量,则有 \(\bm{\Sigma} \bm{e} = \lambda \bm{e}\)

由于散布矩阵是协方差矩阵的 \(n - 1\) 倍,则有:

\[\frac{1}{n-1}S \bm{e} = \lambda \bm{e} \]

也即:

\[S \bm{e} = (n - 1) \lambda \bm{e} \]

相当于 \(\bm{e}\) 是散布矩阵 \(S\) 中特征值 \((n-1)\lambda\) 对应的特征向量。

因此,协方差矩阵和散布矩阵下的 \(\text{PCA}\) 有着相同的特征向量,特征值是 \(n - 1\) 倍的关系(\(n - 1 > 0\)),不影响根据特征值大小对特征向量排序的结果,进而 不会产生影响



例题 2

设原始数据集 \(D={\bm{x}_1, \bm{x}_2, \ldots , \bm{x}_n}\)\(d\) 维的,采用 \(\text{PCA}\) 降维后,变成 \(k\) 维的,其中 \(k\le d\)。设 \(\text{PCA}\) 找到的 \(k\) 个主成分依次为 \(\bm{e}_1, \bm{e}_2, \ldots , \bm{e}_k\),则任意的 \(d\) 维样本 \(x\) 进行 \(\text{PCA}\) 降维后,在第 \(r\) 个主成分上的坐标为:\(\bm{e}_r^{\text{T}}(\bm{x} − \bm{\mu})\),其中 \(\bm{\mu} = \frac{1}{n}\sum_{i=1}^{n}\bm{x}_i\)。因此,第 \(i\) 个样本在第 \(r\) 个主成分上的投影点可以表示为 \(y_i = \bm{e}_r^{\text{T}}(\bm{x}_i − \bm{\mu})\),所以,所有样本在第 \(r\) 个主成分上的投影点依次为 \(y_1, y_2, \ldots, y_n\),共 \(n\) 个投影点。

请证明 \(\text{PCA}\) 的第一主成分就是所有样本投影到该方向上的投影点的方差最大的方向。

解:

  1. 计算 \(n\) 个投影点的均值 \(\bar{y}\):

    \[\bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i = \frac{1}{n}\sum_{i=1}^{n} \bm{e}_r^{\text{T}}(\bm{x}_i - \bm{\mu}) = \bm{e}_r^{\text{T}}(\frac{1}{n}\sum_{i=1}^{n}\bm{x}_i - \bm{\mu}) = 0 \]

  2. 计算 \(n\) 个投影点的方差:

    \[\begin{split} Var &= \frac{1}{n - 1}\sum_{i=1}^{n}(y_i - \bar{y})^2 \\\\ &= \frac{1}{n - 1}\sum_{i=1}^{n}y_i^2 \\\\ &= \frac{1}{n - 1}\sum_{i=1}^{n}\bm{e}_r^{\text{T}}(\bm{x}_i - \bm{\mu})\bm{e}_r^{\text{T}}(\bm{x}_i - \bm{\mu}) \\\\ &= \frac{1}{n - 1}\sum_{i=1}^{n}\bm{e}_r^{\text{T}}(\bm{x}_i - \bm{\mu})(\bm{x}_i - \bm{\mu})^{\text{T}}\bm{e}_r \\\\ &= \bm{e}_r^{\text{T}}\bm{\Sigma}\bm{e}_r \end{split} \]

    其中 \(\bm{\Sigma}\) 为协方差矩阵:

    \[\bm{\Sigma} = \frac{1}{n - 1}\sum_{i=1}^{n}(\bm{x}_i - \bm{\mu})(\bm{x}_i - \bm{\mu})^{\text{T}} \]

    \(\text{PCA}\)\(\bm{\Sigma}\bm{e}_r = \lambda_r \bm{e}_r\),其中 \(\lambda_r\) 为第 \(r\) 大的特征值,故:

    \[Var = \bm{e}_r^{\text{T}}\bm{\Sigma}\bm{e}_r = \lambda_r \bm{e}_r^{\text{T}}\bm{e}_r \]

    由于 \(||\bm{e}|| = 1\),得:

    \[Var = \lambda_r \]

  3. 由上述结论可得,所有样本在第 \(1\) 个主成分上得投影点得方差为 \(\lambda_1\),而 \(\lambda_1\) 是所有特征值中最大的

    \(\text{PCA}\) 第一主成分就是所有样本投影到该方向上的投影点的方差最大的方向。



2. Fisher 线性判别分析 FDA

Fisher线性判别分析(FDA):寻找的是 能够有效分类 的方
向,是 有监督的降维方法

Fisher判别分析 FDA

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

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

相关文章

一个练习项目,好玩的bbs-前端部分

common.jsfunction setCookie(name, value, daysToLive = 7) {let cookie = name + "=" + encodeURIComponent(value);if (typeof daysToLive === "number") {cookie += "; max-age=" + (daysToLive*24*60*60); // max-age单位是秒}document.coo…

Python版WGCNA分析和蛋白质相互作用PPI分析教程

在前面的教程中,我们介绍了使用omicverse完成基本的RNA-seq的分析流程,在本节教程中,我们将介绍如何使用omicverse完成加权基因共表达网络分析WGCNA以及蛋白质相互作用PPI分析。环境的下载 在这里我们只需要安装omicverse环境即可,有两个方法:一个是使用conda:conda inst…

一个练习项目,好玩的bbs-c#

c#代码:using MySql.Data.MySqlClient; using System.Data; using Newtonsoft.Json; using System.Security.Cryptography; using System.Text;int pagesize = 20; string secretKey = "saacac3423@21212";var builder = WebApplication.CreateSlimBuilder(args); v…

一个练习项目,好玩的bbs-java

java这个我是用springboot做的 目录结构 application.ymlspring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/my_bbs?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8&allowPubl…

从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对

最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂🪜,想直连 Docker Hub 是几乎不可能的。更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了,这对我们这些个人开发者和中小企业来说是挺难受的。之前,通过这些镜像站,我们可以…

redis自学(47)服务端优化

持久化配置 Redis的持久化虽然可以保证数据安全,但也会带来很多额外的开销,因此持久化请遵循下列建议: ① 用来做缓存的redis实例尽量不要开启持久化功能 ② 建议关闭RDB持久化功能,使用AOF持久化(RDB的数据安全性一直是有问题的,两次RDB的时间比较长,又不能频繁的RDB…

一个练习项目,好玩的bbs-1

目录结构 nginx配置:upstream bbs_upstream {server 127.0.0.1:1081; #phpserver 127.0.0.1:1086; #csharpeserver 127.0.0.1:1087; #javaserver 127.0.0.1:1084; #ruby-sinatraserver 127.0.0.1:1104; #ruby-buskerserver 127.0.0.1:1105; #ruby-ramazeserver 127.0.0.1:1080…

同态加密为什么被称为密码学的圣杯?

同态加密是一种支持数据密态处理的密码学技术,可以广泛应用于云计算、医疗、金融等领域。1.什么是同态加密? 全同态加密是一种加密技术,允许在不解密的前提下,对密文进行一些有意义的运算,使得解密后的结果与在明文上做 “相同计算” 得到的结果相同。同态加密被称为密码学…