1700534712
百面机器学习:算法工程师带你去面试 01 PCA最大方差理论
1700534713
1700534714
1700534715
1700534716
场景描述
1700534717
1700534718
在机器学习领域中,我们对原始数据进行特征提取,有时会得到比较高维的特征向量。在这些向量所处的高维空间中,包含很多的冗余和噪声。我们希望通过降维的方式来寻找数据内部的特性,从而提升特征表达能力,降低训练复杂度。主成分分析(Principal Components Analysis,PCA)作为降维中最经典的方法,至今已有100多年的历史,它属于一种线性、非监督、全局的降维算法,是面试中经常被问到的问题。
1700534719
1700534720
知识点
1700534721
1700534722
PCA,线性代数
1700534723
1700534724
问题 如何定义主成分?从这种定义出发,如何设计目标函数使得降维达到提取主成分的目的?针对这个目标函数,如何对PCA问题进行求解?
1700534725
1700534726
难度:★★☆☆☆
1700534727
1700534728
分析与解答
1700534729
1700534730
PCA旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。举一个简单的例子,在三维空间中有一系列数据点,这些点分布在一个过原点的平面上。如果我们用自然坐标系x,y,z三个轴来表示数据,就需要使用三个维度。而实际上,这些点只出现在一个二维平面上,如果我们通过坐标系旋转变换使得数据所在平面与x,y平面重合,那么我们就可以通过x′,y′两个维度表达原始数据,并且没有任何损失,这样就完成了数据的降维。而x′,y′两个轴所包含的信息就是我们要找到的主成分。
1700534731
1700534732
但在高维空间中,我们往往不能像刚才这样直观地想象出数据的分布形式,也就更难精确地找到主成分对应的轴是哪些。不妨,我们先从最简单的二维数据来看看PCA究竟是如何工作的,如图4.1所示。
1700534733
1700534734
1700534735
1700534736
1700534737
(a)二维空间中经过中心化的一组数据
1700534738
1700534739
1700534740
1700534741
1700534742
(b)该组数据的主成分
1700534743
1700534744
图4.1 二维空间数据主成分的直观可视化
1700534745
1700534746
图4.1(a)是二维空间中经过中心化的一组数据,我们很容易看出主成分所在的轴(以下称为主轴)的大致方向,即图4.1(b)中黄线所处的轴。因为在黄线所处的轴上,数据分布得更为分散,这也意味着数据在这个方向上方差更大。在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与噪声之比称为信噪比。信噪比越大意味着数据的质量越好,反之,信噪比越小意味着数据的质量越差。由此我们不难引出PCA的目标,即最大化投影方差,也就是让数据在主轴上投影的方差最大。
1700534747
1700534748
1700534749
1700534750
1700534751
1700534752
1700534753
1700534754
1700534755
对于给定的一组数据点 ,其中所有向量均为列向量,中心化后的表示为=,其中。我们知道,向量内积在几何上表示为第一个向量投影到第二个向量上的长度,因此向量xi在ω(单位方向向量)上的投影坐标可以表示为。所以目标是找到一个投影方向ω,使得在ω上的投影方差尽可能大。易知,投影之后均值为0(因为 ,这也是我们进行中心化的意义),因此投影后的方差可以表示为
1700534756
1700534757
1700534758
1700534759
1700534760
[
上一页 ]
[ :1.700534711e+09 ]
[
下一页 ]