[2020]FUEL: Fast UAV Exploration using Incremental Frontier Structure and Hierarchical Planning¶
约 971 个字 预计阅读时间 4 分钟
前置知识 ¶
PCA 降维 ¶
PCA(Principal Component Analysis)是机器学习中常用的一种降维算法,它通过计算样本的协方差矩阵来寻找主成分,并选择主成分个数来降低维度。
Tip
旋转原始坐标系得到图中新的坐标系(红色表示)
可以看到,数据在x轴上的变化大,而在y轴变化小,变化小意味着数据在这个特征上没有太大的差异,因此可以忽略Y轴的数据,实现降维
PCA其实做的就是这么一件事,求出了一个正交矩阵P,然后用这个矩阵对数据进行正交变换得到新的数据:$ X_p = PX $
原理
度量信息量大小的方式:数据在某个轴上的分散程度即方差
先在整个数据空间中找到一个坐标轴(方向
数学推导
方差是每个元素与变量均值差的平方和的均值,一维数据的方差计算公式为:
为了后续计算方便,我们先进行去中心化操作(使数据均值为 0
接下来,我们的目标就是在这个数据空间中找到一个方向,使得数据在这个方向上的投影的方差最大,假设这个方向为 \(w\),\(\|w\|_2 = 1\)(单位向量
其中,\(\frac{1}{m} \sum_{i=1}^{m} x_i x_i^T\) 就是样本的协方差矩阵,令它为 \(C\),那么我们的优化目标就是:
为了解这个约束优化问题,使用拉格朗日乘数法,构造拉格朗日函数 \(L\): $$ L(w, lambda) = w^T C w + lambda (1 - w^T w) $$
然后对每个分量求导,得到: $$ begin{cases} frac{partial}{partial w} L(w, lambda) = 2Cw - 2lambda w = 0 \ frac{partial}{partial lambda} L(w, lambda) = w^T w - 1 = 0 end{cases} $$
解得: $$ begin{cases} Cw = lambda w \ w^T w = 1 end{cases} $$
这表明 \(w\) 是矩阵 \(C\) 的特征向量。将 \(w\) 代入目标函数中,得到: $$ max D(x) = max { w^T C w } = max { w^T lambda w } = max lambda $$
因此,要找的最大方差就是协方差矩阵的最大特征值,而此时的方向就是最大特征值所对应的特征向量。次大方向自然是第二大特征值对应的特征向量,依此类推,直到我们找出了 \(K\) 个特征向量,以这 \(K\) 个特征向量作为新的坐标系,然后将原始数据投影到这个坐标系下即可得到降维后的数据。