引言
在机器学习的训练过程中,总是会碰到样本大、特征多的数据集。而这些数据集里面的数据有些是用处很小甚至完全无用的。如果一组数据中的无用数据占比较大时,一方面会使得模型的训练时间变长,另一方面模型容易出现欠拟合现象;而如果一组数据中作用较小的数据,即在训练中不能较好体现数据集中样本特征的数据,这类数据占比较大时,除了会提升模型训练的时间以外,还容易引起模型的过拟合现象。
针对这种情况,我们需要对这组数据集进行数据的预处理,其主要的方法有降噪、特征选择以及降维处理,而这次主要讲解如何进行降维处理以及降维处理的一些算法。
基于机器学习的数据不平衡问题处理
机器学习数据预处理——特征选择
降维
降维在机器学习中实际上就是采用某种映射方法,将数据从高维度的空间映射到低维度的空间中去,同时又尽可能的保留原始数据信息。
在许多算法中,降维成为了数据预处理的一部分。事实上,有一些算法如果没有先进行降维处理的话,其模型训练效果会较差。
降维在模型训练中的作用
1、新的数据在保留原数据大部分信息的基础上,较大地减少了数据量,从而减低了计算的复杂度
2、减少了冗余信息所造成的识别误差,提高了识别的精度
3、将数据的维数降低到2D或3D可以允许我们绘制和可视化它
4、降低模型的总体复杂度——太多的特征或太复杂的模型可能导致过拟合
降维方法
降维方法分为线性和非线性降维,非线性降维又分为基于核函数和基于特征值的方法。
1、线性降维方法:PCA 、ICA、LDA、LFA、LPP(LE的线性表示)
2、非线性降维方法:
(1) 基于核函数的非线性降维方法:KPCA 、KICA、KDA
(2) 基于特征值的非线性降维方法(流型学习):ISOMAP、LLE、LE、LPP、LTSA、MVU
主成分分析(PCA)
主成分分析 (Principal Component Analysis ,简称 PCA)是最常用的一种降维方法
思想
PCA的思想很简答,它是想找到一个超平面,使得这样一个超平面能够对所有的样本进行恰当的表达。这便如同二维空间中的曲线拟合一样,它致力于寻找一条曲线,使得所有点到这条曲线的距离最短,不同的是,这样的数据从二维空间拓展到了高维空间。
我们在返回来看一下,我们想要找到这样一个超平面,那么势必要让它满足我们的要求,而我们的要求也很简单:
1、最近重构性:样本点到这个超平面的距离都足够近;
就前面所说,我们想要一个能够对所有样本进行恰当表达的超平面,那么这个超平面应该要尽可能的体现原本数据的特征、信息。所以,我们要使得样本点到这个超平面的距离都足够近,这样,样本点到超平面的投影才能较大的体现它们原本的特征
2、最大可分性:样本点在这个超平面上的投影能尽可能分开.
我们除了想要新数据尽可能多的保留原数据的信息以外,其最终的目的还是放回模型中进行训练,使得模型的整体效果有一个提升。而要想新数据能够在模型训练上优于原数据,那么在拥有原数据大部分信息的同时,也要使各个样本之间有较大的区分度,所以我们要让样本点在这个超平面的投影尽可能的分开
推导
基于最近重构性和最大可分性,我们能得到主成分分析的两种推导式,有趣的是,这两种推导是等价的。
我们先从最近重构性来推导:
假定数据样本进行了中心化,即 ∑ i x i = 0 {\textstyle \sum_{i}^{}} x_{i}=0 ∑ixi=0;再假定投影变换后得到的新坐标系为 { w 1 , w 2 , ⋯ , w d } \left \{ w_{1},w_{2},\cdots ,w_{d} \right \} {
w1,w2,⋯,wd},其中 w i w_{i} wi是标准正交基向量, ∥ w i ∥ 2 = 1 \left \| w_{i} \right \|_{2}=1 ∥wi∥2=1, w i T w j = 0 w_{i}^{T}w_{j}=0 wiTwj=0 ( i ≠ j ) \left ( i\ne j \right ) (i=j).若丢弃新坐标系中的部分坐标,即将维度降低到 d ′ < d d^{'}<d d′<d,则样本点 x i x_{i} xi在低维坐标系中的投影是 z i = ( z i 1 ; z i 2 ; ⋯ ; z i d ′ ) z_{i}=\left ( z_{i1};z_{i2};\cdots ;z_{id^{'}} \right ) zi=(zi1;zi2;⋯;zid′),其中 z i j = w j T w i z_{ij}=w_{j}^{T}w_{i} zij=wjTwi是 x i x_{i} xi在低维坐标系下第 j j j维的坐标.若基于 z i z_{i} zi来重构 x i x_{i} xi,则会得到 x ^ i = ∑ j = 1 d ′ z i j w j . \hat {x}_{i}=\textstyle \sum_{j=1}^{d^{'}}z_{ij}w_{j}. x^i=∑j=1d′zijwj.
考虑到整个训练集,原样本点 x i x_{i} xi与基于投影重构的样本点 x ^ i \hat {x}_{i} x^i之间的距离为 ∑ i = 1 m ∥ ∑ j = 1 d ′ z i j w j − x i ∥ 2 2 = ∑ i = 1 m z i T z i − 2 ∑ i = 1 m z i T W T x i + c o n s t α − t r ( W T ( ∑ i m x i x i T ) W ) \sum_{i=1}^{m} \left \| \sum_{j=1}^{d^{'}}z_{ij}w_{j}-x_{i} \right \| _{2}^{2} =\sum_{i=1}^{m} z_{i}^{T}z_{i}-2\sum_{i=1}^{m}z_{i}^{T}W^{T}x_{i}+const\alpha -tr\left ( W^{T}\left ( \sum_{i}^{m}x_{i}x_{i}^{T} \right ) W \right ) i=1∑m∥∥∥∥∥∥j=1∑d