特征抽取的目标是根据原始的d个特征的组合形成k个新的特征,即将数据从d维空间映射到k维空间。在文本分析领域常用的降维方法是主成分分析(Principal Component Analysis, PCA)和奇异值分解(Singular ValueDecomposition, SVD)。
在下文的叙述中,将沿袭机器学习的常用符号,使用
x表示一个列向量,它是样本x在d维空间中的点。而由n个样本构成的数据集可以表示为一个d×n的矩阵
X
- PCA
PCA背后的数学基础是特征值分析,即
Σ
v
=λ
v
,
v
是特征向量,λ是特征值。PCA的目标是最大化数据间累积方差。
PCA的一般过程是:
去除平均值:means;
计算X的协方差矩阵
Σ;
计算
Σ的特征向量和特征值(特征向量用列向量
v
_d×1表示);
将特征值从大到小排序;
保留最上面的k个特征向量(这k个特征向量保证了数据映射到特征值最大的特征向量的方向时,数据间的累积方差最大,数据映射到第二大的特征向量时,数据间的累积方差次之,且特征向量之间保持正交)构成的特征向量矩阵
V
_d×k;
将数据转换到上述k个特征向量构建的新空间中(
V^T*
X=
A
_
k×n + means
,A是一个k×n的矩阵)。
- SVD
X_d×n=
U
_d×d
Σ_
d
×n
V
^T
_n×n
其中是对角矩阵,对角元素成为奇异值,这些奇异值是矩阵
X*X^T特征值的平方根。将奇异值从大到小排序后,若设定新空间的维度为k(k
V
^T
_
k
×n和
U
_d
×k
。