【进阶】Scikit-Learn:主成分分析(PCA)
发布时间: 2024-06-26 13:04:18 阅读量: 68 订阅数: 115
![【进阶】Scikit-Learn:主成分分析(PCA)](https://img-blog.csdnimg.cn/direct/a3ce9ea08ad24784a3e2f62b5722b207.png)
# 2.1 线性代数基础
### 2.1.1 向量空间和内积
在PCA中,数据被表示为向量,而向量空间是包含这些向量的集合。向量空间具有以下性质:
- 向量可以加法和减法,结果仍是向量。
- 向量可以与标量(实数)相乘,结果仍是向量。
- 向量空间中存在一个零向量,与任何向量相加都不改变该向量。
- 向量空间中存在一个单位向量,其长度为1。
内积是两个向量之间的标量值,它衡量这两个向量之间的相似性。内积的定义为:
```
<x, y> = x1 * y1 + x2 * y2 + ... + xn * yn
```
其中x和y是n维向量。
### 2.1.2 特征值和特征向量
特征值和特征向量是线性代数中的重要概念。对于一个n×n矩阵A,其特征值λ和特征向量v满足以下方程:
```
Av = λv
```
特征值是矩阵A的标量,而特征向量是与之对应的非零向量。特征值和特征向量可以用来理解矩阵的性质和行为。
# 2. PCA理论基础
### 2.1 线性代数基础
#### 2.1.1 向量空间和内积
**向量空间**
向量空间是一个集合,其中元素称为向量,并满足以下公理:
- 向量加法:对于任何向量 x 和 y,存在一个向量 z 使得 x + y = z。
- 数乘:对于任何向量 x 和标量 c,存在一个向量 y 使得 cx = y。
- 零向量:存在一个唯一的向量 0,使得对于任何向量 x,x + 0 = x。
- 负向量:对于任何向量 x,存在一个向量 -x,使得 x + (-x) = 0。
**内积**
内积是向量空间中两个向量之间的运算,它产生一个标量。内积记为 <x, y>,并满足以下性质:
- 线性性:对于任何向量 x、y 和 z,以及任何标量 c,有 <cx + y, z> = c<x, z> + <y, z>。
- 对称性:对于任何向量 x 和 y,有 <x, y> = <y, x>。
- 正定性:对于任何非零向量 x,有 <x, x> > 0。
#### 2.1.2 特征值和特征向量
**特征值**
特征值是线性变换的特殊值,当向量在该变换下保持其方向不变时,该值就会出现。特征值是变换矩阵的特征多项式的根。
**特征向量**
特征向量是线性变换下保持其方向不变的向量。每个特征值对应一个特征向量。
### 2.2 PCA数学原理
#### 2.2.1 协方差矩阵和特征分解
**协方差矩阵**
协方差矩阵是一个对称矩阵,其元素表示数据集中的不同特征之间的协方差。协方差矩阵的元素为:
```
Cov(X, Y) = 1/(n-1) * Σ(xi - μx)(yi - μy)
```
其中:
- X 和 Y 是数据集中的两个特征
- xi 和 yi 是 X 和 Y 的第 i 个值
- μx 和 μy 是 X 和 Y 的均值
- n 是数据集中的样本数
**特征分解**
协方差矩阵可以分解为特征值和特征向量的集合。特征值是协方差矩阵的特征多项式的根,特征向量是与这些特征值对应的向量。
#### 2.2.2 主成分的计算
PCA 的目标是找到一组新的正交特征,称为主成分,它们解释了数据集中最大的方差。主成分是协方差矩阵的特征向量,特征值表示这些主成分解释的方差量。
为了计算主成分,需要执行以下步骤:
1. 计算协方差矩阵。
2. 计算协方差矩阵的特征值和特征向量。
3. 将特征向量按特征值从大到小排列
0
0