在ML中什么时候使用主成分分析(PCA)?
0 1460
0
该提问暂无详细描述
收藏
2021-01-22 12:02 更新 karry •  4540
共 1 个回答
高赞 时间
0

我会给你一个简单的例子供你理解。假设你正在建立一个机器学习模型(逻辑回归),以预测学生是否会通过考试?

你可以考虑将哪些所有因素视为预测结果的自变量?

可能有:

  • 出勤率
  • 性别
  • 内部考试成绩
  • 从学校到家的距离
  • 住宿/走读生

逻辑回归的基本原理是将所有这些数据点投影到多维空间中,并创建一个假想的超平面(使用称为Sigmoid的数学函数),该超平面在多维空间中。高于该假想超平面的学生的数据点将被预测为通过,而所有其他数据点将被预测为失败。 在此,将每个自变量视为一个维度。作为普通的人类,我们最多只能想象3个维度,但是上述问题有5个维度。想象一下在实时项目中,我们必须使用1000个独立变量,而该变量将具有1000个维度。

这种情况使该算法完全无效,且耗时长,空间管理庞大且复杂。这种情况称为维数诅咒。

PCA或主成分分析将多个独立变量合并为一个维,从而减少了维数。

在上面的示例中,我们知道内部考试中的出勤率和分数相对于通过期末考试的概率而言可能呈线性变化。那么,为什么在这里使用本不必要的2维呢?

我们可以简单合成,用两个独立变量一起在一个维度上解释通过概率的变化。

类似地,对于大型项目,如果我们有1000个自变量,则可以使用PCA在2或3个虚轴上表示相同的数据点,称为主成分。

下图具有以3个维度表示的数据点x1,x2和x3,但我们通过2个PC(Z1和Z2)将其维度减小了2 。 PCA将极大地减少机器学习算法的时空要求,但由于维数减小,将导致一些信息丢失。

下图显示,仅使用4台PC就能解释近80%的差异,你可以用原始数据来解释。在这种情况下,仅使用4台PC将大大提高性能,因为此处的维数减少为4。 希望你对什么时候使用PCA有一个总体了解。

收藏
2021-01-22 13:38 更新 anna •  5042