机器学习降维算法一:PCA (Principal Component Analysis)
引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y ,其中 x 是原始数据点的表达,目前最多使用向量表达形式。 y 是数据点映射后的低维向量表达,通常 y 的维度小于 x 的维度(当然提高维度也是可以的)。 f 可能是显式的或隐式的、线性的或非线性的。 当然还有一大类方法本质上也是做了降维,叫做feature selection,目的是从原始的数据feature集合中挑选一部分作为数据的表达。 目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据。 之所以使用降维后的数据表示是因为: (1)在原始的高维空间中,包含有冗余信息以及噪音信息,在实际应用例如图像识别中造成了误差,降低了准确率;而通过降维 , 我们希望减少 冗余信息 所造成的误差 , 提高识别(或其他应用)的精度。 (2)或者希望通过降维算法来寻找数据内部的本质结构特征。 (3)通过降维来加速后续计算的速度 (4)还有其他很多目的,如解决数据的sparse问题 在很多算法中,降维算法成为了数据预处理的一部分,如 PCA 。事实上,有一些算法如果没有降维预处理,其实是很难得到很好的效果的。 如果你需要处理数据,但是数据原来的属性又不一定需要全部保留,那么PCA也许是一个选择。 主成分分析算法( PCA )