特征降维(主成分分析)

特征过多会可能出现特征之间具有多重共线性,即相互之间具有关联关系,导致解空间不稳定,模型泛化能力弱,过多特征也会妨碍模型学习规律,因为诸如此类的问题,一般来说,如果特征过多,我们都会在特征工程里面减少输入的特征,之前介绍了选择特征子集之类的方法,主要是从特征中筛选出保持模型性能最佳的特征子集,但是因为毕竟还是剔除了部分特征,会导致一些信息的丢失,这里再介绍一个方向,特征降维。

简单来说,特征降维就是指可以用更少维度的特征替代更高维度的特征,同时保留有用的信息。可以降维的主要原因是数据冗余,包含了一些重复或者无用的信息,例如一张512512的图片,只有中心的100100区域内有非0值,这时候我们就可以把这张图片的矩阵降维到100*100。

一种特征降维方法是主成分分析,它的核心思想就是降维,把高维空间上的多个特征组合成少数几个无关的主成分,同时包含原数据中大部分的变异信息。举个例子,在二维平面中,如果大部分的点都在一条直线附近,是不是可以直接用这条直线的一维坐标来反映原始数据?在三维空间中,如果大部分的点都在一个平面附近,是不是可以用这个平面来反映数据。

以上的描述中,有两个关键点,决定我们能不能使用主成分分析找到主成分,一个是有没有存在这个低维空间,是比较接近原始数据的分布的,第二个是找到这个低维空间,把数据投影到这个空间之后,能不能包含原始数据中大部分的变异信息。用数学的语言来说,就是低维空间与原始数据之间的距离(MSE)是不是足够小,原始数据投影到低维空间后方差是不是足够大。

以下图为例,我们可以找到一个第一主成分(绿线),它是到各点的距离最接近的直线,同时各点投影到直线上的方差也足够大。

特征降维(主成分分析)_第1张图片

我们可以进一步寻找第二主成分,首先因为各个主成分之间是相互独立没有关系的,所以是相互正交的,也就是途中的蓝线,但是因为原始数据本身就只有两个特征,我们也没必要找两个主成分了,不然也起不到降维作用,只是单纯的坐标变换了。可是比如针对三维坐标系的点,我们就可以按照这个思路,寻找第二主成分、第三主成分等等,至于我们要寻找多少个主成分,首先当然是比原始特征数量少,然后一般来说,我们会构建不同数量的主成分,然后应用到模型里面,进行交叉验证看看模型的性能如何,挑选性能较好主成分又相对较少的数目。

主成分分析的具体过程就不介绍了,得到主成分之后我们可以继续进行主成分回归,主成分回归我觉得就是用得到的主成分进行回归分析,比如线性回归逻辑回归之类的,所以不能说是一种新方法,但是要清楚的一点是,主成分之间是相互正交的,所以解决了特征共线性问题

想浏览更多关于数学、机器学习、深度学习的内容,可浏览本人博客

你可能感兴趣的:(机器学习)