降维(dimensionality reduction)的目标是对输入的数目进行削减,由此剔除数据中的噪声并提高机器学习方法的性能。比较流行的降维方法有:主成分分析、奇异值分解。主成分分析是按照数据方差最大方向调整数据。奇异值分解是矩阵分解技术中的一种,通过对原始数据的逼近来达到降维的目的。
主成分分析(PCA)
-
原理
PCA(Principal Component Analysis):数据从原来的坐标系转换到了新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。我们会发现,大部分方差都包含在最前面的几个新坐标轴中。因此,我们可以忽 略余下的坐标轴,即对数据进行了降维处理。
因子分析(Factor Analysis):假设在观察数据的生成中有一些观察不到的隐变量(latent variable)。假设观察数据是这些隐变量和某些噪声的线性组合。那么隐变量的数据可能比观察数据的数目少,也就是说通过找到隐变量就可以实现数据的降维。
独立成分分析(Independent Component Analysis,ICA):假设数据是从N个数据源生成的,这一点和因子分析有些类似。假设数据为多个数据源的混合观察结果,这些数据源之间在统计上是相互独立的,而在PCA中只假设数据是不相关的。同因子分析一样,如果数据源的数目少于观察数据的数目,则可以实现降维过程。 -
优缺点
优点:降低数据的复杂性,识别最重要的多个特征。
缺点:不一定需要,且可能损失有用信息。
适用数据范围:数值型。
奇异值分解(SVD)
-
原理
SVD(Singular Value Decomposition):从原始数据集中抽取信息的方法。
利用SVD实现,我们能够用小得多的数据集来表示原始数据集。这样做,实际上是去除了噪声和冗余信息。
矩阵分解可以将原始矩阵表示成新的易于处理的形式,这种新形式是两个或多个矩阵的乘积。SVD将原始的数据矩阵Data分解成三个矩阵U 、Σ 、VT 。如果原始矩阵Data是m行n列,那么U 、Σ 和VT 就分别是m行m列、m行n列、n行n列。Σ 矩阵只有对角元素,其他元素均为0。
Datam∗n=Um∗mΣm∗nVTn∗n -
优缺点
优点:简化数据,去除噪声,提高算法的结果。
缺点:数据的转换可能难以理解。
适用数据范围:数值型。