有个PCA的东西

本文详细介绍了PCA(主成分分析)的概念及其步骤,包括数据预处理、协方差矩阵计算、特征值与特征向量求解、数据降维等,并通过具体例子展示了PCA在2维数据可视化中的应用。此外,讨论了PCA在处理高维样本少情况下的奇异值分解(SVD)关联,以及PCA在人脸识别中的应用。
摘要由CSDN通过智能技术生成

一、PCA入门

最近在看pca,pca可以用于将维,下面通过举一个具体的例子还说明pca的使用,为了便于可视化,我们假设数据是2维的。数据来源:下载

上面的是一个2维的数据x=(x1,x2),一个45对。下面绘制出这个45对数据在的图如下:

图1

第一步:对数据进行预处理,使得特征x1和x2的相应的均值为0,即数据中心化,然后通过公式:


计算协方差。


第二步:求解协方差矩阵的特征值和特征向量,公式为A*x=lambda*x,这里面可以通过svd求解得到特征向量,通过计算得到特征向量为U=[u1,u2],其中

u1=[-0.7071,-0.7071]',u2=[-0.7071,0.7071]',对应的特征值为:0.1607和0.0153。这里面u1表示主要特征向量,u2表示第二个特征向量。由于协方差矩阵是一个实对称矩阵,所以它的不同特征值对应的特征向量是正交的,因此在这里u1和u2是正交的,即u1和u2的点积为0,同时u1和u2的模都为1,即|u1|=|u2|=1。下面将向量u1和u2也绘制到图上。图如下:


图2


第三步:对于每个样本x,,表示x在向量u1上的投影长度,这是因为u1x=|u1||x|cos(theta),故x在u1上的投影为:u1x/|u1|=|x|cos(theta),因为|u1|=1,因此u1x=u1'x=|x|cos(theta)。同理x在u2上的投影长度为:u2'x,由于u1和u2是是正交的,可以以(u1,u2)为基底表示x,这样有x=(u1'x)u1 + (u2'x)u2成立,很显然,在以u1,u2为基底的坐标系中x可以使用[u1'x,u2'x]'来表示,下面是对于45对数据的在以u1,u2为基底的坐标系上的投影,图如下:


图3

在上图中,坐标系上的每个点中,对于某一个x而言,图中的横坐标是是u1'x的值,图中的纵坐标是u2'x的值,我们可以使用如下公式表示:


\begin{align}x_{\rm rot} = U^Tx = \begin{bmatrix} u_1^Tx \\ u_2^Tx \end{bmatrix} \end{align}

这样对于所有的训练样本有:\textstyle x_{\rm rot}^{(i)} = U^Tx^{(i)},所有可以得到上面的图。

由于\textstyle U是一个正交矩阵,即\textstyle U^TU = UU^T = I,所以可以从\textstyle x_{\rm rot}\textstyle x,进行转换,公式为:\textstyle U x_{\rm rot} =  UU^T x = x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值