matlab pca求曲率和法向量_从优化的角度看PCA降维的原理

参考周志华老师的西瓜书,对PCA的求解构成进行细节的推导,希望能有所帮助。

主成分分析简称PCA,是一种在尽可能减少信息损失的情况下找到某种方式降低数据的维度的方法。对于正交属性空间中的样本点,如何用一个超平面对所有样本进行恰当的表达?这里这个超平面应该有两个性质:

I.最近重构性:重构后的样本映射回原空间,与原样本的距离都足够的近;
II.最大可分性:样本在这个超平面上的投影尽可能分开。

本文主要基于这个两个性质,从PCA的公式推导的角度,来看优化在其中的作用。

一、最近重构性

设在n维空间中有m个样本点矩阵X:

现在对这些点进行压缩,使其投影到k维空间中,其中k<n,使其损失的信息最小。假设数据样本进行了去中心化,即

, 再假定矩阵
,是投影变换后的得到的新坐标系, 是投影矩阵,其中
是标准的正交基向量,即满足:

若丢弃新坐标系中的部分坐标,即将维度降低到k<n。

由矩阵的乘法可知,将样本点

低维空间的坐标为
,其中
, j<=k。

所以,利用该坐标系重构数据,即把数据集合Z从k维空间重新映射回n维空间,得到新的坐标点

这里假设新得到的数据与原始的数据点之间的距离最小,即PCA可转化为求解约束最优化问题:

1.1

根据F范数与矩阵迹的关系:

1.2

利用1.2对1.1进行简化:

1.3

由于已知项,不会影响到最优化的结果;有负号转为最大值,所以1.4等式简化为:

1.4

1.4式变换为:

1.5

最终PCA的最优化问题就简化为:

1.6

利用拉个朗日乘子法来求解1.6的最优化问题,引入乘子矩阵

,若此时仅考虑约束
,则拉格朗日乘子矩阵
此时为对角矩阵 , 另新的拉格朗日乘子矩阵为
,1.6式转化为求解拉格朗日函数的极值:
1.7

对1.7式求W的偏导数,在导数为0处取极值:

由矩阵微分公式

1.8

从1.8式根据特征向量的定义可知,

分别表示由协方差矩阵
的特征值和特征向量,特征值越大,数据在其对应额特征向量的方向上所包含的信息越丰富。

显然,此时只需要令

分别为 协方差
的前
个最大的特征值和单位特征向量就能使得目标函数达到最优值。

二、最大可分性

从最大可分性出发,能得到PCA的另一种解释。样本点

在新空间中超平面上的投影是
,若所有样本点的投影能尽可能分开,则应该使投影后样本点的方差最大化:

9cf4902da920c84025005ffe1b27b581.png
使所有的样本的投影尽可能的分开,则叙最大话投影点的方差

投影后样本点的方差是

,优化目标可以转化为矩阵的迹:

后面的求解构成与第一种的最近重构性一致。


PCA的算法步骤:
输入:n维空间的样本集合其中;映射到k维空间
1、归一化,将X中样本变换为标准正态分布

1.1

1.2

2、计算协方差矩阵

3、对协方差矩阵
进行特征分解

4、求取最大的k个特征值以及对应的特征向量,依次记录为

输出,其中

三、PCA的应用

(一)、数据降维。数据降维是处理高维度数据的基础。使用PCA降维有什么意义?

  1. 数据在低维下更容易进行处理与使用,算法的开销也将大大减少,比如在研究高维度数据分群中,使用无监督聚类的距离公式计算相似度不准确且开销大;
  2. 相关特征,重要特征通过降维能在数据中显现出来;同时,降至2维或3维也能进行可视化;
  3. 去除数据噪声,当数据受到噪声影响时,最小的特征值所对应的特征向量往往与噪声有关,将它们舍弃能再一定程度上起到去噪的作用。

398beb6c24391fb683e3a57a58a21364.png
将三维数据降至二维平面

(二)、人脸识别与手写数字识别。PCA在这方面的应用这几年随着深度学习技术的发展,而不断弱化。这里可以看下相关的blog文章,以人脸识别为例,计算人脸图像库中的“平均脸”并提取前K为特征向量,用于做映射矩阵。最终就是计算残差的大小,来判断人脸。残差公式就是上面的1.1式

PCA检测人脸的简单示例_matlab实现 - CSDN博客​blog.csdn.net
0c3ffbfac1b6fbffd69cdde3c3ad66d6.png

手写数字识别的例子没有找到,可以参考下PRML的截图:

afa3cbd23bd8b965e48a71c7cb0f71dc.png
南瓜书PumpkinBook_机器学习公式推导​datawhalechina.github.io 阿泽:【机器学习】降维——PCA(非常详细)​zhuanlan.zhihu.com
b67034954b385020c3b7606b71c42aa0.png
矩阵乘法的本质是什么?​www.zhihu.com
0acb13556a668bf73b72619ab46f1a47.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值