高光谱成像(三)主成分分析PCA如何为?
摘要:我们已经知道:高光谱图像的每一个像素,本质上是一个高维光谱向量,其波段数量可能达到上百维。 这固然提供了更多的信息,但于此同时也极大增加了计算量。 并且,结合实际生活,你会发现一个新的问题: 大量特征间的重要性并不等价。 举个例子:假设我们
我们已经知道:高光谱图像的每一个像素,本质上是一个高维光谱向量,其波段数量可能达到上百维。
这固然提供了更多的信息,但于此同时也极大增加了计算量。
并且,结合实际生活,你会发现一个新的问题:
大量特征间的重要性并不等价。
举个例子:假设我们要区分三种动物:猫、狗和老虎。
现在我们为每只动物记录一系列特征,如体重、体长、毛发颜色、是否有胡须、是否会游泳、心跳频率、是否有条纹、爪子长度、是否食肉等等。
仔细想想就会发现,这些特征在这个分类任务中并非同等重要,而高光谱图像也是如此,举例如下:
动物分类
高光谱图像
“是否有条纹”对区分猫和老虎非常关键
某些波段区分度高,信息量丰富
“是否食肉”对三者几乎没有区分度
某些波段对分类贡献有限
“是否会游泳”可能完全无关
某些波段可能属于无关信息
“体重”和“体长”高度相关,信息重复
部分波段之间高度相关,存在冗余
个别测量误差可能影响判断
部分波段可能包含噪声
也就是说,虽然我们通过采集高光谱图像获得了每个像素的更多特征,但是同时也会发现这种情况:
光谱向量中有的特征信息量大,有的特征几乎是噪声,还有的特征彼此冗余。
如果我们把这些特征全部平等对待,不仅计算复杂,而且可能让真正重要的差异被淹没。
那么,一个自然的问题便出现了,那就是能不能自动找出“最重要”的那些方向?
这其实本质上是计算机领域的经典的优化问题:
如何在尽可能保留信息的前提下,降低维度来减少计算成本?
于是便有了非常经典的方法: 主成分分析(Principal Component Analysis,PCA)。
主成分分析是一种非常通用的线性降维方法,它广泛应用于几乎所有涉及“高维数据”的领域。高光谱成像只是其中一个典型应用场景。
1. 什么是 PCA ?
PCA 的起源极早,在1901 年,论文 On Lines and Planes of Closest Fit to Systems of Points in Space 就提出了一种用于寻找多维数据的最优拟合方向的数学方法,这就是 PCA 的几何雏形。
而后,1933 年的论文 Analysis of a Complex of Statistical Variables into Principal Components (链接仅为 part1 )对 PCA 进行了系统推广,延续至今,PCA 仍是现代统计学与机器学习中的经典降维方法。
在开始阐述前,我们要强调的是:PCA 的降维逻辑不是在原数据中找到最有区分度的几个特征后删去其他特征,而是用所有原始特征线性组合生成区别度高的新特征。
而把高维空间的信息压缩到低维空间,“投影”是最自然的压缩方式。
现在,我们举一个最简单的例子:把二维信息降维到一维,来说明 PCA 的核心思想,来看:
如果不计代价,我们很容易就能做到,就像这样:
我们以一种十分简单的方式完成了降维,但就像图中所示,如果我们只取样本在原坐标轴上的投影,因为坐标轴间的正交关系,就会完全损失样本在其他维度上的信息。
因此,如果想在降维的同时保留更多信息,我们就要跳出原本的坐标轴,或者说变换坐标轴,让二维信息综合在新的一维坐标轴上。 就像这样:
这样,我们就实现了在降维数据来减少计算量的同时,在一定程度上保留了信息。
但新的问题马上就来了:
什么方向上的坐标轴,可以让信息得到最大程度的保留呢?
显然,不同方向的坐标轴,其保留信息的能力是不同的,我们继续刚刚的例子:
由此,我们可以总结出一个关键点:合理的降维方法应该尽可能保留数据原本的变化结构。
那么,我们要如何量化这个“合理”的程度呢?PCA 给出的答案是:信息主要存在于数据变化最大的方向上。 来看看为什么:
由此,我们的目标就确定了:找到那些能够保留最大方差的方向。这些方向能够最大程度地保持数据的变化结构,从而尽可能保留原始数据中的信息。
