#GPT辅助学习 例子: 主成分分析

主成分分析(PCA)是一种用于降维的统计方法。以下是一个包含具体数据的PCA计算例子,包含每一个步骤。

数据集

假设我们有一个2D数据集,如下所示:

X = [[2.5, 2.4],
     [0.5, 0.7],
     [2.2, 2.9],
     [1.9, 2.2],
     [3.1, 3.0],
     [2.3, 2.7],
     [2, 1.6],
     [1, 1.1],
     [1.5, 1.6],
     [1.1, 0.9]]

步骤1:数据标准化

首先,标准化数据,使其均值为0,方差为1。

计算每个特征的均值:

mean_X1 = (2.5 + 0.5 + 2.2 + 1.9 + 3.1 + 2.3 + 2 + 1 + 1.5 + 1.1) / 10 = 1.81
mean_X2 = (2.4 + 0.7 + 2.9 + 2.2 + 3.0 + 2.7 + 1.6 + 1.1 + 1.6 + 0.9) / 10 = 1.91

然后将数据中心化:

X_centered = [[2.5 - 1.81, 2.4 - 1.91],
              [0.5 - 1.81, 0.7 - 1.91],
              [2.2 - 1.81, 2.9 - 1.91],
              [1.9 - 1.81, 2.2 - 1.91],
              [3.1 - 1.81, 3.0 - 1.91],
              [2.3 - 1.81, 2.7 - 1.91],
              [2.0 - 1.81, 1.6 - 1.91],
              [1.0 - 1.81, 1.1 - 1.91],
              [1.5 - 1.81, 1.6 - 1.91],
              [1.1 - 1.81, 0.9 - 1.91]]

X_centered = [[ 0.69,  0.49],
              [-1.31, -1.21],
              [ 0.39,  0.99],
              [ 0.09,  0.29],
              [ 1.29,  1.09],
              [ 0.49,  0.79],
              [ 0.19, -0.31],
              [-0.81, -0.81],
              [-0.31, -0.31],
              [-0.71, -1.01]]

步骤2:计算协方差矩阵

Cov(X_centered) = (1/(n-1)) * (X_centered^T * X_centered)

Cov(X_centered) = [[0.61655556, 0.61544444],
                   [0.61544444, 0.71655556]]

步骤3:计算协方差矩阵的特征值和特征向量

特征值, 特征向量 = eig(Cov(X_centered))

特征值 = [0.0490833989, 1.28402771]
特征向量 = [[-0.73517866, 0.6778734 ],
            [ 0.6778734 , 0.73517866]]

步骤4:选择主成分

选择具有最高特征值的特征向量作为主成分。这里特征值1.28402771对应的特征向量是[0.6778734, 0.73517866]。

步骤5:转换数据到新空间

将数据投影到选择的特征向量上:

PCA数据 = X_centered * 选择的特征向量

PCA数据 = [[ 0.69,  0.49],
            [-1.31, -1.21],
            [ 0.39,  0.99],
            [ 0.09,  0.29],
            [ 1.29,  1.09],
            [ 0.49,  0.79],
            [ 0.19, -0.31],
            [-0.81, -0.81],
            [-0.31, -0.31],
            [-0.71, -1.01]] * [0.6778734, 0.73517866]

PCA数据 = [ 0.82797019, -1.77758033,  0.99219749,  0.27421042,  1.67580142,
            0.9129491 ,  0.09910944, -1.14457216, -0.43804614, -1.22382056]

结果

最终的PCA数据是:

PCA结果 = [[ 0.82797019],
            [-1.77758033],
            [ 0.99219749],
            [ 0.27421042],
            [ 1.67580142],
            [ 0.9129491 ],
            [ 0.09910944],
            [-1.14457216],
            [-0.43804614],
            [-1.22382056]]

这样,我们通过PCA将原始的二维数据降维到一维,同时尽可能保留了数据的主要信息。

posted @ 2024-06-18 21:30  ffl  阅读(18)  评论(0编辑  收藏  举报