本文主要介绍降维技术、主成分分析法,及其应用。
降维是对数据高维度特征的一种预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为了应用非常广泛的数据预处理方法。
降维具有如下一些优点:
(1)使得数据集更易使用
(2)降低算法的计算开销
(3)去除噪声
(4)使得结果容易理解
主成分分析,Principal Component Analysis,PCA。在PCA中,数据从原来的坐标系转换到了新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。我们会发现,大部分方差都包含在最前面的几个新坐标轴中。因此,我们可以忽略余下的坐标轴,即对数据进行了降维处理。
因子分析,即Factor Analysis。在因子分析中,我们假设在观察数据的生成中有一些观察不到的隐变量(latent variable)。假设观察数据是这些隐变量和某些噪声的线性组合。那么隐变量的数据可能比观察数据的数目少,也就是说通过找到隐变量就可以实现数据的降维。因子分析已经应用于社会科学、金融和其他领域中了。
独立成分分析,即Independent Component Analysis,ICA。ICA假设数据是从 N 个数据源生成的,这一点和因子分析有些类似。假设数据为多个数据源的混合观察结果,这些数据源之间在统计上是相互独立的,而在PCA中只假设数据是不相关的。同因子分析一样,如果数据源的数目少于观察数据的数目,则可以实现降维过程。
主成分分析方法,即PCA(principal Component Analysis),是一种使用最广泛的数据压缩算法。在PCA中,数据从原来的坐标系转换到新的坐标系,由数据本身决定。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向……重复该过程,直至新坐标轴数量足够多。
通过这种方式获得的新的坐标系,我们发现,大部分方差都包含在前面几个坐标轴中,后面的坐标轴所含的方差远小于前面的,。于是,我们可以忽略余下的坐标轴,只保留前面的几个含有绝大部分方差的坐标轴。事实上,这样也就相当于只保留包含绝大部分方差的维度特征,而忽略包含方差小的特征维度,也就实现了对数据特征的降维处理。
在此假设读者具有线性代数知识(若否,出门右转,这里可能不适合你!)
记含有 n n 个数据点的数据集 X={x1,x2,...,xn,|xi∈Rm} X = { x 1 , x 2 , . . . , x n , | x i ∈ R m } ,其中,第 i i 个数据点为:
假设 xi,i=1,2,...,n x i , i = 1 , 2 , . . . , n 已经中心化,否则,只需要每一个 xi x i 进行:
进可以将第 j j 个维度的数据的中心与第 j j 个坐标轴的原点重合,此时 X X 的中心与 Rm R m 的原点重合,方便下面的推导。
在 Rm R m 中标准正交基为 { e1,e2,...,em} { e 1 , e 2 , . . . , e m } ,其中, ei=(0,...,0,1i,0,...,0)T e i = ( 0 , . . . , 0 , 1 i , 0 , . . . , 0 ) T 。对于 xi x i 用标准正交基来线性表示为:
现在需要取新的一组规范正交基 { ε1,ε2,...,εm} { ε 1 , ε 2 , . .