对训练集和测试集的PCA方法

本文详细介绍了一种常用的数据降维方法——主成分分析(PCA),包括其数学原理和具体实现步骤。通过对训练集进行均值化处理、计算协方差矩阵并进行特征值分解等操作,最终实现将高维数据映射到低维空间,同时保留数据的主要特征。

假如输入的训练集形状为 X1∈Rn1×m X_{1}\in R^{n_{1} \times m}X1Rn1×m
这里n1n_{1}n1为训练集样本数,mmm为数据的原始维度。同理,测试集形状为
X2∈Rn2×mX_{2} \in R^{n_{2}\times m}X2Rn2×m
设我们需要的更加紧致的维度为kkk,则需要以下的步骤:

  1. 对训练集做均值化,这里是指在每一个维度上计算均值,然后减去均值,即
    average(X1)∈Rn1average(X_{1}) \in R^{n_{1}}average(X1)Rn1
    X1j=X1j−average(X1),j=1,2,...,n1 X_{1}^{j} = X_{1}^{j}-average(X_{1}) , j=1,2,...,n_{1}X1j=X1javerage(X1),j=1,2,...,n1
  2. 求协方差矩阵 C=X1TX1/n1∈Rm×mC = X_{1}^{T}X_{1}/n_{1} \in R^{m\times m}C=X1TX1/n1Rm×m
  3. 对 C 做特征值分解,求出最大的k的特征值,以及对应的k个特征向量。按照降序的方式,把特征向量按列排成一个矩阵P∈Rm×kP \in R^{m\times k}PRm×k
  4. 对训练集和测试集分别乘上P,得到降维后的数据,即
    X1′=X1P∈Rn1×kX_{1}^{'} = X_{1}P\in R^{n{1}\times k}X1=X1PRn1×k
    X2′=X2P∈Rn1×kX_{2}^{'} = X_{2}P\in R^{n{1}\times k}X2=X2PRn1×k

谨记:只能对训练集降维,把得到的降维矩阵保留,用于对测试集的降维。这是因为,测试集对我们来说,模型生成之前都是不可知的,所以不能使用任何关于测试集的信息。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值