二维数据集,PCA求解第一主成分和第二主成分示例

利用PCA求解第一和第二主成分的完整过程

主成分分析(Principal Component Analysis, PCA)是一种常用的降维方法,它通过线性变换将高维数据投影到一个新的坐标系中,使得数据在每个新坐标轴上的方差依次递减。本文以一个二维数据集为例,完整展示如何通过PCA求解第一主成分和第二主成分。


1. 数据集

假设我们有以下二维数据集:

X = [ 2 4 3 3 4 2 5 5 ] X = \begin{bmatrix} 2 & 4 \\ 3 & 3 \\ 4 & 2 \\ 5 & 5 \end{bmatrix} X= 23454325

其中:

  • 每行表示一个样本。
  • 每列表示一个特征(特征1: X 1 X_1 X1,特征2: X 2 X_2 X2)。

我们的目标是通过PCA找出数据的第一主成分和第二主成分方向,并计算投影后的数据值。


2. 数据标准化(中心化)

PCA的第一步是对数据进行中心化处理,使得每个特征的均值为0。

  1. 计算特征均值:
    μ 1 = 2 + 3 + 4 + 5 4 = 3.5 , μ 2 = 4 + 3 + 2 + 5 4 = 3.5 \mu_1 = \frac{2 + 3 + 4 + 5}{4} = 3.5, \quad \mu_2 = \frac{4 + 3 + 2 + 5}{4} = 3.5 μ1=42+3+4+5=3.5,μ2=44+3+2+5=3.5

  2. 将每个样本减去均值:
    X centered = X − μ = [ 2 − 3.5 4 − 3.5 3 − 3.5 3 − 3.5 4 − 3.5 2 − 3.5 5 − 3.5 5 − 3.5 ] = [ − 1.5 0.5 − 0.5 − 0.5 0.5 − 1.5 1.5 1.5 ] X_{\text{centered}} = X - \mu = \begin{bmatrix} 2 - 3.5 & 4 - 3.5 \\ 3 - 3.5 & 3 - 3.5 \\ 4 - 3.5 & 2 - 3.5 \\ 5 - 3.5 & 5 - 3.5 \end{bmatrix} = \begin{bmatrix} -1.5 & 0.5 \\ -0.5 & -0.5 \\ 0.5 & -1.5 \\ 1.5 & 1.5 \end{bmatrix} Xcentered=Xμ= 23.533.543.553.543.533.523.553.5 = 1.50.50.51.50.50.51.51.5


3. 计算协方差矩阵

协方差矩阵描述了特征之间的相关性,用以下公式计算:
Σ = 1 n − 1 X centered T X centered \Sigma = \frac{1}{n-1} X_{\text{centered}}^T X_{\text{centered}} Σ=n11XcenteredTXcentered

  1. 计算 X centered T X_{\text{centered}}^T XcenteredT
    X centered T = [ − 1.5 − 0.5 0.5 1.5 0.5 − 0.5 − 1.5 1.5 ] X_{\text{centered}}^T = \begin{bmatrix} -1.5 & -0.5 & 0.5 & 1.5 \\ 0.5 & -0.5 & -1.5 & 1.5 \end{bmatrix} XcenteredT=[1.50.50.50.50.51.51.51.5]

  2. 计算矩阵乘积 X centered T X centered X_{\text{centered}}^T X_{\text{centered}} XcenteredTXcentered
    X centered T X centered = [ 5 − 2 − 2 5 ] X_{\text{centered}}^T X_{\text{centered}} = \begin{bmatrix} 5 & -2 \\ -2 & 5 \end{bmatrix} XcenteredTXcentered=[5225]

  3. 计算协方差矩阵:
    Σ = 1 3 [ 5 − 2 − 2 5 ] = [ 1.67 − 0.67 − 0.67 1.67 ] \Sigma = \frac{1}{3} \begin{bmatrix} 5 & -2 \\ -2 & 5 \end{bmatrix} = \begin{bmatrix} 1.67 & -0.67 \\ -0.67 & 1.67 \end{bmatrix} Σ=31[5225]=[1.670.670.671.67]


4. 特征值分解

协方差矩阵的特征值和特征向量决定了主成分的方向和方差大小。

计算特征值:

特征值的计算公式为:
det ⁡ ( Σ − λ I ) = 0 \det(\Sigma - \lambda I) = 0 det(ΣλI)=0

  1. 代入 Σ \Sigma Σ 和单位矩阵 I I I
    det ⁡ [ 1.67 − λ − 0.67 − 0.67 1.67 − λ ] = 0 \det \begin{bmatrix} 1.67 - \lambda & -0.67 \\ -0.67 & 1.67 - \lambda \end{bmatrix} = 0 det[1.67λ0.670.671.67λ]=0

  2. 计算行列式:
    ( 1.67 − λ ) 2 − ( − 0.67 ) ( − 0.67 ) = 0 (1.67 - \lambda)^2 - (-0.67)(-0.67) = 0 (1.67λ)2(0.67)(0.67)=0
    ( 1.67 − λ ) 2 = 0.4489 (1.67 - \lambda)^2 = 0.4489 (1.67λ)2=0.4489
    1.67 − λ = ± 0.67 1.67 - \lambda = \pm 0.67 1.67λ=±0.67

  3. 解得特征值:
    λ 1 = 2.34 , λ 2 = 1.00 \lambda_1 = 2.34, \quad \lambda_2 = 1.00 λ1=2.34,λ2=1.00

计算特征向量:
  1. 对应于特征值 λ 1 = 2.34 \lambda_1 = 2.34 λ1=2.34
    ( Σ − λ 1 I ) a = 0 (\Sigma - \lambda_1 I)a = 0 (Σλ1I)a=0
    解得特征向量:
    a 1 = [ − 1 1 ] a_1 = \begin{bmatrix} -1 \\ 1 \end{bmatrix} a1=[11]
    归一化后:
    a 1 = 1 2 [ − 1 1 ] a_1 = \frac{1}{\sqrt{2}} \begin{bmatrix} -1 \\ 1 \end{bmatrix} a1=2 1[11]

  2. 对应于特征值 λ 2 = 1.00 \lambda_2 = 1.00 λ2=1.00
    解得特征向量:
    a 2 = [ 1 1 ] a_2 = \begin{bmatrix} 1 \\ 1 \end{bmatrix} a2=[11]
    归一化后:
    a 2 = 1 2 [ 1 1 ] a_2 = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix} a2=2 1[11]


5. 第一主成分和第二主成分

  • 第一主成分方向:
    a 1 = 1 2 [ − 1 1 ] , λ 1 = 2.34 a_1 = \frac{1}{\sqrt{2}} \begin{bmatrix} -1 \\ 1 \end{bmatrix}, \quad \lambda_1 = 2.34 a1=2 1[11],λ1=2.34
  • 第二主成分方向:
    a 2 = 1 2 [ 1 1 ] , λ 2 = 1.00 a_2 = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \quad \lambda_2 = 1.00 a2=2 1[11],λ2=1.00

6. 数据投影

将数据投影到主成分方向,计算每个样本的投影值。

投影公式:

y i = X centered a i y_i = X_{\text{centered}} a_i yi=Xcenteredai

  1. 投影到第一主成分:
    y 1 = 1 2 [ − 1.5 0.5 − 0.5 − 0.5 0.5 − 1.5 1.5 1.5 ] [ − 1 1 ] = 1 2 [ 2 0 − 2 0 ] y_1 = \frac{1}{\sqrt{2}} \begin{bmatrix} -1.5 & 0.5 \\ -0.5 & -0.5 \\ 0.5 & -1.5 \\ 1.5 & 1.5 \end{bmatrix} \begin{bmatrix} -1 \\ 1 \end{bmatrix} = \frac{1}{\sqrt{2}} \begin{bmatrix} \sqrt{2} \\ 0 \\ -\sqrt{2} \\ 0 \end{bmatrix} y1=2 1 1.50.50.51.50.50.51.51.5 [11]=2 1 2 02 0

    结果:
    y 1 = [ 2 0 − 2 0 ] y_1 = \begin{bmatrix} \sqrt{2} \\ 0 \\ -\sqrt{2} \\ 0 \end{bmatrix} y1= 2 02 0

  2. 投影到第二主成分:
    y 2 = 1 2 [ − 1.5 0.5 − 0.5 − 0.5 0.5 − 1.5 1.5 1.5 ] [ 1 1 ] = 1 2 [ − 1 − 1 − 1 3 ] y_2 = \frac{1}{\sqrt{2}} \begin{bmatrix} -1.5 & 0.5 \\ -0.5 & -0.5 \\ 0.5 & -1.5 \\ 1.5 & 1.5 \end{bmatrix} \begin{bmatrix} 1 \\ 1 \end{bmatrix} = \frac{1}{\sqrt{2}} \begin{bmatrix} -1 \\ -1 \\ -1 \\ 3 \end{bmatrix} y2=2 1 1.50.50.51.50.50.51.51.5 [11]=2 1 1113

    结果:
    y 2 = [ − 2 − 2 − 2 3 2 ] y_2 = \begin{bmatrix} -\sqrt{2} \\ -\sqrt{2} \\ -\sqrt{2} \\ 3\sqrt{2} \end{bmatrix} y2= 2 2 2 32


7. 总结

  • 第一主成分方向:
    a 1 = 1 2 [ − 1 1 ] , λ 1 = 2.34 a_1 = \frac{1}{\sqrt{2}} \begin{bmatrix} -1 \\ 1 \end{bmatrix}, \quad \lambda_1 = 2.34 a1=2 1[11],λ1=2.34

  • 第二主成分方向:
    a 2 = 1 2 [ 1 1 ] , λ 2 = 1.00 a_2 = \frac{1}{\sqrt {2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \quad \lambda_2 = 1.00 a2=2 1[11],λ2=1.00

  • 投影后的数据:
    Y = [ y 1 y 2 ] = [ 2 − 2 0 − 2 − 2 − 2 0 3 2 ] Y = \begin{bmatrix} y_1 & y_2 \end{bmatrix} = \begin{bmatrix} \sqrt{2} & -\sqrt{2} \\ 0 & -\sqrt{2} \\ -\sqrt{2} & -\sqrt{2} \\ 0 & 3\sqrt{2} \end{bmatrix} Y=[y1y2]= 2 02 02 2 2 32

主成分分析成功将二维数据降维到两个正交的方向上,同时保证了第一主成分捕获最大的信息量(方差)。


特征值的计算公式推导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彬彬侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值