AI red teamer (人工智能红队)系列09-人工智能基础-主成分分析
主成分分析
(PCA)是一种降维技术,可将高维数据转换为低维表示,同时尽可能多地保留原始信息。它通过识别原始特征线性组合的主成分和新变量并捕捉数据中的最大方差来实现这一目的。PCA 广泛用于特征提取、数据可视化和降噪。
例如,在图像处理中,PCA 可以通过识别捕捉图像中最重要特征(如边缘、纹理和形状)的主成分来降低图像数据的维度。
把它想象成在数据中找到最重要的 "元素"。想象一下数据点的散点图。PCA 可以找到最能体现数据散布的线条。这些线代表主成分。
假设一个面部图像数据库。PCA 可用来识别捕捉面部特征最显著变化的主成分,如眼睛形状、鼻子大小和嘴宽。通过将面部图像投射到由这些主成分定义的低维空间中,我们可以有效地搜索相似的面部。
PCA 的三个关键概念:
方差:
方差衡量的是数据点在均值附近的分布或离散程度。PCA 的目的是找到方差最大的主成分,捕捉数据中最重要的信息。协方差:
协方差衡量两个变量之间的关系。PCA 考虑不同特征之间的协方差,以确定方差最大的方向。特征向量和特征值:
特征向量表示主成分的方向,特征值表示每个主成分所解释的方差量。
PCA 算法的步骤如下:
对数据进行标准化处理:
减去平均值并除以每个特征的标准差,以确保所有特征具有相同的比例。计算协方差矩阵:
计算标准化数据的协方差矩阵,它代表了不同特征之间的关系。计算特征向量和特征值:
确定协方差矩阵的特征向量和特征值。特征向量代表主成分的方向,特征值代表每个主成分所解释的方差量。特征向量排序:
按照相应特征值的降序对特征向量进行排序。特征值最高的特征向量捕捉到的数据方差最大。选定主成分:
从所有特征向量中选取排名前k位的特征向量,这里的k代表在降维后的数据表示中希望保留的维度数量。变换数据:
将原始数据投影到选定的主成分上,以获得低维表示。
通过这些步骤,PCA 可以有效地降低数据集的维度,同时保留最重要的信息。
特征值和特征向量
在深入研究特征值方程之前,有必要了解一下 特征向量
和 特征值
是什么,以及它们在线性代数和机器学习中的意义。
特征向量
是一种特殊的向量,当对其进行线性变换(例如与矩阵相乘)时,其方向保持不变。在数学上,如果 A
是一个正方形矩阵,而 v
是一个非零向量,那么在下列情况下,v
是 A
的特征向量:
A * v = λ * v
这里,λ
(lambda) 是与特征向量 v
相关的特征值。
特征值 λ
表示特征向量 v
在线性变换过程中缩放的标量因子。换句话说,当您用矩阵 A
乘以其特征向量 v
,结果是一个指向与 v
相同方向的向量,但伸缩系数为 λ
。
假设一条沿坐标系拉伸的橡皮筋。矢量可以表示橡皮筋,我们可以使用矩阵对其进行变换。
假设橡皮筋最初与 x 轴对齐,长度为 1 个单位。这可以用向量 v = [1, 0]
表示。
现在,想象一下应用由矩阵 A
表示的线性变换(拉伸):
A = [[2, 0],
[0, 1]]
当用矩阵 A
乘以向量 v
时,就会得到:
A * v = [[2, 0],
[0, 1]] * [1, 0] = [2, 0]
得到的向量是 [2,0]
,它与原始向量 v
指向相同的方向,但被拉伸了 2 倍。特征向量是 v = [1, 0],
,相应的特征值是 λ = 2
。
主成分分析(PCA)中的特征值方程
在主成分分析(PCA)中,特征值方程有助于确定数据的主成分。主成分是通过求解以下特征值方程得到的:
C * v = λ * v
C
是标准化数据的协方差矩阵。该矩阵表示不同特征之间的关系,每个元素表示两个特征之间的协方差。v
是特征向量。特征向量代表特征空间中主成分的方向,表示数据中方差最大的方向。λ
是特征值。特征值表示每个相应特征向量(主成分)所解释的方差量。特征值越大,对应的特征向量就越大。
求解特征值方程
解这个方程需要找到协方差矩阵的特征向量和特征值。这可以通过以下技术来实现:
特征值分解
:直接计算特征值和特征向量。奇异值分解(SVD)
:一种数值上更稳定的方法,可以将数据矩阵分解为与协方差矩阵的特征向量和特征值相关的奇异向量和奇异值。
选择主成分
一旦找到特征向量和特征值,就会按照相应特征值的降序进行排序。最上 k
特征向量(具有最大特征值的特征向量)被选中,形成新的特征空间。这些顶部 k
特征向量代表了捕捉数据中最显著方差的主成分。
将原始数据 X
转换为低维表示 Y
可以表示为
Y = X * V
Y
是低维空间中的转换数据矩阵。X
是原始数据矩阵。V
是选定特征向量的矩阵。
这种转换将原始数据点投射到由主成分定义的新特征空间上,从而得到一种能捕捉数据中最显著差异的低维表示。这种缩小的表示法可用于多种用途,如可视化、降噪和提高机器学习模型的性能。
选定主成分数量
在 PCA 中,保留多少主成分是一个至关重要的决定。它决定了降维与信息保存之间的权衡。
一种常见的方法是绘制解释方差比与成分数量的对比图。解释方差比表示每个主成分在总方差中所占的比例。通过观察这幅图,你可以选择能捕捉到足够高的总方差百分比(如 95%)的成分数。这样就能确保缩减后的表示保留了原始数据的大部分基本信息。
数据假设
PCA 对数据做出如下假设:
线性:
它假定特征之间的关系是线性的。相关性:
当特征之间存在显著相关性时,效果最好。尺度:
它对特征的尺度很敏感,因此在应用 PCA 之前必须对数据进行标准化。
小结
PCA 是一种强大的降维和数据分析技术。它可以简化复杂的数据集,提取有意义的特征,并在低维空间中实现数据的可视化。然而,了解其假设和局限对于确保其被合适的应用非常重要。
Comments NOTHING