【深度学习数学基础:线性代数】4. 线性空间及线性映射:4.7 在PCA(主成分分析)上的应用
4. 线性空间及线性映射
4.7 在PCA(主成分分析)上的应用
PCA(主成分分析)简介
PCA(Principal Component Analysis)是机器学习中常用的一种降维算法,它可以在尽可能保留数据信息的前提下,将高维数据转换到低维空间中表示。这种技术特别适用于处理维度很高的数据集,帮助简化计算并减少噪声影响。
基本概念
- 数据集:在机器学习里,数据集就是由大量数据样本组合而成的集合。打个比方,我们要研究学生的学习情况,一个数据集可能就包含了1000名学生的信息,像身高、体重、各科成绩等。
- 数据维度:数据维度指的是每个数据点所具有的特征数量。例如,一个描述学生的数据集,若包含了身高、体重、年龄这3个特征,那么这个数据集的维度就是3。
- 样本:样本是从总体中抽取出来的一部分用于观察和分析的数据。比如,我们从全校学生中随机选取100名学生,这100名学生的相关数据就是一个样本。
- 方差:方差是用来衡量一组数据离散程度的统计量。它反映了数据点相对于平均值的分散情况。方差越大,说明数据越分散;方差越小,数据越集中。
- 有偏估计:有偏估计是指估计量的数学期望不等于被估计参数的真实值。在计算样本方差时,如果我们使用样本数量n作为分母,得到的就是有偏估计。
- 协方差:协方差用于衡量两个变量的总体误差。如果两个变量的变化趋势一致,那么它们的协方差就是正值;如果变化趋势相反,协方差就是负值。
- 数学期望:在概率论和统计学中,数学期望是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。对于离散型随机变量,数学期望可以用公式表示为:\(E(X) = \sum_{i} x_i P(X=x_i)\),其中\(x_i\)是随机变量X的可能取值,\(P(X=x_i)\)是取值\(x_i\)的概率。
PCA数学原理
在PCA算法中,特征值和特征向量有着非常重要的作用。下面我们就来详细了解PCA的数学原理。
假设我们有一个数据集\(\{\boldsymbol{x}_{n}\}\),这里面每个数据点的维度都是D。我们用\(\boldsymbol{S}\)来表示样本方差(要注意,这里使用的是有偏估计),其计算公式如下:
\[\boldsymbol{S}=\frac{1}{N} \sum_{n=1}^{N}\left(\boldsymbol{x}_{n}-\overline{\boldsymbol{x}}\right)\left(\boldsymbol{x}_{n}-\overline{\boldsymbol{x}}\right)^{T}
\]
其中:
- \(\boldsymbol{x}_{n}\)表示第n个数据点,它是一个向量。
- \(\overline{\boldsymbol{x}}\)表示所有数据点的均值向量。
- \(N\)表示数据集中样本的总数。
接下来,我们要求\(\mathbf{S}\)的特征值和特征向量,它们满足下面的方程:
\[\mathbf{S} \boldsymbol{u}_{i}=\lambda_{i} \boldsymbol{u}_{i}
\]
这里:
- \(\lambda_{i}\)是\(\mathbf{S}\)的第i个特征值。
- \(\boldsymbol{u}_{i}\)是对应的特征向量,并且这些特征向量是单位向量,也就是它们的模长为1。
PCA降维过程
PCA降维的核心思想是:我们可以利用前M个最大特征值所对应的特征向量,来对数据进行近似表示,这样就能实现从D维到M维的降维。具体的近似表示公式如下:
\[\tilde{\boldsymbol{x}_{n}}=\sum_{i=1}^{M} z_{n i} \boldsymbol{u}_{i}+\sum_{i=M+1}^{D} b_{i} \boldsymbol{u}_{i}
\]
在这个公式中:
- \(\tilde{\boldsymbol{x}_{n}}\)是对原始数据点\(\boldsymbol{x}_{n}\)的近似表示。
- 前M个坐标\(z_{n i}\)是数据点在对应的特征向量\(\boldsymbol{u}_{i}\)上的投影系数,这些系数是每个数据点特有的。
- 后D-M个坐标\(b_{i}\)是整个数据集共用的常数项。
通过这种方式,PCA实现了数据的有损压缩。虽然我们舍弃了一部分信息,但保留了数据中最重要的模式和结构。
PCA算法的应用
PCA算法在很多领域都有广泛的应用,比如:
- 数据可视化:当数据维度很高时,我们很难直接对其进行可视化。通过PCA将数据降到2维或3维,就可以在平面或空间中直观地展示数据点的分布情况。
- 特征提取:在图像处理中,PCA可以提取图像的主要特征,用于图像识别和分类。
- 降噪:由于PCA保留了数据的主要成分,去除了噪声和次要信息,因此可以用于数据降噪。
- 加速机器学习算法:在处理高维数据时,很多机器学习算法的计算复杂度会很高。通过PCA降维,可以大大提高算法的运行效率。
总结
PCA是一种强大的数据降维技术,它通过特征值分解的方法,找到数据中方差最大的方向(即主成分),从而实现数据的压缩和简化。对于新手来说,理解PCA的关键在于掌握特征值、特征向量、样本方差等基本概念,以及它们在降维过程中的作用。通过PCA,我们可以更方便地处理高维数据,发现数据中的潜在模式。比如有一个100000维度的表格数据,可以在保留矩阵信息的同时,压缩到20-30维
浙公网安备 33010602011771号