📜  机器学习-主成分分析

📅  最后修改于: 2020-09-29 04:46:29             🧑  作者: Mango

主成分分析

主成分分析是一种无监督的学习算法,用于减少机器学习中的维数。这是一个统计过程,借助正交变换将相关特征的观察结果转换为一组线性不相关特征。这些新的转换后的功能称为主成分。它是用于探索性数据分析和预测建模的流行工具之一。这是一种通过减少方差从给定的数据集中绘制强模式的技术。

PCA通常尝试找到低维表面来投影高维数据。

PCA通过考虑每个属性的方差来工作,因为高属性显示类别之间的良好划分,因此降低了维数。 PCA的一些实际应用是图像处理,电影推荐系统,可以优化各种通信渠道中的功率分配。它是一种特征提取技术,因此它包含重要变量而删除了最不重要的变量。

PCA算法基于一些数学概念,例如:

  • 方差和协方差
  • 特征值和特征因子

PCA算法中使用的一些常用术语:

  • 维数:它是给定数据集中存在的特征或变量的数量。更容易地,它是数据集中存在的列数。
  • 相关性:表示两个变量之间的关联程度。例如,如果一个更改,另一个变量也将更改。相关值的范围是-1至+1。在此,如果变量彼此成反比,则发生-1,而+1表示变量彼此成正比。
  • 正交的:它定义变量彼此不相关,因此这对变量之间的相关为零。
  • 特征向量:如果存在方矩阵M,则给出非零向量v。如果Av是v的标量倍数,则v将为特征向量。
  • 协方差矩阵:包含变量对之间的协方差的矩阵称为协方差矩阵。

PCA中的主要组件

如上所述,转换后的新功能或PCA的输出是主要组件。这些PC的数量等于或小于数据集中的原始特征。这些主要组件的一些属性如下:

  • 主成分必须是原始特征的线性组合。
  • 这些分量是正交的,即,一对变量之间的相关性为零。
  • 当从1变到n时,每个组件的重要性降低,这意味着1个PC的重要性最高,而n PC的重要性最低。

PCA算法的步骤

  • 获取数据集
    首先,我们需要获取输入数据集并将其分为两个子部分X和Y,其中X是训练集,而Y是验证集。
  • 将数据表示为结构
    现在,我们将数据集表示为一个结构。例如,我们将表示自变量X的二维矩阵。此处每一行对应于数据项,而列对应于要素。列数是数据集的维度。
  • 标准化数据
    在此步骤中,我们将标准化数据集。例如在特定的列中,具有较高方差的特征比具有较低方差的特征更为重要。
    如果要素的重要性与要素的方差无关,则我们将列中的每个数据项除以该列的标准差。在这里,我们将矩阵命名为Z。
  • 计算Z的协方差
    为了计算Z的协方差,我们将采用矩阵Z并将其转置。转置后,将其乘以Z。输出矩阵将为Z的协方差矩阵。
  • 计算特征值和特征向量
    现在我们需要计算所得协方差矩阵Z的特征值和特征向量。特征向量或协方差矩阵是信息量高的轴的方向。并且将这些特征向量的系数定义为特征值。
  • 对特征向量进行排序
    在这一步中,我们将获取所有特征值,并以降序对其进行排序,即从最大到最小。并同时在特征值矩阵P中对特征向量进行相应排序。结果矩阵将命名为P *。
  • 计算新功能或主要组件
    在这里,我们将计算新功能。为此,我们将P *矩阵乘以Z。在结果矩阵Z *中,每个观察值都是原始特征的线性组合。 Z *矩阵的每一列彼此独立。
  • 从新数据集中删除较少或不重要的特征。
    已经出现了新功能集,因此我们将在此处决定保留哪些内容和删除哪些内容。这意味着,我们将仅在新数据集中保留相关或重要特征,而不重要的特征将被删除。

主成分分析的应用

  • PCA主要用作各种AI应用中的降维技术,例如计算机视觉,图像压缩等。
  • 如果数据具有高维,它也可以用于查找隐藏模式。使用PCA的一些领域是金融,数据挖掘,心理学等。