数据降维
数据降维在机器学习中非常有用,可以用来舍弃数据中一些区分度较小的特征,转化数据的观察视角,使其在更少量的特征维度上也有较好的表现。数据降维也可以用在将高维数据可视化的操作中,这都是不可或缺的重要算法,
PCA
PCA(Principal Components Analysis)主成分分析法,是一种常用的数据降维算法。
PCA的主要思路,是选取数据特征中一些较低维度的空间,让数据在这些空间上的方差比较大,这个时候我们可以认为数据是比较分散的,我们在这个低维度空间依然还能表现出数据的离散性。
数学
在正式介绍PCA的步骤之前,有一些重要的数学知识能够极大的帮助我们计算。如果你读完了本节还是不清楚,下面两篇文章或许可以帮到你。
假设矩阵的每一行表示一组数据,每一列表示一维特征,即A_{n \times m}An×m。
协方差矩阵可以表示为:
其中nn是数据组数。
反之,若用行表示每组特征,则
Cov = \frac{1}{n} A A^TCov=n1AAT
显然,协方差矩阵CovCov是实对称矩阵。
对于矩阵AA,如果存在\lambdaλ和向量vv满足
A v = \lambda vAv=λv
那么称\lambdaλ为AA的特征值,vv为AA的特征向量。
求解(2)式就可以算出所有的特征值与特征向量。
将矩阵按照特征值可以分解为