维数约简又称为
降维,是机器学习的一种必要手段。若数据库X是属于n维空间的,通过特征提取或者特征选择的方法,将原空间的维数降至m维,要求m远小于n,满足:m维空间的特性能反映原空间数据的特征,这个过程称之为维数约简。
维数约简是相对于维数灾难或者说是高维数据来提出的,很明显,其意义就是降低原来的维数,并保证原数据库的完整性,在约简后的空间中执行后续程序将大大减少运算量,提高数据挖掘效率,且挖掘出来的结果与原有数据集所获得结果基本一致。更广泛的说就是防止了维数灾难的发生。
在科学研究中,我们常常要对数据进行处理,而这些数据通常位于一个
高维空间中,例如当处理一个256*256 的图像序列时,我们需要将其拉成一个向量,这样,我们就得到了65536维的数据,如果直接对这些数据进行处理,会有以下问题:首先,会出现所谓的“
维数灾难”问题,巨大的计算量将使我们无法忍受;其次,这些数据通常没有反映出数据的本质特征,如果直接对他们进行处理,不会得到理想的结果。所以,通常我们需要首先对数据进行维数约简,然后对约简后的数据进行处理。当然要保证约简后的数据特征能反映甚至更能揭示原数据的本质特征。
对付高维数据问题基本的方法就是维数约简,即将n 维数据约简成m(M<N)维数据,并能保持原有数据集的完整性,在m 上进行数据挖掘不仅效率更高,且挖掘出来的结果与原有数据集所获得结果基本一致。分析现有的数据挖掘模型,用于数据维数约简的基本策略归纳起来有两种:一种是从有关变量中消除无关、弱相关和冗余的维,寻找一个变量子集来构建模型。换句话说就是在所有特征中选择最优代表性的特征,称为特征选择。另一种特征提取,即通过对原始特征进行某种操作获取有意义的投影。也就是把n 个原始变量变换为m 个变量,在m上进行后续操作。
数据维数约简的方法可以分为线性维数约简和非线性维数约简,而非线性维数约简又分为基于核函数的方法和基于特征值的方法。线性维数约简的方法主要有
主成分分析(PCA)、
独立成分分析(ICA)、线性判别分析(LDA)、局部特征分析(LFA)等等。基于核函数的非线性维数约简方法有基于核函数的主成分分(KPCA)、基于核函数的独立成分分析(KICA)、基于核函数的决策分析(KDA)等等。基于特征值的非线性降维方法有ISOMAP 和LLE。综合如下:
可以分为:静态维数约简(static dimensionality reduction) 和时间相关维数约简(time-dependent dimensionality reduction),时间相关维数约简通常用于处理时间序列,比如视频序列、连续语音。